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:
[legend]
Collaboration diagram for externalDisplacementMeshMover:
[legend]

Public Member Functions

 TypeName ("externalDisplacementMeshMover")
 Runtime type information. More...
 
 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)
 Construct from dictionary and displacement field. Dictionary is. More...
 
virtual ~externalDisplacementMeshMover ()
 Destructor. More...
 
pointVectorFieldpointDisplacement ()
 Return reference to the point motion displacement field. More...
 
const pointVectorFieldpointDisplacement () const
 Return const reference to the point motion displacement field. More...
 
const pointMeshpMesh () const
 
const polyMeshmesh () const
 
virtual bool move (const dictionary &, const label nAllowableErrors, labelList &checkFaces)=0
 Move mesh using current pointDisplacement boundary values. More...
 
virtual void movePoints (const pointField &)
 Update local data for geometry changes. More...
 
virtual void updateMesh (const mapPolyMesh &)
 Update local data for topology changes. More...
 

Static Public Member Functions

static autoPtr< externalDisplacementMeshMoverNew (const word &type, const dictionary &dict, const List< labelPair > &baffles, pointVectorField &pointDisplacement, const bool dryRun=false)
 Return a reference to the selected meshMover model. More...
 

Static Protected Member Functions

static labelList getFixedValueBCs (const pointVectorField &)
 Extract fixed-value patchfields. More...
 
static autoPtr< indirectPrimitivePatchgetPatch (const polyMesh &, const labelList &)
 Construct patch on selected patches. More...
 

Protected Attributes

List< labelPairbaffles_
 Baffles in the mesh. More...
 
pointVectorFieldpointDisplacement_
 Reference to point motion field. More...
 
const bool dryRun_
 In dry-run mode? More...
 

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 58 of file externalDisplacementMeshMover.H.

Constructor & Destructor Documentation

◆ externalDisplacementMeshMover()

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

Construct from dictionary and displacement field. Dictionary is.

allowed to go out of scope!

Definition at line 120 of file externalDisplacementMeshMover.C.

◆ ~externalDisplacementMeshMover()

Destructor.

Definition at line 169 of file externalDisplacementMeshMover.C.

Member Function Documentation

◆ getFixedValueBCs()

Foam::labelList getFixedValueBCs ( const pointVectorField field)
staticprotected

Extract fixed-value patchfields.

Definition at line 45 of file externalDisplacementMeshMover.C.

References DynamicList< T, SizeMin >::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

Construct patch on selected patches.

Definition at line 76 of file externalDisplacementMeshMover.C.

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

Here is the call graph for this function:

◆ TypeName()

TypeName ( "externalDisplacementMeshMover"  )

Runtime type information.

◆ 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

Return a reference to the selected meshMover model.

Definition at line 137 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

Return reference to the point motion displacement field.

Definition at line 159 of file externalDisplacementMeshMover.H.

References externalDisplacementMeshMover::pointDisplacement_.

◆ pointDisplacement() [2/2]

const pointVectorField& pointDisplacement ( ) const
inline

Return const reference to the point motion displacement field.

Definition at line 165 of file externalDisplacementMeshMover.H.

References externalDisplacementMeshMover::pointDisplacement_.

◆ pMesh()

const pointMesh& pMesh ( ) const
inline

Definition at line 170 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 175 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

Move mesh using current pointDisplacement boundary values.

and current dictionary settings. Return true if successful (errors on checkFaces less than allowable). Updates pointDisplacement.

Implemented in medialAxisMeshMover, and displacementMotionSolverMeshMover.

◆ movePoints()

void movePoints ( const pointField )
virtual

Update local data for geometry changes.

Reimplemented in medialAxisMeshMover, and displacementMotionSolverMeshMover.

Definition at line 175 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

Update local data for topology changes.

Reimplemented in medialAxisMeshMover, and displacementMotionSolverMeshMover.

Definition at line 181 of file externalDisplacementMeshMover.C.

References List< T >::append(), forAll, and mapPolyMesh::reverseFaceMap().

Here is the call graph for this function:

Member Data Documentation

◆ baffles_

List<labelPair> baffles_
protected

Baffles in the mesh.

Definition at line 65 of file externalDisplacementMeshMover.H.

◆ pointDisplacement_

pointVectorField& pointDisplacement_
protected

Reference to point motion field.

Definition at line 68 of file externalDisplacementMeshMover.H.

Referenced by externalDisplacementMeshMover::pMesh(), and externalDisplacementMeshMover::pointDisplacement().

◆ dryRun_

const bool dryRun_
protected

In dry-run mode?

Definition at line 71 of file externalDisplacementMeshMover.H.


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