39 #ifndef Foam_porosityModel_H 40 #define Foam_porosityModel_H 128 inline label
fieldIndex(
const label index)
const;
149 const word& modelName,
153 const wordRe& cellZoneName
162 const word& modelType,
273 virtual bool global()
const 294 struct is_globalIOobject<porosityModel> : std::true_type {};
Base class for coordinate system specification, the default coordinate system type is cartesian ...
void operator=(const porosityModel &)=delete
No copy assignment.
A class for handling file names.
virtual bool writeData(Ostream &os) const
Write.
const dictionary & dict() const
Return dictionary used for model construction.
fileName globalFilePath(const word &typeName, const bool search=true) const
Redirect to fileHandler filePath, searching up if in parallel.
virtual fileName filePath() const
Return complete path + object name if the file exists.
virtual ~porosityModel()=default
Destructor.
virtual bool read()
Read object.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
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)
iNew(const fvMesh &mesh, const word &name)
static autoPtr< porosityModel > New(const word &name, const fvMesh &mesh, const dictionary &dict, const wordRe &cellZoneName=wordRe::null)
Selector.
autoPtr< coordinateSystem > csysPtr_
Local coordinate system.
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.
porosityModel(const porosityModel &)=delete
No copy construct.
autoPtr< porosityModel > operator()(Istream &is) const
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
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 Foam::string.
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 Foam::word, but can contain a regular expression for matching words or strings...
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 coordinateSystem & csys() const
Local coordinate system.
OBJstream os(runTime.globalPath()/outputName)
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.
Forward declarations of fvMatrix specializations.
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.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
declareRunTimeSelectionTable(autoPtr, porosityModel, mesh,(const word &modelName, const word &name, const fvMesh &mesh, const dictionary &dict, const wordRe &cellZoneName),(modelName, name, mesh, dict, cellZoneName))
Selection table.
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.
virtual bool global() const
Is object global.
static const wordRe null
An empty wordRe.
Top level model for porosity models.