70 regionModel(
const regionModel&) =
delete;
73 void operator=(
const regionModel&) =
delete;
76 void constructMeshObjects();
145 const regionModel& nbrRegion,
146 const label regionPatchi,
147 const label nbrPatchi,
167 const word& regionType,
176 const word& regionType,
252 const regionModel& nbrRegion,
253 const label regionPatchi
260 const regionModel& nbrRegion,
261 const label regionPatchi,
262 const label nbrPatchi,
263 const
Field<Type>& nbrField,
264 const
bool flip = false
271 const regionModel& nbrRegion,
272 const
word& fieldName,
273 const label regionPatchi,
274 const
bool flip = false
282 const regionModel& nbrRegion,
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"
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
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 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
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.
Mesh data needed to do the Finite Volume discretisation.
List of cloud function objects.
Base class for region models.
autoPtr< IOdictionary > outputPropertiesPtr_
Dictionary of output properties.
Switch active_
Active flag.
const Time & time_
Reference to the time database.
const word modelName_
Model name.
virtual void postEvolveRegion()
Post-evolve region.
const dictionary & solution() const
Return the solution dictionary.
const labelList & primaryPatchIDs() const noexcept
List of patch IDs on the primary region coupled to this region.
Switch infoOutput_
Active information output.
bool isCoupledPatch(const label regionPatchi) const
True if patchi on the local region is a coupled patch to the primary region.
void toRegion(const label regionPatchi, List< Type > &primaryFieldField) const
Convert a primary region field to the local region.
label nbrCoupledPatchID(const regionModel &nbrRegion, const label regionPatchi) const
Return the coupled patch ID paired with coupled patch.
word regionName_
Region name.
TypeName("regionModel")
Runtime type information.
labelList primaryPatchIDs_
List of patch IDs on the primary region coupled to this region.
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() const noexcept
Return the active flag.
virtual ~regionModel()=default
Destructor.
const Time & time() const noexcept
Return the reference to the time database.
dictionary coeffs_
Model coefficients dictionary.
Switch infoOutput() const noexcept
Return the information flag.
const fvMesh & regionMesh() const
Return the region mesh database.
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.
PtrList< PtrList< AMIPatchToPatchInterpolation > > interRegionAMI_
List of AMI objects per coupled region.
virtual void preEvolveRegion()
Pre-evolve region.
const labelList & intCoupledPatchIDs() const noexcept
List of patch IDs internally coupled with the primary region.
virtual void evolve()
Main driver routing to evolve the region - calls other evolves.
const fvMesh & primaryMesh_
Reference to the primary mesh database.
label regionPatchID(const label primaryPatchi) const
Return region ID corresponding to primaryPatch ID.
bool isRegionPatch(const label primaryPatchi) const
True if patchi on the primary region is a coupled patch to the local region.
regionModelFunctionObjectList functions_
Region model function objects.
virtual void info()
Provide some feedback.
wordList interRegionAMINames_
List of region names this region is coupled to.
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.
void toPrimary(const label regionPatchi, List< Type > ®ionField) const
Convert a local region field to the primary region.
labelList intCoupledPatchIDs_
List of patch IDs internally coupled with the primary region.
const word & modelName() const noexcept
Return the model name.
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.
const dictionary & coeffs() const noexcept
Return the model coefficients dictionary.
virtual bool read()
Read control parameters from dictionary.
virtual void evolveRegion()
Evolve the region.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
List< word > wordList
List of word.
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.
AMIInterpolation AMIPatchToPatchInterpolation
Patch-to-patch interpolation == Foam::AMIInterpolation.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.