Moved file path handling to regIOobject and made it type specific so now every object can have its own rules. Examples: - faceZones are now processor local (and don't search up anymore) - timeStampMaster is now no longer hardcoded inside IOdictionary (e.g. uniformDimensionedFields support it as well) - the distributedTriSurfaceMesh is properly processor-local; no need for fileModificationChecking manipulation.
55 lines
1.1 KiB
C
55 lines
1.1 KiB
C
#include "readThermodynamicProperties.H"
|
|
|
|
for (label i=startTime; i<endTime; i++)
|
|
{
|
|
runTime.setTime(Times[i], i);
|
|
|
|
Info<< "Time = " << runTime.timeName() << endl;
|
|
|
|
IOobject Uheader
|
|
(
|
|
"U",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::MUST_READ
|
|
);
|
|
|
|
IOobject Theader
|
|
(
|
|
"T",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::MUST_READ
|
|
);
|
|
|
|
|
|
// Check U exists
|
|
if
|
|
(
|
|
Uheader.typeHeaderOk<volVectorField>(true)
|
|
&& Theader.typeHeaderOk<volScalarField>(true)
|
|
)
|
|
{
|
|
mesh.readUpdate();
|
|
|
|
volVectorField U(Uheader, mesh);
|
|
volScalarField T(Theader, mesh);
|
|
|
|
volScalarField Ma
|
|
(
|
|
IOobject
|
|
(
|
|
"Ma",
|
|
runTime.timeName(),
|
|
mesh
|
|
),
|
|
mag(U)/(sqrt(((Cv + R)/Cv)*R*T))
|
|
);
|
|
Ma.write();
|
|
}
|
|
else
|
|
{
|
|
Info<< " No U or T" << endl;
|
|
}
|
|
}
|