Replaces user-supplied keywords by run-time computed values in a text file. More...
#include <foamReport.H>


Public Member Functions | |
| TypeName ("foamReport") | |
| Runtime type information. | |
| foamReport (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from name, Time and dictionary. | |
| virtual | ~foamReport ()=default |
| Destructor. | |
| virtual bool | read (const dictionary &) |
| Read the function-object dictionary. | |
| virtual bool | execute () |
| Execute the function-object operations. | |
| virtual bool | write () |
| Write the function-object results. | |
| Public Member Functions inherited from stateFunctionObject | |
| stateFunctionObject (const word &name, const Time &runTime) | |
| Construct from components. | |
| virtual | ~stateFunctionObject ()=default |
| Destructor. | |
| dictionary & | propertyDict () |
| Return access to the property dictionary. | |
| bool | foundProperty (const word &entryName) const |
| Return true if the property exists. | |
| void | clearTrigger () |
| Remove the trigger index from the properties. | |
| label | getTrigger () const |
| Get the current trigger index. | |
| bool | setTrigger (const label triggeri) |
| Set new trigger index. | |
| bool | getDict (const word &entryName, dictionary &dict) const |
| Set dictionary, return true if set. | |
| bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
| Set dictionary from named object, return true if set. | |
| template<class Type> | |
| Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property. | |
| template<class Type> | |
| bool | getProperty (const word &entryName, Type &value) const |
| Set generic property, return true if set. | |
| template<class Type> | |
| void | setProperty (const word &entryName, const Type &value) |
| Add generic property. | |
| template<class Type> | |
| Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property from named object. | |
| template<class Type> | |
| bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
| Set generic property from named object, return true if set. | |
| template<class Type> | |
| void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
| Add generic property from named object. | |
| bool | getObjectResultDict (const word &objectName, dictionary &dict) const |
| template<class Type> | |
| void | setResult (const word &entryName, const Type &value) |
| Add result. | |
| template<class Type> | |
| void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
| Add result from named object. | |
| template<class Type> | |
| Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result. | |
| template<class Type> | |
| Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result from named object. | |
| template<class Type> | |
| bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
| Set result from named object, return true if set. | |
| word | resultType (const word &entryName) const |
| Retrieve the result type. | |
| word | objectResultType (const word &objectName, const word &entryName) const |
| Return the type of result. | |
| wordList | objectResultEntries () const |
| Retrieve the result entries. | |
| wordList | objectResultEntries (const word &objectName) const |
| Return result entries for named object. | |
| void | writeResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. | |
| void | writeResultEntries (const word &objectName, Ostream &os) const |
| Write the results entries for named object to stream. | |
| void | writeAllResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. | |
| Public Member Functions inherited from timeFunctionObject | |
| timeFunctionObject (const word &name, const Time &runTime) | |
| Construct from Time. | |
| virtual | ~timeFunctionObject ()=default |
| Destructor. | |
| const Time & | time () const |
| Return time database. | |
| objectRegistry & | storedObjects () |
| Write access to the output objects ("functionObjectObjects") registered on Time. | |
| const objectRegistry & | storedObjects () const |
| Const access to the output objects ("functionObjectObjects") registered on Time. | |
| Public Member Functions inherited from functionObject | |
| declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
| functionObject (const word &name, const bool withNamePrefix=defaultUseNamePrefix) | |
| Construct from components. | |
| autoPtr< functionObject > | clone () const |
| Return clone. | |
| virtual | ~functionObject ()=default |
| Destructor. | |
| virtual const word & | type () const =0 |
| Runtime type information. | |
| const word & | name () const noexcept |
| Return the name of this functionObject. | |
| bool | useNamePrefix () const noexcept |
| Return the flag for adding a scoping name prefix. | |
| bool | useNamePrefix (bool on) noexcept |
| Modify the flag for adding a scoping name prefix. | |
| virtual bool | execute (const label subIndex) |
| Execute using the specified subIndex. | |
| virtual bool | end () |
| Called when Time::run() determines that the time-loop exits. | |
| virtual bool | adjustTimeStep () |
| Called at the end of Time::adjustDeltaT() if adjustTime is true. | |
| virtual bool | filesModified () const |
| Did any file get changed during execution? | |
| virtual void | updateMesh (const mapPolyMesh &mpm) |
| Update for changes of mesh. | |
| virtual void | movePoints (const polyMesh &mesh) |
| Update for changes of mesh. | |
| Public Member Functions inherited from writeFile | |
| writeFile (const objectRegistry &obr, const fileName &prefix, const word &name="undefined", const bool writeToFile=true, const string &ext=".dat") | |
| Construct from objectRegistry, prefix, fileName. | |
| writeFile (const objectRegistry &obr, const fileName &prefix, const word &name, const dictionary &dict, const bool writeToFile=true, const string &ext=".dat") | |
| Construct from objectRegistry, prefix, fileName and read options from dictionary. | |
| writeFile (const writeFile &wf) | |
| Construct copy. | |
| virtual | ~writeFile ()=default |
| Destructor. | |
| virtual const string & | setExt (const string &ext) |
| Set extension. | |
| virtual OFstream & | file () |
| Return access to the file (if only 1). | |
| virtual bool | writeToFile () const |
| Flag to allow writing to file. | |
| virtual bool | canWriteToFile () const |
| Flag to allow writing to the file. | |
| virtual bool | canResetFile () const |
| Flag to allow resetting the file. | |
| virtual bool | canWriteHeader () const |
| Flag to allow writing the header. | |
| virtual label | charWidth () const |
| Return width of character stream output. | |
| virtual void | writeCommented (Ostream &os, const string &str) const |
| Write a commented string to stream. | |
| virtual void | writeTabbed (Ostream &os, const string &str) const |
| Write a tabbed string to stream. | |
| virtual void | writeHeader (Ostream &os, const string &str) const |
| Write a commented header to stream. | |
| virtual void | writeCurrentTime (Ostream &os) const |
| Write the current time to stream. | |
| virtual void | writeBreak (Ostream &os) const |
| Write a break marker to the stream. | |
| template<class Type> | |
| void | writeHeaderValue (Ostream &os, const string &property, const Type &value) const |
| Write a (commented) header property and value pair. | |
| template<class Type> | |
| void | writeValue (Ostream &os, const Type &val) const |
| Write a given value to stream with the space delimiter. | |
Protected Member Functions | |
| bool | parseTemplate (const fileName &fName) |
| Parse the template and collect keyword information. | |
| void | setStaticBuiltins () |
| Set static builtin entries. | |
| void | setDynamicBuiltins () |
| Set dynamic (potentially changing per execution step) builtin entries. | |
| bool | apply (Ostream &os) const |
| Apply the substitution models to the template. | |
| foamReport (const foamReport &)=delete | |
| No copy construct. | |
| void | operator= (const foamReport &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from stateFunctionObject | |
| const functionObjects::properties & | stateDict () const |
| Return a const reference to the state dictionary. | |
| functionObjects::properties & | stateDict () |
| Return non-const access to the state dictionary. | |
| stateFunctionObject (const stateFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const stateFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from timeFunctionObject | |
| void | clearOutputObjects (const wordList &objNames) |
| Remove specified items from "functionObjectObjects". | |
| timeFunctionObject (const timeFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const timeFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from functionObject | |
| word | scopedName (const word &name) const |
| Return a scoped (prefixed) name. | |
| Protected Member Functions inherited from writeFile | |
| void | initStream (Ostream &os) const |
| Initialise the output stream for writing. | |
| fileName | baseFileDir () const |
| Return the base directory for output. | |
| fileName | baseTimeDir () const |
| Return the base directory for the current time value. | |
| fileName | filePath (const fileName &fName) const |
| Return the full path for the supplied file name. | |
| virtual autoPtr< OFstream > | newFile (const fileName &fName) const |
| Return autoPtr to a new file using file name. | |
| virtual autoPtr< OFstream > | newFileAtTime (const word &name, scalar timeValue) const |
| Return autoPtr to a new file for a given time. | |
| virtual autoPtr< OFstream > | newFileAtStartTime (const word &name) const |
| Return autoPtr to a new file using the simulation start time. | |
| virtual void | resetFile (const word &name) |
| Reset internal file pointer to new file with new name. | |
| Omanip< int > | valueWidth (const label offset=0) const |
| Return the value width when writing to stream with optional offset. | |
| void | operator= (const writeFile &)=delete |
| No copy assignment. | |
| virtual autoPtr< OFstream > | createFile (const word &name, scalar timeValue) const |
| Deprecated(2022-09) Return autoPtr to a new file for a given time. | |
| virtual autoPtr< OFstream > | createFile (const word &name) const |
| Deprecated(2022-09) Return autoPtr to a new file using the simulation start time. | |
Protected Attributes | |
| fileName | templateFile_ |
| Path to user-supplied template. | |
| HashTable< Tuple2< label, DynamicList< label > > > | modelKeys_ |
| Mapping from keyword to substitution model index and line numbers of template file where keyword is used. | |
| List< string > | templateContents_ |
| Template file contents split into lines. | |
| PtrList< substitutionModel > | substitutions_ |
| List of substitution models. | |
| bool | debugKeys_ |
| Debug flag to write all known keys. | |
| Protected Attributes inherited from timeFunctionObject | |
| const Time & | time_ |
| Reference to the time database. | |
| Protected Attributes inherited from writeFile | |
| const objectRegistry & | fileObr_ |
| Reference to the region objectRegistry. | |
| const fileName | prefix_ |
| Prefix. | |
| word | fileName_ |
| Name of file. | |
| autoPtr< OFstream > | filePtr_ |
| File pointer. | |
| label | writePrecision_ |
| Write precision. | |
| bool | writeToFile_ |
| Flag to enable/disable writing to file. | |
| bool | updateHeader_ |
| Flag to update the header, e.g. on mesh changes. Default is true. | |
| bool | writtenHeader_ |
| Flag to identify whether the header has been written. | |
| bool | useUserTime_ |
| Flag to use the specified user time, e.g. CA deg instead of seconds. Default = true. | |
| scalar | startTime_ |
| Start time value. | |
| string | ext_ |
| File extension; default = .dat. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from functionObject | |
| static autoPtr< functionObject > | New (const word &name, const Time &runTime, const dictionary &dict) |
| Select from dictionary, based on its "type" entry. | |
| Public Attributes inherited from functionObject | |
| bool | log |
| Flag to write log into Info. | |
| Static Public Attributes inherited from functionObject | |
| static int | debug |
| Flag to execute debug content. | |
| static bool | postProcess |
| Global post-processing mode switch. | |
| static bool | defaultUseNamePrefix |
| Global default for useNamePrefix. | |
| static word | outputPrefix |
| Directory prefix. | |
| Static Public Attributes inherited from writeFile | |
| static label | addChars = 8 |
| Additional characters for writing. | |
Replaces user-supplied keywords by run-time computed values in a text file.
Operands:
| Operand | Type | Location |
|---|---|---|
input | - | - |
output file | TBA | postProcessing/<FO>/<time>/<file>(s) |
system/controlDict.functions: foamReportFO
{
// Mandatory entries
type foamReport;
libs (utilityFunctionObjects);
template "<system>/myTemplate.md";
substitutions
{
divSchemes1
{
type dictionaryValue;
object fvSchemes;
entries
{
divSchemes "divSchemes";
}
}
fvSolution1
{
type dictionaryValue;
path "<system>/fvSolution";
entries
{
solver_p "solvers/p/solver";
solver_p_tol "solvers/p/tolerance";
solver_p_reltol "solvers/p/relTol";
solver_U "solvers/U/solver";
solver_U_tol "solvers/U/tolerance";
solver_U_reltol "solvers/U/relTol";
}
}
controlDict1
{
type dictionaryValue;
path "<system>/controlDict";
entries
{
initial_deltaT "deltaT";
}
}
continuityErrors
{
type functionObjectValue;
functionObject continuityError1;
entries
{
cont_error_local local;
cont_error_global global;
cont_error_cumulative cumulative;
}
}
}
// Optional entries
debugKeys <bool>;
// Inherited entries
...
}
where the entries mean:
| Property | Description | Type | Reqd | Deflt |
|---|---|---|---|---|
type | Type name: foamReport | word | yes | - |
libs | Library name: utilityFunctionObjects | word | yes | - |
template | Path to user-supplied text template | string | yes | - |
substitutions | Dictionary of substitution models | dictionary | yes | - |
debugKeys | Flag to write all known keys | bool | no | false |
The entries sections typically define a dictionary of keys (to use in your template) and method to set the key value, e.g. for a dictionaryValue model used to set values from the fvSolution file:
type dictionaryValue;
path "<system>/fvSolution";
entries
{
solver_p "solvers/p/solver";
solver_p_tol "solvers/p/tolerance";
}
The inherited entries are elaborated in:
Definition at line 218 of file foamReport.H.
|
protecteddelete |
No copy construct.
References foamReport().
Referenced by foamReport(), and operator=().


| foamReport | ( | const word & | name, |
| const Time & | runTime, | ||
| const dictionary & | dict ) |
Construct from name, Time and dictionary.
Definition at line 247 of file foamReport.C.
References debugKeys_, dict, Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, modelKeys_, functionObject::name(), read(), runTime, setStaticBuiltins(), stateFunctionObject::stateFunctionObject(), substitutions_, templateFile_, and writeFile::writeFile().

|
virtualdefault |
Destructor.
|
protected |
Parse the template and collect keyword information.
Definition at line 144 of file foamReport.C.
References Foam::endl(), FatalErrorInFunction, forAll, substitutionModel::getKeys(), ISstream::getLine(), IOstream::good(), Foam::Info, modelKeys_, DynamicList< T, SizeMin >::push_back(), substitutions_, and templateContents_.
Referenced by read().


|
protected |
Set static builtin entries.
Definition at line 47 of file foamReport.C.
References substitutionModel::addBuiltin(), substitutionModel::addBuiltinStr(), Foam::foamVersion::api, Foam::foamVersion::build, Foam::foamVersion::buildArch, clock::clockTime(), clock::date(), argList::envExecutable(), argList::envGlobalPath(), Foam::hostName(), mesh, meshes(), UPstream::nProcs(), UPstream::parRun(), Foam::foamVersion::patch, Foam::returnReduce(), timeFunctionObject::time(), timeFunctionObject::time_, and Foam::foamVersion::version.
Referenced by foamReport().


|
protected |
Set dynamic (potentially changing per execution step) builtin entries.
Definition at line 128 of file foamReport.C.
References clock::clockTime(), clock::date(), substitutionModel::setBuiltin(), substitutionModel::setBuiltinStr(), timeFunctionObject::time(), timeIndex, and timeName.
Referenced by write().


|
protected |
Apply the substitution models to the template.
Definition at line 206 of file foamReport.C.
References DebugInfo, Foam::endl(), forAllConstIters, modelKeys_, Foam::nl, os(), substitutionModel::replaceBuiltin(), substitutions_, templateContents_, and WarningInFunction.

|
protecteddelete |
| TypeName | ( | "foamReport" | ) |
Runtime type information.
References dict, functionObject::name(), and runTime.

|
virtual |
Read the function-object dictionary.
Reimplemented from functionObject.
Definition at line 269 of file foamReport.C.
References dict, e, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::Info, name, substitutionModel::New(), Foam::nl, parseTemplate(), functionObject::read(), writeFile::setExt(), DLListBase::size(), substitutions_, templateFile_, timeFunctionObject::time(), and Foam::type().
Referenced by foamReport().


|
virtual |
Execute the function-object operations.
Implements functionObject.
Definition at line 321 of file foamReport.C.
References substitutions_.
|
virtual |
Write the function-object results.
Implements functionObject.
Definition at line 332 of file foamReport.C.
References Foam::apply(), debugKeys_, filePtr, UPstream::master(), name, writeFile::newFileAtTime(), Foam::nl, os(), setDynamicBuiltins(), substitutions_, timeFunctionObject::time(), and substitutionModel::writeBuiltins().

|
protected |
Path to user-supplied template.
Definition at line 231 of file foamReport.H.
Referenced by foamReport(), and read().
|
protected |
Mapping from keyword to substitution model index and line numbers of template file where keyword is used.
Definition at line 237 of file foamReport.H.
Referenced by apply(), foamReport(), and parseTemplate().
Template file contents split into lines.
Definition at line 242 of file foamReport.H.
Referenced by apply(), and parseTemplate().
|
protected |
List of substitution models.
Definition at line 247 of file foamReport.H.
Referenced by apply(), execute(), foamReport(), parseTemplate(), read(), and write().
|
protected |
Debug flag to write all known keys.
Helps when assembling template file...
Definition at line 254 of file foamReport.H.
Referenced by foamReport(), and write().