41 freestreamBCPtr_(nullptr)
54 freestreamBCPtr_(nullptr)
89 const freestreamFvPatchField<Type>& ptf,
91 const DimensionedField<Type, volMesh>& iF,
92 const fvPatchFieldMapper& mapper
95 inletOutletFvPatchField<Type>(ptf,
p, iF, mapper),
96 freestreamBCPtr_(nullptr)
98 if (ptf.freestreamBCPtr_)
109 const freestreamFvPatchField<Type>& ptf
112 inletOutletFvPatchField<Type>(ptf),
113 freestreamBCPtr_(nullptr)
115 if (ptf.freestreamBCPtr_)
117 freestreamBCPtr_ = ptf.freestreamBCPtr_->clone();
125 const freestreamFvPatchField<Type>& ptf,
126 const DimensionedField<Type, volMesh>& iF
129 inletOutletFvPatchField<Type>(ptf, iF),
130 freestreamBCPtr_(nullptr)
132 if (ptf.freestreamBCPtr_)
134 freestreamBCPtr_ = ptf.freestreamBCPtr_->clone();
145 if (freestreamBCPtr_)
147 freestreamBCPtr_->autoMap(m);
155 const fvPatchField<Type>& ptf,
161 const auto& fsptf = refCast<const freestreamFvPatchField<Type>>(ptf);
163 if (freestreamBCPtr_ && fsptf.freestreamBCPtr_)
165 freestreamBCPtr_->rmap(fsptf.freestreamBCPtr_(), addr);
178 if (freestreamBCPtr_)
180 freestreamBCPtr_->evaluate();
181 freestreamValue() = freestreamBCPtr_();
194 if (freestreamBCPtr_)
bool readValueEntry(const dictionary &dict, IOobjectOption::readOption readOpt=IOobjectOption::LAZY_READ)
Read the "value" entry into *this.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual void write(Ostream &) const
Write.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
freestreamFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
const Field< Type > & freestreamValue() const
Same as refValue()
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
virtual void write(Ostream &) const
Write.
virtual void readDict(const dictionary &dict)
Read dictionary entries.
virtual void rmap(const fvPatchField< Type > &ptf, const labelList &addr)
Reverse map the given fvPatchField onto this fvPatchField.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A class for handling words, derived from Foam::string.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual Ostream & endBlock()
Write end block group.
virtual bool write(const token &tok)=0
Write token to stream or otherwise handle it.
Ostream & writeEntryIfDifferent(const word &key, const T &value1, const T &value2)
Write a keyword/value entry only when the two values differ.
virtual void autoMap(const fvPatchFieldMapper &mapper)
Map (and resize as needed) from self given a mapping object.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
OBJstream os(runTime.globalPath()/outputName)
word phiName_
Name of flux field.
virtual void operator=(const UList< Type > &)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual Ostream & beginBlock(const keyType &kw)
Write begin block group with the given name.
Reading is optional [identical to READ_IF_PRESENT].
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T, or return the given default value. FatalIOError if it is found and the number of...
List< label > labelList
A List of labels.
static tmp< fvPatchField< Type > > New(const word &patchFieldType, const fvPatch &, const DimensionedField< Type, volMesh > &)
Return a pointer to a new patchField created on freestore given.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
This boundary condition provides a generic outflow condition, with specified inflow for the case of r...