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)
165 const bool valueRequired
168 parent_bctype(
p, iF,
dict, false),
184 name_(
dict.
getCompat<word>(
"name", {{
"redirectType", 1706}})),
185 redirectPatchFieldPtr_(
nullptr)
187 updateLibrary(name_);
203 const codedFixedValuePointPatchField<Type>& rhs
210 redirectPatchFieldPtr_(nullptr)
221 parent_bctype(rhs, iF),
225 redirectPatchFieldPtr_(nullptr)
235 if (!redirectPatchFieldPtr_)
245 constructDict.set(
"type", name_);
247 redirectPatchFieldPtr_.reset
252 this->internalField(),
264 contentPtr->
dict(this->codeContext());
269 << name_ <<
" Did not derive from dictionaryContent" 273 return *redirectPatchFieldPtr_;
286 updateLibrary(name_);
288 const pointPatchField<Type>& fvp = redirectPatchField();
290 const_cast<pointPatchField<Type>&
>(fvp).updateCoeffs();
295 parent_bctype::updateCoeffs();
306 updateLibrary(name_);
"blocking" : (MPI_Bsend, MPI_Recv)
commsTypes
Types of communications.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
codedFixedValuePointPatchField(const pointPatch &, const DimensionedField< Type, pointMesh > &)
Construct from patch and internal field.
constexpr char nl
The newline '\n' character (0x0a)
const pointPatchField< Type > & redirectPatchField() const
Get reference to the underlying patch.
Foam::pointPatchFieldMapper.
Ostream & endl(Ostream &os)
Add newline and flush stream.
void writeEntry(const word &keyword, Ostream &os) const
Write the field as a dictionary entry.
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patch field, sets Updated to false.
Macros for easy insertion into run-time selection tables.
bool found(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find an entry (const access) with the given keyword.
Abstract base class for point-mesh patch fields.
void write(vtk::formatter &fmt, const Type &val, const label n=1)
Component-wise write of a value (N times)
Constructs on-the-fly a new boundary condition (derived from fixedValuePointPatchField) which is then...
Generic templated field type.
const dictionary & dict() const noexcept
Read-access to the content.
string evaluate(label fieldWidth, const std::string &s, size_t pos=0, size_t len=std::string::npos)
String evaluation with specified (positive, non-zero) field width.
virtual void write(Ostream &) const
Write.
Base class for function objects and boundary conditions using dynamic code that provides methods for ...
A table of dynamically loaded libraries.
A wrapper for dictionary content, without operators that could affect inheritance patterns...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
T getCompat(const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T using any compatibility names if needed. FatalIOError if not found, or if there are excess tokens.
#define WarningInFunction
Report a warning using Foam::Warning.
Basic pointPatch represents a set of points from the mesh.
Input from string buffer, using a ISstream. Always UNCOMPRESSED.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const std::string patch
OpenFOAM patch number as a std::string.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
A class for handling character strings derived from std::string.
Output to string buffer, using a OSstream. Always UNCOMPRESSED.
static void writeCodeDict(Ostream &os, const dictionary &dict)
Write code-dictionary contents.