Newmark 2nd-order time-integrator for 6DoF solid-body motion. More...
#include <Newmark.H>


Public Member Functions | |
| TypeName ("Newmark") | |
| Runtime type information. | |
| Newmark (rigidBodyMotion &body, const dictionary &dict) | |
| Construct for the given body from dictionary. | |
| virtual | ~Newmark () |
| Destructor. | |
| virtual void | solve (const scalarField &tau, const Field< spatialVector > &fx) |
| Integrate the rigid-body motion for one time-step. | |
| Public Member Functions inherited from rigidBodySolver | |
| TypeName ("rigidBodySolver") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, rigidBodySolver, dictionary,(rigidBodyMotion &body, const dictionary &dict),(body, dict)) | |
| rigidBodySolver (rigidBodyMotion &body) | |
| virtual | ~rigidBodySolver () |
| Destructor. | |
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. | |
| scalarField & | q () |
| Return the current joint position and orientation. | |
| scalarField & | qDot () |
| Return the current joint quaternion. | |
| scalarField & | qDdot () |
| Return the current joint acceleration. | |
| scalar | deltaT () const |
| Return the current time-step. | |
| const rigidBodyModelState & | state0 () const |
| Return the previous motion state. | |
| const scalarField & | q0 () const |
| Return the current joint position and orientation. | |
| const scalarField & | qDot0 () const |
| Return the current joint quaternion. | |
| const scalarField & | qDdot0 () const |
| Return the current joint acceleration. | |
| scalar | deltaT0 () const |
| Return the previous time-step. | |
| void | correctQuaternionJoints () |
| Correct the quaternion joints based on the current change in q. | |
| Protected Attributes inherited from rigidBodySolver | |
| rigidBodyMotion & | model_ |
| The rigid-body model. | |
Newmark 2nd-order time-integrator for 6DoF solid-body motion.
Reference:
Newmark, N. M. (1959).
A method of computation for structural dynamics.
Journal of the Engineering Mechanics Division, 85(3), 67-94.
Example specification in dynamicMeshDict:
solver
{
type Newmark;
gamma 0.5; // Velocity integration coefficient
beta 0.25; // Position integration coefficient
}
| Newmark | ( | rigidBodyMotion & | body, |
| const dictionary & | dict ) |
Construct for the given body from dictionary.
Definition at line 42 of file Newmark.C.
References dict, Foam::max(), rigidBodySolver::rigidBodySolver(), and Foam::sqr().

| TypeName | ( | "Newmark" | ) |
Runtime type information.
References dict.
|
virtual |
Integrate the rigid-body motion for one time-step.
Implements rigidBodySolver.
Definition at line 69 of file Newmark.C.
References rigidBodySolver::correctQuaternionJoints(), rigidBodySolver::deltaT(), rigidBodySolver::model_, rigidBodySolver::q(), rigidBodySolver::q0(), rigidBodySolver::qDdot(), rigidBodySolver::qDdot0(), rigidBodySolver::qDot(), rigidBodySolver::qDot0(), Foam::sqr(), and rigidBodySolver::state().
