medialAxisMeshMover Class Reference

Mesh motion solver that uses a medial axis algorithm to work out a fraction between the (nearest point on a) moving surface and the (nearest point on a) fixed surface. More...

Inheritance diagram for medialAxisMeshMover:
[legend]
Collaboration diagram for medialAxisMeshMover:
[legend]

Public Member Functions

 TypeName ("displacementMedialAxis")
 Runtime type information. More...
 
 medialAxisMeshMover (const dictionary &dict, const List< labelPair > &baffles, pointVectorField &pointDisplacement, const bool dryRun)
 Construct from dictionary and displacement field. More...
 
virtual ~medialAxisMeshMover ()
 
virtual bool move (const dictionary &, const label nAllowableErrors, labelList &checkFaces)
 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...
 
- Public Member Functions inherited from externalDisplacementMeshMover
 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...
 

Additional Inherited Members

- Static Public Member Functions inherited from externalDisplacementMeshMover
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 inherited from externalDisplacementMeshMover
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 inherited from externalDisplacementMeshMover
List< labelPairbaffles_
 Baffles in the mesh. More...
 
pointVectorFieldpointDisplacement_
 Reference to point motion field. More...
 
const bool dryRun_
 In dry-run mode? More...
 

Detailed Description

Mesh motion solver that uses a medial axis algorithm to work out a fraction between the (nearest point on a) moving surface and the (nearest point on a) fixed surface.

This fraction is then used to scale the motion. Use

  • fixedValue on all moving patches
  • zeroFixedValue on stationary patches
  • slip on all slipping patches Note that the fixedValue boundary conditions might be changed by this solver to enforce consistency and a valid resulting mesh.
Source files

Definition at line 66 of file medialAxisMeshMover.H.

Constructor & Destructor Documentation

◆ medialAxisMeshMover()

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

Construct from dictionary and displacement field.

Definition at line 1261 of file medialAxisMeshMover.C.

References dict, and update().

Here is the call graph for this function:

◆ ~medialAxisMeshMover()

~medialAxisMeshMover ( )
virtual

Definition at line 1362 of file medialAxisMeshMover.C.

Member Function Documentation

◆ TypeName()

TypeName ( "displacementMedialAxis"  )

Runtime type information.

◆ move()

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

Move mesh using current pointDisplacement boundary values.

Return true if successful (errors on checkFaces less than allowable). Updates pointDisplacement.

Name of field specifying min thickness

Move mesh according to calculated displacement

Implements externalDisplacementMeshMover.

Definition at line 1780 of file medialAxisMeshMover.C.

References snappyLayerDriver::EXTRUDE, forAll, dictionary::get(), objectRegistry::lookupObject(), Foam::mag(), mesh, snappyLayerDriver::NOEXTRUDE, and Foam::Zero.

Here is the call graph for this function:

◆ movePoints()

void movePoints ( const pointField p)
virtual

Update local data for geometry changes.

Reimplemented from externalDisplacementMeshMover.

Definition at line 1843 of file medialAxisMeshMover.C.

References motionSmootherAlgo::movePoints(), and p.

Here is the call graph for this function:

◆ updateMesh()

virtual void updateMesh ( const mapPolyMesh )
inlinevirtual

Update local data for topology changes.

Reimplemented from externalDisplacementMeshMover.

Definition at line 238 of file medialAxisMeshMover.H.

References NotImplemented.


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