54 namespace regionModels
76 void constructMeshObjects();
146 const label regionPatchi,
147 const label nbrPatchi,
167 const word& regionType,
176 const word& regionType,
253 const label regionPatchi
261 const label regionPatchi,
262 const label nbrPatchi,
263 const
Field<Type>& nbrField,
264 const
bool flip = false
272 const
word& fieldName,
273 const label regionPatchi,
274 const
bool flip = false
283 const
word& fieldName,
284 const label regionPatchi,
285 const
bool flip = false
292 const label regionPatchi,
293 List<Type>& regionField
300 const label regionPatchi,
301 List<Type>& primaryFieldField
305 template<class Type, class CombineOp>
308 const label regionPatchi,
309 List<Type>& regionField,
314 template<class Type, class CombineOp>
317 const label regionPatchi,
318 List<Type>& primaryFieldField,
352 #include "regionModelI.H"
const fvMesh & primaryMesh_
Reference to the primary mesh database.
const word modelName_
Model name.
Switch infoOutput() const noexcept
Return the information flag.
wordList interRegionAMINames_
List of region names this region is coupled to.
virtual void evolveRegion()
Evolve the region.
virtual void info()
Provide some feedback.
IOdictionary(const IOobject &io, const dictionary *fallback=nullptr)
Construct given an IOobject and optional fallback dictionary content.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
bool isRegionPatch(const label primaryPatchi) const
True if patchi on the primary region is a coupled patch to the local region.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, any/none. Also accepts 0/1 as a string and shortcuts t/f, y/n.
const labelList & primaryPatchIDs() const noexcept
List of patch IDs on the primary region coupled to this region.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
label regionPatchID(const label primaryPatchi) const
Return region ID corresponding to primaryPatch ID.
TypeName("regionModel")
Runtime type information.
autoPtr< IOdictionary > outputPropertiesPtr_
Dictionary of output properties.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
const labelList & intCoupledPatchIDs() const noexcept
List of patch IDs internally coupled with the primary region.
const word & modelName() const noexcept
Return the model name.
dictionary()
Default construct, a top-level empty dictionary.
void toPrimary(const label regionPatchi, List< Type > ®ionField) const
Convert a local region field to the primary region.
Switch active() const noexcept
Return the active flag.
virtual void preEvolveRegion()
Pre-evolve region.
Generic templated field type.
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.
A class for handling words, derived from Foam::string.
virtual bool read()
Read control parameters from dictionary.
bool isCoupledPatch(const label regionPatchi) const
True if patchi on the local region is a coupled patch to the primary region.
label nbrCoupledPatchID(const regionModel &nbrRegion, const label regionPatchi) const
Return the coupled patch ID paired with coupled patch.
virtual void postEvolveRegion()
Post-evolve region.
const IOdictionary & outputProperties() const
Return const access to the output properties dictionary.
const dictionary & solution() const
Return the solution dictionary.
const dictionary & coeffs() const noexcept
Return the model coefficients dictionary.
tmp< Field< Type > > mapRegionPatchInternalField(const regionModel &nbrRegion, const word &fieldName, const label regionPatchi, const bool flip=false) const
Map patch internal field from another region model to local.
const fvMesh & regionMesh() const
Return the region mesh database.
Switch infoOutput_
Active information output.
virtual const AMIPatchToPatchInterpolation & interRegionAMI(const regionModel &nbrRegion, const label regionPatchi, const label nbrPatchi, const bool flip) const
Create or return a new inter-region AMI object.
Switch active_
Active flag.
PtrList< PtrList< AMIPatchToPatchInterpolation > > interRegionAMI_
List of AMI objects per coupled region.
dictionary coeffs_
Model coefficients dictionary.
virtual ~regionModel()=default
Destructor.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
const Time & time_
Reference to the time database.
regionModelFunctionObjectList functions_
Region model function objects.
Mesh data needed to do the Finite Volume discretisation.
virtual void evolve()
Main driver routing to evolve the region - calls other evolves.
tmp< Foam::Field< Type > > mapRegionPatchField(const regionModel &nbrRegion, const label regionPatchi, const label nbrPatchi, const Field< Type > &nbrField, const bool flip=false) const
Map patch field from another region model to local patch.
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mes...
void toRegion(const label regionPatchi, List< Type > &primaryFieldField) const
Convert a primary region field to the local region.
Base class for region models.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
const fvMesh & primaryMesh() const noexcept
Return the reference to the primary mesh database.
List< label > labelList
A List of labels.
labelList intCoupledPatchIDs_
List of patch IDs internally coupled with the primary region.
A class for managing temporary objects.
word regionName_
Region name.
labelList primaryPatchIDs_
List of patch IDs on the primary region coupled to this region.
const Time & time() const noexcept
Return the reference to the time database.
List of cloud function objects.