slidingInterface Class Reference

Sliding interface mesh modifier. Given two face zones, couple the master and slave side using a cutting procedure. More...

Inheritance diagram for slidingInterface:
[legend]
Collaboration diagram for slidingInterface:
[legend]

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 faceZoneIDmasterFaceZoneID () const
 Return master face zone ID. More...
 
const faceZoneIDslaveFaceZoneID () 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 pointFieldpointProjection () 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 wordname () const
 Return name of this modifier. More...
 
label index () const
 Return the index of this modifier. More...
 
const polyTopoChangertopoChanger () const
 Return reference to morph engine. More...
 
virtual bool changeTopology () const =0
 Check for topology change. More...
 
virtual void setRefinement (polyTopoChange &) const =0
 Insert the topological change instructions. More...
 
virtual void modifyMotionPoints (pointField &motionPoints) const =0
 Modify motion points to comply with the topological change. More...
 
virtual void updateMesh (const mapPolyMesh &)=0
 Force recalculation of locally stored data on topological change. More...
 
Switch active () const
 If modifier activate? More...
 
void enable () const
 Activate mesh modifier. More...
 
void disable () const
 Activate mesh modifier. More...
 
virtual void write (Ostream &) const =0
 Write. More...
 
virtual void writeDict (Ostream &) const =0
 Write dictionary. More...
 

Static Public Attributes

static const Enum< typeOfMatchtypeOfMatchNames
 Names for the types of matches. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from polyMeshModifier
static autoPtr< polyMeshModifierNew (const word &name, const dictionary &dict, const label index, const polyTopoChanger &mme)
 Select constructed from dictionary. More...
 

Detailed Description

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.

Source files

Definition at line 74 of file slidingInterface.H.

Member Enumeration Documentation

◆ typeOfMatch

Type of match.

Enumerator
INTEGRAL 
PARTIAL 

Definition at line 83 of file slidingInterface.H.

Constructor & Destructor Documentation

◆ slidingInterface() [1/2]

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 118 of file slidingInterface.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ slidingInterface() [2/2]

slidingInterface ( const word name,
const dictionary dict,
const label  index,
const polyTopoChanger mme 
)

Construct from dictionary.

Definition at line 208 of file slidingInterface.C.

References dict, Foam::endl(), polyMeshModifier::name(), Foam::Pout, dictionary::readEntry(), and slidingInterface::setTolerances().

Here is the call graph for this function:

◆ ~slidingInterface()

virtual ~slidingInterface ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "slidingInterface"  )

Runtime type information.

◆ masterFaceZoneID()

const Foam::faceZoneID & masterFaceZoneID ( ) const

Return master face zone ID.

Definition at line 317 of file slidingInterface.C.

◆ slaveFaceZoneID()

const Foam::faceZoneID & slaveFaceZoneID ( ) const

Return slave face zone ID.

Definition at line 323 of file slidingInterface.C.

◆ attached()

bool attached ( ) const
inline

Return true if attached.

Definition at line 356 of file slidingInterface.H.

◆ changeTopology()

bool changeTopology ( ) const
virtual

Check for topology change.

Implements polyMeshModifier.

Definition at line 329 of file slidingInterface.C.

References Foam::endl(), mesh, Foam::name(), and Foam::Pout.

Here is the call graph for this function:

◆ setRefinement()

void setRefinement ( polyTopoChange ref) const
virtual

Insert the layer addition/removal instructions.

into the topological change

Implements polyMeshModifier.

Definition at line 370 of file slidingInterface.C.

References ref().

Here is the call graph for this function:

◆ modifyMotionPoints()

◆ updateMesh()

void updateMesh ( const mapPolyMesh m)
virtual

Force recalculation of locally stored data on topological change.

Implements polyMeshModifier.

Definition at line 634 of file slidingInterface.C.

References polyMesh::boundaryMesh(), Foam::endl(), polyMesh::faceZones(), mesh, Foam::name(), polyMesh::pointZones(), Foam::Pout, and dynamicFvMesh::update().

Here is the call graph for this function:

◆ pointProjection()

const Foam::pointField & pointProjection ( ) const

Return projected points for a slave patch.

Definition at line 666 of file slidingInterface.C.

◆ setTolerances()

void setTolerances ( const dictionary dict,
bool  report = false 
)

Set the tolerances from the values in a dictionary.

Definition at line 677 of file slidingInterface.C.

References dict, Foam::endl(), dictionary::getOrDefault(), Foam::Info, and Foam::nl.

Referenced by slidingInterface::slidingInterface().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Implements polyMeshModifier.

Definition at line 735 of file slidingInterface.C.

References Foam::endl(), Foam::name(), Foam::nl, os(), and Foam::type().

Here is the call graph for this function:

◆ writeDict()

void writeDict ( Ostream os) const
virtual

Write dictionary.

Implements polyMeshModifier.

Definition at line 759 of file slidingInterface.C.

References intersection::algorithmNames_, Ostream::beginBlock(), Ostream::endBlock(), Foam::name(), Foam::nl, os(), Foam::type(), WRITE_NON_DEFAULT, and Ostream::writeEntry().

Here is the call graph for this function:

Member Data Documentation

◆ typeOfMatchNames

const Foam::Enum< Foam::slidingInterface::typeOfMatch > typeOfMatchNames
static

Names for the types of matches.

Definition at line 90 of file slidingInterface.H.


The documentation for this class was generated from the following files: