36 #ifndef porosityModel_H 37 #define porosityModel_H 139 const word& cellZoneName
141 (modelName, name, mesh, dict, cellZoneName)
148 const word& modelType,
Base class for other coordinate system specifications.
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 writeData(Ostream &os) const
Write.
const dictionary & dict() const
Return dictionary used for model construction.
virtual bool read()
Read object.
A list of keyword definitions, which are a keyword followed by any number of values (e...
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)...
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)
const labelList & cellZoneIDs() const
Return const access to the cell zone IDs.
TypeName("porosityModel")
Runtime type information.
label fieldIndex(const label index) const
Return label index.
virtual tmp< vectorField > force(const volVectorField &U, const volScalarField &rho, const volScalarField &mu) const
Return the force over the cell zone(s)
autoPtr< porosityModel > operator()(Istream &is) const
wordRe zoneName_
Name(s) of cell-zone.
void adjustNegativeResistance(dimensionedVector &resist)
Adjust negative resistance values to be multiplier of max value.
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
A wordRe is a word, but can also have a regular expression for matching words.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const fvMesh & mesh_
Reference to the mesh database.
virtual void transformModelData()
Transform the model data wrt mesh changes.
const dimensionedScalar mu
Atomic mass unit.
labelList cellZoneIDs_
Cell zone IDs.
Return pointer to new porosityModel object created on the freestore.
const dictionary dict_
Dictionary used for model construction.
virtual ~porosityModel()
Destructor.
Forward declarations of fvMatrix specialisations.
const word & name() const
Return const access to the porosity model name.
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.
static word modelName(Name name, const word &model)
Return the name of the object within the given model.
A class for managing temporary objects.
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.
Top level model for porosity models.