75 origPatch().faceAreas(),
92 if (moveUpdate_ == moveUpdate::never)
96 else if (moveUpdate_ == moveUpdate::detect)
98 intersectionIsValid_ =
min(intersectionIsValid_, 1);
99 raysIsValid_ =
min(raysIsValid_, 1);
103 intersectionIsValid_ = 0;
112 intersectionIsValid_ = 0;
120 intersectionIsValid_ = 0;
148 const word& patchType
153 intersectionIsValid_(0),
154 intersection_(false),
168 const word& patchType,
169 const word& nbrPatchName,
170 const word& origPatchName,
186 intersectionIsValid_(0),
187 intersection_(false),
200 const word& patchType
205 intersectionIsValid_(0),
206 intersection_(false),
212 ? moveUpdateNames_.
read(
dict.lookup(
"moveUpdate"))
215 dict.lookup<bool>(
"reMapAfterMove")
232 intersectionIsValid_(0),
233 intersection_(false),
236 moveUpdate_(pp.moveUpdate_)
246 const label newStart,
247 const word& nbrPatchName,
248 const word& origPatchName
253 intersectionIsValid_(0),
254 intersection_(false),
257 moveUpdate_(pp.moveUpdate_)
273 refCast<const nonConformalCyclicPolyPatch>
292 <<
"The non-conformal cyclic intersection is only available to "
296 const bool intersectionIsValid =
297 (intersectionIsValid_ == 2)
299 intersectionIsValid_ == 1
303 nbrPatch().origPatch()
307 if (!intersectionIsValid)
313 const string inRegionName =
322 nbrPatch().origPatch(),
325 origPatchName() + inRegionName,
326 nbrPatch().origPatchName() + inRegionName
331 intersectionIsValid_ = 2;
334 return intersection_;
344 <<
"The non-conformal cyclic rays is only available to "
348 const bool raysIsValid =
355 nbrPatch().origPatch()
365 const string inRegionName =
382 nbrPatch().origPatch(),
388 origPatchName() + inRegionName,
389 nbrPatch().origPatchName() + inRegionName
403 const scalar fraction,
404 const label origFacei,
413 owner() ? *this : nbrPatch();
415 auto ownerRaysMethod =
421 (ownerPatch.
rays().*ownerRaysMethod)
425 nbrPatch().origPatch(),
442 writeEntryIfDifferent<word>
446 moveUpdateNames_[moveUpdate::always],
447 moveUpdateNames_[moveUpdate_]
Macros for easy insertion into run-time selection tables.
static nonConformalBoundary & New(const word &name, const polyMesh &mesh)
Construct and return the named DemandDrivenMeshObject.
Initialise the NamedEnum HashTable from the static list of names.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Buffers for inter-processor communications streams (UOPstream, UIPstream).
const cyclicPolyPatch & nbrPatch() const
virtual void write(Ostream &) const
Write the polyPatch data as a dictionary.
virtual void initMovePoints(PstreamBuffers &, const pointField &)
Initialise the patches for moving points.
virtual void rename(const wordList &newNames)
Reset the patch name.
virtual void reorder(const labelUList &newToOldIndex)
Reset the patch index.
virtual void initCalcGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
virtual void initTopoChange(PstreamBuffers &)
Initialise the update of the patch topology.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
const word & name() const
Return reference to name.
const polyMesh & mesh() const
Return reference to polyMesh.
static bool moving(const polyPatch &patch, const polyPatch &nbrPatch)
Return whether or not the patches have moved.
Class to generate patchToPatch coupling geometry. A full geometric intersection is done between a fac...
remote srcToTgtRay(const primitiveOldTimePatch &tgtPatch, const scalar fraction, const label srcFacei, const vector &srcP, const vector &srcN, point &tgtP) const
Compute a ray intersection from the source side to the target.
remote tgtToSrcRay(const primitiveOldTimePatch &srcPatch, const scalar fraction, const label tgtFacei, const vector &tgtP, const vector &tgtN, point &srcP) const
Compute a ray intersection from the target side to the source.
Mesh consisting of general polyhedral cells.
static word defaultRegion
Return the default region name.
virtual const pointField & oldPoints() const
Return old points for mesh motion.
virtual const pointField & points() const
Return raw points.
A patch is a list of labels that address the faces in the global face list.
virtual void clearGeom()
Clear geometry.
Struct for keeping processor, element (cell, face, point) index.
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.
bool read(const char *, int32_t &)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
errorManip< error > abort(error &err)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
PrimitiveOldTimePatch< SubList< face >, const pointField & > primitiveOldTimePatch
Addressing for a faceList slice.
dimensionSet transform(const dimensionSet &)
defineTypeNameAndDebug(combustionModel, 0)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.