Porous zone definition based on cell zones. More...
#include <finiteVolume/porousZone.H>
Porous zone definition based on cell zones.
Porous zone definition based on cell zones and parameters obtained from a control dictionary constructed from the given stream. The orientation of the porous region is defined with the same notation as a coordinateSystem, but only a Cartesian coordinate system is valid.
Implemented porosity models:
powerLaw (C0 and C1 parameters)
Darcy-Forchheimer (d and f parameters)
Since negative Darcy/Forchheimer parameters are invalid, they can be used to specify a multiplier (of the max component).
The porousZones method porousZones::ddt() mirrors the normal fvm::ddt() method, but accounts for the effective volume of the cells.
Definition at line 90 of file porousZone.H.
Collaboration diagram for porousZone:Classes | |
| class | iNew |
| Return pointer to new porousZone created on freestore from Istream. More...
| |
Public Member Functions | |
| porousZone (const word &name, const fvMesh &, const dictionary &) | |
| Construct from components.
| |
| autoPtr< porousZone > | clone () const |
| Return clone.
| |
| virtual | ~porousZone () |
| Destructor.
| |
| const word & | zoneName () const |
| cellZone name
| |
| const fvMesh & | mesh () const |
| Return mesh.
| |
| label | zoneId () const |
| cellZone number
| |
| const dictionary & | dict () const |
| dictionary values used for the porousZone
| |
| const coordinateSystem & | coordSys () const |
| Return coordinate system.
| |
| const point & | origin () const |
| Return origin.
| |
| vector | axis () const |
| Return axis.
| |
| scalar | porosity () const |
| Return porosity.
| |
| scalar & | porosity () |
| Edit access to porosity.
| |
| template<class Type > | |
| void | modifyDdt (fvMatrix< Type > &) const |
| Modify time derivative elements according to porosity.
| |
| void | addResistance (fvVectorMatrix &UEqn) const |
| Add the viscous and inertial resistance force contribution.
| |
| void | addResistance (const fvVectorMatrix &UEqn, volTensorField &AU, bool correctAUprocBC=true) const |
| Add the viscous and inertial resistance force contribution.
| |
| virtual void | writeDict (Ostream &, bool subDict=true) const |
| Write the porousZone dictionary.
| |
Friends | |
| Ostream & | operator<< (Ostream &, const porousZone &) |
| porousZone | ( | const word & | name, |
| const fvMesh & | mesh, | ||
| const dictionary & | dict | ||
| ) |
Construct from components.
Definition at line 64 of file porousZone.C.
References d, dimensioned< Type >::dimensions(), E(), Foam::endl(), Foam::exit(), f(), Foam::FatalError, FatalErrorIn, Foam::FatalIOError, FatalIOErrorIn, Foam::Info, Foam::magSqr(), Pstream::master(), Foam::reduce(), dictionary::subDictPtr(), Tensor< Cmpt >::T(), dimensioned< Type >::value(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), Vector< Cmpt >::z(), and Vector< Cmpt >::zero.
| virtual ~porousZone | ( | ) | [inline, virtual]
|
Destructor.
Definition at line 224 of file porousZone.H.
| autoPtr<porousZone> clone | ( | ) | const [inline]
|
| const word& zoneName | ( | ) | const [inline]
|
cellZone name
Definition at line 233 of file porousZone.H.
| const fvMesh& mesh | ( | ) | const [inline]
|
Return mesh.
Definition at line 239 of file porousZone.H.
| label zoneId | ( | ) | const [inline]
|
cellZone number
Definition at line 245 of file porousZone.H.
| const dictionary& dict | ( | ) | const [inline]
|
dictionary values used for the porousZone
Definition at line 251 of file porousZone.H.
Referenced by porousZone::iNew::operator()().
| const coordinateSystem& coordSys | ( | ) | const [inline]
|
Return coordinate system.
Definition at line 257 of file porousZone.H.
| const point& origin | ( | ) | const [inline]
|
| vector axis | ( | ) | const [inline]
|
| scalar porosity | ( | ) | const [inline]
|
Return porosity.
Definition at line 275 of file porousZone.H.
| scalar& porosity | ( | ) | [inline]
|
Edit access to porosity.
Definition at line 281 of file porousZone.H.
| void modifyDdt | ( | fvMatrix< Type > & | m ) | const |
Modify time derivative elements according to porosity.
Definition at line 32 of file porousZoneTemplates.C.
References cells, polyMesh::cellZones(), lduMatrix::diag(), forAll, and fvMatrix< Type >::source().
| void addResistance | ( | fvVectorMatrix & | UEqn ) | const |
Add the viscous and inertial resistance force contribution.
to the momentum equation
Definition at line 199 of file porousZone.C.
References cells, lduMatrix::diag(), fvMatrix< Type >::dimensions(), Foam::magSqr(), fvMatrix< Type >::psi(), fvMatrix< Type >::source(), and U.
Referenced by porousZones::addResistance().
| void addResistance | ( | const fvVectorMatrix & | UEqn, |
| volTensorField & | AU, | ||
| bool | correctAUprocBC = true
|
||
| ) | const |
Add the viscous and inertial resistance force contribution.
to the tensorial diagonal. Optionally correct the processor BCs of AU.
Definition at line 280 of file porousZone.C.
References cells, GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), fvMatrix< Type >::dimensions(), Foam::magSqr(), fvMatrix< Type >::psi(), and U.
| void writeDict | ( | Ostream & | os, |
| bool | subDict = true
|
||
| ) | const [virtual]
|
Write the porousZone dictionary.
Definition at line 363 of file porousZone.C.
References token::BEGIN_BLOCK, Foam::decrIndent(), token::END_BLOCK, token::END_STATEMENT, Foam::endl(), Foam::incrIndent(), Foam::indent(), Foam::nl, dictionary::subDictPtr(), Ostream::write(), and Ostream::writeKeyword().
| Ostream& operator<< | ( | Ostream & | , |
| const porousZone & | |||
| ) | [friend]
|