motionSolver Class Referenceabstract

Virtual base class for mesh motion solver. More...

Inheritance diagram for motionSolver:

Public Member Functions

 TypeName ("motionSolver")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, motionSolver, dictionary,(const word &name, const polyMesh &mesh, const dictionary &dict),(name, mesh, dict))
 
 motionSolver (const word &name, const polyMesh &mesh, const word &type)
 Construct from polyMesh and dictionary and type. More...
 
virtual autoPtr< motionSolverclone () const
 Clone function. More...
 
virtual ~motionSolver ()
 Destructor. More...
 
const wordname () const
 Return name. More...
 
const wordkeyword () const
 Return keyword. More...
 
const polyMeshmesh () const
 Return reference to mesh. More...
 
virtual tmp< pointFieldnewPoints ()
 Provide new points for motion. Solves for motion. More...
 
virtual tmp< pointFieldcurPoints () const =0
 Provide current points for motion. Uses current motion field. More...
 
virtual void twoDCorrectPoints (pointField &) const
 Correct point field for reduced-dimensionality cases. More...
 
virtual bool solidBody () const
 Is the motion solid body? I.e., are the volumes and area magnitudes. More...
 
virtual void solve ()=0
 Solve for motion. More...
 
virtual void movePoints (const pointField &)=0
 Update local data for geometry changes. More...
 
virtual void topoChange (const polyTopoChangeMap &)=0
 Update local data for topology changes. More...
 
virtual void distribute (const polyDistributionMap &)=0
 Update corresponding to the given distribution map. More...
 
virtual void mapMesh (const polyMeshMap &)=0
 Update from another mesh using the given map. More...
 
virtual bool write () const
 Optionally write motion state information for restart. More...
 

Static Public Member Functions

static autoPtr< motionSolverNew (const word &name, const polyMesh &, const dictionary &)
 Select constructed from polyMesh and dictionary. More...
 

Detailed Description

Virtual base class for mesh motion solver.

Source files

Definition at line 56 of file motionSolver.H.

Constructor & Destructor Documentation

◆ motionSolver()

motionSolver ( const word name,
const polyMesh mesh,
const word type 
)

Construct from polyMesh and dictionary and type.

Definition at line 42 of file motionSolver.C.

◆ ~motionSolver()

~motionSolver ( )
virtual

Destructor.

Definition at line 115 of file motionSolver.C.

Member Function Documentation

◆ TypeName()

TypeName ( "motionSolver"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
motionSolver  ,
dictionary  ,
(const word &name, const polyMesh &mesh, const dictionary &dict ,
(name, mesh, dict  
)

◆ New()

Foam::autoPtr< Foam::motionSolver > New ( const word name,
const polyMesh mesh,
const dictionary solverDict 
)
static

Select constructed from polyMesh and dictionary.

Definition at line 63 of file motionSolver.C.

References Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::Info, Foam::libs, dictionary::lookup(), mesh, Foam::name(), Foam::nl, dlLibraryTable::open(), and dictionary::optionalSubDict().

Referenced by motionSolverList::motionSolverList().

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

◆ clone()

Foam::autoPtr< Foam::motionSolver > clone ( ) const
virtual

Clone function.

Definition at line 54 of file motionSolver.C.

References NotImplemented.

◆ name()

const word& name ( ) const
inline

Return name.

Definition at line 121 of file motionSolver.H.

Referenced by motionSolver::keyword(), and motionSolverList::motionSolverList().

Here is the caller graph for this function:

◆ keyword()

const word& keyword ( ) const
inline

Return keyword.

Definition at line 127 of file motionSolver.H.

References motionSolver::name().

Referenced by multiSolidBodyMotionSolver::multiSolidBodyMotionSolver(), rigidBodyMeshMotion::rigidBodyMeshMotion(), and rigidBodyMeshMotionSolver::rigidBodyMeshMotionSolver().

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

◆ mesh()

◆ newPoints()

Foam::tmp< Foam::pointField > newPoints ( )
virtual

Provide new points for motion. Solves for motion.

Definition at line 121 of file motionSolver.C.

References Foam::solve().

Here is the call graph for this function:

◆ curPoints()

◆ twoDCorrectPoints()

void twoDCorrectPoints ( pointField p) const
virtual

Correct point field for reduced-dimensionality cases.

Definition at line 128 of file motionSolver.C.

References twoDPointCorrector::correctPoints(), DemandDrivenMeshObject< polyMesh, TopoChangeableMeshObject, twoDPointCorrector >::New(), and p.

Here is the call graph for this function:

◆ solidBody()

virtual bool solidBody ( ) const
inlinevirtual

Is the motion solid body? I.e., are the volumes and area magnitudes.

unchanged? Defaults to false. Set to true by motionSolvers::solidBody.

Reimplemented in solidBodyMotionSolver, and multiSolidBodyMotionSolver.

Definition at line 150 of file motionSolver.H.

◆ solve()

◆ movePoints()

virtual void movePoints ( const pointField )
pure virtual

◆ topoChange()

◆ distribute()

virtual void distribute ( const polyDistributionMap )
pure virtual

◆ mapMesh()

◆ write()

bool write ( ) const
virtual

Optionally write motion state information for restart.

Reimplemented in sixDoFRigidBodyMotionSolver, rigidBodyMeshMotionSolver, rigidBodyMeshMotion, and points0MotionSolver.

Definition at line 134 of file motionSolver.C.

Referenced by points0MotionSolver::write(), and rigidBodyMeshMotionSolver::write().

Here is the caller graph for this function:

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