Provides a general interface to enable dynamic code compilation. More...


Public Member Functions | |
| TypeName ("coded") | |
| Runtime type information. More... | |
| codedFunctionObject (const word &name, const Time &time, const dictionary &dict) | |
| Construct from Time and dictionary. More... | |
| codedFunctionObject (const codedFunctionObject &)=delete | |
| Disallow default bitwise copy construction. More... | |
| virtual | ~codedFunctionObject () |
| Destructor. More... | |
| functionObject & | redirectFunctionObject () const |
| Dynamically compiled functionObject. More... | |
| virtual bool | execute () |
| Called at each ++ or += of the time-loop. More... | |
| virtual bool | write () |
| Called at each ++ or += of the time-loop. More... | |
| virtual bool | end () |
| Called when Time::run() determines that the time-loop exits. More... | |
| virtual bool | read (const dictionary &) |
| Read and set the function object if its data have changed. More... | |
| void | operator= (const codedFunctionObject &)=delete |
| Disallow default bitwise assignment. More... | |
Public Member Functions inherited from functionObject | |
| virtual const word & | type () const =0 |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
| functionObject (const word &name) | |
| Construct from components. More... | |
| autoPtr< functionObject > | clone () const |
| Return clone. More... | |
| functionObject (const functionObject &)=delete | |
| Disallow default bitwise copy construction. More... | |
| virtual | ~functionObject () |
| Destructor. More... | |
| const word & | name () const |
| Return the name of this functionObject. More... | |
| virtual bool | setTimeStep () |
| Called by Time::setDeltaT(). Allows the function object to override. More... | |
| virtual scalar | timeToNextWrite () |
| Called by Time::adjustTimeStep(). Allows the function object to. More... | |
| virtual void | updateMesh (const mapPolyMesh &mpm) |
| Update for changes of mesh. More... | |
| virtual void | movePoints (const polyMesh &mesh) |
| Update for changes of mesh. More... | |
| void | operator= (const functionObject &)=delete |
| Disallow default bitwise assignment. More... | |
Public Member Functions inherited from codedBase | |
| ClassName ("codedBase") | |
| Runtime type information. More... | |
| codedBase () | |
| Construct null. More... | |
| codedBase (const codedBase &)=delete | |
| Disallow default bitwise copy construction. More... | |
| virtual | ~codedBase () |
| Destructor. More... | |
| void | operator= (const codedBase &)=delete |
| Disallow default bitwise assignment. More... | |
Protected Member Functions | |
| virtual dlLibraryTable & | libs () const |
| Get the loaded dynamic libraries. More... | |
| virtual void | prepare (dynamicCode &, const dynamicCodeContext &) const |
| Adapt the context for the current object. More... | |
| virtual string | description () const |
| Return a description (type + name) for the output. More... | |
| virtual void | clearRedirect () const |
| Clear any redirected objects. More... | |
| virtual const dictionary & | codeDict () const |
| Get the dictionary to initialize the codeContext. More... | |
| virtual const wordList & | codeKeys () const |
| Get the keywords associated with source code. More... | |
Protected Member Functions inherited from codedBase | |
| void | updateLibrary (const word &name) const |
| Update library as required. More... | |
Protected Attributes | |
| const Time & | time_ |
| Reference to the time database. More... | |
| dictionary | dict_ |
| Input dictionary. More... | |
| word | name_ |
| The name. More... | |
| autoPtr< functionObject > | redirectFunctionObjectPtr_ |
| Underlying functionObject. More... | |
Static Protected Attributes | |
| static const wordList | codeKeys_ |
| The keywords associated with source code. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from functionObject | |
| static autoPtr< functionObject > | New (const word &name, const Time &, const dictionary &) |
| Select from dictionary, based on its "type" entry. More... | |
Public Attributes inherited from functionObject | |
| Switch | log |
| Switch write log to Info. More... | |
Static Public Attributes inherited from functionObject | |
| static int | debug |
| static bool | postProcess |
| Global post-processing mode switch. More... | |
Provides a general interface to enable dynamic code compilation.
| codeInclude | : | include files |
| codeOptions | : | include paths; inserted into EXE_INC in Make/options |
| codeLibs | : | link line; inserted into LIB_LIBS in Make/options |
| codeData | : | c++; local member data (null constructed); |
| localCode | : | c++; local static functions; |
| codeRead | : | c++; upon functionObject::read(); |
| codeExecute | : | c++; upon functionObject::execute(); |
| codeWrite | : | c++; upon functionObject::write() |
| codeEnd | : | c++; upon functionObject::end(); |
Example of function object specification:
difference
{
libs ("libutilityFunctionObjects.so");
type coded;
// Name of on-the-fly generated functionObject
name writeMagU;
codeWrite
#{
// Lookup U
const volVectorField& U = mesh().lookupObject<volVectorField>("U");
// Write
mag(U)().write();
#};
}Definition at line 121 of file codedFunctionObject.H.
| codedFunctionObject | ( | const word & | name, |
| const Time & | time, | ||
| const dictionary & | dict | ||
| ) |
Construct from Time and dictionary.
Definition at line 135 of file codedFunctionObject.C.
References Foam::read().
Referenced by codedFunctionObject::codeKeys().


|
delete |
Disallow default bitwise copy construction.
|
virtual |
Destructor.
Definition at line 152 of file codedFunctionObject.C.
|
protectedvirtual |
Get the loaded dynamic libraries.
Implements codedBase.
Definition at line 102 of file codedFunctionObject.C.
|
protectedvirtual |
Adapt the context for the current object.
Implements codedBase.
Definition at line 68 of file codedFunctionObject.C.
References dynamicCode::addCompileFile(), dynamicCode::addCopyFile(), dynamicCodeContext::libs(), dynamicCodeContext::options(), dynamicCode::setFilterVariable(), and dynamicCode::setMakeOptions().

|
protectedvirtual |
Return a description (type + name) for the output.
Implements codedBase.
Definition at line 108 of file codedFunctionObject.C.
References Foam::name().

|
protectedvirtual |
Clear any redirected objects.
Implements codedBase.
Definition at line 114 of file codedFunctionObject.C.
|
protectedvirtual |
Get the dictionary to initialize the codeContext.
Implements codedBase.
Definition at line 120 of file codedFunctionObject.C.
|
protectedvirtual |
Get the keywords associated with source code.
Implements codedBase.
Definition at line 126 of file codedFunctionObject.C.
References codedFunctionObject::codedFunctionObject().

| TypeName | ( | "coded" | ) |
Runtime type information.
| Foam::functionObject & redirectFunctionObject | ( | ) | const |
Dynamically compiled functionObject.
Definition at line 158 of file codedFunctionObject.C.
References functionObject::New(), and dictionary::set().

|
virtual |
Called at each ++ or += of the time-loop.
postProcess overrides the usual executeControl behaviour and forces execution (used in post-processing mode)
Implements functionObject.
Definition at line 176 of file codedFunctionObject.C.
|
virtual |
Called at each ++ or += of the time-loop.
postProcess overrides the usual writeControl behaviour and forces writing always (used in post-processing mode)
Implements functionObject.
Definition at line 183 of file codedFunctionObject.C.
|
virtual |
Called when Time::run() determines that the time-loop exits.
By default it simply calls execute().
Reimplemented from functionObject.
Definition at line 190 of file codedFunctionObject.C.
|
virtual |
Read and set the function object if its data have changed.
Reimplemented from functionObject.
Definition at line 197 of file codedFunctionObject.C.
References dictionary::lookup(), dictionary::lookupOrDefault(), and word::null.

|
delete |
Disallow default bitwise assignment.
|
staticprotected |
The keywords associated with source code.
Definition at line 131 of file codedFunctionObject.H.
|
protected |
Reference to the time database.
Definition at line 137 of file codedFunctionObject.H.
|
protected |
Input dictionary.
Definition at line 140 of file codedFunctionObject.H.
|
protected |
The name.
Definition at line 143 of file codedFunctionObject.H.
|
mutableprotected |
Underlying functionObject.
Definition at line 146 of file codedFunctionObject.H.