Function1 with the code supplied by an on-the-fly compiled C++ expression. More...
Public Member Functions | |
TypeName ("coded") | |
Runtime type information. More... | |
CodedFunction1 (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr) | |
Construct from entry name, dictionary and optional registry. More... | |
CodedFunction1 (const CodedFunction1< Type > &rhs) | |
Copy construct. More... | |
virtual tmp< Function1< Type > > | clone () const |
Construct and return a clone. More... | |
virtual | ~CodedFunction1 ()=default |
Destructor. More... | |
virtual Type | value (const scalar x) const |
Return value at current time. More... | |
virtual void | writeData (Ostream &os) const |
Write in dictionary format. More... | |
![]() | |
TypeName ("Function1") declareRunTimeSelectionTable(autoPtr | |
Runtime type information. More... | |
Function1 (const word &entryName, const objectRegistry *obrPtr=nullptr) | |
Construct from entry name. More... | |
Function1 (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr) | |
Function1 (const Function1< Type > &rhs) | |
Copy construct. More... | |
virtual | ~Function1 ()=default |
Destructor. More... | |
virtual bool | constant () const |
Is value constant (i.e. independent of x) More... | |
virtual tmp< Field< Type > > | value (const scalarField &x) const |
Return value as a function of (scalar) independent variable. More... | |
virtual Type | integrate (const scalar x1, const scalar x2) const |
Integrate between two (scalar) values. More... | |
virtual tmp< Field< Type > > | integrate (const scalarField &x1, const scalarField &x2) const |
Integrate between two (scalar) values. More... | |
void | writeEntries (Ostream &os) const |
Write coefficient entries in dictionary format. More... | |
Static Public Attributes | |
static constexpr const char *const | codeTemplateC = "codedFunction1Template.C" |
Name of the C code template to be used. More... | |
static constexpr const char *const | codeTemplateH = "codedFunction1Template.H" |
Name of the H code template to be used. More... | |
Protected Member Functions | |
virtual dlLibraryTable & | libs () const |
Mutable access to the loaded dynamic libraries. More... | |
virtual string | description () const |
Description (type + name) for the output. More... | |
virtual void | clearRedirect () const |
Clear redirected object(s) More... | |
virtual const dictionary & | codeContext () const |
Additional 'codeContext' dictionary to pass through. More... | |
virtual const dictionary & | codeDict (const dictionary &dict) const |
virtual const dictionary & | codeDict () const |
virtual void | prepare (dynamicCode &, const dynamicCodeContext &) const |
Adapt the context for the current object. More... | |
void | operator= (const CodedFunction1< Type > &)=delete |
No copy assignment. More... | |
![]() | |
void | operator= (const Function1< Type > &)=delete |
No copy assignment. More... | |
![]() | |
dynamicCodeContext & | codeContext () |
Access to the dynamic code context. More... | |
void | setCodeContext (const dictionary &dict) |
Set code context from a dictionary. More... | |
void | append (const std::string &str) |
Add content to SHA1 hashing. More... | |
void | updateLibrary (const word &name, const dynamicCodeContext &context) const |
Update library as required, using the given context. More... | |
void | updateLibrary (const word &name, const dictionary &dict) const |
void | updateLibrary (const word &name) const |
codedBase (const codedBase &)=delete | |
No copy construct. More... | |
void | operator= (const codedBase &)=delete |
No copy assignment. More... | |
ClassName ("codedBase") | |
Runtime type information. More... | |
codedBase ()=default | |
Default construct. More... | |
virtual | ~codedBase ()=default |
Destructor. More... | |
Additional Inherited Members | |
![]() | |
typedef Type | returnType |
![]() | |
static autoPtr< Function1< Type > > | New (const word &entryName, const dictionary &dict, const word &redirectType, const objectRegistry *obrPtr=nullptr, const bool mandatory=true) |
Selector, with fallback redirection. More... | |
static autoPtr< Function1< Type > > | NewCompat (const word &entryName, std::initializer_list< std::pair< const char *, int >> compat, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr, const bool mandatory=true) |
Compatibility selector, with fallback redirection. More... | |
static autoPtr< Function1< Type > > | New (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr, const bool mandatory=true) |
Selector, without fallback redirection. More... | |
static autoPtr< Function1< Type > > | NewIfPresent (const word &entryName, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr) |
An optional selector. More... | |
static refPtr< Function1< Type > > | New (HashPtrTable< Function1< Type >> &cache, const word &entryName, const dictionary &dict, enum keyType::option matchOpt=keyType::LITERAL, const objectRegistry *obrPtr=nullptr, const bool mandatory=true) |
![]() | |
Function1 | |
dictionary | |
const word & | entryName |
const word const dictionary & | dict |
const word const dictionary const objectRegistry * | obrPtr |
const word const dictionary const objectRegistry | entryName |
const word const dictionary const objectRegistry | dict |
const word const dictionary const objectRegistry | obrPtr |
![]() | |
static void | writeCodeDict (Ostream &os, const dictionary &dict) |
Write code-dictionary contents. More... | |
static const dictionary & | codeDict (const objectRegistry &obr, const word &dictName="codeDict") |
Return "codeDict" from objectRegistry or read from disk. More... | |
Function1 with the code supplied by an on-the-fly compiled C++ expression.
codeInclude | : | include files |
codeOptions | : | compiler line: added to EXE_INC (Make/options) |
codeLibs | : | linker line: added to LIB_LIBS (Make/options) |
localCode | : | c++; local static functions |
code | : | c++; return the patch values at (scalar x) |
<patchName> { type uniformFixedValue; uniformValue { type coded; name myExpression; // Name of generated PatchFunction1 code #{ const polyPatch& pp = this->patch(); Pout<< "** Patch size:" << pp.size() << endl; return tmp<vectorField>::New(pp.size(), vector(1, 0, 0)) #}; //codeInclude //#{ // #include "volFields.H" //#}; //codeOptions //#{ // -I$(LIB_SRC)/finiteVolume/lnInclude //#}; } }
Definition at line 124 of file CodedFunction1.H.
CodedFunction1 | ( | const word & | entryName, |
const dictionary & | dict, | ||
const objectRegistry * | obrPtr = nullptr |
||
) |
Construct from entry name, dictionary and optional registry.
Definition at line 144 of file CodedFunction1.C.
|
explicit |
Copy construct.
Definition at line 165 of file CodedFunction1.C.
|
virtualdefault |
Destructor.
|
protectedvirtual |
Mutable access to the loaded dynamic libraries.
Implements codedBase.
Definition at line 36 of file CodedFunction1.C.
References dlLibraryTable::libs().
|
protectedvirtual |
Description (type + name) for the output.
Implements codedBase.
Definition at line 44 of file CodedFunction1.C.
|
protectedvirtual |
|
protectedvirtual |
Additional 'codeContext' dictionary to pass through.
Definition at line 59 of file CodedFunction1.C.
|
protectedvirtual |
Definition at line 69 of file CodedFunction1.C.
References dict.
|
protectedvirtual |
Implements codedBase.
Definition at line 87 of file CodedFunction1.C.
|
protectedvirtual |
Adapt the context for the current object.
Implements codedBase.
Definition at line 95 of file CodedFunction1.C.
References dynamicCode::addCompileFile(), dynamicCode::addCopyFile(), dynamicCodeContext::code(), DetailInfo, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dynamicCodeContext::libs(), dynamicCodeContext::options(), dynamicCode::setFieldTemplates(), dynamicCode::setFilterVariable(), dynamicCode::setMakeOptions(), and dynamicCodeContext::sha1().
|
protecteddelete |
No copy assignment.
TypeName | ( | "coded" | ) |
Runtime type information.
Construct and return a clone.
Implements Function1< Type >.
Definition at line 207 of file CodedFunction1.H.
|
inlinevirtual |
Return value at current time.
Reimplemented from Function1< Type >.
Definition at line 223 of file CodedFunction1.C.
References x.
|
virtual |
Write in dictionary format.
Reimplemented from Function1< Type >.
Definition at line 236 of file CodedFunction1.C.
References Foam::name().
|
staticconstexpr |
Name of the C code template to be used.
Definition at line 182 of file CodedFunction1.H.
|
staticconstexpr |
Name of the H code template to be used.
Definition at line 186 of file CodedFunction1.H.