46 phiName_(
dict.lookupOrDefault<
word>(
"phi",
"phi")),
47 rhoName_(
dict.lookupOrDefault<
word>(
"rho",
"rho")),
51 if (
dict.found(
"value"))
76 ) <<
"unphysical lInf specified (lInf < 0)" <<
nl
96 phiName_(ptf.phiName_),
97 rhoName_(ptf.rhoName_),
98 fieldInf_(ptf.fieldInf_),
111 phiName_(ptpsf.phiName_),
112 rhoName_(ptpsf.rhoName_),
113 fieldInf_(ptpsf.fieldInf_),
125 this->db().objectRegistry::template lookupObject<surfaceScalarField>
129 this->patch().template lookupPatchField<surfaceScalarField, scalar>
137 this->patch().template lookupPatchField<volScalarField, scalar>
142 return phip/(rhop*this->patch().magSf());
146 return phip/this->patch().magSf();
159 const fvMesh& mesh = this->internalField().mesh();
163 mesh.
schemes().
ddt(this->internalField().name())
165 scalar deltaT = this->db().time().deltaTValue();
168 this->db().objectRegistry::template
169 lookupObject<VolField<Type>>
171 this->internalField().name()
201 this->valueFraction() = (1.0 +
k)/(1.0 +
alpha +
k);
212 this->valueFraction() = (1.5 +
k)/(1.5 +
alpha +
k);
236 this->valueFraction() = (1.0 +
k)/(1.0 +
alpha +
k);
242 <<
" on patch " << this->patch().name()
243 <<
" of field " << this->internalField().name()
244 <<
" in file " << this->internalField().objectPath()
258 this->valueFraction() = 1.0/(1.0 +
alpha);
268 this->valueFraction() = 1.5/(1.5 +
alpha);
286 this->valueFraction() = 1.0/(1.0 +
alpha);
292 <<
"\n on patch " << this->patch().name()
293 <<
" of field " << this->internalField().name()
294 <<
" in file " << this->internalField().objectPath()
308 writeEntryIfDifferent<word>(os,
"phi",
"phi", phiName_);
309 writeEntryIfDifferent<word>(os,
"rho",
"rho", rhoName_);
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const dimensionSet & dimensions() const
Return dimensions.
Pre-declare SubField and related Field type.
Generic GeometricField class.
const GeometricField< Type, PatchField, GeoMesh > & oldTime() const
Return old time field.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
This boundary condition provides an advective outflow condition, based on solving DDt(W,...
advectiveFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual void write(Ostream &) const
Write.
scalar lInf_
Relaxation length-scale.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Type fieldInf_
Field value of the far-field.
virtual tmp< scalarField > advectionSpeed() const
Calculate and return the advection speed at the boundary.
A list of keyword definitions, which are a keyword followed by any number of values (e....
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
Mesh data needed to do the Finite Volume discretisation.
const fvSchemes & schemes() const
Return the fvSchemes.
Foam::fvPatchFieldMapper.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
const DimensionedField< Type, volMesh > & internalField() const
Return dimensioned internal field reference.
virtual void write(Ostream &) const
Write.
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch as patch field.
virtual void operator=(const UList< Type > &)
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
const fvPatch & patch() const
Return patch.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual const word & name() const
Return name.
ITstream & ddt(const word &name) const
Second-oder Crank-Nicolson implicit ddt using the current and previous time-step fields as well as th...
Basic first-order Euler implicit/explicit ddt using only the current and previous time-step values.
Second-order backward-differencing ddt using the current and two previous time-step values.
Local time-step first-order Euler implicit/explicit ddt.
static const volScalarField & localRDeltaT(const fvMesh &mesh)
Return the reciprocal of the local time-step.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
This boundary condition provides a base class for 'mixed' type boundary conditions,...
virtual Field< Type > & refValue()
virtual scalarField & valueFraction()
virtual Field< Type > & refGrad()
A class for managing temporary objects.
A class for handling words, derived from string.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionSet dimMassFlux
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)