58 << nonConformalMappedPatchBase::typeName <<
" maps to itself"
75 intersectionIsValid_(0),
83 const word& nbrRegionName,
84 const word& nbrPatchName,
92 intersectionIsValid_(0),
106 owner_(
dict.lookupOrDefault<bool>(
"owner", calcOwner())),
107 intersectionIsValid_(0),
121 intersectionIsValid_(0),
146 <<
"The non-conformal mapped intersection is only available to "
150 const label bothIntersectionIsValid =
151 min(intersectionIsValid_, nbrMappedPatch().intersectionIsValid_);
153 const bool intersectionIsValid =
154 (bothIntersectionIsValid == 2)
156 bothIntersectionIsValid == 1
160 nbrMappedPatch().patch_.origPatch()
164 if (!intersectionIsValid)
175 nbrMappedPatch().patch_.origPatch(),
176 transform_.transform(),
178 patch_.origPatchName()
181 nbrMappedPatch().patch_.origPatchName()
188 intersectionIsValid_ = 2;
190 nbrMappedPatch().intersectionIsValid_ = 2;
193 return intersection_;
199 if (move && moveUpdate_ == moveUpdate::never)
203 else if (move && moveUpdate_ == moveUpdate::detect)
205 intersectionIsValid_ =
min(intersectionIsValid_, 1);
209 intersectionIsValid_ = 0;
static nonConformalBoundary & New(const word &name, const polyMesh &mesh)
Construct and return the named DemandDrivenMeshObject.
const word & name() const
Return name.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Base class for engines and poly patches which provide mapping between two poly patches.
const polyPatch & patch_
Patch to map to.
virtual void write(Ostream &) const
Write as a dictionary.
const word & nbrPatchName() const
Name of the patch to map from.
const word & nbrRegionName() const
Name of the region to map from.
transformType
The type of the transformation permitted/required by this patch.
static bool moving(const polyPatch &patch, const polyPatch &nbrPatch)
Return whether or not the patches have moved.
const word & name() const
Return name.
Class to generate patchToPatch coupling geometry. A full geometric intersection is done between a fac...
const polyMesh & mesh() const
Return the mesh reference.
Mesh consisting of general polyhedral cells.
A patch is a list of labels that address the faces in the global face list.
const polyBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
A class for handling words, derived from string.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManip< error > abort(error &err)
const word & regionName(const solver ®ion)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
dimensionSet transform(const dimensionSet &)
defineTypeNameAndDebug(combustionModel, 0)