ENH: glboal file handling: initial commit

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.
This commit is contained in:
mattijs
2016-01-25 13:03:15 +00:00
parent 9fd840c12a
commit e424059208
188 changed files with 3487 additions and 1364 deletions

View File

@ -58,7 +58,11 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
);
// Check U and T exists
if (Uheader.headerOk() && Theader.headerOk())
if
(
Uheader.typeHeaderOk<volVectorField>(true)
&& Theader.typeHeaderOk<volScalarField>(true)
)
{
autoPtr<volScalarField> MachPtr;
@ -71,7 +75,7 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
basicThermo::dictName,
runTime.constant(),
mesh
).headerOk()
).typeHeaderOk<IOdictionary>(false)
)
{
// thermophysical Mach

View File

@ -24,7 +24,11 @@
// Check U exists
if (Uheader.headerOk() && Theader.headerOk())
if
(
Uheader.typeHeaderOk<volVectorField>(true)
&& Theader.typeHeaderOk<volScalarField>(true)
)
{
mesh.readUpdate();

View File

@ -14,7 +14,7 @@
IOobject::MUST_READ
);
if (Uheader.headerOk())
if (Uheader.typeHeaderOk<volVectorField>(true))
{
volVectorField U(Uheader, mesh);