This boundary condition provides a wave transmissive outflow condition, based on solving DDt(W, field) = 0 at the boundary W is the wave velocity and field is the field to which this boundary condition is applied.
More...
Public Member Functions | |
| TypeName ("waveTransmissive") | |
| Runtime type information. More... | |
| waveTransmissiveFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &) | |
| Construct from patch and internal field. More... | |
| waveTransmissiveFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &) | |
| Construct from patch, internal field and dictionary. More... | |
| waveTransmissiveFvPatchField (const waveTransmissiveFvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &) | |
| Construct by mapping given waveTransmissiveFvPatchField. More... | |
| waveTransmissiveFvPatchField (const waveTransmissiveFvPatchField &) | |
| Construct as copy. More... | |
| virtual tmp< fvPatchField< Type > > | clone () const |
| Construct and return a clone. More... | |
| waveTransmissiveFvPatchField (const waveTransmissiveFvPatchField &, 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... | |
| scalar | gamma () const |
| Return the heat capacity ratio. More... | |
| scalar & | gamma () |
| Return reference to the heat capacity ratio to allow adjustment. More... | |
| virtual tmp< scalarField > | advectionSpeed () const |
| Calculate and return the advection speed at the boundary. More... | |
| virtual void | write (Ostream &) const |
| Write. More... | |
Public Member Functions inherited from advectiveFvPatchField< Type > | |
| TypeName ("advective") | |
| Runtime type information. More... | |
| advectiveFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &) | |
| Construct from patch and internal field. More... | |
| advectiveFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &) | |
| Construct from patch, internal field and dictionary. More... | |
| advectiveFvPatchField (const advectiveFvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &) | |
| Construct by mapping given advectiveFvPatchField. More... | |
| advectiveFvPatchField (const advectiveFvPatchField &) | |
| Construct as copy. More... | |
| advectiveFvPatchField (const advectiveFvPatchField &, const DimensionedField< Type, volMesh > &) | |
| Construct as copy setting internal field reference. More... | |
| const Type & | fieldInf () const |
| Return the field at infinity. More... | |
| Type & | fieldInf () |
| Return reference to the field at infinity to allow adjustment. More... | |
| scalar | lInf () const |
| Return the relaxation length-scale. More... | |
| scalar & | lInf () |
| Return reference to the relaxation length-scale. More... | |
| virtual void | updateCoeffs () |
| Update the coefficients associated with the patch field. More... | |
Public Member Functions inherited from mixedFvPatchField< Type > | |
| TypeName ("mixed") | |
| Runtime type information. More... | |
| mixedFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &) | |
| Construct from patch and internal field. More... | |
| mixedFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &) | |
| Construct from patch, internal field and dictionary. More... | |
| mixedFvPatchField (const mixedFvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &) | |
| Construct by mapping the given mixedFvPatchField onto a new patch. More... | |
| mixedFvPatchField (const mixedFvPatchField< Type > &) | |
| Construct as copy. More... | |
| mixedFvPatchField (const mixedFvPatchField< 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 Field< Type > & | refValue () |
| virtual const Field< Type > & | refValue () const |
| virtual Field< Type > & | refGrad () |
| virtual const Field< Type > & | refGrad () const |
| virtual scalarField & | valueFraction () |
| virtual const scalarField & | valueFraction () const |
| 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 tmp< Field< Type > > | snGrad () const |
| Return gradient at boundary. More... | |
| virtual void | evaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::blocking) |
| Evaluate the patch field. 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) |
Public Member Functions inherited from fvPatchField< Type > | |
| 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... | |
| 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 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 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... | |
| 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 | |
Public Types inherited from fvPatchField< Type > | |
| typedef fvPatch | Patch |
| typedef calculatedFvPatchField< Type > | Calculated |
Static Public Member Functions inherited from fvPatchField< Type > | |
| 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 Public Attributes inherited from fvPatchField< Type > | |
| static int | disallowGenericFvPatchField |
| Debug switch to disallow the use of genericFvPatchField. More... | |
Protected Attributes inherited from advectiveFvPatchField< Type > | |
| word | phiName_ |
| Name of the flux transporting the field. More... | |
| word | rhoName_ |
| Type | fieldInf_ |
| Field value of the far-field. More... | |
| scalar | lInf_ |
| Relaxation length-scale. More... | |
This boundary condition provides a wave transmissive outflow condition, based on solving DDt(W, field) = 0 at the boundary W is the wave velocity and field is the field to which this boundary condition is applied.
The wave speed is calculated using:
\[ w_p = \frac{\phi_p}{|Sf|} + \sqrt{\frac{\gamma}{\psi_p}} \]
where
| \( w_p \) | = | patch wave speed |
| \( \phi_p \) | = | patch face flux |
| \( \psi_p \) | = | patch compressibility |
| \( Sf \) | = | patch face area vector |
| \( \gamma \) | = | ratio of specific heats |
| Property | Description | Required | Default value |
|---|---|---|---|
phi | flux field name | no | phi |
rho | density field name | no | rho |
psi | compressibility field name | no | thermo:psi |
gamma | ratio of specific heats (Cp/Cv) | yes |
Example of the boundary condition specification:
<patchName>
{
type waveTransmissive;
phi phi;
psi psi;
gamma 1.4;
}Definition at line 140 of file waveTransmissiveFvPatchField.H.
| waveTransmissiveFvPatchField | ( | const fvPatch & | p, |
| const DimensionedField< Type, volMesh > & | iF | ||
| ) |
Construct from patch and internal field.
Definition at line 41 of file waveTransmissiveFvPatchField.C.
| waveTransmissiveFvPatchField | ( | const fvPatch & | p, |
| const DimensionedField< Type, volMesh > & | iF, | ||
| const dictionary & | dict | ||
| ) |
Construct from patch, internal field and dictionary.
Definition at line 69 of file waveTransmissiveFvPatchField.C.
| waveTransmissiveFvPatchField | ( | const waveTransmissiveFvPatchField< Type > & | , |
| const fvPatch & | , | ||
| const DimensionedField< Type, volMesh > & | , | ||
| const fvPatchFieldMapper & | |||
| ) |
Construct by mapping given waveTransmissiveFvPatchField.
onto a new patch
| waveTransmissiveFvPatchField | ( | const waveTransmissiveFvPatchField< Type > & | ptpsf | ) |
Construct as copy.
Definition at line 83 of file waveTransmissiveFvPatchField.C.
| waveTransmissiveFvPatchField | ( | const waveTransmissiveFvPatchField< Type > & | ptpsf, |
| const DimensionedField< Type, volMesh > & | iF | ||
| ) |
Construct as copy setting internal field reference.
Definition at line 95 of file waveTransmissiveFvPatchField.C.
| TypeName | ( | "waveTransmissive" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented from advectiveFvPatchField< Type >.
Definition at line 194 of file waveTransmissiveFvPatchField.H.
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Reimplemented from advectiveFvPatchField< Type >.
Definition at line 211 of file waveTransmissiveFvPatchField.H.
|
inline |
Return the heat capacity ratio.
Definition at line 227 of file waveTransmissiveFvPatchField.H.
|
inline |
Return reference to the heat capacity ratio to allow adjustment.
Definition at line 233 of file waveTransmissiveFvPatchField.H.
|
virtual |
Calculate and return the advection speed at the boundary.
Reimplemented from advectiveFvPatchField< Type >.
Definition at line 110 of file waveTransmissiveFvPatchField.C.
References Foam::dimArea, Foam::dimDensity, Foam::dimVelocity, Foam::foamVersion::patch, phi, and Foam::sqrt().
|
virtual |
Write.
Reimplemented from advectiveFvPatchField< Type >.
Definition at line 141 of file waveTransmissiveFvPatchField.C.
References fvPatchField< Type >::write(), Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().