FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

porousZone Class Reference

Porous zone definition based on cell zones. More...

#include <finiteVolume/porousZone.H>


Detailed Description

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)

\[ S = - \rho C_0 |U|^{(C_1 - 1)/2} U \]

Darcy-Forchheimer (d and f parameters)

\[ S = - (\mu \, d + \frac{\rho |U|}{2} \, f) U \]

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.

See also:
porousZones and coordinateSystems
Source files

Definition at line 90 of file porousZone.H.

Collaboration diagram for porousZone:

List of all members.

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 &)

Constructor & Destructor Documentation

virtual ~porousZone (  ) [inline, virtual]

Destructor.

Definition at line 224 of file porousZone.H.


Member Function Documentation

autoPtr<porousZone> clone (  ) const [inline]

Return clone.

Definition at line 194 of file porousZone.H.

References notImplemented.

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]

Return origin.

Definition at line 263 of file porousZone.H.

References coordinateSystem::origin().

vector axis (  ) const [inline]

Return axis.

Definition at line 269 of file porousZone.H.

References coordinateSystem::axis().

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]

Friends And Related Function Documentation

Ostream& operator<< ( Ostream &   ,
const porousZone &    
) [friend]

The documentation for this class was generated from the following files: