glotzmd::LeapFrogIntegrator Class Reference

#include <LeapFrogIntegrator.h>

Inheritance diagram for glotzmd::LeapFrogIntegrator:

glotzmd::IntegrationScheme glotzmd::BaseObject glotzutil::Listable glotzutil::Serializable

List of all members.

Public Member Functions

 LeapFrogIntegrator ()
 LeapFrogIntegrator (const LeapFrogIntegrator &)
LeapFrogIntegratorClone ()
 Clone Constructor.
 ~LeapFrogIntegrator ()
bool PerformsInitialMove ()
bool PerformsFinalMove ()
void SetNumberOfIterations (const int)
void FinalMove (glotz_vec &, glotz_vec &, const glotz_vec &)
void FinalMove (glotz_vec &, glotz_quat &, glotz_3mat &, const glotz_vec &, const glotz_vec &)
void FinalMove (glotz_vec &, glotz_quat &, glotz_3mat &, const glotz_vec &, const glotz_vec &, const bool)

Protected Member Functions

void SetTimestep (const glotz_flt)

Private Member Functions

void OmelyanIteration (glotz_vec &, const glotz_vec &, const glotz_vec &)
void OmelyanIterationLinear (glotz_vec &, const glotz_vec &, const glotz_vec &)
void AdvanceQuaternion (glotz_quat &, const glotz_vec &)

Private Attributes

glotz_flt mTimestepSq
glotz_flt mHalfTimestep
glotz_flt mQuarterTimestepSq
int mIterations
glotz_4mat mImatrix
glotz_4mat mGmatrix
glotz_4mat mQmatrix


Constructor & Destructor Documentation

glotzmd::LeapFrogIntegrator::LeapFrogIntegrator (  ) 

glotzmd::LeapFrogIntegrator::LeapFrogIntegrator ( const LeapFrogIntegrator rhs  ) 

glotzmd::LeapFrogIntegrator::~LeapFrogIntegrator (  )  [inline]


Member Function Documentation

LeapFrogIntegrator * glotzmd::LeapFrogIntegrator::Clone (  )  [virtual]

Clone Constructor.

Returns:
A new copy of the object

Reimplemented from glotzmd::IntegrationScheme.

bool glotzmd::LeapFrogIntegrator::PerformsInitialMove (  )  [virtual]

Implements glotzmd::IntegrationScheme.

bool glotzmd::LeapFrogIntegrator::PerformsFinalMove (  )  [virtual]

Implements glotzmd::IntegrationScheme.

void glotzmd::LeapFrogIntegrator::SetNumberOfIterations ( const   int  ) 

void glotzmd::LeapFrogIntegrator::FinalMove ( glotz_vec f,
glotz_vec fprime,
const glotz_vec f2prime 
) [inline, virtual]

Parameters:
f is any variable (i.e. a position vector)
fprime is first derivative of f with respect to time (i.e. a velocity vector)
f2prime is the second derivative of f with respect to time (i.e. an accelerator vector)

Reimplemented from glotzmd::IntegrationScheme.

void glotzmd::LeapFrogIntegrator::FinalMove ( glotz_vec omega,
glotz_quat q,
glotz_3mat rmatrix,
const glotz_vec tau,
const glotz_vec inertia 
) [virtual]

Parameters:
omega is the space frame angular velocity
q is the object quaternion
rmatrix is the rotation matrix corresponding to q
tau is the space frame torque around the center of mass
inertia is the principle moment of inertia vector

Reimplemented from glotzmd::IntegrationScheme.

void glotzmd::LeapFrogIntegrator::FinalMove ( glotz_vec omega,
glotz_quat q,
glotz_3mat rmatrix,
const glotz_vec tau,
const glotz_vec inertia,
const   bool 
) [virtual]

Parameters:
omega is the space frame angular velocity
q is the object quaternion
rmatrix is the rotation matrix corresponding to q
tau is the space frame torque around the center of mass
inertia is the principle moment of inertia vector
flag indicates that there is a zero-valued principle moment

Reimplemented from glotzmd::IntegrationScheme.

void glotzmd::LeapFrogIntegrator::SetTimestep ( const   glotz_flt  )  [protected, virtual]

Parameters:
sets mTimestep equal to timestep Initializes mHalfTimestep and mQuarterTimestepSq.

Implements glotzmd::IntegrationScheme.

void glotzmd::LeapFrogIntegrator::OmelyanIteration ( glotz_vec W,
const glotz_vec K,
const glotz_vec J 
) [private]

void glotzmd::LeapFrogIntegrator::OmelyanIterationLinear ( glotz_vec W,
const glotz_vec K,
const glotz_vec J 
) [private]

void glotzmd::LeapFrogIntegrator::AdvanceQuaternion ( glotz_quat q,
const glotz_vec W 
) [private]

Parameters:
q quaternion from previous timestep
W updated body-fixed angular velocity The transformation matrix for q is a skew symmetric matrix formed from W.


Member Data Documentation

glotz_flt glotzmd::LeapFrogIntegrator::mTimestepSq [private]

glotz_flt glotzmd::LeapFrogIntegrator::mHalfTimestep [private]

glotz_flt glotzmd::LeapFrogIntegrator::mQuarterTimestepSq [private]

int glotzmd::LeapFrogIntegrator::mIterations [private]

glotz_4mat glotzmd::LeapFrogIntegrator::mImatrix [private]

glotz_4mat glotzmd::LeapFrogIntegrator::mGmatrix [private]

glotz_4mat glotzmd::LeapFrogIntegrator::mQmatrix [private]


The documentation for this class was generated from the following files:
Generated on Tue Feb 24 20:54:25 2009 by  doxygen 1.5.3