CrankNicolson Class Reference

Crank-Nicolson 2nd-order time-integrator for 6DoF solid-body motion. More...

Inheritance diagram for CrankNicolson:
Collaboration diagram for CrankNicolson:

Public Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from rigidBodySolver
static autoPtr< rigidBodySolver > New (rigidBodyMotion &body, const dictionary &dict)
 
- Protected Member Functions inherited from rigidBodySolver
rigidBodyModelState & state ()
 Return the motion state. More...
 
scalarField & q ()
 Return the current joint position and orientation. More...
 
scalarField & qDot ()
 Return the current joint quaternion. More...
 
scalarField & qDdot ()
 Return the current joint acceleration. More...
 
scalar deltaT () const
 Return the current time-step. More...
 
const rigidBodyModelState & state0 () const
 Return the previous motion state. More...
 
const scalarField & q0 () const
 Return the current joint position and orientation. More...
 
const scalarField & qDot0 () const
 Return the current joint quaternion. More...
 
const scalarField & qDdot0 () 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 inherited from rigidBodySolver
rigidBodyMotion & model_
 The rigid-body model. More...
 

Detailed Description

Crank-Nicolson 2nd-order time-integrator for 6DoF solid-body motion.

The off-centering coefficients for acceleration (velocity integration) and velocity (position/orientation integration) may be specified but default values of 0.5 for each are used if they are not specified. With the default off-centering this scheme is equivalent to the Newmark scheme with default coefficients.

Example specification in dynamicMeshDict:

solver
{
    type    CrankNicolson;
    aoc     0.5;    // Acceleration off-centering coefficient
    voc     0.5;    // Velocity off-centering coefficient
}
See also
Foam::RBD::rigidBodySolvers::Newmark
Source files

Definition at line 71 of file CrankNicolson.H.

Constructor & Destructor Documentation

◆ CrankNicolson()

CrankNicolson ( rigidBodyMotion &  body,
const dictionary &  dict 
)

Construct for the given body from dictionary.

Definition at line 47 of file CrankNicolson.C.

◆ ~CrankNicolson()

~CrankNicolson ( )
virtual

Destructor.

Definition at line 60 of file CrankNicolson.C.

References CrankNicolson::solve().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "CrankNicolson"  )

Runtime type information.

◆ solve()

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

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

Implements rigidBodySolver.

Definition at line 67 of file CrankNicolson.C.

Referenced by CrankNicolson::~CrankNicolson().

Here is the caller graph for this function:

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