Sliding interface mesh modifier. Given two face zones, couple the master and slave side using a cutting procedure. More...
#include <dynamicMesh/slidingInterface.H>
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 74 of file slidingInterface.H.
Public Types | |
enum | typeOfMatch { INTEGRAL, PARTIAL } |
Type of match. More... | |
Public Member Functions | |
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::VISIBLE) | |
Construct from components.
| |
slidingInterface (const word &name, const dictionary &dict, const label index, const polyTopoChanger &mme) | |
Construct from dictionary.
| |
virtual | ~slidingInterface () |
const faceZoneID & | masterFaceZoneID () const |
Return master face zone ID.
| |
const faceZoneID & | slaveFaceZoneID () const |
Return slave face zone ID.
| |
bool | attached () const |
Return true if attached.
| |
virtual bool | changeTopology () const |
Check for topology change.
| |
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.
| |
virtual void | updateMesh (const mapPolyMesh &) |
Force recalculation of locally stored data on topological change.
| |
const pointField & | pointProjection () const |
Return projected points for a slave patch.
| |
void | setTolerances (const dictionary &, bool report=false) |
Set the tolerances from the values in a dictionary.
| |
virtual void | write (Ostream &) const |
Write.
| |
virtual void | writeDict (Ostream &) const |
Write dictionary.
| |
Static Public Attributes | |
static const NamedEnum < typeOfMatch, 2 > | typeOfMatchNames_ |
Direction names.
|
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 122 of file slidingInterface.C.
References Foam::abort(), Foam::FatalError, and FatalErrorIn.
slidingInterface | ( | const word & | name, |
const dictionary & | dict, | ||
const label | index, | ||
const polyTopoChanger & | mme | ||
) |
Construct from dictionary.
Definition at line 228 of file slidingInterface.C.
References Foam::endl(), dictionary::lookup(), and Foam::Pout.
~slidingInterface | ( | ) | [virtual]
|
Definition at line 327 of file slidingInterface.C.
TypeName | ( | "slidingInterface" | ) |
Runtime type information.
const Foam::faceZoneID & masterFaceZoneID | ( | ) | const |
Return master face zone ID.
Definition at line 342 of file slidingInterface.C.
const Foam::faceZoneID & slaveFaceZoneID | ( | ) | const |
Return slave face zone ID.
Definition at line 348 of file slidingInterface.C.
bool attached | ( | ) | const [inline]
|
Return true if attached.
Definition at line 357 of file slidingInterface.H.
bool changeTopology | ( | ) | const [virtual]
|
Check for topology change.
Implements polyMeshModifier.
Definition at line 354 of file slidingInterface.C.
References Foam::endl(), mesh, Foam::name(), and Foam::Pout.
void setRefinement | ( | polyTopoChange & | ref ) | const [virtual]
|
Insert the layer addition/removal instructions.
into the topological change
Implements polyMeshModifier.
Definition at line 395 of file slidingInterface.C.
void modifyMotionPoints | ( | pointField & | motionPoints ) | const [virtual]
|
Modify motion points to comply with the topological change.
Implements polyMeshModifier.
Definition at line 428 of file slidingInterface.C.
References Foam::abort(), b, PointHit< Point >::distance(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), edge::end(), HashTable< T, label, Hash< label > >::end(), HashTable< T, Key, Hash >::end(), Foam::endl(), polyMesh::faceZones(), Foam::FatalError, FatalErrorIn, HashTable< T, label, Hash< label > >::find(), HashTable< T, Key, Hash >::find(), forAll, PointHit< Point >::hit(), PointHit< Point >::hitPoint(), edge::line(), plane::lineIntersect(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), Foam::mag(), line< Point, PointRef >::mag(), PointHit< Point >::missPoint(), Foam::name(), line< Point, PointRef >::nearestDist(), PrimitivePatch< Face, FaceList, PointField, PointType >::pointNormals(), polyMesh::pointZones(), Foam::Pout, List< T >::size(), Foam::sqr(), line< Point, PointRef >::start(), edge::start(), line< Point, PointRef >::vec(), edge::vec(), PrimitivePatch< Face, FaceList, PointField, PointType >::whichEdge(), and PrimitivePatch< Face, FaceList, PointField, PointType >::whichPoint().
void updateMesh | ( | const mapPolyMesh & | m ) | [virtual]
|
Force recalculation of locally stored data on topological change.
Implements polyMeshModifier.
Definition at line 655 of file slidingInterface.C.
References polyMesh::boundaryMesh(), Foam::endl(), polyMesh::faceZones(), Foam::name(), polyMesh::pointZones(), and Foam::Pout.
const Foam::pointField & pointProjection | ( | ) | const |
Return projected points for a slave patch.
Definition at line 687 of file slidingInterface.C.
void setTolerances | ( | const dictionary & | dict, |
bool | report = false
|
||
) |
Set the tolerances from the values in a dictionary.
Definition at line 697 of file slidingInterface.C.
References Foam::endl(), Foam::Info, dictionary::lookupOrDefault(), and Foam::nl.
void write | ( | Ostream & | os ) | const [virtual]
|
Write.
Implements polyMeshModifier.
Definition at line 755 of file slidingInterface.C.
References Foam::endl(), Foam::name(), Foam::nl, and Foam::type().
void writeDict | ( | Ostream & | os ) | const [virtual]
|
Write dictionary.
Implements polyMeshModifier.
Definition at line 779 of file slidingInterface.C.
References intersection::algorithmNames_, token::BEGIN_BLOCK, token::END_BLOCK, token::END_STATEMENT, Foam::endl(), Foam::name(), Foam::nl, Foam::type(), and WRITE_NON_DEFAULT.
const Foam::NamedEnum< Foam::slidingInterface::typeOfMatch, 2 > typeOfMatchNames_ [static]
|
Direction names.
Definition at line 90 of file slidingInterface.H.