65 parent_bctype(
rhs,
p, iF, mapper),
92 expressions::patchExprFieldBase::expectedTypes::VALUE_TYPE,
124 if (this->valueExpr_.empty())
127 <<
"The valueExpr was not defined!" <<
nl
131 driver_.readDict(dict_);
133 if (!this->readValueEntry(
dict))
136 this->extrapolateInternal();
139 if (this->evalOnConstruct_)
150 const exprValuePointPatchField<Type>&
rhs,
151 const DimensionedField<Type, pointMesh>& iF
154 parent_bctype(
rhs, iF),
155 expressions::patchExprFieldBase(
rhs),
161 refCast<const facePointPatch>(this->patch()).patch()
203 <<
"Value: " << this->valueExpr_ <<
nl
205 driver_.writeVariableStrings(
Info) <<
nl;
212 bool evalValue = (!this->valueExpr_.empty() && this->valueExpr_ !=
"0");
215 driver_.clearVariables();
221 driver_.evaluate<Type>(this->valueExpr_,
true)
230 this->parent_bctype::updateCoeffs();
237 this->parent_bctype::write(
os);
240 this->writeValueEntry(
os);
242 driver_.writeCommon(
os, this->debug_ || debug);
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A wrapper for dictionary content, without operators that could affect inheritance patterns.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A fixed value point boundary condition with expressions.
dictionary dict_
Dictionary contents for the boundary condition.
expressions::patchExpr::parseDriver driver_
The expression driver.
exprValuePointPatchField(const pointPatch &, const DimensionedField< Type, pointMesh > &)
Construct from patch and internal field.
virtual void write(Ostream &os) const
Write.
virtual void updateCoeffs()
Update the patch field.
void write(Ostream &os) const
Write.
expectedTypes
Enumeration of expected expressions.
patchExprFieldBase()
Default construct.
expressions::exprString valueExpr_
bool debug_
Add debugging.
A pointPatch based on a polyPatch.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
static const fvPatch & lookupPatch(const polyPatch &p)
Lookup the polyPatch index on corresponding fvMesh.
const pointPatch & patch() const noexcept
Return the patch.
bool updated() const noexcept
True if the boundary condition has already been updated.
Foam::pointPatchFieldMapper.
Basic pointPatch represents a set of points from the mesh.
virtual void write(Ostream &) const
Write.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Evaluate the patch field.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
OBJstream os(runTime.globalPath()/outputName)
#define InfoInFunction
Report an information message using Foam::Info.
Namespace for handling debugging switches.
A namespace for expression-related classes/traits etc.
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.
Type & refCast(U &obj)
A dynamic_cast (for references) to Type reference.
List< word > wordList
List of word.
messageStream Info
Information stream (stdout output on master, null elsewhere).
Ostream & endl(Ostream &os)
Add newline and flush stream.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)
static constexpr const zero Zero
Global zero (0).
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a).