This boundary condition produces spatiotemporal-variant field by summing a set of pseudo-random numbers and a given spatiotemporal-invariant mean field. The field can be any type, e.g. scalarField. At a single point and time, all components are summed by the same random number, e.g. velocity components (u, v, w) are summed by the same random number, p; thus, output is (u+p, v+p, w+p). More...
Public Member Functions | |
TypeName ("turbulentInlet") | |
Runtime type information. More... | |
turbulentInletFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &) | |
Construct from patch and internal field. More... | |
turbulentInletFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
turbulentInletFvPatchField (const turbulentInletFvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &) | |
turbulentInletFvPatchField (const turbulentInletFvPatchField< Type > &) | |
Construct as copy. More... | |
virtual tmp< fvPatchField< Type > > | clone () const |
Construct and return a clone. More... | |
turbulentInletFvPatchField (const turbulentInletFvPatchField< Type > &, const DimensionedField< Type, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchField< Type > > | clone (const DimensionedField< Type, volMesh > &iF) const |
Construct and return a clone setting internal field reference. More... | |
const Type & | fluctuationScale () const |
Return the fluctuation scale. More... | |
Type & | fluctuationScale () |
Return reference to the fluctuation scale to allow adjustment. More... | |
const Field< Type > & | referenceField () const |
Return the reference field. More... | |
Field< Type > & | referenceField () |
Return reference to the reference field to allow adjustment. More... | |
virtual void | autoMap (const fvPatchFieldMapper &) |
Map (and resize as needed) from self given a mapping object. More... | |
virtual void | rmap (const fvPatchField< Type > &, const labelList &) |
Reverse map the given fvPatchField onto this fvPatchField. More... | |
virtual void | updateCoeffs () |
Update the coefficients associated with the patch field. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
![]() | |
TypeName ("fixedValue") | |
Runtime type information. More... | |
fixedValueFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &) | |
Construct from patch and internal field. More... | |
fixedValueFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const Type &value) | |
Construct from patch, internal field and value. More... | |
fixedValueFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &, const bool valueRequired=true) | |
Construct from patch, internal field and dictionary. More... | |
fixedValueFvPatchField (const fixedValueFvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping the given fixedValueFvPatchField<Type> More... | |
fixedValueFvPatchField (const fixedValueFvPatchField< Type > &) | |
Construct as copy. More... | |
fixedValueFvPatchField (const fixedValueFvPatchField< Type > &, const DimensionedField< Type, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual bool | fixesValue () const |
Return true if this patch field fixes a value. More... | |
virtual bool | assignable () const |
Return false: this patch field is not altered by assignment. More... | |
virtual tmp< Field< Type > > | valueInternalCoeffs (const tmp< scalarField > &) const |
Return the matrix diagonal coefficients corresponding to the. More... | |
virtual tmp< Field< Type > > | valueBoundaryCoeffs (const tmp< scalarField > &) const |
Return the matrix source coefficients corresponding to the. More... | |
virtual tmp< Field< Type > > | gradientInternalCoeffs () const |
Return the matrix diagonal coefficients corresponding to the. More... | |
virtual tmp< Field< Type > > | gradientBoundaryCoeffs () const |
Return the matrix source coefficients corresponding to the. More... | |
virtual void | operator= (const UList< Type > &) |
virtual void | operator= (const fvPatchField< Type > &) |
virtual void | operator+= (const fvPatchField< Type > &) |
virtual void | operator-= (const fvPatchField< Type > &) |
virtual void | operator*= (const fvPatchField< scalar > &) |
virtual void | operator/= (const fvPatchField< scalar > &) |
virtual void | operator+= (const Field< Type > &) |
virtual void | operator-= (const Field< Type > &) |
virtual void | operator*= (const Field< scalar > &) |
virtual void | operator/= (const Field< scalar > &) |
virtual void | operator= (const Type &) |
virtual void | operator+= (const Type &) |
virtual void | operator-= (const Type &) |
virtual void | operator*= (const scalar) |
virtual void | operator/= (const scalar) |
![]() | |
TypeName ("fvPatchField") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (tmp, fvPatchField, patch,(const fvPatch &p, const DimensionedField< Type, volMesh > &iF),(p, iF)) | |
declareRunTimeSelectionTable (tmp, fvPatchField, patchMapper,(const fvPatchField< Type > &ptf, const fvPatch &p, const DimensionedField< Type, volMesh > &iF, const fvPatchFieldMapper &m),(dynamic_cast< const fvPatchFieldType & >(ptf), p, iF, m)) | |
declareRunTimeSelectionTable (tmp, fvPatchField, dictionary,(const fvPatch &p, const DimensionedField< Type, volMesh > &iF, const dictionary &dict),(p, iF, dict)) | |
fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &) | |
Construct from patch and internal field. More... | |
fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const Type &value) | |
Construct from patch, internal field and value. More... | |
fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const word &patchType) | |
Construct from patch and internal field and patch type. More... | |
fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const Field< Type > &) | |
Construct from patch and internal field and patch field. More... | |
fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &, const bool valueRequired=true) | |
Construct from patch, internal field and dictionary. More... | |
fvPatchField (const fvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping the given fvPatchField onto a new patch. More... | |
fvPatchField (const fvPatchField< Type > &) | |
Construct as copy. More... | |
fvPatchField (const fvPatchField< Type > &, const DimensionedField< Type, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual | ~fvPatchField ()=default |
Destructor. More... | |
bool | useImplicit () const noexcept |
Use implicit formulation for coupled patches only. More... | |
bool | useImplicit (bool on) noexcept |
Set useImplicit on/off. More... | |
virtual bool | coupled () const |
Return true if this patch field is coupled. More... | |
const objectRegistry & | db () const |
Return local objectRegistry. More... | |
const fvPatch & | patch () const |
Return patch. More... | |
const DimensionedField< Type, volMesh > & | internalField () const |
Return dimensioned internal field reference. More... | |
const Field< Type > & | primitiveField () const |
Return internal field reference. More... | |
const word & | patchType () const |
Optional patch type. More... | |
word & | patchType () |
Optional patch type. More... | |
bool | updated () const |
Return true if the boundary condition has already been updated. More... | |
bool | manipulatedMatrix () const |
Return true if the matrix has already been manipulated. More... | |
virtual tmp< Field< Type > > | snGrad () const |
Return patch-normal gradient. More... | |
virtual tmp< Field< Type > > | snGrad (const scalarField &deltaCoeffs) const |
Return patch-normal gradient for coupled-patches. More... | |
virtual void | updateWeightedCoeffs (const scalarField &weights) |
Update the coefficients associated with the patch field. More... | |
virtual tmp< Field< Type > > | patchInternalField () const |
Return internal field next to patch as patch field. More... | |
virtual void | patchInternalField (Field< Type > &) const |
Return internal field next to patch as patch field. More... | |
virtual tmp< Field< Type > > | patchNeighbourField () const |
Return patchField on the opposite patch of a coupled patch. More... | |
virtual void | initEvaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::blocking) |
Initialise the evaluation of the patch field. More... | |
virtual void | evaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::blocking) |
Evaluate the patch field, sets Updated to false. More... | |
virtual tmp< Field< Type > > | valueInternalCoeffs (const tmp< Field< scalar >> &) const |
Return the matrix diagonal coefficients corresponding to the. More... | |
virtual tmp< Field< Type > > | valueBoundaryCoeffs (const tmp< Field< scalar >> &) const |
Return the matrix source coefficients corresponding to the. More... | |
virtual tmp< Field< Type > > | gradientInternalCoeffs (const scalarField &deltaCoeffs) const |
Return the matrix diagonal coefficients corresponding to the. More... | |
virtual tmp< Field< Type > > | gradientBoundaryCoeffs (const scalarField &deltaCoeffs) const |
Return the matrix source coefficients corresponding to the. More... | |
virtual void | manipulateMatrix (fvMatrix< Type > &matrix) |
Manipulate matrix. More... | |
virtual void | manipulateMatrix (fvMatrix< Type > &matrix, const scalarField &weights) |
Manipulate matrix with given weights. More... | |
virtual void | manipulateMatrix (fvMatrix< Type > &matrix, const label iMatrix, const direction cmp) |
Manipulate fvMatrix. More... | |
void | check (const fvPatchField< Type > &) const |
Check fvPatchField<Type> against given fvPatchField<Type> More... | |
virtual void | operator== (const fvPatchField< Type > &) |
virtual void | operator== (const Field< Type > &) |
virtual void | operator== (const Type &) |
template<class Type2 > | |
Foam::tmp< Foam::fvPatchField< Type > > | NewCalculatedType (const fvPatchField< Type2 > &pf) |
Additional Inherited Members | |
![]() | |
typedef fvPatch | Patch |
typedef calculatedFvPatchField< Type > | Calculated |
![]() | |
static tmp< fvPatchField< Type > > | New (const word &, const fvPatch &, const DimensionedField< Type, volMesh > &) |
Return a pointer to a new patchField created on freestore given. More... | |
static tmp< fvPatchField< Type > > | New (const word &, const word &actualPatchType, const fvPatch &, const DimensionedField< Type, volMesh > &) |
Return a pointer to a new patchField created on freestore given. More... | |
static tmp< fvPatchField< Type > > | New (const fvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &) |
Return a pointer to a new patchField created on freestore from. More... | |
static tmp< fvPatchField< Type > > | New (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &) |
Return a pointer to a new patchField created on freestore. More... | |
static tmp< fvPatchField< Type > > | NewCalculatedType (const fvPatch &) |
Return a pointer to a new calculatedFvPatchField created on. More... | |
template<class Type2 > | |
static tmp< fvPatchField< Type > > | NewCalculatedType (const fvPatchField< Type2 > &) |
Return a pointer to a new calculatedFvPatchField created on. More... | |
static const word & | calculatedType () |
Return the type of the calculated for of fvPatchField. More... | |
![]() | |
static int | disallowGenericFvPatchField |
Debug switch to disallow the use of genericFvPatchField. More... | |
This boundary condition produces spatiotemporal-variant field by summing a set of pseudo-random numbers and a given spatiotemporal-invariant mean field. The field can be any type, e.g. scalarField. At a single point and time, all components are summed by the same random number, e.g. velocity components (u, v, w) are summed by the same random number, p; thus, output is (u+p, v+p, w+p).
The pseudo-random number generator obeys the probability density function of the uniform distribution constrained by the range [0:1]. The seed for the random number generator is hard-coded; therefore, it will produce the same sequence of random numbers at every execution.
\[ x_p = (1 - \alpha) x_p^{n - 1} + \alpha (x_{ref} + c s R |x_{ref}|) \]
where
\( x_p \) | = | patch field |
\( x_{ref} \) | = | spatiotemporal-invariant patch scalar |
\( n \) | = | time level |
\( \alpha \) | = | a scalar attempting to build two-temporal-point correlations |
\( by heuristically adding a fraction of the new random component\) | = | |
\( to the previous time patch field\) | = | |
\( c \) | = | a heuristic automatically calculated correction term |
\( to compensate energy level losses due to the alpha scalar\) | = | |
\( R \) | = | pseudo-random number [HARD-CODED seed] |
\( s \) | = | fluctuation scale (proportional to the xRef) |
Property | Description | Required | Default value |
---|---|---|---|
fluctuationScale | RMS fluctuation scale (fraction of mean) | yes | |
referenceField | reference (mean) field | yes | |
alpha | fraction of new random component added to previous | no | 0.1 |
Example of the boundary condition specification:
<patchName> { // Mandatory entries type turbulentInlet; fluctuationScale 0.1; // the term `s` above referenceField uniform 10; // the term `xRef` above // Optional entries alpha 0.1; // the term `alpha` above }
Nevertheless, the BC may be still used for other applications, e.g. as a uniform-random noise source in aeroacoustics.
Definition at line 174 of file turbulentInletFvPatchField.H.
turbulentInletFvPatchField | ( | const fvPatch & | p, |
const DimensionedField< Type, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 34 of file turbulentInletFvPatchField.C.
turbulentInletFvPatchField | ( | const fvPatch & | p, |
const DimensionedField< Type, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 50 of file turbulentInletFvPatchField.C.
References dict, Foam::operator==(), and p.
turbulentInletFvPatchField | ( | const turbulentInletFvPatchField< Type > & | ptf, |
const fvPatch & | p, | ||
const DimensionedField< Type, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given turbulentInletFvPatchField onto a new patch
Definition at line 79 of file turbulentInletFvPatchField.C.
turbulentInletFvPatchField | ( | const turbulentInletFvPatchField< Type > & | ptf | ) |
Construct as copy.
Definition at line 97 of file turbulentInletFvPatchField.C.
turbulentInletFvPatchField | ( | const turbulentInletFvPatchField< Type > & | ptf, |
const DimensionedField< Type, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 112 of file turbulentInletFvPatchField.C.
TypeName | ( | "turbulentInlet" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented from fixedValueFvPatchField< Type >.
Definition at line 236 of file turbulentInletFvPatchField.H.
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Reimplemented from fixedValueFvPatchField< Type >.
Definition at line 253 of file turbulentInletFvPatchField.H.
|
inline |
Return the fluctuation scale.
Definition at line 269 of file turbulentInletFvPatchField.H.
|
inline |
Return reference to the fluctuation scale to allow adjustment.
Definition at line 275 of file turbulentInletFvPatchField.H.
|
inline |
Return the reference field.
Definition at line 281 of file turbulentInletFvPatchField.H.
|
inline |
Return reference to the reference field to allow adjustment.
Definition at line 287 of file turbulentInletFvPatchField.H.
|
virtual |
Map (and resize as needed) from self given a mapping object.
Reimplemented from fvPatchField< Type >.
Definition at line 130 of file turbulentInletFvPatchField.C.
|
virtual |
Reverse map the given fvPatchField onto this fvPatchField.
Reimplemented from fvPatchField< Type >.
Definition at line 141 of file turbulentInletFvPatchField.C.
References turbulentInletFvPatchField< Type >::rmap().
Referenced by turbulentInletFvPatchField< Type >::rmap().
|
virtual |
Update the coefficients associated with the patch field.
Reimplemented from fvPatchField< Type >.
Definition at line 156 of file turbulentInletFvPatchField.C.
References Foam::cmptMultiply(), forAll, Foam::mag(), Foam::sqr(), Foam::sqrt(), and timeIndex.
|
virtual |
Write.
Reimplemented from fixedValueFvPatchField< Type >.
Definition at line 198 of file turbulentInletFvPatchField.C.
References os(), and Foam::vtk::write().