Public Member Functions | List of all members
CrankNicolson Class Reference

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

Inheritance diagram for CrankNicolson:
Inheritance graph
[legend]
Collaboration diagram for CrankNicolson:
Collaboration graph
[legend]

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< rigidBodySolverNew (rigidBodyMotion &body, const dictionary &dict)
 
- Protected Member Functions inherited from rigidBodySolver
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 inherited from rigidBodySolver
rigidBodyMotionmodel_
 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 ( rigidBodyMotion body,
const dictionary dict 
)

Construct for the given body from dictionary.

Definition at line 47 of file CrankNicolson.C.

~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 ( "CrankNicolson"  )

Runtime type information.

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: