Applies an explicit porosity source to the momentum equation within a specified region. More...
Public Member Functions | |
TypeName ("explicitPorositySource") | |
explicitPorositySource (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
explicitPorositySource (const explicitPorositySource &)=delete | |
void | operator= (const explicitPorositySource &)=delete |
virtual | ~explicitPorositySource ()=default |
const porosityModel & | model () const |
virtual void | addSup (fvMatrix< vector > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
virtual bool | read (const dictionary &dict) |
![]() | |
TypeName ("cellSetOption") | |
cellSetOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
virtual | ~cellSetOption ()=default |
scalar | timeStart () const noexcept |
scalar | duration () const noexcept |
bool | inTimeLimits (const scalar timeValue) const |
selectionModeType | selectionMode () const noexcept |
bool | useSubMesh () const noexcept |
const word & | cellSetName () const noexcept |
scalar | V () const noexcept |
const labelList & | cells () const noexcept |
scalar | timeStart (scalar val) noexcept |
scalar | duration (scalar val) noexcept |
virtual bool | isActive () |
![]() | |
TypeName ("option") | |
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) | |
autoPtr< option > | clone () const |
virtual | ~option ()=default |
const word & | name () const noexcept |
const fvMesh & | mesh () const noexcept |
const dictionary & | coeffs () const noexcept |
bool | active () const noexcept |
void | setApplied (const label fieldi) |
bool | active (const bool on) noexcept |
virtual label | applyToField (const word &fieldName) const |
virtual void | checkApplied () const |
virtual void | addSup (fvMatrix< scalar > &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< 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< 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 |
virtual void | writeFooter (Ostream &) const |
virtual void | writeData (Ostream &) const |
Protected Attributes | |
autoPtr< porosityModel > | porosityPtr_ |
![]() | |
scalar | timeStart_ |
scalar | duration_ |
selectionModeType | selectionMode_ |
word | cellSetName_ |
List< point > | points_ |
labelList | cells_ |
scalar | V_ |
![]() | |
const word | name_ |
const word | modelType_ |
const fvMesh & | mesh_ |
dictionary | dict_ |
dictionary | coeffs_ |
wordList | fieldNames_ |
List< bool > | applied_ |
bool | active_ |
Additional Inherited Members | |
![]() | |
enum | selectionModeType { smAll, smCellSet, smCellZone, smPoints } |
![]() | |
static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
![]() | |
bool | log |
![]() | |
static const Enum< selectionModeType > | selectionModeTypeNames_ |
![]() | |
void | setSelection (const dictionary &dict) |
void | setCellSelection () |
void | setVol () |
![]() | |
void | resetApplied () |
Applies an explicit porosity source to the momentum equation within a specified region.
U | Velocity [m/s]
Required fields:
U | Velocity [m/s]
constant/fvOptions
: explicitPorositySource1 { // Mandatory entries (unmodifiable) type <porosityModelName>; <porosityModelName>Coeffs { // Optional entries (runtime modifiable) UNames (<Uname1> <Uname2> ... <UnameN>); // Conditional optional entries (runtime modifiable) // when the entry "UNames" is not present U U; // Mandatory/Optional (inherited) entries ... } // Mandatory/Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Reqd | Dflt |
---|---|---|---|---|
type | Type name: <porosityModelName> | word | yes | - |
UNames | Names of operand velocity fields | wordList | no | - |
U | Name of operand velocity field | word | no | U |
The inherited entries are elaborated in:
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 { origin (0 0 0); e1 (0.70710678 0.70710678 0); e2 (0 0 1); } } }
cellZone
.Definition at line 156 of file explicitPorositySource.H.
explicitPorositySource | ( | const word & | name, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Definition at line 43 of file explicitPorositySource.C.
References dict, Foam::New(), and Foam::blockMeshTools::read().
|
delete |
|
virtualdefault |
TypeName | ( | "explicitPorositySource" | ) |
|
delete |
|
inline |
Definition at line 199 of file explicitPorositySource.H.
References explicitPorositySource::porosityPtr_.
Referenced by kEpsilonLopesdaCosta< BasicTurbulenceModel >::setPorosityCoefficients().
Reimplemented from option.
Definition at line 71 of file explicitPorositySource.C.
References fvMatrix::dimensions(), and fvMatrix::psi().
|
virtual |
Reimplemented from option.
Definition at line 83 of file explicitPorositySource.C.
References fvMatrix::dimensions(), and fvMatrix::psi().
|
virtual |
Reimplemented from option.
Definition at line 96 of file explicitPorositySource.C.
References Foam::constant::atomic::alpha, fvMatrix::dimensions(), and fvMatrix::psi().
|
virtual |
Reimplemented from cellSetOption.
Definition at line 109 of file explicitPorositySource.C.
References option::coeffs_, dict, option::fieldNames_, dictionary::getOrDefault(), cellSetOption::read(), dictionary::readIfPresent(), option::resetApplied(), and List::resize().
|
protected |
Definition at line 165 of file explicitPorositySource.H.
Referenced by explicitPorositySource::model().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.