41 return this->db().time().libs();
50 + this->
patch().name()
52 + this->internalField().name();
59 redirectPatchFieldPtr_.reset(
nullptr);
67 const dictionary* ptr = dict_.findDict(
"codeContext", keyType::LITERAL);
68 return (ptr ? *ptr : dictionary::null);
81 : codedBase::codeDict(this->db()).subDict(name_)
90 const dynamicCodeContext& context
94 dynCode.setFilterVariable(
"typeName", name_);
97 dynCode.setFieldTemplates<Type>();
100 dynCode.addCompileFile(codeTemplateC);
103 dynCode.addCopyFile(codeTemplateH);
106 dynCode.setFilterVariable(
"verbose",
"true");
108 <<
"compile " << name_ <<
" sha1: " << context.sha1() <<
endl;
112 dynCode.setMakeOptions
115 "-I$(LIB_SRC)/finiteVolume/lnInclude \\\n"
116 "-I$(LIB_SRC)/meshTools/lnInclude \\\n"
118 +
"\n\nLIB_LIBS = \\\n"
120 " -lfiniteVolume \\\n"
138 redirectPatchFieldPtr_(nullptr)
155 redirectPatchFieldPtr_(nullptr)
165 const bool valueRequired
185 redirectPatchFieldPtr_(
nullptr)
187 updateLibrary(name_);
201 redirectPatchFieldPtr_(nullptr)
216 redirectPatchFieldPtr_(nullptr)
226 if (!redirectPatchFieldPtr_)
236 constructDict.
set(
"type", name_);
238 redirectPatchFieldPtr_.reset
243 this->internalField(),
255 contentPtr->
dict(this->codeContext());
260 << name_ <<
" Did not derive from dictionaryContent"
264 return *redirectPatchFieldPtr_;
277 updateLibrary(name_);
286 parent_bctype::updateCoeffs();
297 updateLibrary(name_);
303 parent_bctype::evaluate(commsType);
310 this->parent_bctype::write(
os);
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type.
void writeEntry(const word &keyword, Ostream &os) const
Write the field as a dictionary entry.
void evaluate()
Evaluate boundary conditions.
Input from string buffer, using a ISstream. Always UNCOMPRESSED.
Output to string buffer, using a OSstream. Always UNCOMPRESSED.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
commsTypes
Types of communications.
Base class for function objects and boundary conditions using dynamic code that provides methods for ...
static void writeCodeDict(Ostream &os, const dictionary &dict)
Write code-dictionary contents.
Constructs on-the-fly a new boundary condition (derived from fixedValuePointPatchField) which is then...
const pointPatchField< Type > & redirectPatchField() const
Get reference to the underlying patch.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A wrapper for dictionary content, without operators that could affect inheritance patterns.
const dictionary & dict() const noexcept
Read-access to the content.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
T getCompat(const word &keyword, std::initializer_list< std::pair< const char *, int > > compat, enum keyType::option matchOpt=keyType::REGEX) const
entry * set(entry *entryPtr)
Assign a new entry, overwriting any existing entry.
A table of dynamically loaded libraries.
A FixedValue boundary condition for pointField.
virtual bool write()
Write the output fields.
Foam::pointPatchFieldMapper.
Abstract base class for point-mesh patch fields.
Basic pointPatch represents a set of points from the mesh.
A class for handling character strings derived from std::string.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
#define WarningInFunction
Report a warning using Foam::Warning.
const std::string patch
OpenFOAM patch number as a std::string.
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
constexpr char nl
The newline '\n' character (0x0a)