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::algorithm::visible) | |
Construct from components. More... | |
slidingInterface (const word &name, const dictionary &dict, const label index, const polyTopoChanger &mme) | |
Construct from dictionary. More... | |
slidingInterface (const slidingInterface &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~slidingInterface () |
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... | |
void | operator= (const slidingInterface &)=delete |
Disallow default bitwise assignment. 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... | |
polyMeshModifier (const polyMeshModifier &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~polyMeshModifier () |
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... | |
const Switch & | active () const |
void | enable () const |
Activate mesh modifier. More... | |
void | disable () const |
Activate mesh modifier. More... | |
void | operator= (const polyMeshModifier &)=delete |
Disallow default bitwise assignment. More... | |
Static Public Attributes | |
static const NamedEnum< typeOfMatch, 2 > | typeOfMatchNames_ |
Direction names. 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 71 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::algorithm::visible |
||
) |
Construct from components.
Definition at line 122 of file slidingInterface.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
Referenced by NamedEnum< compressibleField, 8 >::names().
slidingInterface | ( | const word & | name, |
const dictionary & | dict, | ||
const label | index, | ||
const polyTopoChanger & | mme | ||
) |
Construct from dictionary.
Definition at line 213 of file slidingInterface.C.
References Foam::endl(), dictionary::lookup(), and Foam::Pout.
|
delete |
Disallow default bitwise copy construction.
|
virtual |
Destructor.
Definition at line 312 of file slidingInterface.C.
References Foam::deleteDemandDrivenData().
TypeName | ( | "slidingInterface" | ) |
Runtime type information.
const Foam::faceZoneID & masterFaceZoneID | ( | ) | const |
Return master face zone ID.
Definition at line 327 of file slidingInterface.C.
const Foam::faceZoneID & slaveFaceZoneID | ( | ) | const |
Return slave face zone ID.
Definition at line 333 of file slidingInterface.C.
|
inline |
Return true if attached.
Definition at line 351 of file slidingInterface.H.
References slidingInterface::changeTopology(), slidingInterface::modifyMotionPoints(), slidingInterface::operator=(), slidingInterface::pointProjection(), slidingInterface::setRefinement(), slidingInterface::setTolerances(), slidingInterface::updateMesh(), slidingInterface::write(), and slidingInterface::writeDict().
|
virtual |
Check for topology change.
Implements polyMeshModifier.
Definition at line 339 of file slidingInterface.C.
References Foam::endl(), mesh, Foam::name(), and Foam::Pout.
Referenced by slidingInterface::attached().
|
virtual |
Insert the layer addition/removal instructions.
into the topological change
Implements polyMeshModifier.
Definition at line 380 of file slidingInterface.C.
Referenced by slidingInterface::attached().
|
virtual |
Modify motion points to comply with the topological change.
Implements polyMeshModifier.
Definition at line 413 of file slidingInterface.C.
References Foam::abort(), Foam::constant::physicoChemical::b, Foam::constant::universal::c, PointHit< Point >::distance(), PrimitivePatch< FaceList, PointField >::edges(), edge::end(), HashTableCore::end(), Foam::endl(), polyMesh::faceZones(), Foam::FatalError, FatalErrorInFunction, HashTable< T, Key, Hash >::find(), HashTable< T, label, Hash< label > >::find(), forAll, PointHit< Point >::hit(), PointHit< Point >::hitPoint(), edge::line(), plane::lineIntersect(), PrimitivePatch< FaceList, PointField >::localPoints(), line< Point, PointRef >::mag(), Foam::mag(), mesh, PointHit< Point >::missPoint(), Foam::name(), line< Point, PointRef >::nearestDist(), PrimitivePatch< FaceList, PointField >::pointNormals(), polyMesh::pointZones(), Foam::Pout, List< 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().
Referenced by slidingInterface::attached().
|
virtual |
Force recalculation of locally stored data on topological change.
Implements polyMeshModifier.
Definition at line 646 of file slidingInterface.C.
References polyMesh::boundaryMesh(), Foam::endl(), polyMesh::faceZones(), mesh, Foam::name(), polyMesh::pointZones(), Foam::Pout, and dynamicFvMesh::update().
Referenced by slidingInterface::attached().
const Foam::pointField & pointProjection | ( | ) | const |
Return projected points for a slave patch.
Definition at line 678 of file slidingInterface.C.
Referenced by slidingInterface::attached().
void setTolerances | ( | const dictionary & | dict, |
bool | report = false |
||
) |
Set the tolerances from the values in a dictionary.
Definition at line 688 of file slidingInterface.C.
References Foam::endl(), Foam::Info, dictionary::lookupOrDefault(), and Foam::nl.
Referenced by slidingInterface::attached().
|
virtual |
Write.
Implements polyMeshModifier.
Definition at line 746 of file slidingInterface.C.
References Foam::endl(), Foam::name(), Foam::nl, and Foam::type().
Referenced by slidingInterface::attached().
|
virtual |
Write dictionary.
Implements polyMeshModifier.
Definition at line 770 of file slidingInterface.C.
References intersection::algorithmNames_, token::BEGIN_BLOCK, token::END_BLOCK, token::END_STATEMENT, Foam::endl(), Foam::name(), Foam::nl, Foam::type(), WRITE_NON_DEFAULT, and Foam::writeEntry().
Referenced by slidingInterface::attached().
|
delete |
Disallow default bitwise assignment.
Referenced by slidingInterface::attached().
|
static |
Direction names.
Definition at line 87 of file slidingInterface.H.
Referenced by NamedEnum< compressibleField, 8 >::names().