ENH: allow wordHashSet filter for IOobjectList::names

- simplifies usage.
  Support syncPar check on names() to detect inconsistencies.

- simplify readFields, ReadFields and other routines by using these
  new methods.
This commit is contained in:
Mark Olesen
2018-07-26 14:56:52 +02:00
parent a8ef5610d0
commit 02ad76df4f
51 changed files with 1434 additions and 1397 deletions

View File

@ -109,51 +109,49 @@ int main(int argc, char *argv[])
IOobjectList objects(mesh, runTime.timeName());
// Converting volScalarField
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Search list of objects for volScalarFields
IOobjectList scalarFields(objects.lookupClass("volScalarField"));
forAllIter(IOobjectList, scalarFields, iter)
// volScalarField
for
(
const word& fieldName
: objects.sortedNames(volScalarField::typeName)
)
{
// Read field
volScalarField field(*iter(), mesh);
// lookup field from dictionary and convert field
// Lookup field from dictionary and convert field
label unitNumber;
if
(
foamDataToFluentDict.readIfPresent(field.name(), unitNumber)
foamDataToFluentDict.readIfPresent(fieldName, unitNumber)
&& unitNumber > 0
)
{
Info<< " Converting field " << field.name() << endl;
// Read field
volScalarField field(*(objects[fieldName]), mesh);
Info<< " Converting field " << fieldName << nl;
writeFluentField(field, unitNumber, fluentDataFile);
}
}
// Converting volVectorField
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Search list of objects for volVectorFields
IOobjectList vectorFields(objects.lookupClass("volVectorField"));
forAllIter(IOobjectList, vectorFields, iter)
// volVectorField
for
(
const word& fieldName
: objects.sortedNames(volVectorField::typeName)
)
{
// Read field
volVectorField field(*iter(), mesh);
// lookup field from dictionary and convert field
// Lookup field from dictionary and convert field
label unitNumber;
if
(
foamDataToFluentDict.readIfPresent(field.name(), unitNumber)
foamDataToFluentDict.readIfPresent(fieldName, unitNumber)
&& unitNumber > 0
)
{
Info<< " Converting field " << field.name() << endl;
// Read field
volVectorField field(*(objects[fieldName]), mesh);
Info<< " Converting field " << fieldName << nl;
writeFluentField(field, unitNumber, fluentDataFile);
}
}