rigidBodySolver Class Referenceabstract
Inheritance diagram for rigidBodySolver:
[legend]
Collaboration diagram for rigidBodySolver:
[legend]

Public Member Functions

 TypeName ("rigidBodySolver")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, rigidBodySolver, dictionary,(rigidBodyMotion &body, const dictionary &dict),(body, dict))
 
 rigidBodySolver (rigidBodyMotion &body)
 
virtual ~rigidBodySolver ()
 Destructor. More...
 
virtual void solve (const scalarField &tau, const Field< spatialVector > &fx)=0
 Integrate the rigid-body motion for one time-step. More...
 

Static Public Member Functions

static autoPtr< rigidBodySolverNew (rigidBodyMotion &body, const dictionary &dict)
 

Protected Member Functions

rigidBodyModelStatestate ()
 Return the motion state. More...
 
scalarFieldq ()
 Return the current joint position and orientation. More...
 
scalarFieldqDot ()
 Return the current joint quaternion. More...
 
scalarFieldqDdot ()
 Return the current joint acceleration. More...
 
scalar deltaT () const
 Return the current time-step. More...
 
const rigidBodyModelStatestate0 () const
 Return the previous motion state. More...
 
const scalarFieldq0 () const
 Return the current joint position and orientation. More...
 
const scalarFieldqDot0 () const
 Return the current joint quaternion. More...
 
const scalarFieldqDdot0 () const
 Return the current joint acceleration. More...
 
scalar deltaT0 () const
 Return the previous time-step. More...
 
void correctQuaternionJoints ()
 Correct the quaternion joints based on the current change in q. More...
 

Protected Attributes

rigidBodyMotionmodel_
 The rigid-body model. More...
 

Detailed Description

Constructor & Destructor Documentation

◆ rigidBodySolver()

Definition at line 45 of file rigidBodySolver.C.

◆ ~rigidBodySolver()

~rigidBodySolver ( )
virtual

Destructor.

Definition at line 53 of file rigidBodySolver.C.

Member Function Documentation

◆ state()

Foam::RBD::rigidBodyModelState & state ( )
inlineprotected

Return the motion state.

Definition at line 30 of file rigidBodySolverI.H.

References rigidBodySolver::model_.

◆ q()

Foam::scalarField & q ( )
inlineprotected

Return the current joint position and orientation.

Definition at line 36 of file rigidBodySolverI.H.

◆ qDot()

Foam::scalarField & qDot ( )
inlineprotected

Return the current joint quaternion.

Return the current joint velocity

Definition at line 42 of file rigidBodySolverI.H.

◆ qDdot()

Foam::scalarField & qDdot ( )
inlineprotected

Return the current joint acceleration.

Definition at line 48 of file rigidBodySolverI.H.

◆ deltaT()

Foam::scalar deltaT ( ) const
inlineprotected

Return the current time-step.

Definition at line 54 of file rigidBodySolverI.H.

◆ state0()

const Foam::RBD::rigidBodyModelState & state0 ( ) const
inlineprotected

Return the previous motion state.

Definition at line 61 of file rigidBodySolverI.H.

◆ q0()

const Foam::scalarField & q0 ( ) const
inlineprotected

Return the current joint position and orientation.

Definition at line 66 of file rigidBodySolverI.H.

◆ qDot0()

const Foam::scalarField & qDot0 ( ) const
inlineprotected

Return the current joint quaternion.

Return the current joint velocity

Definition at line 72 of file rigidBodySolverI.H.

◆ qDdot0()

const Foam::scalarField & qDdot0 ( ) const
inlineprotected

Return the current joint acceleration.

Definition at line 78 of file rigidBodySolverI.H.

◆ deltaT0()

Foam::scalar deltaT0 ( ) const
inlineprotected

Return the previous time-step.

Definition at line 84 of file rigidBodySolverI.H.

◆ correctQuaternionJoints()

void correctQuaternionJoints ( )
protected

Correct the quaternion joints based on the current change in q.

Definition at line 59 of file rigidBodySolver.C.

References Foam::cos(), forAll, Foam::mag(), and quaternion::normalise().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "rigidBodySolver"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
rigidBodySolver  ,
dictionary  ,
(rigidBodyMotion &body, const dictionary &dict ,
(body, dict  
)

◆ New()

Foam::autoPtr< Foam::RBD::rigidBodySolver > New ( rigidBodyMotion body,
const dictionary dict 
)
static

Definition at line 33 of file rigidBodySolverNew.C.

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

Here is the call graph for this function:

◆ solve()

virtual void solve ( const scalarField tau,
const Field< spatialVector > &  fx 
)
pure virtual

Integrate the rigid-body motion for one time-step.

Implemented in CrankNicolson, Newmark, and symplectic.

Member Data Documentation

◆ model_

rigidBodyMotion& model_
protected

The rigid-body model.

Definition at line 60 of file rigidBodySolver.H.

Referenced by rigidBodySolver::state().


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