Semi-implicit source, described using an input dictionary. The injection rate coefficients are specified as pairs of Su-Sp coefficients, i.e. More...


Public Types | |
| enum | volumeMode { absolute, specific } |
| Enumeration for volume types. More... | |
Public Member Functions | |
| TypeName ("semiImplicitSource") | |
| Runtime type information. More... | |
| semiImplicitSource (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from components. More... | |
| virtual | ~semiImplicitSource () |
| Destructor. More... | |
| virtual wordList | addSupFields () const |
| Return the list of fields for which the fvModel adds source term. 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... | |
| virtual void | updateMesh (const mapPolyMesh &) |
| Update for mesh changes. More... | |
| virtual bool | read (const dictionary &dict) |
| Read source 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 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 |
Static Public Attributes | |
| static const NamedEnum< volumeMode, 2 > | volumeModeNames_ |
| Property type names. More... | |
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... | |
Semi-implicit source, described using an input dictionary. The injection rate coefficients are specified as pairs of Su-Sp coefficients, i.e.
where
| = | net source for field 'x' |
| = | explicit source contribution |
| = | linearised implicit contribution |
Example tabulated heat source specification for internal energy:
volumeMode absolute; // specific
sources
{
e
{
explicit table ((0 0) (1.5 $power));
implicit 0;
}
}Example coded heat source specification for enthalpy:
volumeMode absolute; // specific
sources
{
h
{
explicit
{
type coded;
name heatInjection;
code
#{
// Power amplitude
const scalar powerAmplitude = 1000;
// x is the current time
return mag(powerAmplitude*sin(x));
#};
}
implicit 0;
}
}Valid fvModels for the volumeMode entry include:
Definition at line 122 of file semiImplicitSource.H.
|
strong |
Enumeration for volume types.
| Enumerator | |
|---|---|
| absolute | |
| specific | |
Definition at line 131 of file semiImplicitSource.H.
| semiImplicitSource | ( | const word & | name, |
| const word & | modelType, | ||
| const dictionary & | dict, | ||
| const fvMesh & | mesh | ||
| ) |
Construct from components.
Definition at line 205 of file semiImplicitSource.C.
Referenced by NamedEnum< compressibleField, 8 >::names().

|
virtual |
Destructor.
Definition at line 223 of file semiImplicitSource.C.
| TypeName | ( | "semiImplicitSource" | ) |
Runtime type information.
|
virtual |
Return the list of fields for which the fvModel adds source term.
to the transport equation
Reimplemented from fvModel.
Definition at line 229 of file semiImplicitSource.C.
References FOR_ALL_FIELD_TYPES(), IMPLEMENT_FV_MODEL_ADD_ALPHA_RHO_SUP, IMPLEMENT_FV_MODEL_ADD_RHO_SUP, and IMPLEMENT_FV_MODEL_ADD_SUP.

| FOR_ALL_FIELD_TYPES | ( | DEFINE_FV_MODEL_ADD_SUP | ) |
Add a source term to an equation.
| FOR_ALL_FIELD_TYPES | ( | DEFINE_FV_MODEL_ADD_RHO_SUP | ) |
Add a source term to a compressible equation.
| FOR_ALL_FIELD_TYPES | ( | DEFINE_FV_MODEL_ADD_ALPHA_RHO_SUP | ) |
Add a source term to a phase equation.
|
virtual |
Update for mesh changes.
Reimplemented from fvModel.
Definition at line 248 of file semiImplicitSource.C.
|
virtual |
Read source dictionary.
Reimplemented from fvModel.
Definition at line 254 of file semiImplicitSource.C.
References fvModel::read().

|
static |
Property type names.
Definition at line 138 of file semiImplicitSource.H.
Referenced by NamedEnum< compressibleField, 8 >::names().