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_;
213 void clearOut()
const;
217 void checkDefinition();
220 void calcAttachedAddressing()
const;
226 void clearAttachedAddressing()
const;
232 const labelList& masterFaceCells()
const;
238 const labelList& masterStickOutFaces()
const;
241 const labelList& slaveStickOutFaces()
const;
250 void clearAddressing()
const;
255 bool projectPoints()
const;
261 void clearPointProjection()
const;
276 static const scalar pointMergeTolDefault_;
279 static const scalar edgeMergeTolDefault_;
282 static const label nFacesPerSlaveEdgeDefault_;
285 static const label edgeFaceEscapeLimitDefault_;
288 static const scalar integralAdjTolDefault_;
291 static const scalar edgeMasterCatchFractionDefault_;
294 static const scalar edgeCoPlanarTolDefault_;
297 static const scalar edgeEndCutoffTolDefault_;
314 const word& masterFaceZoneName,
315 const word& slaveFaceZoneName,
316 const word& cutPointZoneName,
317 const word& cutFaceZoneName,
318 const word& masterPatchName,
319 const word& slavePatchName,
321 const bool coupleDecouple =
false,
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/any.
virtual void write(Ostream &) const
Write.
virtual void setRefinement(polyTopoChange &) const
Insert the layer addition/removal instructions.
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.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
TypeName("slidingInterface")
Runtime type information.
slidingInterface(const word &name, const label index, const polyTopoChanger &mme, const word &masterFaceZoneName, const word &slaveFaceZoneName, const word &cutPointZoneName, const word &cutFaceZoneName, const word &masterPatchName, const word &slavePatchName, const typeOfMatch tom, const bool coupleDecouple=false, const intersection::algorithm algo=intersection::algorithm::visible)
Construct from components.
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.
Direct mesh changes based on v1.3 polyTopoChange syntax.
virtual void topoChange(const polyTopoChangeMap &)
Force recalculation of locally stored data on topological change.
void operator=(const slidingInterface &)=delete
Disallow default bitwise assignment.
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.