Go to the documentation of this file.
55 #ifndef slidingInterface_H
56 #define slidingInterface_H
121 mutable Switch coupleDecouple_;
130 mutable bool trigger_;
135 scalar pointMergeTol_;
138 scalar edgeMergeTol_;
141 label nFacesPerSlaveEdge_;
144 label edgeFaceEscapeLimit_;
147 scalar integralAdjTol_;
150 scalar edgeMasterCatchFraction_;
153 scalar edgeCoPlanarTol_;
156 scalar edgeEndCutoffTol_;
164 mutable unique_ptr<labelList> cutFaceMasterPtr_;
169 mutable unique_ptr<labelList> cutFaceSlavePtr_;
172 mutable unique_ptr<labelList> masterFaceCellsPtr_;
175 mutable unique_ptr<labelList> slaveFaceCellsPtr_;
178 mutable unique_ptr<labelList> masterStickOutFacesPtr_;
181 mutable unique_ptr<labelList> slaveStickOutFacesPtr_;
186 mutable unique_ptr<Map<label>> retiredPointMapPtr_;
191 mutable unique_ptr<Map<Pair<edge>>> cutPointEdgePairMapPtr_;
195 mutable unique_ptr<labelList> slavePointPointHitsPtr_;
199 mutable unique_ptr<labelList> slavePointEdgeHitsPtr_;
203 mutable unique_ptr<List<objectHit>> slavePointFaceHitsPtr_;
207 mutable unique_ptr<labelList> masterPointEdgeHitsPtr_;
210 mutable unique_ptr<pointField> projectedSlavePointsPtr_;
222 void clearOut()
const;
226 void checkDefinition();
229 void calcAttachedAddressing()
const;
232 void renumberAttachedAddressing(
const mapPolyMesh&)
const;
235 void clearAttachedAddressing()
const;
241 const labelList& masterFaceCells()
const;
247 const labelList& masterStickOutFaces()
const;
250 const labelList& slaveStickOutFaces()
const;
259 void clearAddressing()
const;
264 bool projectPoints()
const;
270 void clearPointProjection()
const;
285 static const scalar pointMergeTolDefault_;
288 static const scalar edgeMergeTolDefault_;
291 static const label nFacesPerSlaveEdgeDefault_;
294 static const label edgeFaceEscapeLimitDefault_;
297 static const scalar integralAdjTolDefault_;
300 static const scalar edgeMasterCatchFractionDefault_;
303 static const scalar edgeCoPlanarTolDefault_;
306 static const scalar edgeEndCutoffTolDefault_;
323 const word& masterFaceZoneName,
324 const word& slaveFaceZoneName,
325 const word& cutPointZoneName,
326 const word& cutFaceZoneName,
327 const word& masterPatchName,
328 const word& slavePatchName,
330 const bool coupleDecouple =
false,
virtual ~slidingInterface()=default
Destructor.
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 void updateMesh(const mapPolyMesh &)
Force recalculation of locally stored data on topological change.
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.