Sliding interface mesh modifier. Given two face zones, couple the master and slave side using a cutting procedure. More...
Public Types | |
enum | typeOfMatch { INTEGRAL, PARTIAL } |
Type of match. More... | |
Public Member Functions | |
TypeName ("slidingInterface") | |
Runtime type information. More... | |
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::VISIBLE) | |
Construct from components. More... | |
slidingInterface (const word &name, const dictionary &dict, const label index, const polyTopoChanger &mme) | |
Construct from dictionary. More... | |
virtual | ~slidingInterface ()=default |
Destructor. More... | |
const faceZoneID & | masterFaceZoneID () const |
Return master face zone ID. More... | |
const faceZoneID & | slaveFaceZoneID () const |
Return slave face zone ID. More... | |
bool | attached () const |
Return true if attached. More... | |
virtual bool | changeTopology () const |
Check for topology change. More... | |
virtual void | setRefinement (polyTopoChange &) const |
Insert the layer addition/removal instructions. More... | |
virtual void | modifyMotionPoints (pointField &motionPoints) const |
Modify motion points to comply with the topological change. More... | |
virtual void | updateMesh (const mapPolyMesh &) |
Force recalculation of locally stored data on topological change. More... | |
const pointField & | pointProjection () const |
Return projected points for a slave patch. More... | |
void | setTolerances (const dictionary &, bool report=false) |
Set the tolerances from the values in a dictionary. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
virtual void | writeDict (Ostream &) const |
Write dictionary. More... | |
Public Member Functions inherited from polyMeshModifier | |
TypeName ("meshModifier") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, polyMeshModifier, dictionary,(const word &name, const dictionary &dict, const label index, const polyTopoChanger &mme),(name, dict, index, mme)) | |
polyMeshModifier (const word &name, const label index, const polyTopoChanger &mme, const bool act) | |
Construct from components. More... | |
virtual | ~polyMeshModifier ()=default |
Destructor. More... | |
const word & | name () const |
Return name of this modifier. More... | |
label | index () const |
Return the index of this modifier. More... | |
const polyTopoChanger & | topoChanger () const |
Return reference to morph engine. More... | |
Switch | active () const |
If modifier activate? More... | |
void | enable () const |
Activate mesh modifier. More... | |
void | disable () const |
Activate mesh modifier. More... | |
Static Public Attributes | |
static const Enum< typeOfMatch > | typeOfMatchNames |
Names for the types of matches. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from polyMeshModifier | |
static autoPtr< polyMeshModifier > | New (const word &name, const dictionary &dict, const label index, const polyTopoChanger &mme) |
Select constructed from dictionary. More... | |
Sliding interface mesh modifier. Given two face zones, couple the master and slave side using a cutting procedure.
The coupled faces are collected into the "coupled" zone and can become either internal or placed into a master and slave coupled zone. The remaining faces (uncovered master or slave) are placed into the master and slave patch.
The definition of the sliding interface can be either integral or partial. Integral interface implies that the slave side completely covers the master (i.e. no faces are uncovered); partial interface implies that the uncovered part of master/slave face zone should become boundary faces.
Definition at line 70 of file slidingInterface.H.
enum typeOfMatch |
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::VISIBLE |
||
) |
Construct from components.
Definition at line 112 of file slidingInterface.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
slidingInterface | ( | const word & | name, |
const dictionary & | dict, | ||
const label | index, | ||
const polyTopoChanger & | mme | ||
) |
Construct from dictionary.
Definition at line 202 of file slidingInterface.C.
References Foam::ensightOutput::debug, dict, Foam::endl(), Foam::name(), Foam::Pout, and dictionary::readEntry().
|
virtualdefault |
Destructor.
TypeName | ( | "slidingInterface" | ) |
Runtime type information.
const Foam::faceZoneID & masterFaceZoneID | ( | ) | const |
Return master face zone ID.
Definition at line 310 of file slidingInterface.C.
const Foam::faceZoneID & slaveFaceZoneID | ( | ) | const |
Return slave face zone ID.
Definition at line 316 of file slidingInterface.C.
|
inline |
Return true if attached.
Definition at line 499 of file slidingInterface.H.
|
virtual |
Check for topology change.
Implements polyMeshModifier.
Definition at line 322 of file slidingInterface.C.
References Foam::ensightOutput::debug, Foam::endl(), mesh, Foam::name(), and Foam::Pout.
|
virtual |
Insert the layer addition/removal instructions.
into the topological change
Implements polyMeshModifier.
Definition at line 363 of file slidingInterface.C.
References ref().
|
virtual |
Modify motion points to comply with the topological change.
Implements polyMeshModifier.
Definition at line 396 of file slidingInterface.C.
References Foam::abort(), Foam::constant::physicoChemical::b, Foam::constant::universal::c, HashTable< T, Key, Hash >::cfind(), HashTable< T, label, Hash< label > >::cfind(), Foam::ensightOutput::debug, PointHit< PointType >::distance(), PrimitivePatch< FaceList, PointField >::edges(), edge::end(), Foam::endl(), polyMesh::faceZones(), Foam::FatalError, FatalErrorInFunction, HashTable< T, Key, Hash >::find(), Pair< T >::first(), PointHit< PointType >::hit(), edge::line(), plane::lineIntersect(), PrimitivePatch< FaceList, PointField >::localPoints(), line< Point, PointRef >::mag(), Foam::mag(), mesh, Foam::name(), line< Point, PointRef >::nearestDist(), PointHit< PointType >::point(), PrimitivePatch< FaceList, PointField >::pointNormals(), polyMesh::pointZones(), Foam::Pout, Pair< T >::second(), UList< T >::size(), Foam::sqr(), edge::start(), line< Point, PointRef >::start(), line< Point, PointRef >::vec(), edge::vec(), PrimitivePatch< FaceList, PointField >::whichEdge(), and PrimitivePatch< FaceList, PointField >::whichPoint().
|
virtual |
Force recalculation of locally stored data on topological change.
Implements polyMeshModifier.
Definition at line 627 of file slidingInterface.C.
References polyMesh::boundaryMesh(), Foam::ensightOutput::debug, Foam::endl(), polyMesh::faceZones(), mesh, Foam::name(), polyMesh::pointZones(), Foam::Pout, and dynamicFvMesh::update().
const Foam::pointField & pointProjection | ( | ) | const |
Return projected points for a slave patch.
Definition at line 659 of file slidingInterface.C.
void setTolerances | ( | const dictionary & | dict, |
bool | report = false |
||
) |
Set the tolerances from the values in a dictionary.
Definition at line 670 of file slidingInterface.C.
References dict, Foam::endl(), dictionary::getOrDefault(), Foam::Info, and Foam::nl.
|
virtual |
Write.
Implements polyMeshModifier.
Definition at line 728 of file slidingInterface.C.
References Foam::endl(), Foam::name(), Foam::nl, os(), and Foam::type().
|
virtual |
Write dictionary.
Implements polyMeshModifier.
Definition at line 750 of file slidingInterface.C.
References intersection::algorithmNames_, Ostream::beginBlock(), Ostream::endBlock(), Foam::name(), Foam::nl, os(), Foam::type(), WRITE_NON_DEFAULT, and Ostream::writeEntry().
|
static |
Names for the types of matches.
Definition at line 90 of file slidingInterface.H.