PatchFunction1 with the code supplied by an on-the-fly compiled C++ expression. More...
Public Member Functions | |
TypeName ("coded") | |
Runtime type information. More... | |
CodedField (const polyPatch &pp, const word &redirectType, const word &entryName, const dictionary &dict, const bool faceValues=true) | |
Construct from entry name and dictionary. More... | |
CodedField (const CodedField< Type > &rhs) | |
Copy construct. More... | |
CodedField (const CodedField< Type > &rhs, const polyPatch &pp) | |
Copy construct, setting patch. More... | |
virtual tmp< PatchFunction1< Type > > | clone () const |
Construct and return a clone. More... | |
virtual tmp< PatchFunction1< Type > > | clone (const polyPatch &pp) const |
Construct and return a clone setting patch. More... | |
virtual | ~CodedField ()=default |
Destructor. More... | |
virtual bool | uniform () const |
Is value uniform (i.e. independent of coordinate) More... | |
virtual tmp< Field< Type > > | value (const scalar x) const |
Return CodedField value. More... | |
virtual tmp< Field< Type > > | integrate (const scalar x1, const scalar x2) const |
Integrate between two values. More... | |
virtual void | autoMap (const FieldMapper &mapper) |
Map (and resize as needed) from self given a mapping object. More... | |
virtual void | rmap (const PatchFunction1< Type > &pf1, const labelList &addr) |
Reverse map the given PatchFunction1 onto this PatchFunction1. More... | |
virtual void | writeData (Ostream &os) const |
Write in dictionary format. More... | |
Public Member Functions inherited from PatchFunction1< Type > | |
TypeName ("PatchFunction1") declareRunTimeSelectionTable(autoPtr | |
Runtime type information. More... | |
PatchFunction1 (const polyPatch &pp, const word &entryName, const bool faceValues=true) | |
Construct from polyPatch and entry name. More... | |
PatchFunction1 (const polyPatch &pp, const word &entryName, const dictionary &dict, const bool faceValues=true) | |
Construct from polyPatch, dictionary and entry name. More... | |
PatchFunction1 (const PatchFunction1< Type > &rhs) | |
Copy construct. More... | |
PatchFunction1 (const PatchFunction1< Type > &rhs, const polyPatch &pp) | |
Copy construct setting patch. More... | |
virtual tmp< PatchFunction1< Type > > | clone () const =0 |
Return a clone. More... | |
virtual tmp< PatchFunction1< Type > > | clone (const polyPatch &pp) const =0 |
Return a clone, setting patch. More... | |
virtual | ~PatchFunction1 ()=default |
Destructor. More... | |
virtual bool | constant () const |
Is value constant (i.e. independent of x) More... | |
virtual bool | good () const |
Can function be evaluated? More... | |
virtual bool | uniform () const =0 |
Is value uniform (i.e. independent of coordinate) More... | |
virtual tmp< Field< Type > > | value (const scalar x) const |
Return value as a function of (scalar) independent variable. More... | |
virtual tmp< Field< Type > > | integrate (const scalar x1, const scalar x2) const |
Integrate between two (scalar) values. More... | |
virtual tmp< pointField > | localPosition (const pointField &globalPos) const |
Helper: optionally convert coordinates to local coordinates. More... | |
virtual tmp< Field< Type > > | transform (const Field< Type > &fld) const |
Apply optional transformation. More... | |
virtual tmp< Field< Type > > | transform (const tmp< Field< Type > > &tfld) const |
Apply optional transformation. More... | |
virtual void | autoMap (const FieldMapper &mapper) |
Map (and resize as needed) from self given a mapping object. More... | |
virtual void | rmap (const PatchFunction1< Type > &rhs, const labelList &addr) |
Reverse map the given PatchFunction1 onto this PatchFunction1. More... | |
virtual void | writeData (Ostream &os) const |
Write in dictionary format. More... | |
Public Member Functions inherited from patchFunction1Base | |
patchFunction1Base (const polyPatch &pp, const word &entryName, const bool faceValues=true) | |
Construct from polyPatch and entry name. More... | |
patchFunction1Base (const polyPatch &pp, const word &entryName, const dictionary &dict, const bool faceValues=true) | |
Construct from polyPatch, dictionary and entry name. More... | |
patchFunction1Base (const patchFunction1Base &rhs) | |
Copy construct. More... | |
patchFunction1Base (const patchFunction1Base &rhs, const polyPatch &pp) | |
Copy construct setting patch. More... | |
virtual | ~patchFunction1Base ()=default |
Destructor. More... | |
const word & | name () const noexcept |
The name of the entry. More... | |
const polyPatch & | patch () const noexcept |
Reference to the patch. More... | |
bool | faceValues () const noexcept |
Generate face or point values on patch? More... | |
label | size () const |
Number of faces or points on the patch. More... | |
const objectRegistry * | whichDb () const |
Return the associated registry (ie, the mesh) More... | |
const objectRegistry & | obr () const |
Return the object registry (ie, the mesh) More... | |
const Time & | time () const |
Return false: function not created with time database. More... | |
virtual void | userTimeToTime (const Time &t) |
Convert time. More... | |
Public Member Functions inherited from refCount | |
constexpr | refCount () noexcept |
Default construct, initializing count to 0. More... | |
int | count () const noexcept |
Return the current reference count. More... | |
bool | unique () const noexcept |
Return true if the reference count is zero. More... | |
void | operator++ () noexcept |
Increment the reference count. More... | |
void | operator++ (int) noexcept |
Increment the reference count. More... | |
void | operator-- () noexcept |
Decrement the reference count. More... | |
void | operator-- (int) noexcept |
Decrement the reference count. More... | |
Static Public Attributes | |
static constexpr const char *const | codeTemplateC = "codedPatchFunction1Template.C" |
Name of the C code template to be used. More... | |
static constexpr const char *const | codeTemplateH = "codedPatchFunction1Template.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 CodedField< Type > &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from PatchFunction1< Type > | |
void | operator= (const PatchFunction1< Type > &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from patchFunction1Base | |
void | operator= (const patchFunction1Base &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from codedBase | |
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 |
virtual dlLibraryTable & | libs () const =0 |
Mutable access to the loaded dynamic libraries. More... | |
virtual string | description () const =0 |
virtual void | clearRedirect () const =0 |
virtual const dictionary & | codeDict () const =0 |
virtual void | prepare (dynamicCode &dynCode, const dynamicCodeContext &context) const =0 |
Adapt the context for the current object. More... | |
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 | |
Public Types inherited from PatchFunction1< Type > | |
typedef Field< Type > | returnType |
Static Public Member Functions inherited from PatchFunction1< Type > | |
static autoPtr< PatchFunction1< Type > > | New (const polyPatch &pp, const word &entryName, const dictionary &dict, const bool faceValues=true, const bool mandatory=true) |
Selector. More... | |
static autoPtr< PatchFunction1< Type > > | NewCompat (const polyPatch &pp, const word &entryName, std::initializer_list< std::pair< const char *, int > > compat, const dictionary &dict, const bool faceValues=true, const bool mandatory=true) |
Compatibility selector. More... | |
static autoPtr< PatchFunction1< Type > > | NewIfPresent (const polyPatch &pp, const word &entryName, const dictionary &dict, const bool faceValues=true) |
An optional selector. More... | |
static refPtr< PatchFunction1< Type > > | New (HashPtrTable< PatchFunction1< Type > > &cache, const polyPatch &pp, const word &entryName, const dictionary &dict, enum keyType::option matchOpt=keyType::LITERAL, const bool faceValues=true, const bool mandatory=true) |
Public Attributes inherited from PatchFunction1< Type > | |
PatchFunction1 | |
dictionary | |
const polyPatch & | pp |
const polyPatch const word & | type |
const polyPatch const word const word & | entryName |
const polyPatch const word const word const dictionary & | dict |
const polyPatch const word const word const dictionary const bool | faceValues |
const polyPatch const word const word const dictionary const bool | pp |
const polyPatch const word const word const dictionary const bool | type |
const polyPatch const word const word const dictionary const bool | entryName |
const polyPatch const word const word const dictionary const bool | dict |
Static Protected Member Functions inherited from codedBase | |
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... | |
Protected Attributes inherited from PatchFunction1< Type > | |
coordinateScaling< Type > | coordSys_ |
Optional local coordinate system and scaling. More... | |
Protected Attributes inherited from patchFunction1Base | |
const word | name_ |
Name of entry. More... | |
const polyPatch & | patch_ |
Reference to the patch. More... | |
const bool | faceValues_ |
Generate face or point values on patch. More... | |
PatchFunction1 with the code supplied by an on-the-fly compiled C++ expression.
The code entries:
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 CodedField.H.
CodedField | ( | const polyPatch & | pp, |
const word & | redirectType, | ||
const word & | entryName, | ||
const dictionary & | dict, | ||
const bool | faceValues = true |
||
) |
Construct from entry name and dictionary.
Definition at line 146 of file CodedField.C.
References codedBase::setCodeContext(), and codedBase::updateLibrary().
|
explicit |
Copy construct.
Definition at line 169 of file CodedField.C.
|
explicit |
Copy construct, setting patch.
Definition at line 179 of file CodedField.C.
|
virtualdefault |
Destructor.
|
protectedvirtual |
Mutable access to the loaded dynamic libraries.
Implements codedBase.
Definition at line 36 of file CodedField.C.
References dlLibraryTable::libs().
|
protectedvirtual |
Description (type + name) for the output.
Implements codedBase.
Definition at line 44 of file CodedField.C.
|
protectedvirtual |
|
protectedvirtual |
Additional 'codeContext' dictionary to pass through.
Definition at line 59 of file CodedField.C.
|
protectedvirtual |
Definition at line 68 of file CodedField.C.
References dict.
|
protectedvirtual |
Implements codedBase.
Definition at line 87 of file CodedField.C.
|
protectedvirtual |
Adapt the context for the current object.
Implements codedBase.
Definition at line 94 of file CodedField.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.
|
inlinevirtual |
Construct and return a clone.
Implements PatchFunction1< Type >.
Definition at line 214 of file CodedField.H.
|
inlinevirtual |
Construct and return a clone setting patch.
Implements PatchFunction1< Type >.
Definition at line 223 of file CodedField.H.
References PatchFunction1< Type >::pp.
Is value uniform (i.e. independent of coordinate)
Implements PatchFunction1< Type >.
Definition at line 239 of file CodedField.H.
|
virtual |
Return CodedField value.
Reimplemented from PatchFunction1< Type >.
Definition at line 240 of file CodedField.C.
References x.
|
virtual |
Integrate between two values.
Reimplemented from PatchFunction1< Type >.
Definition at line 254 of file CodedField.C.
|
virtual |
Map (and resize as needed) from self given a mapping object.
Reimplemented from PatchFunction1< Type >.
Definition at line 268 of file CodedField.C.
References PatchFunction1< Type >::autoMap().
|
virtual |
Reverse map the given PatchFunction1 onto this PatchFunction1.
Reimplemented from PatchFunction1< Type >.
Definition at line 282 of file CodedField.C.
References PatchFunction1< Type >::rmap().
|
virtual |
Write in dictionary format.
Reimplemented from PatchFunction1< Type >.
Definition at line 297 of file CodedField.C.
References Foam::name().
|
staticconstexpr |
Name of the C code template to be used.
Definition at line 179 of file CodedField.H.
|
staticconstexpr |
Name of the H code template to be used.
Definition at line 183 of file CodedField.H.