本文整理汇总了C++中IOdictionary::headerOk方法的典型用法代码示例。如果您正苦于以下问题:C++ IOdictionary::headerOk方法的具体用法?C++ IOdictionary::headerOk怎么用?C++ IOdictionary::headerOk使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IOdictionary
的用法示例。
在下文中一共展示了IOdictionary::headerOk方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getCellTable
void getCellTable(const fvMesh & mesh)
{
cellTableMap_.clear();
cellTableId_.setSize(mesh.nCells(), 1);
IOdictionary cellTableDict
(
IOobject
(
"cellTable",
"constant",
mesh,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE,
false
)
);
volScalarField volField
(
IOobject
(
"cellTableId",
mesh.time().timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE,
false
),
mesh,
dimensionedScalar("cellTableId", dimless, 1.0)
);
// get cellTableId information from the volScalarField if possible
if (volField.headerOk())
{
const scalarField & field = volField.internalField();
forAll(field, cellI)
{
cellTableId_[cellI] = static_cast<int>(field[cellI]);
}
if (cellTableDict.headerOk())
{
// convert dictionary to map
wordList toc = cellTableDict.toc();
forAll(toc, i)
{
word keyword = toc[i];
if (!cellTableDict.isDict(keyword)) continue;
const dictionary & dict = cellTableDict.subDict(keyword);
if (dict.found("Id") && dict.found("MaterialType"))
{
label Id;
dict["Id"] >> Id;
dict["MaterialType"] >> keyword;
if (keyword == "fluid")
{
cellTableMap_.insert(Id, 1);
}
else if (keyword == "solid")
{
cellTableMap_.insert(Id, 2);
}
}
}
示例2: main
int main(int argc, char *argv[])
{
bool allow_userdefined_fields = false;
argList::noParallel();
argList::validOptions.insert("rho", "value");
argList::validOptions.insert("allowuserdefinedfields", "");
#if defined EXPORT_CYCLIC_BOUNDARIES
argList::validOptions.insert("exportcyclics", "");
#endif
// argList::validOptions.insert("help", "");
#if 0
const word fieldTypes[] =
{
volScalarField::typeName,
volVectorField::typeName
};
#endif
# include "addTimeOptions.H"
# include "setRootCase.H"
if(args.options().found("help"))
{
args.printUsage();
exit(0);
}
#if defined EXPORT_CYCLIC_BOUNDARIES
bool exportcyclics = false;
if(args.options().found("exportcyclics"))
{
exportcyclics=true;
}
#endif
# include "createTime.H"
# include "createMesh.H"
// Dictionnary for foamToCGNS options
#if 0
IOdictionary optionsDict
(
IOobject( "foamToCGNSDict",
mesh.time().constant(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE )
);
if ( optionsDict.headerOk() )
{
if ( optionsDict.found("SplitMixedCellTypes") )
Info << "Options: Splitting multiple cell into different zones" << endl;
if ( optionsDict.found("WriteConvergenceHistory") )
Info << "Options: Writing convergence history found in 'log' file" << endl;
if ( optionsDict.found("ConversionPath") )
{
const entry& e = optionsDict.lookupEntry( "ConversionPath" );
Info << "Options: Conversion Path is " << e << endl;
}
}
#else
foamToCGNSDictionary optionsDict
(
IOobject( "foamToCGNSDict",
mesh.time().constant(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE )
);
if ( optionsDict.headerOk() )
{
Info << "foamToCGNSOptions: " << endl;
Info << "\tSplitting multiple cell into different zones : " << optionsDict.splitMixed() << endl;
Info << "\tWriting convergence history found in 'log' file : " << optionsDict.writeConvergenceHistory() << endl;
Info << "\tConversion Path is " << optionsDict.conversionDirectory() << endl;
Info << "\tAllow User Defined Fields is " << optionsDict.allowUserDefinedFields() << endl;
}
#endif
if (args.options().found("allowuserdefinedfields") || optionsDict.allowUserDefinedFields() )
{
allow_userdefined_fields = true;
Info << "User defined fields are allowed" << endl;
}
// Construct interpolation on the raw mesh
volPointInterpolation pInterp(mesh);
fileName cgnsDataPath(runTime.path()/"ConversionCGNS");
mkDir(cgnsDataPath);
// Get times list
instantList Times = runTime.times();
// set startTime and endTime depending on -time and -latestTime options
# include "checkTimeOptions.H"
// Get a value for the density 'rho' for purpose pour la mise a l'echelle du champs de pression
//
//.........这里部分代码省略.........