Base fvModel for forcing functions. More...
Public Member Functions | |
TypeName ("forcing") | |
Runtime type information. More... | |
forcing (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict) | |
Construct from components. More... | |
virtual | ~forcing () |
Destructor. More... | |
virtual bool | read (const dictionary &dict) |
Read dictionary. More... | |
Public Member Functions inherited from fvModel | |
TypeName ("fvModel") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, fvModel, dictionary,(const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict),(name, modelType, mesh, dict)) | |
fvModel (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict) | |
Construct from components. More... | |
autoPtr< fvModel > | clone () const |
Return clone. More... | |
virtual | ~fvModel () |
Destructor. More... | |
const word & | name () const |
Return const access to the source name. More... | |
const fvMesh & | mesh () const |
Return const access to the mesh database. More... | |
const dictionary & | coeffs () const |
Return dictionary. More... | |
virtual wordList | addSupFields () const |
Return the list of fields for which the fvModel adds source term. More... | |
virtual bool | addsSupToField (const word &fieldName) const |
Return true if the fvModel adds a source term to the given. More... | |
virtual scalar | maxDeltaT () const |
Return the maximum time-step for stable operation. More... | |
virtual void | addSup (fvMatrix< scalar > &eqn) const |
Add a source term to a field-less proxy equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | sourceProxy (const VolField< Type > &eqnField) const |
Add a source term to an equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const VolField< Type > &field) const |
Return source for an equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const |
Return source for an equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &rho, const VolField< Type > &field) const |
Return source for a compressible equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
Return source for a compressible equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | d2dt2 (const VolField< Type > &field) const |
Return source for an equation with a second time derivative. More... | |
virtual void | preUpdateMesh () |
Prepare for mesh update. More... | |
virtual bool | movePoints ()=0 |
Update for mesh motion. More... | |
virtual void | topoChange (const polyTopoChangeMap &)=0 |
Update topology using the given map. More... | |
virtual void | mapMesh (const polyMeshMap &)=0 |
Update from another mesh using the given map. More... | |
virtual void | distribute (const polyDistributionMap &)=0 |
Redistribute or update using the given distribution map. More... | |
virtual void | correct () |
Correct the fvModel. More... | |
virtual bool | write (const bool write=true) const |
Write fvModel data. More... | |
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
Foam::dimensionSet | sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
const Foam::word & | fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
template<class AlphaRhoFieldType > | |
const Foam::word & | fieldName (const AlphaRhoFieldType &alphaRhoField) |
template<class Type , class ... AlphaRhoFieldTypes> | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const VolField< Type > &eqnField) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | d2dt2 (const VolField< Type > &field) const |
Protected Member Functions | |
void | readCoeffs () |
Non-virtual read. More... | |
void | readLambda () |
Read the forcing coefficients. More... | |
dimensionedScalar | regionLength () const |
Calculate and return the volume average forcing region length. More... | |
virtual tmp< volScalarField::Internal > | scale () const |
Return the scale distribution. More... | |
virtual tmp< volScalarField::Internal > | forceCoeff () const |
Return the force coefficient. More... | |
void | writeForceFields () const |
Optionally write the forcing fields: More... | |
Protected Member Functions inherited from fvModel | |
template<class Type > | |
void | addSupType (const VolField< Type > &field, fvMatrix< Type > &eqn) const |
Add a source term to an equation. More... | |
template<class Type > | |
void | addSupType (const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const |
Add a source term to a compressible equation. More... | |
template<class Type > | |
void | addSupType (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const |
Add a source term to a phase equation. More... | |
template<class Type , class ... AlphaRhoFieldTypes> | |
tmp< fvMatrix< Type > > | sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const |
Return a source for an equation. More... | |
Protected Attributes | |
bool | writeForceFields_ |
Optionally write the forcing fields. More... | |
dimensionedScalar | lambda_ |
Forcing coefficient [1/s]. More... | |
dimensionedScalar | lambdaBoundary_ |
Optional boundary forcing coefficient [1/s]. More... | |
autoPtr< Function1< scalar > > | scale_ |
The scaling function. More... | |
vectorField | origins_ |
Origins of the scaling coordinate. More... | |
vectorField | directions_ |
Directions of increasing scaling coordinate. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from fvModel | |
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
static dimensionSet | sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
Return the dimensions of the matrix of a source term. More... | |
static const dimensionSet & | sourceDims (const dimensionSet &ds) |
Return the dimensions of the matrix of a source term (base. More... | |
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
static const word & | fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
Return the name of the field associated with a source term. More... | |
template<class AlphaRhoFieldType > | |
static const word & | fieldName (const AlphaRhoFieldType &alphaRhoField) |
Return the name of the field associated with a source term (base. More... | |
static const word & | fieldName () |
Return the name of the field associated with a source term. Special. More... | |
static autoPtr< fvModel > | New (const word &name, const fvMesh &mesh, const dictionary &dict) |
Return a reference to the selected fvModel. More... | |
Base fvModel for forcing functions.
forcing | ( | const word & | name, |
const word & | modelType, | ||
const fvMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from components.
Definition at line 229 of file forcing.C.
References forcing::readCoeffs().
|
protected |
Non-virtual read.
Definition at line 65 of file forcing.C.
References autoPtr< T >::clear(), Foam::dimLength, Foam::dimless, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::mag(), Function1< Type >::New(), and WarningInFunction.
Referenced by forcing::forcing().
|
protected |
Read the forcing coefficients.
Definition at line 45 of file forcing.C.
References fvModel::coeffs(), dimensioned< Type >::dimensions(), forcing::lambda_, forcing::lambdaBoundary_, and dimensioned< Type >::name().
|
protected |
Calculate and return the volume average forcing region length.
Definition at line 135 of file forcing.C.
References C, Foam::dimArea, Foam::dimLength, Foam::dimless, Foam::dimVolume, Foam::fvc::domainIntegrate(), Foam::evaluate(), forAll, Foam::fvc::grad(), and x.
|
protectedvirtual |
Return the scale distribution.
Definition at line 159 of file forcing.C.
References Foam::constant::universal::c, Foam::dimless, forAll, Foam::max(), DimensionedField< Type, GeoMesh >::New(), tmp< T >::ref(), Foam::typedName(), and x.
Referenced by waveForcing::distribute(), waveForcing::mapMesh(), waveForcing::movePoints(), and waveForcing::topoChange().
|
protectedvirtual |
Return the force coefficient.
Definition at line 184 of file forcing.C.
References forAll, DimensionedField< Type, GeoMesh >::New(), patchi, tmp< T >::ref(), and Foam::typedName().
|
protected |
Optionally write the forcing fields:
forcing:scale, forcing:forceCoeff
Definition at line 214 of file forcing.C.
References Foam::endl(), Foam::Info, and Foam::vtkWriteOps::write().
Referenced by isotropicDamping::isotropicDamping(), verticalDamping::verticalDamping(), and waveForcing::waveForcing().
TypeName | ( | "forcing" | ) |
Runtime type information.
|
virtual |
Read dictionary.
Reimplemented from fvModel.
Reimplemented in waveForcing, verticalDamping, and isotropicDamping.
Definition at line 251 of file forcing.C.
References dict, and fvModel::read().
Referenced by isotropicDamping::read(), verticalDamping::read(), and waveForcing::read().
|
protected |
|
mutableprotected |
Forcing coefficient [1/s].
Definition at line 68 of file forcing.H.
Referenced by forcing::readLambda().
|
mutableprotected |
Optional boundary forcing coefficient [1/s].
Definition at line 71 of file forcing.H.
Referenced by forcing::readLambda().
|
protected |
|
protected |