55 #ifndef Foam_slidingInterface_H 56 #define Foam_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 std::unique_ptr<labelList> cutFaceMasterPtr_;
169 mutable std::unique_ptr<labelList> cutFaceSlavePtr_;
172 mutable std::unique_ptr<labelList> masterFaceCellsPtr_;
175 mutable std::unique_ptr<labelList> slaveFaceCellsPtr_;
178 mutable std::unique_ptr<labelList> masterStickOutFacesPtr_;
181 mutable std::unique_ptr<labelList> slaveStickOutFacesPtr_;
186 mutable std::unique_ptr<Map<label>> retiredPointMapPtr_;
191 mutable std::unique_ptr<Map<Pair<edge>>> cutPointEdgePairMapPtr_;
195 mutable std::unique_ptr<labelList> slavePointPointHitsPtr_;
199 mutable std::unique_ptr<labelList> slavePointEdgeHitsPtr_;
203 mutable std::unique_ptr<List<objectHit>> slavePointFaceHitsPtr_;
207 mutable std::unique_ptr<labelList> masterPointEdgeHitsPtr_;
210 mutable std::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,
const faceZoneID & slaveFaceZoneID() const
Return slave face zone ID.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
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, any/none. Also accepts 0/1 as a string and shortcuts t/f, y/n.
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 Foam::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...
typeOfMatch
Type of match.
virtual ~slidingInterface()=default
Destructor.
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.
static const Enum< typeOfMatch > typeOfMatchNames
Names for the types of matches.
bool attached() const
Return true if attached.
virtual void writeDict(Ostream &) const
Write dictionary.
virtual bool changeTopology() const
Check for topology change.