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)
184 name_(
dict.
getCompat<word>(
"name", {{
"redirectType", 1706}})),
185 redirectPatchFieldPtr_(
nullptr)
187 updateLibrary(name_);
189 if (!this->readValueEntry(
dict))
192 this->extrapolateInternal();
203 const codedFixedValuePointPatchField<Type>& rhs
210 redirectPatchFieldPtr_(nullptr)
221 parent_bctype(rhs, iF),
225 redirectPatchFieldPtr_(nullptr)
235 if (!redirectPatchFieldPtr_)
241 this->writeValueEntry(
os);
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_);
commsTypes
Communications types.
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.
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
Macros for easy insertion into run-time selection tables.
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...
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.
An OSstream with internal List storage.
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.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Evaluate the patch field, sets updated() to false.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A simple container of IOobject preferences. Can also be used for general handling of read/no-read/rea...
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 > &)
"buffered" : (MPI_Bsend, MPI_Recv)
A class for handling character strings derived from std::string.
Similar to IStringStream but using an externally managed buffer for its input. This allows the input ...
static void writeCodeDict(Ostream &os, const dictionary &dict)
Write code-dictionary contents.