52 this->valueFraction() = 0.0;
66 phiName_(ptf.phiName_),
67 rhoName_(ptf.rhoName_),
68 fieldInf_(ptf.fieldInf_),
87 if (dict.
found(
"value"))
99 this->refValue() = *
this;
101 this->valueFraction() = 0.0;
105 dict.
lookup(
"fieldInf") >> fieldInf_;
111 "advectiveFvPatchField<Type>::" 112 "advectiveFvPatchField" 115 "const DimensionedField<Type, volMesh>&, " 119 ) <<
"unphysical lInf specified (lInf < 0)" <<
nl 120 <<
" on patch " << this->patch().name()
151 phiName_(ptpsf.phiName_),
152 rhoName_(ptpsf.rhoName_),
153 fieldInf_(ptpsf.fieldInf_),
165 this->db().objectRegistry::template lookupObject<surfaceScalarField>
169 this->patch().template lookupPatchField<surfaceScalarField, scalar>
177 this->patch().template lookupPatchField<volScalarField, scalar>
182 return phip/(rhop*this->patch().magSf());
186 return phip/this->patch().magSf();
204 scalar deltaT = this->db().time().deltaTValue();
207 this->db().objectRegistry::template
208 lookupObject<GeometricField<Type, fvPatchField, volMesh> >
240 this->valueFraction() = (1.0 +
k)/(1.0 + alpha + k);
251 this->valueFraction() = (1.5 +
k)/(1.5 + alpha + k);
255 FatalErrorIn(
"advectiveFvPatchField<Type>::updateCoeffs()")
256 <<
" Unsupported temporal differencing scheme : " 258 <<
" on patch " << this->patch().name()
274 this->valueFraction() = 1.0/(1.0 +
alpha);
284 this->valueFraction() = 1.5/(1.5 +
alpha);
290 "advectiveFvPatchField<Type>::updateCoeffs()" 291 ) <<
" Unsupported temporal differencing scheme : " 293 <<
"\n on patch " << this->patch().name()
309 this->
template writeEntryIfDifferent<word>(os,
"phi",
"phi", phiName_);
310 this->
template writeEntryIfDifferent<word>(os,
"rho",
"rho", rhoName_);
314 os.writeKeyword(
"fieldInf") << fieldInf_ << token::END_STATEMENT <<
nl;
315 os.writeKeyword(
"lInf") << lInf_ << token::END_STATEMENT <<
nl;
318 this->writeEntry(
"value", os);
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
word phiName_
Name of the flux transporting the field.
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...
word name(const complex &)
Return a string representation of a complex.
Basic first-order Euler implicit/explicit ddt using only the current and previous time-step values...
const dimensionSet dimArea(sqr(dimLength))
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void size(const label)
Override size to be inconsistent with allocated storage.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Foam::fvPatchFieldMapper.
word rhoName_
Name of the density field used to normalise the mass flux.
const dimensionSet dimDensity
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual void write(Ostream &) const
Write.
Second-order backward-differencing ddt using the current and two previous time-step values...
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
label k
Boltzmann constant.
virtual tmp< scalarField > advectionSpeed() const
Calculate and return the advection speed at the boundary.
This boundary condition provides an advective outflow condition, based on solving DDt(psi...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Macros for easy insertion into run-time selection tables.
const dimensionSet & dimensions() const
Return dimensions.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
Pre-declare SubField and related Field type.
Type fieldInf_
Field value of the far-field.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
rDeltaT dimensionedInternalField()
Traits class for primitives.
const GeometricField< Type, PatchField, GeoMesh > & oldTime() const
Return old time field.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
advectiveFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
scalar lInf_
Relaxation length-scale.
Second-oder Crank-Nicolson implicit ddt using the current and previous time-step fields as well as th...
const dimensionSet dimVelocity
#define FatalIOErrorIn(functionName, ios)
Report an error message using Foam::FatalIOError.
A class for managing temporary objects.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...