explicitPorositySource Class Reference

Explicit porosity source. More...

Inheritance diagram for explicitPorositySource:
Collaboration diagram for explicitPorositySource:

Public Member Functions

 TypeName ("explicitPorositySource")
 Runtime type information. More...
 
 explicitPorositySource (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from components. More...
 
 explicitPorositySource (const explicitPorositySource &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~explicitPorositySource ()
 Destructor. More...
 
const porosityModel & model () const
 Return the porosity model. More...
 
virtual wordList addSupFields () const
 Return the list of fields for which the fvModel adds source term. More...
 
virtual void addSup (fvMatrix< vector > &eqn, const word &fieldName) const
 Add implicit contribution to momentum equation. More...
 
virtual void addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const word &fieldName) const
 Add implicit contribution to compressible momentum equation. More...
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const word &fieldName) const
 Add implicit contribution to phase momentum equation. More...
 
virtual void updateMesh (const mapPolyMesh &)
 Update for mesh changes. More...
 
virtual bool read (const dictionary &dict)
 Read dictionary. More...
 
void operator= (const explicitPorositySource &)=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 dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh))
 
 fvModel (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 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 bool addsSupToField (const word &fieldName) const
 Return true if the fvModel adds a source term to the given. More...
 
 FOR_ALL_FIELD_TYPES (DEFINE_FV_MODEL_ADD_SUP)
 Add a source term to an equation. More...
 
 FOR_ALL_FIELD_TYPES (DEFINE_FV_MODEL_ADD_RHO_SUP)
 Add a source term to a compressible equation. More...
 
 FOR_ALL_FIELD_TYPES (DEFINE_FV_MODEL_ADD_ALPHA_RHO_SUP)
 Add a source term to a phase equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const GeometricField< Type, fvPatchField, volMesh > &field) const
 Return source for an equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const
 Return source for an equation with a specified name. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field) const
 Return source for a compressible equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const
 Return source for a compressible equation with a specified name. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field) const
 Return source for a phase equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const
 Return source for a phase equation with a specified name. More...
 
virtual void preUpdateMesh ()
 Prepare for mesh update. More...
 
virtual bool movePoints ()
 Update for mesh motion. More...
 
virtual void correct ()
 Correct the fvModel. More...
 
template<class Type , class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
Foam::dimensionSet sourceDims (const GeometricField< Type, fvPatchField, volMesh > &field, const dimensionSet &ds, const AlphaRhoFieldType &alphaRho, const AlphaRhoFieldTypes &... alphaRhos)
 
template<class Type >
Foam::dimensionSet sourceDims (const GeometricField< Type, fvPatchField, volMesh > &field, const dimensionSet &ds)
 
template<class Type , class ... AlphaRhoFieldTypes>
Foam::tmp< Foam::fvMatrix< Type > > source (const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhos) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const GeometricField< Type, fvPatchField, volMesh > &field) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const
 

Additional Inherited Members

- Static Public Member Functions inherited from fvModel
template<class Type , class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
static dimensionSet sourceDims (const GeometricField< Type, fvPatchField, volMesh > &field, const dimensionSet &ds, const AlphaRhoFieldType &alphaRho, const AlphaRhoFieldTypes &... alphaRhos)
 Return the dimensions of the matrix of a source term. More...
 
template<class Type >
static dimensionSet sourceDims (const GeometricField< Type, fvPatchField, volMesh > &field, const dimensionSet &ds)
 Return the dimensions of the matrix of a source term (base. More...
 
static autoPtr< fvModel > New (const word &name, const dictionary &dict, const fvMesh &mesh)
 Return a reference to the selected fvModel. More...
 
- Protected Member Functions inherited from fvModel
template<class Type >
void addSupType (fvMatrix< Type > &eqn, const word &fieldName) const
 Add a source term to an equation. More...
 
template<class Type >
void addSupType (const volScalarField &rho, fvMatrix< Type > &eqn, const word &fieldName) const
 Add a source term to a compressible equation. More...
 
template<class Type >
void addSupType (const volScalarField &alpha, const volScalarField &rho, fvMatrix< Type > &eqn, const word &fieldName) const
 Add a source term to a phase equation. More...
 
template<class Type , class ... AlphaRhoFieldTypes>
tmp< fvMatrix< Type > > source (const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhos) const
 Return source for equation with specified name and dimensions. More...
 

Detailed Description

Explicit porosity source.

Usage
Example usage, here employing the Darcy-Forchheimer model:
explicitPorositySourceCoeffs
{
    type            DarcyForchheimer;

    DarcyForchheimerCoeffs
    {
        d   d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
        f   f [0 -1 0 0 0 0 0] (0 0 0);

        coordinateSystem
        {
            type    cartesian;
            origin  (0 0 0);
            coordinateRotation
            {
                type    axesRotation;
                e1  (0.70710678 0.70710678 0);
                e2  (0 0 1);
            }
        }
    }
}
Note
The porous region must be selected as a cellZone.
Source files

Definition at line 85 of file explicitPorositySource.H.

Constructor & Destructor Documentation

◆ explicitPorositySource() [1/2]

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

Construct from components.

Definition at line 79 of file explicitPorositySource.C.

◆ explicitPorositySource() [2/2]

Disallow default bitwise copy construction.

◆ ~explicitPorositySource()

virtual ~explicitPorositySource ( )
inlinevirtual

Destructor.

Definition at line 129 of file explicitPorositySource.H.

Member Function Documentation

◆ TypeName()

TypeName ( "explicitPorositySource"  )

Runtime type information.

◆ model()

const porosityModel& model ( ) const
inline

◆ addSupFields()

Foam::wordList addSupFields ( ) const
virtual

Return the list of fields for which the fvModel adds source term.

to the transport equation

Reimplemented from fvModel.

Definition at line 97 of file explicitPorositySource.C.

References explicitPorositySource::addSup().

Referenced by explicitPorositySource::model().

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

◆ addSup() [1/3]

void addSup ( fvMatrix< vector > &  eqn,
const word &  fieldName 
) const
virtual

Add implicit contribution to momentum equation.

Definition at line 104 of file explicitPorositySource.C.

References fvMatrix< Type >::dimensions(), and fvMatrix< Type >::psi().

Referenced by explicitPorositySource::addSup(), explicitPorositySource::addSupFields(), and explicitPorositySource::model().

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

◆ addSup() [2/3]

void addSup ( const volScalarField &  rho,
fvMatrix< vector > &  eqn,
const word &  fieldName 
) const
virtual

Add implicit contribution to compressible momentum equation.

Definition at line 116 of file explicitPorositySource.C.

References explicitPorositySource::addSup(), fvMatrix< Type >::dimensions(), and fvMatrix< Type >::psi().

Here is the call graph for this function:

◆ addSup() [3/3]

void addSup ( const volScalarField &  alpha,
const volScalarField &  rho,
fvMatrix< vector > &  eqn,
const word &  fieldName 
) const
virtual

Add implicit contribution to phase momentum equation.

Definition at line 129 of file explicitPorositySource.C.

References fvMatrix< Type >::dimensions(), and fvMatrix< Type >::psi().

Here is the call graph for this function:

◆ updateMesh()

void updateMesh ( const mapPolyMesh &  mpm)
virtual

Update for mesh changes.

Reimplemented from fvModel.

Definition at line 142 of file explicitPorositySource.C.

Referenced by explicitPorositySource::model().

Here is the caller graph for this function:

◆ read()

bool read ( const dictionary &  dict)
virtual

Read dictionary.

Reimplemented from fvModel.

Definition at line 148 of file explicitPorositySource.C.

References fvModel::read().

Referenced by explicitPorositySource::model().

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

◆ operator=()

void operator= ( const explicitPorositySource &  )
delete

Disallow default bitwise assignment.

Referenced by explicitPorositySource::model().

Here is the caller graph for this function:

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