Go to the documentation of this file.
54 #ifndef slidingInterface_H
55 #define slidingInterface_H
120 mutable Switch coupleDecouple_;
129 mutable bool trigger_;
134 scalar pointMergeTol_;
137 scalar edgeMergeTol_;
140 label nFacesPerSlaveEdge_;
143 label edgeFaceEscapeLimit_;
146 scalar integralAdjTol_;
149 scalar edgeMasterCatchFraction_;
152 scalar edgeCoPlanarTol_;
155 scalar edgeEndCutoffTol_;
177 mutable labelList* masterStickOutFacesPtr_;
180 mutable labelList* slaveStickOutFacesPtr_;
194 mutable labelList* slavePointPointHitsPtr_;
198 mutable labelList* slavePointEdgeHitsPtr_;
206 mutable labelList* masterPointEdgeHitsPtr_;
221 void clearOut()
const;
225 void checkDefinition();
228 void calcAttachedAddressing()
const;
231 void renumberAttachedAddressing(
const mapPolyMesh&)
const;
234 void clearAttachedAddressing()
const;
240 const labelList& masterFaceCells()
const;
246 const labelList& masterStickOutFaces()
const;
249 const labelList& slaveStickOutFaces()
const;
258 void clearAddressing()
const;
263 bool projectPoints()
const;
269 void clearPointProjection()
const;
284 static const scalar pointMergeTolDefault_;
287 static const scalar edgeMergeTolDefault_;
290 static const label nFacesPerSlaveEdgeDefault_;
293 static const label edgeFaceEscapeLimitDefault_;
296 static const scalar integralAdjTolDefault_;
299 static const scalar edgeMasterCatchFractionDefault_;
302 static const scalar edgeCoPlanarTolDefault_;
305 static const scalar edgeEndCutoffTolDefault_;
322 const word& masterFaceZoneName,
323 const word& slaveFaceZoneName,
324 const word& cutPointZoneName,
325 const word& cutFaceZoneName,
326 const word& masterPatchName,
327 const word& slavePatchName,
329 const bool coupleDecouple =
false,
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
A class for handling words, derived from Foam::string.
virtual void setRefinement(polyTopoChange &) const
Insert the layer addition/removal instructions.
const faceZoneID & slaveFaceZoneID() const
Return slave face zone ID.
typeOfMatch
Type of match.
List of mesh modifiers defining the mesh dynamics.
Direct mesh changes based on v1.3 polyTopoChange syntax.
label index() const
Return the index of this modifier.
Sliding interface mesh modifier. Given two face zones, couple the master and slave side using a cutti...
void setTolerances(const dictionary &, bool report=false)
Set the tolerances from the values in a dictionary.
bool attached() const
Return true if attached.
virtual ~slidingInterface()
Destructor.
virtual void updateMesh(const mapPolyMesh &)
Force recalculation of locally stored data on topological change.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Virtual base class for mesh modifiers.
TypeName("slidingInterface")
Runtime type information.
const word & name() const
Return name of this modifier.
virtual void modifyMotionPoints(pointField &motionPoints) const
Modify motion points to comply with the topological change.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const faceZoneID & masterFaceZoneID() const
Return master face zone ID.
virtual void writeDict(Ostream &) const
Write dictionary.
static const Enum< typeOfMatch > typeOfMatchNames
Names for the types of matches.
virtual void write(Ostream &) const
Write.
const pointField & pointProjection() const
Return projected points for a slave patch.
virtual bool changeTopology() const
Check for topology change.