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