Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
attachDetach Class Reference

Attach/detach boundary mesh modifier. This modifier takes a set of internal faces and converts them into boundary faces and vice versa based on the given activation switch. More...

Inheritance diagram for attachDetach:
Inheritance graph
[legend]
Collaboration diagram for attachDetach:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("attachDetach")
 Runtime type information. More...
 
 attachDetach (const word &name, const label index, const polyTopoChanger &mme, const word &faceZoneName, const word &masterPatchName, const word &slavePatchName, const scalarField &triggerTimes, const bool manualTrigger=false)
 Construct from components. More...
 
 attachDetach (const word &name, const dictionary &dict, const label index, const polyTopoChanger &mesh)
 Construct from dictionary. More...
 
virtual ~attachDetach ()
 Destructor. More...
 
const polyPatchIDmasterPatchID () const
 Return master patch ID. More...
 
const polyPatchIDslavePatchID () const
 Return slave patch ID. More...
 
bool attached () const
 Is the interface attached? More...
 
const SwitchmanualTrigger () const
 
bool setAttach () const
 
bool setDetach () const
 
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 scalarFieldtriggerTimes () const
 Get reference to trigger times. 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 ()
 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...
 
const Switchactive () const
 
void enable () const
 Activate mesh modifier. More...
 
void disable () const
 Activate mesh modifier. More...
 

Private Types

enum  modifierState { UNKNOWN, ATTACHED, DETACHED }
 State of the modifier. More...
 

Private Member Functions

 attachDetach (const attachDetach &)
 Disallow default bitwise copy construct. More...
 
void operator= (const attachDetach &)
 Disallow default bitwise assignment. More...
 
void checkDefinition ()
 Check validity of construction data. More...
 
void attachInterface (polyTopoChange &) const
 Attach interface. More...
 
void detachInterface (polyTopoChange &) const
 Detach interface. More...
 
void calcPointMatchMap () const
 Calculate point match addressing. More...
 
const Map< label > & pointMatchMap () const
 Return point match map. More...
 
void clearAddressing () const
 Clear addressing. More...
 

Private Attributes

faceZoneID faceZoneID_
 Master face zone ID. More...
 
polyPatchID masterPatchID_
 Master patch ID. Holds faces with original orientation. More...
 
polyPatchID slavePatchID_
 Slave patch ID. Holds mirrored faces. More...
 
scalarField triggerTimes_
 List of trigger times. More...
 
Switch manualTrigger_
 Use manual trigger. More...
 
label triggerIndex_
 Trigger time index. More...
 
modifierState state_
 State of the modifier. More...
 
bool trigger_
 Attach/detach trigger. More...
 
Map< label > * pointMatchMapPtr_
 Map of matching points. More...
 

Static Private Attributes

static const scalar positionDifference_ = 1e-8
 Relative vertex position tolerance. 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

Attach/detach boundary mesh modifier. This modifier takes a set of internal faces and converts them into boundary faces and vice versa based on the given activation switch.

The patch is oriented using the flip map in the face zone. The oriented faces are put into the master patch and their mirror images into the slave.

Source files

Definition at line 59 of file attachDetach.H.

Member Enumeration Documentation

◆ modifierState

enum modifierState
private

State of the modifier.

Enumerator
UNKNOWN 
ATTACHED 
DETACHED 

Definition at line 66 of file attachDetach.H.

Constructor & Destructor Documentation

◆ attachDetach() [1/3]

attachDetach ( const attachDetach )
private

Disallow default bitwise copy construct.

◆ attachDetach() [2/3]

attachDetach ( const word name,
const label  index,
const polyTopoChanger mme,
const word faceZoneName,
const word masterPatchName,
const word slavePatchName,
const scalarField triggerTimes,
const bool  manualTrigger = false 
)

Construct from components.

Definition at line 234 of file attachDetach.C.

◆ attachDetach() [3/3]

attachDetach ( const word name,
const dictionary dict,
const label  index,
const polyTopoChanger mesh 
)

Construct from dictionary.

Definition at line 262 of file attachDetach.C.

◆ ~attachDetach()

~attachDetach ( )
virtual

Destructor.

Definition at line 298 of file attachDetach.C.

Member Function Documentation

◆ operator=()

void operator= ( const attachDetach )
private

Disallow default bitwise assignment.

◆ checkDefinition()

void checkDefinition ( )
private

◆ attachInterface()

void attachInterface ( polyTopoChange ref) const
private

◆ detachInterface()

void detachInterface ( polyTopoChange ref) const
private

◆ calcPointMatchMap()

void calcPointMatchMap ( ) const
private

◆ pointMatchMap()

const Foam::Map< Foam::label > & pointMatchMap ( ) const
private

Return point match map.

Definition at line 35 of file attachDetachPointMatchMap.C.

References attachDetach::calcPointMatchMap(), and attachDetach::pointMatchMapPtr_.

Here is the call graph for this function:

◆ clearAddressing()

void clearAddressing ( ) const
private

Clear addressing.

Definition at line 224 of file attachDetach.C.

References Foam::deleteDemandDrivenData().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "attachDetach"  )

Runtime type information.

◆ masterPatchID()

const polyPatchID& masterPatchID ( ) const
inline

Return master patch ID.

Definition at line 180 of file attachDetach.H.

References attachDetach::masterPatchID_.

◆ slavePatchID()

const polyPatchID& slavePatchID ( ) const
inline

Return slave patch ID.

Definition at line 186 of file attachDetach.H.

References attachDetach::slavePatchID_.

◆ attached()

bool attached ( ) const
inline

Is the interface attached?

Definition at line 192 of file attachDetach.H.

References attachDetach::ATTACHED, and attachDetach::state_.

◆ manualTrigger()

const Switch& manualTrigger ( ) const
inline

Definition at line 197 of file attachDetach.H.

References attachDetach::manualTrigger_.

Referenced by attachDetach::checkDefinition().

Here is the caller graph for this function:

◆ setAttach()

bool setAttach ( ) const

Definition at line 306 of file attachDetach.C.

◆ setDetach()

bool setDetach ( ) const

Definition at line 321 of file attachDetach.C.

◆ changeTopology()

bool changeTopology ( ) const
virtual

Check for topology change.

Implements polyMeshModifier.

Definition at line 336 of file attachDetach.C.

References Foam::endl(), mesh, Foam::name(), Foam::nl, 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 404 of file attachDetach.C.

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

Here is the call graph for this function:

◆ modifyMotionPoints()

void modifyMotionPoints ( pointField motionPoints) const
virtual

Modify motion points to comply with the topological change.

Implements polyMeshModifier.

Definition at line 267 of file attachInterface.C.

References Foam::endl(), forAll, Foam::mag(), Foam::name(), Foam::Pout, and List::size().

Here is the call graph for this function:

◆ updateMesh()

void updateMesh ( const mapPolyMesh )
virtual

Force recalculation of locally stored data on topological change.

Implements polyMeshModifier.

Definition at line 440 of file attachDetach.C.

References polyMesh::boundaryMesh(), polyMesh::faceZones(), mesh, and dynamicFvMesh::update().

Here is the call graph for this function:

◆ triggerTimes()

const scalarField& triggerTimes ( ) const
inline

Get reference to trigger times.

Definition at line 222 of file attachDetach.H.

References attachDetach::triggerTimes_.

◆ write()

void write ( Ostream os) const
virtual

Write.

Implements polyMeshModifier.

Definition at line 453 of file attachDetach.C.

References Foam::endl(), Foam::name(), Foam::nl, 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 464 of file attachDetach.C.

References token::BEGIN_BLOCK, token::END_BLOCK, token::END_STATEMENT, Foam::endl(), Foam::name(), Foam::nl, and Foam::type().

Here is the call graph for this function:

Field Documentation

◆ faceZoneID_

faceZoneID faceZoneID_
private

Master face zone ID.

Definition at line 77 of file attachDetach.H.

Referenced by attachDetach::checkDefinition().

◆ masterPatchID_

polyPatchID masterPatchID_
private

Master patch ID. Holds faces with original orientation.

Definition at line 80 of file attachDetach.H.

Referenced by attachDetach::checkDefinition(), and attachDetach::masterPatchID().

◆ slavePatchID_

polyPatchID slavePatchID_
private

Slave patch ID. Holds mirrored faces.

Definition at line 83 of file attachDetach.H.

Referenced by attachDetach::checkDefinition(), and attachDetach::slavePatchID().

◆ triggerTimes_

scalarField triggerTimes_
private

List of trigger times.

Definition at line 86 of file attachDetach.H.

Referenced by attachDetach::checkDefinition(), and attachDetach::triggerTimes().

◆ manualTrigger_

Switch manualTrigger_
private

Use manual trigger.

Definition at line 89 of file attachDetach.H.

Referenced by attachDetach::manualTrigger().

◆ triggerIndex_

label triggerIndex_
mutableprivate

Trigger time index.

Definition at line 92 of file attachDetach.H.

◆ state_

modifierState state_
mutableprivate

State of the modifier.

Definition at line 95 of file attachDetach.H.

Referenced by attachDetach::attached(), and attachDetach::checkDefinition().

◆ trigger_

bool trigger_
mutableprivate

Attach/detach trigger.

Definition at line 98 of file attachDetach.H.

◆ pointMatchMapPtr_

Map<label>* pointMatchMapPtr_
mutableprivate

Map of matching points.

Definition at line 104 of file attachDetach.H.

Referenced by attachDetach::pointMatchMap().

◆ positionDifference_

const Foam::scalar positionDifference_ = 1e-8
staticprivate

Relative vertex position tolerance.

Definition at line 139 of file attachDetach.H.


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