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 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)...
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)
const labelList & cellZoneIDs() const
Return const access to the cell zone IDs.
bool active_
Porosity active flag.
bool active() const
Return const access to the porosity active flag.
TypeName("porosityModel")
Runtime type information.
label fieldIndex(const label index) const
Return label index.
autoPtr< porosityModel > operator()(Istream &is) const
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
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.
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.
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.
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.