interRegionExplicitPorositySource Class Reference

Applies inter-region explicit porosity source. More...

Inheritance diagram for interRegionExplicitPorositySource:
[legend]
Collaboration diagram for interRegionExplicitPorositySource:
[legend]

Public Member Functions

 TypeName ("interRegionExplicitPorositySource")
 Runtime type information. More...
 
 interRegionExplicitPorositySource (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from components. More...
 
 interRegionExplicitPorositySource (const interRegionExplicitPorositySource &)=delete
 No copy construct. More...
 
void operator= (const interRegionExplicitPorositySource &)=delete
 No copy assignment. More...
 
virtual ~interRegionExplicitPorositySource ()=default
 Destructor. More...
 
virtual void addSup (fvMatrix< vector > &eqn, const label fieldi)
 Vector. More...
 
virtual void addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 Vector. More...
 
virtual bool read (const dictionary &dict)
 Read dictionary. More...
 
- Public Member Functions inherited from interRegionOption
 TypeName ("interRegionOption")
 Runtime type information. More...
 
 interRegionOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from dictionary. More...
 
 interRegionOption (const interRegionOption &)=delete
 No copy construct. More...
 
void operator= (const interRegionOption &)=delete
 No copy assignment. More...
 
virtual ~interRegionOption ()=default
 Destructor. More...
 
const wordnbrRegionName () const
 Return const access to the neighbour region name. More...
 
const meshToMeshmeshInterp () const
 Return const access to the mapToMap pointer. More...
 
virtual bool read (const dictionary &dict)
 Read dictionary. More...
 
- Public Member Functions inherited from option
 TypeName ("option")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh))
 
 option (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from components. More...
 
autoPtr< optionclone () const
 Return clone. More...
 
virtual ~option ()=default
 Destructor. More...
 
const wordname () const noexcept
 Return const access to the source name. More...
 
const fvMeshmesh () const noexcept
 Return const access to the mesh database. More...
 
const dictionarycoeffs () const noexcept
 Return dictionary. More...
 
bool active () const noexcept
 True if source is active. More...
 
void setApplied (const label fieldi)
 Set the applied flag to true for field index fieldi. More...
 
bool active (const bool on) noexcept
 Change source active flag, return previous value. More...
 
virtual bool isActive ()
 Is the source active? More...
 
virtual label applyToField (const word &fieldName) const
 Return index of field name if found in fieldNames list. More...
 
virtual void checkApplied () const
 Check that the source has been applied. More...
 
virtual void addSup (fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< vector > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void correct (volScalarField &field)
 
virtual void correct (volVectorField &field)
 
virtual void correct (volSphericalTensorField &field)
 
virtual void correct (volSymmTensorField &field)
 
virtual void correct (volTensorField &field)
 
virtual void postProcessSens (scalarField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 
virtual void postProcessSens (vectorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 
virtual void postProcessSens (tensorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 
virtual void writeHeader (Ostream &) const
 Write the source header information. More...
 
virtual void writeFooter (Ostream &) const
 Write the source footer information. More...
 
virtual void writeData (Ostream &) const
 Write the source properties. More...
 
virtual bool read (const dictionary &dict)
 Read source dictionary. More...
 

Protected Member Functions

void initialise ()
 Initialise. More...
 
- Protected Member Functions inherited from interRegionOption
void setMapper ()
 Set the mesh to mesh interpolation object. More...
 
- Protected Member Functions inherited from option
void resetApplied ()
 Resize/reset applied flag list for all fieldNames_ entries. More...
 

Protected Attributes

autoPtr< porosityModelporosityPtr_
 Run-time selectable porosity model. More...
 
bool firstIter_
 First iteration. More...
 
word UName_
 Name of operand velocity field. More...
 
word muName_
 Name of operand dynamic viscosity field (compressible case only) More...
 
- Protected Attributes inherited from interRegionOption
bool master_
 Master or slave region. More...
 
word nbrRegionName_
 Name of the neighbour region to map. More...
 
autoPtr< meshToMeshmeshInterpPtr_
 Mesh to mesh interpolation object. More...
 
- Protected Attributes inherited from option
const word name_
 Source name. More...
 
const word modelType_
 Model type. More...
 
const fvMeshmesh_
 Reference to the mesh database. More...
 
dictionary dict_
 Top level source dictionary. More...
 
dictionary coeffs_
 Dictionary containing source coefficients. More...
 
wordList fieldNames_
 Field names to apply source to - populated by derived models. More...
 
List< boolapplied_
 Applied flag list - corresponds to each fieldNames_ entry. More...
 
bool active_
 Source active flag. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from option
static autoPtr< optionNew (const word &name, const dictionary &dict, const fvMesh &mesh)
 Return a reference to the selected fvOption model. More...
 
- Public Attributes inherited from option
bool log
 Switch write log to Info. More...
 

Detailed Description

Applies inter-region explicit porosity source.

Usage
Minimal example by using constant/fvOptions:
interRegionExplicitPorositySource1
{
    // Mandatory entries (unmodifiable)
    type                 interRegionExplicitPorositySource;

    interRegionExplicitPorositySourceCoeffs
    {
        // Mandatory entries (unmodifiable)
        type     <porosityModel>;

        // Optional entries (runtime modifiable)
        U        U;
        mu       thermo:mu;
    }

    // Mandatory/Optional (inherited) entries
    ...
}

where the entries mean:

Property Description Type Reqd Dflt
type Type name: interRegionExplicitPorositySource word yes -
type Name of porosity model word yes -
U Name of operand velocity field word no U
mu Name of operand dynamic viscosity field word no thermo:mu

The inherited entries are elaborated in:

Sources described by, for example using the DarcyForchheimer model:

    interRegionExplicitPorositySourceCoeffs
    {
        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
            {
                origin  (0 0 0);
                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 149 of file interRegionExplicitPorositySource.H.

Constructor & Destructor Documentation

◆ interRegionExplicitPorositySource() [1/2]

interRegionExplicitPorositySource ( const word name,
const word modelType,
const dictionary dict,
const fvMesh mesh 
)

Construct from components.

Definition at line 113 of file interRegionExplicitPorositySource.C.

References option::active_, option::fieldNames_, option::resetApplied(), List< T >::resize(), and interRegionExplicitPorositySource::UName_.

Here is the call graph for this function:

◆ interRegionExplicitPorositySource() [2/2]

◆ ~interRegionExplicitPorositySource()

virtual ~interRegionExplicitPorositySource ( )
virtualdefault

Destructor.

Member Function Documentation

◆ initialise()

◆ TypeName()

TypeName ( "interRegionExplicitPorositySource"  )

Runtime type information.

◆ operator=()

void operator= ( const interRegionExplicitPorositySource )
delete

No copy assignment.

◆ addSup() [1/2]

void addSup ( fvMatrix< vector > &  eqn,
const label  fieldi 
)
virtual

Vector.

Reimplemented from option.

Definition at line 137 of file interRegionExplicitPorositySource.C.

References lduMatrix::diag(), fvMatrix< Type >::dimensions(), IOobject::NO_READ, IOobject::NO_WRITE, GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), fvMatrix< Type >::psi(), List< T >::setSize(), UList< T >::size(), fvMatrix< Type >::source(), U, and Foam::Zero.

Here is the call graph for this function:

◆ addSup() [2/2]

void addSup ( const volScalarField rho,
fvMatrix< vector > &  eqn,
const label  fieldi 
)
virtual

Vector.

Reimplemented from option.

Definition at line 190 of file interRegionExplicitPorositySource.C.

References lduMatrix::diag(), Foam::dimDensity, fvMatrix< Type >::dimensions(), Foam::dimViscosity, mu, IOobject::NO_READ, IOobject::NO_WRITE, GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), fvMatrix< Type >::psi(), rho, List< T >::setSize(), UList< T >::size(), fvMatrix< Type >::source(), U, and Foam::Zero.

Here is the call graph for this function:

◆ read()

bool read ( const dictionary dict)
virtual

Read dictionary.

Reimplemented from interRegionOption.

Definition at line 290 of file interRegionExplicitPorositySource.C.

References dict, and kEpsilonLopesdaCosta< BasicTurbulenceModel >::read().

Here is the call graph for this function:

Member Data Documentation

◆ porosityPtr_

autoPtr<porosityModel> porosityPtr_
protected

Run-time selectable porosity model.

Definition at line 158 of file interRegionExplicitPorositySource.H.

Referenced by interRegionExplicitPorositySource::initialise().

◆ firstIter_

bool firstIter_
protected

First iteration.

Definition at line 161 of file interRegionExplicitPorositySource.H.

Referenced by interRegionExplicitPorositySource::initialise().

◆ UName_

word UName_
protected

Name of operand velocity field.

Definition at line 164 of file interRegionExplicitPorositySource.H.

Referenced by interRegionExplicitPorositySource::interRegionExplicitPorositySource().

◆ muName_

word muName_
protected

Name of operand dynamic viscosity field (compressible case only)

Definition at line 167 of file interRegionExplicitPorositySource.H.


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