52 #ifndef slidingInterface_H 53 #define slidingInterface_H 118 mutable Switch coupleDecouple_;
127 mutable bool trigger_;
132 scalar pointMergeTol_;
135 scalar edgeMergeTol_;
138 label nFacesPerSlaveEdge_;
141 label edgeFaceEscapeLimit_;
144 scalar integralAdjTol_;
147 scalar edgeMasterCatchFraction_;
150 scalar edgeCoPlanarTol_;
153 scalar edgeEndCutoffTol_;
175 mutable labelList* masterStickOutFacesPtr_;
178 mutable labelList* slaveStickOutFacesPtr_;
192 mutable labelList* slavePointPointHitsPtr_;
196 mutable labelList* slavePointEdgeHitsPtr_;
204 mutable labelList* masterPointEdgeHitsPtr_;
219 void clearOut()
const;
223 void checkDefinition();
226 void calcAttachedAddressing()
const;
229 void renumberAttachedAddressing(
const mapPolyMesh&)
const;
232 void clearAttachedAddressing()
const;
238 const labelList& masterFaceCells()
const;
244 const labelList& masterStickOutFaces()
const;
247 const labelList& slaveStickOutFaces()
const;
256 void clearAddressing()
const;
261 bool projectPoints()
const;
267 void clearPointProjection()
const;
282 static const scalar pointMergeTolDefault_;
285 static const scalar edgeMergeTolDefault_;
288 static const label nFacesPerSlaveEdgeDefault_;
291 static const label edgeFaceEscapeLimitDefault_;
294 static const scalar integralAdjTolDefault_;
297 static const scalar edgeMasterCatchFractionDefault_;
300 static const scalar edgeCoPlanarTolDefault_;
303 static const scalar edgeEndCutoffTolDefault_;
320 const word& masterFaceZoneName,
321 const word& slaveFaceZoneName,
322 const word& cutPointZoneName,
323 const word& cutFaceZoneName,
324 const word& masterPatchName,
325 const word& slavePatchName,
327 const bool coupleDecouple =
false,
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const faceZoneID & slaveFaceZoneID() const
Return slave face zone ID.
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual void modifyMotionPoints(pointField &motionPoints) const
Modify motion points to comply with the topological change.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none.
virtual void write(Ostream &) const
Write.
virtual void setRefinement(polyTopoChange &) const
Insert the layer addition/removal instructions.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const pointField & pointProjection() const
Return projected points for a slave patch.
List of mesh modifiers defining the mesh dynamics.
A class for handling words, derived from string.
TypeName("slidingInterface")
Runtime type information.
Virtual base class for mesh modifiers.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Sliding interface mesh modifier. Given two face zones, couple the master and slave side using a cutti...
static const NamedEnum< typeOfMatch, 2 > typeOfMatchNames_
Direction names.
typeOfMatch
Type of match.
virtual void updateMesh(const mapPolyMesh &)
Force recalculation of locally stored data on topological change.
Direct mesh changes based on v1.3 polyTopoChange syntax.
const word & name() const
Return name of this modifier.
const faceZoneID & masterFaceZoneID() const
Return master face zone ID.
void setTolerances(const dictionary &, bool report=false)
Set the tolerances from the values in a dictionary.
label index() const
Return the index of this modifier.
bool attached() const
Return true if attached.
virtual ~slidingInterface()
Destructor.
virtual void writeDict(Ostream &) const
Write dictionary.
virtual bool changeTopology() const
Check for topology change.