45 valueFraction_(p.
size())
59 refValue_(ptf.refValue_, mapper),
60 refGrad_(ptf.refGrad_, mapper),
61 valueFraction_(ptf.valueFraction_, mapper)
67 "mixedFvPatchField<Type>::mixedFvPatchField\n" 69 " const mixedFvPatchField<Type>&,\n" 71 " const DimensionedField<Type, volMesh>&,\n" 72 " const fvPatchFieldMapper&\n" 74 ) <<
"On field " << iF.name() <<
" patch " << p.name()
75 <<
" patchField " << this->
type()
76 <<
" : mapper does not map all values." <<
nl 77 <<
" To avoid this warning fully specify the mapping in derived" 78 <<
" patch fields." <<
endl;
92 refValue_(
"refValue", dict, p.
size()),
93 refGrad_(
"refGradient", dict, p.
size()),
94 valueFraction_(
"valueFraction", dict, p.
size())
107 refValue_(ptf.refValue_),
108 refGrad_(ptf.refGrad_),
109 valueFraction_(ptf.valueFraction_)
121 refValue_(ptf.refValue_),
122 refGrad_(ptf.refGrad_),
123 valueFraction_(ptf.valueFraction_)
136 refValue_.autoMap(m);
138 valueFraction_.autoMap(m);
152 refCast<const mixedFvPatchField<Type> >(ptf);
154 refValue_.
rmap(mptf.refValue_, addr);
155 refGrad_.rmap(mptf.refGrad_, addr);
156 valueFraction_.rmap(mptf.valueFraction_, addr);
163 if (!this->updated())
165 this->updateCoeffs();
170 valueFraction_*refValue_
172 (1.0 - valueFraction_)*
174 this->patchInternalField()
175 + refGrad_/this->patch().deltaCoeffs()
188 *(refValue_ - this->patchInternalField())
189 *this->patch().deltaCoeffs()
190 + (1.0 - valueFraction_)*refGrad_;
212 valueFraction_*refValue_
213 + (1.0 - valueFraction_)*refGrad_/this->patch().deltaCoeffs();
228 valueFraction_*this->patch().deltaCoeffs()*refValue_
229 + (1.0 - valueFraction_)*refGrad_;
237 refValue_.writeEntry(
"refValue", os);
238 refGrad_.writeEntry(
"refGradient", os);
239 valueFraction_.writeEntry(
"valueFraction", os);
240 this->writeEntry(
"value", os);
This boundary condition provides a base class for 'mixed' type boundary conditions, i.e. conditions that mix fixed value and patch-normal gradient conditions.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the.
void size(const label)
Override size to be inconsistent with allocated storage.
Foam::fvPatchFieldMapper.
mixedFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
bool notNull(const T &t)
Return true if t is not a reference to the nullObject of type T.
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual void write(Ostream &) const
Write.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual void write(Ostream &) const
Write.
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
#define WarningIn(functionName)
Report a warning using Foam::Warning.
virtual tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the.
commsTypes
Types of communications.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
Pre-declare SubField and related Field type.
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::blocking)
Evaluate the patch field, sets Updated to false.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual tmp< Field< Type > > snGrad() const
Return gradient at boundary.
Traits class for primitives.
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual bool hasUnmapped() const =0
Are there unmapped values? I.e. do all size() elements get.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::blocking)
Evaluate the patch field.
A class for managing temporary objects.