fvTotalSource Class Referenceabstract

Base class for sources which are specified as a total value (e.g., volume or mass flow rate), rather than a specific value (e.g., mass flow rate per unit volume). More...

Inheritance diagram for fvTotalSource:
Collaboration diagram for fvTotalSource:

Public Member Functions

 TypeName ("fvTotalSource")
 Runtime type information. More...
 
 fvTotalSource (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
 Construct from explicit source name and mesh. More...
 
virtual ~fvTotalSource ()
 Destructor. More...
 
virtual bool addsSupToField (const word &fieldName) const
 Return true if the fvModel adds a source term to the given. More...
 
const word & phaseName () const
 Return the phase name. More...
 
virtual scalar V () const =0
 Return the volume of cells that the source applies to. More...
 
virtual dimensionedScalar S () const =0
 Return the source value. More...
 
virtual tmp< scalarField > source (const word &fieldName) const
 Return the source value. More...
 
virtual bool read (const dictionary &dict)
 Read source dictionary. More...
 
- Public Member Functions inherited from fvSource
 TypeName ("fvSource")
 Runtime type information. More...
 
 fvSource (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
 Construct from explicit source name and mesh. More...
 
 fvSource (const fvSource &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvSource ()
 Destructor. More...
 
virtual wordList addSupFields () const
 Return the list of fields for which the fvModel adds source term. More...
 
virtual labelUList cells () const =0
 Return the cells that the source applies to. More...
 
virtual label nCells () const
 Return the number of cells that the source applies to. More...
 
void operator= (const fvSource &)=delete
 Disallow default bitwise assignment. 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 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 addSource (fvMatrix< scalar > &eqn) const
 Add a source term to a field-less proxy equation. More...
 
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...
 
- 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...
 

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...
 

Detailed Description

Base class for sources which are specified as a total value (e.g., volume or mass flow rate), rather than a specific value (e.g., mass flow rate per unit volume).

Source files

Definition at line 52 of file fvTotalSource.H.

Constructor & Destructor Documentation

◆ fvTotalSource()

fvTotalSource ( const word &  name,
const word &  modelType,
const fvMesh &  mesh,
const dictionary &  dict 
)

Construct from explicit source name and mesh.

Definition at line 72 of file fvTotalSource.C.

◆ ~fvTotalSource()

~fvTotalSource ( )
virtual

Destructor.

Definition at line 89 of file fvTotalSource.C.

Member Function Documentation

◆ addSource()

void addSource ( fvMatrix< scalar > &  eqn) const
protected

Add a source term to a field-less proxy equation.

Definition at line 48 of file fvTotalSource.C.

References cells, DebugInFunction, fvMatrix< Type >::dimensions(), Foam::endl(), f(), forAll, fvMatrix< Type >::psi(), Foam::fvm::S(), and fvMatrix< Type >::source().

Referenced by volumeSource::addSup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addSupType() [1/3]

◆ addSupType() [2/3]

void addSupType ( const volScalarField &  rho,
const VolField< Type > &  field,
fvMatrix< Type > &  eqn 
) const
protected

Add a source term to a compressible equation.

Definition at line 92 of file fvTotalSourceTemplates.C.

References DebugInFunction, Foam::endl(), IOobject::name(), fvMatrix< Type >::psi(), and rho.

Here is the call graph for this function:

◆ addSupType() [3/3]

void addSupType ( const volScalarField &  alpha,
const volScalarField &  rho,
const VolField< Type > &  field,
fvMatrix< Type > &  eqn 
) const
protected

Add a source term to a phase equation.

Definition at line 109 of file fvTotalSourceTemplates.C.

References alpha(), DebugInFunction, Foam::endl(), IOobject::name(), fvMatrix< Type >::psi(), and rho.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "fvTotalSource"  )

Runtime type information.

◆ addsSupToField()

bool addsSupToField ( const word &  fieldName) const
virtual

Return true if the fvModel adds a source term to the given.

field's transport equation

Implements fvSource.

Definition at line 95 of file fvTotalSource.C.

References IOobject::group(), Foam::constant::atomic::group, and word::null.

Here is the call graph for this function:

◆ phaseName()

const Foam::word & phaseName ( ) const
inline

Return the phase name.

Definition at line 30 of file fvTotalSourceI.H.

◆ V()

virtual scalar V ( ) const
pure virtual

Return the volume of cells that the source applies to.

Implemented in zeroDimensionalMassSourceBase, volumeSource, and massSource.

Referenced by fvTotalSource::addSupType().

Here is the caller graph for this function:

◆ S()

virtual dimensionedScalar S ( ) const
pure virtual

Return the source value.

Implemented in zeroDimensionalMassSourceBase, volumeSource, and massSource.

Referenced by fvTotalSource::addSupType().

Here is the caller graph for this function:

◆ source()

Foam::tmp< Foam::scalarField > source ( const word &  fieldName) const
virtual

Return the source value.

Implements fvSource.

Definition at line 103 of file fvTotalSource.C.

References IOobject::group(), and Foam::fvm::S().

Here is the call graph for this function:

◆ read()

bool read ( const dictionary &  dict)
virtual

Read source dictionary.

Reimplemented from fvModel.

Reimplemented in zeroDimensionalMassSource, volumeSource, massSourceBase, and massSource.

Definition at line 120 of file fvTotalSource.C.

References dict, and fvModel::read().

Referenced by massSourceBase::read(), and volumeSource::read().

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: