80#ifndef Foam_regionFaModel_H
81#define Foam_regionFaModel_H
169 const word& regionType,
272 virtual void info() = 0;
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
IOdictionary(const IOobject &io, const dictionary *fallback=nullptr)
Construct given an IOobject and optional fallback dictionary content.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
dictionary()
Default construct, a top-level empty dictionary.
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
Mesh data needed to do the Finite Volume discretisation.
Base class for area region models.
autoPtr< IOdictionary > outputPropertiesPtr_
Dictionary of output properties.
Switch active_
Active flag.
virtual ~regionFaModel()=default
Destructor.
word areaName_
The finite-area mesh name (default: region0).
const Time & time_
Reference to the time database.
word suffixHint_
Suffix hint for automatic model variable names (default: "").
const word modelName_
Model name.
virtual void postEvolveRegion()
Post-evolve region.
const dictionary & solution() const
Return the solution dictionary.
Switch infoOutput_
Active information output.
word suffixed(const char *base) const
Return the concatenation of base and the suffix hint.
word regionName_
Region name.
autoPtr< volSurfaceMapping > vsmPtr_
Volume/surface mapping.
static const word regionFaModelName
Default name regionFaModel.
const word & areaName() const noexcept
The finite-area mesh name (extracted from dictionary).
Switch active() const noexcept
Return the active flag.
virtual scalar CourantNumber() const
Courant number of the region.
const Time & time() const noexcept
Return the reference to the time database.
bool isRegionPatch(const label patchi) const
True if patchi on the primary region is coupled to this region.
dictionary coeffs_
Model coefficients dictionary.
void operator=(const regionFaModel &)=delete
No copy assignment.
Switch infoOutput() const noexcept
Return the information flag.
autoPtr< faMesh > regionMeshPtr_
Pointer to the region mesh database.
virtual void preEvolveRegion()
Pre-evolve region.
virtual void evolve()
Main driver routing to evolve the region - calls other evolves.
const fvMesh & primaryMesh_
Reference to the primary mesh database.
virtual void info()=0
Provide some feedback.
const volSurfaceMapping & vsm() const
Return mapping between surface and volume fields.
const faMesh & regionMesh() const
Return the region mesh database.
const word & suffixHint() const noexcept
The suffix hint for automatic model variable names.
const fvMesh & primaryMesh() const noexcept
Return the reference to the primary mesh database.
const IOdictionary & outputProperties() const
Return const access to the output properties dictionary.
const labelList & primaryPatchIDs() const
List of patch IDs on the primary region coupled to this region.
TypeName("regionFaModel")
Runtime type information.
regionFaModel(const fvMesh &mesh, const word ®ionType, const word &modelName, const dictionary &dict, bool readFields=true)
Construct from mesh and name and dict.
const word & modelName() const noexcept
Return the model name.
regionFaModel(const regionFaModel &)=delete
No copy construct.
const dictionary & coeffs() const noexcept
Return the model coefficients dictionary.
virtual void evolveRegion()
Evolve the region.
Volume to surface and surface to volume mapping.
A class for handling words, derived from Foam::string.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
List< label > labelList
A List of labels.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.