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