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.
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]
|