Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
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")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, externalDisplacementMeshMover, dictionary,(const dictionary &dict, const List< labelPair > &baffles, pointVectorField &pointDisplacement),(dict, baffles, pointDisplacement))
 
 externalDisplacementMeshMover (const dictionary &dict, const List< labelPair > &baffles, pointVectorField &pointDisplacement)
 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)
 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...
 

Private Member Functions

 externalDisplacementMeshMover (const externalDisplacementMeshMover &)
 Disallow default bitwise copy construct. More...
 
void operator= (const externalDisplacementMeshMover &)
 Disallow default bitwise assignment. 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 56 of file externalDisplacementMeshMover.H.

Constructor & Destructor Documentation

◆ externalDisplacementMeshMover() [1/2]

Disallow default bitwise copy construct.

◆ externalDisplacementMeshMover() [2/2]

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

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 166 of file externalDisplacementMeshMover.C.

Member Function Documentation

◆ getFixedValueBCs()

Foam::labelList getFixedValueBCs ( const pointVectorField field)
staticprotected

Extract fixed-value patchfields.

Definition at line 42 of file externalDisplacementMeshMover.C.

References DynamicList::append(), GeometricField::boundaryField(), 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 73 of file externalDisplacementMeshMover.C.

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

Here is the call graph for this function:

◆ operator=()

void operator= ( const externalDisplacementMeshMover )
private

Disallow default bitwise assignment.

◆ TypeName()

TypeName ( "externalDisplacementMeshMover"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

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

◆ New()

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

Return a reference to the selected meshMover model.

Definition at line 135 of file externalDisplacementMeshMover.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::Info, Foam::nl, and Foam::type().

Referenced by autoLayerDriver::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 151 of file externalDisplacementMeshMover.H.

References externalDisplacementMeshMover::pointDisplacement_.

Referenced by medialAxisMeshMover::update().

Here is the caller graph for this function:

◆ pointDisplacement() [2/2]

const pointVectorField& pointDisplacement ( ) const
inline

Return const reference to the point motion displacement field.

Definition at line 157 of file externalDisplacementMeshMover.H.

References externalDisplacementMeshMover::pointDisplacement_.

◆ pMesh()

const pointMesh& pMesh ( ) const
inline

Definition at line 162 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 167 of file externalDisplacementMeshMover.H.

References externalDisplacementMeshMover::pMesh().

Referenced by medialAxisMeshMover::update().

Here is the call graph for this function:
Here is the caller 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 succesful (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 172 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 178 of file externalDisplacementMeshMover.C.

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

Here is the call graph for this function:

Field Documentation

◆ baffles_

List<labelPair> baffles_
protected

Baffles in the mesh.

Definition at line 63 of file externalDisplacementMeshMover.H.

◆ pointDisplacement_

pointVectorField& pointDisplacement_
protected

Reference to point motion field.

Definition at line 66 of file externalDisplacementMeshMover.H.

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


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