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,
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
A list of keyword definitions, which are a keyword followed by any number of values (e....
Virtual base class for mesh modifiers.
label index() const
Return the index of this modifier.
const word & name() const
Return name of this modifier.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Direct mesh changes based on v1.3 polyTopoChange syntax.
List of mesh modifiers defining the mesh dynamics.
Sliding interface mesh modifier. Given two face zones, couple the master and slave side using a cutti...
const faceZoneID & masterFaceZoneID() const
Return master face zone ID.
virtual void write(Ostream &) const
Write.
void setTolerances(const dictionary &, bool report=false)
Set the tolerances from the values in a dictionary.
const pointField & pointProjection() const
Return projected points for a slave patch.
void operator=(const slidingInterface &)=delete
Disallow default bitwise assignment.
virtual void topoChange(const polyTopoChangeMap &)
Force recalculation of locally stored data on topological change.
typeOfMatch
Type of match.
bool attached() const
Return true if attached.
virtual bool changeTopology() const
Check for topology change.
static const NamedEnum< typeOfMatch, 2 > typeOfMatchNames_
Direction names.
virtual void writeDict(Ostream &) const
Write dictionary.
const faceZoneID & slaveFaceZoneID() const
Return slave face zone ID.
virtual void setRefinement(polyTopoChange &) const
Insert the layer addition/removal instructions.
virtual void modifyMotionPoints(pointField &motionPoints) const
Modify motion points to comply with the topological change.
TypeName("slidingInterface")
Runtime type information.
virtual ~slidingInterface()
Destructor.
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.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.