Applies semi-implicit source within a specified region for Type
, where <Type>=Scalar/Vector/SphericalTensor/SymmTensor/Tensor
. The injection rate coefficients are specified as pairs of Su-Sp coefficients, i.e.:
More...
Public Types | |
enum | volumeModeType { vmAbsolute, vmSpecific } |
Options for the volume mode type. 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... | |
const volumeModeType & | volumeMode () const |
Return const access to the volume mode. More... | |
volumeModeType & | volumeMode () |
Return access to the volume mode. More... | |
virtual void | addSup (fvMatrix< Type > &eqn, const label fieldi) |
Add explicit contribution to equation. More... | |
virtual void | addSup (const volScalarField &rho, fvMatrix< Type > &eqn, const label fieldi) |
Add explicit contribution to compressible equation. More... | |
virtual bool | read (const dictionary &dict) |
Read source dictionary. More... | |
Static Public Attributes | |
static const Enum< volumeModeType > | volumeModeTypeNames_ |
Names for volumeModeType. More... | |
Protected Member Functions | |
void | setFieldData (const dictionary &dict) |
Set the local field data. More... | |
Protected Attributes | |
volumeModeType | volumeMode_ |
Volume mode. More... | |
scalar | VDash_ |
Volume normalisation. More... | |
PtrList< Function1< Type > > | Su_ |
Source field values. More... | |
PtrList< Function1< scalar > > | Sp_ |
Applies semi-implicit source within a specified region for Type
, where <Type>=Scalar/Vector/SphericalTensor/SymmTensor/Tensor
. The injection rate coefficients are specified as pairs of Su-Sp coefficients, i.e.:
\[ S(x) = S_u + S_p x \]
where
\( S(x) \) | = | net source for field 'x' |
\( S_u \) | = | explicit source contribution |
\( S_p \) | = | linearised implicit contribution |
constant/fvOptions
: <Type>SemiImplicitSource1 { // Mandatory entries (unmodifiable) type <Type>SemiImplicitSource; // Mandatory entries (runtime modifiable) volumeMode <volumeModeType>; injectionRateSuSp { k (30.7 0); epsilon (1.5 0); // The injectionRate can also be specified as a Function1 // by having dictionaries for the field entries instead k { // Time-ramp from 0 to 30.7 at time 5 Su table ( (0 0.0) (5 30.7) ); Sp 0.0; } epsilon { Su 1.5; Sp 0.0; } } // Mandatory/Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Reqd | Dflt |
---|---|---|---|---|
type | Type name: <Type>SemiImplicitSource | word | yes | - |
volumeMode | Volume mode type | word | yes | - |
injectionRateSuSp | Injection rate settings | dictionary | yes | - |
The inherited entries are elaborated in:
Options for the volumeMode
entry:
absolute | Values are given as \<quantity\> specific | Values are given as \<quantity\>/m3
Definition at line 169 of file SemiImplicitSource.H.
enum volumeModeType |
Options for the volume mode type.
Enumerator | |
---|---|
vmAbsolute | |
vmSpecific |
Definition at line 193 of file SemiImplicitSource.H.
SemiImplicitSource | ( | const word & | name, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Construct from components.
Definition at line 113 of file SemiImplicitSource.C.
References dict, and Foam::blockMeshTools::read().
|
protected |
Set the local field data.
Definition at line 52 of file SemiImplicitSource.C.
References Foam::BitOps::count(), dict, Tuple2< T1, T2 >::first(), Tuple2< T1, T2 >::second(), and dictionary::set().
TypeName | ( | "SemiImplicitSource< Type >" | ) |
Runtime type information.
|
inline |
Return const access to the volume mode.
Definition at line 34 of file SemiImplicitSourceI.H.
|
inline |
Return access to the volume mode.
Definition at line 42 of file SemiImplicitSourceI.H.
|
virtual |
Add explicit contribution to equation.
Definition at line 132 of file SemiImplicitSource.C.
References Foam::expressions::patchExpr::debug, fvMatrix< Type >::dimensions(), Foam::dimVolume, Foam::endl(), Foam::Info, psi, fvMatrix< Type >::psi(), Sp, Su, Foam::fam::SuSp(), and Foam::Zero.
|
virtual |
Add explicit contribution to compressible equation.
Definition at line 187 of file SemiImplicitSource.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), and Foam::Info.
|
virtual |
Read source dictionary.
Definition at line 204 of file SemiImplicitSource.C.
References dict, and Foam::blockMeshTools::read().
|
static |
Names for volumeModeType.
Definition at line 200 of file SemiImplicitSource.H.
|
protected |
Volume mode.
Definition at line 208 of file SemiImplicitSource.H.
|
protected |
Volume normalisation.
Definition at line 211 of file SemiImplicitSource.H.
Source field values.
Definition at line 214 of file SemiImplicitSource.H.
Definition at line 215 of file SemiImplicitSource.H.