Loading...
Searching...
No Matches
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...

#include <externalDisplacementMeshMover.H>

Inheritance diagram for externalDisplacementMeshMover:
Collaboration diagram for externalDisplacementMeshMover:

Public Member Functions

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

Static Public Member Functions

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

Static Protected Member Functions

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

Protected Attributes

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

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 )

Construct from dictionary and displacement field. Dictionary is.

allowed to go out of scope!

Definition at line 108 of file externalDisplacementMeshMover.C.

References baffles_, dict, dryRun_, pointDisplacement(), and pointDisplacement_.

Here is the call graph for this function:

◆ ~externalDisplacementMeshMover()

~externalDisplacementMeshMover ( )
virtual

Destructor.

Definition at line 158 of file externalDisplacementMeshMover.C.

Member Function Documentation

◆ getFixedValueBCs()

Foam::labelList getFixedValueBCs ( const pointVectorField & field)
staticprotected

Extract fixed-value patchfields.

Definition at line 37 of file externalDisplacementMeshMover.C.

References DynamicList< T, SizeMin >::append(), field(), forAll, and Foam::isA().

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

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

References forAll, mesh(), autoPtr< T >::New(), patches, patchIDs, and pp().

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

Here is the call graph for this function:
Here is the caller 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)  )

References dict, and pointDisplacement().

Here is the call graph for this function:

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

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

Referenced by displacementMotionSolverMeshMover::displacementMotionSolverMeshMover(), and displacementMeshMoverMotionSolver::meshMover().

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

◆ pointDisplacement() [1/2]

◆ pointDisplacement() [2/2]

const pointVectorField & pointDisplacement ( ) const
inline

Return const reference to the point motion displacement field.

Definition at line 188 of file externalDisplacementMeshMover.H.

References pointDisplacement_.

◆ pMesh()

const pointMesh & pMesh ( ) const
inline

◆ mesh()

const polyMesh & mesh ( ) const
inline

Definition at line 198 of file externalDisplacementMeshMover.H.

References pMesh().

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

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 successful (errors on checkFaces less than allowable). Updates pointDisplacement.

Implemented in displacementMotionSolverMeshMover, and medialAxisMeshMover.

◆ movePoints()

void movePoints ( const pointField & )
virtual

Update local data for geometry changes.

Reimplemented in displacementMotionSolverMeshMover, and medialAxisMeshMover.

Definition at line 164 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 displacementMotionSolverMeshMover, and medialAxisMeshMover.

Definition at line 170 of file externalDisplacementMeshMover.C.

References DynamicList< T, SizeMin >::append(), baffles_, forAll, mapPolyMesh::reverseFaceMap(), and DynamicList< T, SizeMin >::shrink().

Here is the call graph for this function:

Member Data Documentation

◆ baffles_

List<labelPair> baffles_
protected

Baffles in the mesh.

Definition at line 63 of file externalDisplacementMeshMover.H.

Referenced by externalDisplacementMeshMover(), and updateMesh().

◆ pointDisplacement_

pointVectorField& pointDisplacement_
protected

Reference to point motion field.

Definition at line 68 of file externalDisplacementMeshMover.H.

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

◆ dryRun_

const bool dryRun_
protected

In dry-run mode?

Definition at line 73 of file externalDisplacementMeshMover.H.

Referenced by externalDisplacementMeshMover(), and displacementMotionSolverMeshMover::move().


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