Go to the documentation of this file.
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"
136 parent_bctype(
p, iF),
138 redirectPatchFieldPtr_(nullptr)
151 parent_bctype(rhs,
p, iF, mapper),
155 redirectPatchFieldPtr_(nullptr)
167 parent_bctype(
p, iF,
dict),
183 name_(
dict.
getCompat<word>(
"name", {{
"redirectType", 1706}})),
184 redirectPatchFieldPtr_(
nullptr)
186 updateLibrary(name_);
200 redirectPatchFieldPtr_(nullptr)
211 parent_bctype(rhs, iF),
215 redirectPatchFieldPtr_(nullptr)
225 if (!redirectPatchFieldPtr_)
235 constructDict.set(
"type", name_);
237 redirectPatchFieldPtr_.reset
242 this->internalField(),
254 contentPtr->
dict(this->codeContext());
259 << name_ <<
" Did not derive from dictionaryContent"
263 return *redirectPatchFieldPtr_;
276 updateLibrary(name_);
278 const fvPatchField<Type>& fvp = redirectPatchField();
280 const_cast<fvPatchField<Type>&
>(fvp).updateCoeffs();
285 parent_bctype::updateCoeffs();
296 updateLibrary(name_);
A table of dynamically loaded libraries.
A class for handling words, derived from Foam::string.
static void writeCodeDict(Ostream &os, const dictionary &dict)
virtual void write(Ostream &) const
Base class for function objects and boundary conditions using dynamic code that provides methods for ...
Ostream & endl(Ostream &os)
const fvPatchField< Type > & redirectPatchField() const
A class for handling character strings derived from std::string.
T getCompat(const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, enum keyType::option=keyType::REGEX) const
entry * set(entry *entryPtr)
A wrapper for dictionary content, without operators that could affect inheritance patterns.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
This boundary condition supplies a fixed value constraint, and is the base class for a number of othe...
List< word > wordList
A List of words.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
OBJstream os(runTime.globalPath()/outputName)
Macros for easy insertion into run-time selection tables.
codedFixedValueFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
void writeEntry(const word &keyword, Ostream &os) const
const dictionary & dict() const noexcept
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Ostream & writeEntry(const keyType &key, const T &value)
void write(vtk::formatter &fmt, const Type &val, const label n=1)
Foam::fvPatchFieldMapper.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void updateCoeffs()
#define WarningInFunction
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Constructs on-the-fly a new boundary condition (derived from fixedValueFvPatchField) which is then us...
string evaluate(label fieldWidth, const std::string &s, size_t pos=0, size_t len=std::string::npos)