Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
externalDisplacementMeshMover Class Referenceabstract

Virtual base class for mesh movers with externally provided displacement field giving the boundary conditions. Move the mesh from the current location to a new location (so modify the mesh; v.s. motionSolver that only returns the new location). More...

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

Public Member Functions

 TypeName ("externalDisplacementMeshMover")
 
 declareRunTimeSelectionTable (autoPtr, externalDisplacementMeshMover, dictionary,(const dictionary &dict, const List< labelPair > &baffles, pointVectorField &pointDisplacement, const bool dryRun),(dict, baffles, pointDisplacement, dryRun))
 
 externalDisplacementMeshMover (const dictionary &dict, const List< labelPair > &baffles, pointVectorField &pointDisplacement, const bool dryRun)
 
virtual ~externalDisplacementMeshMover ()
 
pointVectorFieldpointDisplacement ()
 
const pointVectorFieldpointDisplacement () const
 
const pointMeshpMesh () const
 
const polyMeshmesh () const
 
virtual bool move (const dictionary &, const label nAllowableErrors, labelList &checkFaces)=0
 
virtual void movePoints (const pointField &)
 
virtual void updateMesh (const mapPolyMesh &)
 

Static Public Member Functions

static autoPtr< externalDisplacementMeshMoverNew (const word &type, const dictionary &dict, const List< labelPair > &baffles, pointVectorField &pointDisplacement, const bool dryRun=false)
 

Static Protected Member Functions

static labelList getFixedValueBCs (const pointVectorField &)
 
static autoPtr< indirectPrimitivePatchgetPatch (const polyMesh &, const labelList &)
 

Protected Attributes

List< labelPairbaffles_
 
pointVectorFieldpointDisplacement_
 
const bool dryRun_
 

Detailed Description

Virtual base class for mesh movers with externally provided displacement field giving the boundary conditions. Move the mesh from the current location to a new location (so modify the mesh; v.s. motionSolver that only returns the new location).

All mesh movers are expected to read the dictionary settings at invocation of move(), i.e. not cache any settings.

Source files

Definition at line 54 of file externalDisplacementMeshMover.H.

Constructor & Destructor Documentation

◆ externalDisplacementMeshMover()

externalDisplacementMeshMover ( const dictionary dict,
const List< labelPair > &  baffles,
pointVectorField pointDisplacement,
const bool  dryRun 
)

Definition at line 113 of file externalDisplacementMeshMover.C.

◆ ~externalDisplacementMeshMover()

Definition at line 162 of file externalDisplacementMeshMover.C.

Member Function Documentation

◆ getFixedValueBCs()

Foam::labelList getFixedValueBCs ( const pointVectorField field)
staticprotected

Definition at line 38 of file externalDisplacementMeshMover.C.

References DynamicList::append(), field(), forAll, and Foam::isA().

Here is the call graph for this function:

◆ getPatch()

Foam::autoPtr< Foam::indirectPrimitivePatch > getPatch ( const polyMesh mesh,
const labelList patchIDs 
)
staticprotected

Definition at line 69 of file externalDisplacementMeshMover.C.

References forAll, mesh, Foam::New(), patches, and polyPatch::start().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "externalDisplacementMeshMover"  )

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
externalDisplacementMeshMover  ,
dictionary  ,
(const dictionary &dict, const List< labelPair > &baffles, pointVectorField &pointDisplacement, const bool dryRun)  ,
(dict, baffles, pointDisplacement, dryRun)   
)

◆ New()

Foam::autoPtr< Foam::externalDisplacementMeshMover > New ( const word type,
const dictionary dict,
const List< labelPair > &  baffles,
pointVectorField pointDisplacement,
const bool  dryRun = false 
)
static

Definition at line 130 of file externalDisplacementMeshMover.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, and Foam::Info.

Referenced by snappyLayerDriver::addLayers(), and displacementMeshMoverMotionSolver::meshMover().

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

◆ pointDisplacement() [1/2]

pointVectorField& pointDisplacement ( )
inline

◆ pointDisplacement() [2/2]

const pointVectorField& pointDisplacement ( ) const
inline

◆ pMesh()

const pointMesh& pMesh ( ) const
inline

Definition at line 166 of file externalDisplacementMeshMover.H.

References externalDisplacementMeshMover::pointDisplacement_.

Referenced by externalDisplacementMeshMover::mesh().

Here is the caller graph for this function:

◆ mesh()

const polyMesh& mesh ( ) const
inline

Definition at line 171 of file externalDisplacementMeshMover.H.

References externalDisplacementMeshMover::pMesh().

Here is the call graph for this function:

◆ move()

virtual bool move ( const dictionary ,
const label  nAllowableErrors,
labelList checkFaces 
)
pure virtual

◆ movePoints()

void movePoints ( const pointField )
virtual

Reimplemented in medialAxisMeshMover, and displacementMotionSolverMeshMover.

Definition at line 168 of file externalDisplacementMeshMover.C.

Referenced by displacementMotionSolverMeshMover::movePoints(), and medialAxisMeshMover::movePoints().

Here is the caller graph for this function:

◆ updateMesh()

void updateMesh ( const mapPolyMesh mpm)
virtual

Reimplemented in medialAxisMeshMover, and displacementMotionSolverMeshMover.

Definition at line 174 of file externalDisplacementMeshMover.C.

References DynamicList::append(), forAll, mapPolyMesh::reverseFaceMap(), and DynamicList::shrink().

Here is the call graph for this function:

Member Data Documentation

◆ baffles_

List<labelPair> baffles_
protected

Definition at line 61 of file externalDisplacementMeshMover.H.

◆ pointDisplacement_

pointVectorField& pointDisplacement_
protected

◆ dryRun_

const bool dryRun_
protected

Definition at line 67 of file externalDisplacementMeshMover.H.


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