Go to the documentation of this file.
36 #ifndef porosityModel_H
37 #define porosityModel_H
147 const word& modelName,
151 const word& cellZoneName
160 const word& modelType,
221 inline bool active()
const;
virtual ~porosityModel()
Destructor.
A class for handling words, derived from string.
const labelList & cellZoneIDs() const
Return const access to the cell zone IDs.
virtual void calcTransformModelData()=0
Transform the model data wrt mesh changes.
const dictionary dict_
Dictionary used for model construction.
const dimensionedScalar mu
Atomic mass unit.
A class for managing temporary objects.
const word & name() const
Return const access to the porosity model name.
virtual bool read()
Read object.
declareRunTimeSelectionTable(autoPtr, porosityModel, mesh,(const word &modelName, const word &name, const fvMesh &mesh, const dictionary &dict, const word &cellZoneName),(modelName, name, mesh, dict, cellZoneName))
Selection table.
bool active_
Porosity active flag.
Forward declarations of fvMatrix specializations.
labelList cellZoneIDs_
Cell zone IDs.
dictionary coeffs_
Model coefficients dictionary.
virtual void calcForce(const volVectorField &U, const volScalarField &rho, const volScalarField &mu, vectorField &force) const =0
Calculate the porosity force.
A class for handling keywords in dictionaries.
virtual void transformModelData()
Transform the model data wrt mesh changes.
virtual tmp< vectorField > force(const volVectorField &U, const volScalarField &rho, const volScalarField &mu)
Return the force over the cell zone(s)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
iNew(const fvMesh &mesh, const word &name)
tmp< fvVectorMatrix > UEqn(fvm::div(phi, U)+MRF.DDt(U)+turbulence->divDevReff(U)==fvOptions(U))
void adjustNegativeResistance(dimensionedVector &resist)
Adjust negative resistance values to be multiplier of max value.
autoPtr< porosityModel > operator()(Istream &is) const
TypeName("porosityModel")
Runtime type information.
virtual void correct(fvVectorMatrix &UEqn) const =0
A list of keyword definitions, which are a keyword followed by any number of values (e....
coordinateSystem coordSys_
Local co-ordinate system.
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
void operator=(const porosityModel &)
Disallow default bitwise assignment.
virtual bool writeData(Ostream &os) const
Write.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Top level model for porosity models.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
const fvMesh & mesh_
Reference to the mesh database.
Macros to ease declaration of run-time selection tables.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
label fieldIndex(const label index) const
Return label index.
static const word null
An empty word.
bool active() const
Return const access to the porosity active flag.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Return pointer to new porosityModel object created on the freestore.
porosityModel(const porosityModel &)
Disallow default bitwise copy construct.
virtual void addResistance(fvVectorMatrix &UEqn)
Add resistance.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
static autoPtr< porosityModel > New(const word &name, const fvMesh &mesh, const dictionary &dict, const word &cellZoneName=word::null)
Selector.
Generic GeometricField class.
keyType zoneName_
Name(s) of cell-zone.
const fvMesh & mesh_
Reference to the mesh database.
Base class for other coordinate system specifications.