ForceModel Class Reference
[GeoDynamics]

#include <ForceModel.hpp>

Inheritance diagram for ForceModel:

Inheritance graph
[legend]
Collaboration diagram for ForceModel:

Collaboration graph
[legend]
List of all members.

Detailed Description

Force Model is a simple interface which allows uniformity among the various force models.

Definition at line 49 of file ForceModel.hpp.

Public Types

enum  ForceModelIndex {
  FMI_BASE = 1000, FMI_GEOEARTH, FMI_GEOSUN, FMI_GEOMOON,
  FMI_DRAG, FMI_SRP, FMI_RELATIVE, FMT_EMPIRICAL,
  FMI_LIST = 2000
}
 To identify every force model and make sure one type of force exist only one instance in the force model list. More...
enum  ForceModelType { Cd, Cr }

Public Member Functions

 ForceModel ()
 Default constructor.
virtual ~ForceModel ()
 Default destructor.
virtual void doCompute (UTCTime t, EarthBody &bRef, Spacecraft &sc)
 this is the real one to do computation
virtual std::string modelName () const
 return the force model name
virtual int forceIndex () const
 return the force model index
virtual Vector< double > getAccel () const
 Return the acceleration.
virtual Matrix< double > partialR () const
 Return the partial derivative of acceleration wrt position.
virtual Matrix< double > partialV () const
 Return the partial derivative of acceleration wrt velocity.
virtual Matrix< double > partialP () const
 Return the partial derivative of acceleration wrt velocity.
virtual Matrix< double > partialCd () const
 Return the partial derivative of acceleration wrt velocity.
virtual Matrix< double > partialCr () const
 Return the partial derivative of acceleration wrt velocity.
int getNP () const
 return number of np
Matrix< double > getAMatrix () const
 get A Matrix
void test ()

Protected Attributes

Vector< double > a
 Acceleration.
Matrix< double > da_dr
 Partial derivative of acceleration wrt position.
Matrix< double > da_dv
 Partial derivative of acceleration wrt velocity.
Matrix< double > da_dp
 Partial derivative of acceleration wrt dynamic parameters.
Matrix< double > da_dcd
 Partial derivative of acceleration wrt Cd.
Matrix< double > da_dcr
 Partial derivative of acceleration wrt Cr.


Member Enumeration Documentation

enum ForceModelIndex
 

To identify every force model and make sure one type of force exist only one instance in the force model list.

class indexed with FMI_BASE and FMI_LIST can't be added to the force model list

Enumeration values:
FMI_BASE  For This class 'ForceModel'.
FMI_GEOEARTH  Geopotential of Earth.
FMI_GEOSUN  Geopotential of Sun.
FMI_GEOMOON  Geopotential of Moon.
FMI_DRAG  Atmospheric Drag.
FMI_SRP  Solar Radiation Pressure.
FMI_RELATIVE  Relative Effect.
FMT_EMPIRICAL  Empirical Force.
FMI_LIST  For class 'ForceModelList'.

Definition at line 57 of file ForceModel.hpp.

enum ForceModelType
 

Enumeration values:
Cd 
Cr 

Definition at line 74 of file ForceModel.hpp.


Constructor & Destructor Documentation

ForceModel  )  [inline]
 

Default constructor.

Definition at line 81 of file ForceModel.hpp.

virtual ~ForceModel  )  [inline, virtual]
 

Default destructor.

Definition at line 93 of file ForceModel.hpp.


Member Function Documentation

virtual void doCompute UTCTime  t,
EarthBody bRef,
Spacecraft sc
[inline, virtual]
 

this is the real one to do computation

Reimplemented in AtmosphericDrag, MoonForce, RelativityEffect, SolarRadiationPressure, SphericalHarmonicGravity, and SunForce.

Definition at line 97 of file ForceModel.hpp.

virtual int forceIndex  )  const [inline, virtual]
 

return the force model index

Reimplemented in AtmosphericDrag, ForceModelList, MoonForce, RelativityEffect, SolarRadiationPressure, SphericalHarmonicGravity, and SunForce.

Definition at line 115 of file ForceModel.hpp.

virtual Vector<double> getAccel  )  const [inline, virtual]
 

Return the acceleration.

Returns:
acceleration

Definition at line 123 of file ForceModel.hpp.

Referenced by gpstk::operator<<(), HarrisPriesterDrag::test(), and CiraExponentialDrag::test().

Matrix<double> getAMatrix  )  const [inline]
 

get A Matrix

Definition at line 167 of file ForceModel.hpp.

Referenced by ForceModelList::getDerivatives(), and gpstk::operator<<().

int getNP  )  const [inline]
 

return number of np

Definition at line 163 of file ForceModel.hpp.

virtual std::string modelName  )  const [inline, virtual]
 

return the force model name

Reimplemented in AtmosphericDrag, ForceModelList, MoonForce, RelativityEffect, SolarRadiationPressure, SphericalHarmonicGravity, and SunForce.

Definition at line 110 of file ForceModel.hpp.

virtual Matrix<double> partialCd  )  const [inline, virtual]
 

Return the partial derivative of acceleration wrt velocity.

Returns:
Matrix containing the partial derivative of acceleration wrt cd

Definition at line 151 of file ForceModel.hpp.

virtual Matrix<double> partialCr  )  const [inline, virtual]
 

Return the partial derivative of acceleration wrt velocity.

Returns:
Matrix containing the partial derivative of acceleration wrt cr

Definition at line 158 of file ForceModel.hpp.

virtual Matrix<double> partialP  )  const [inline, virtual]
 

Return the partial derivative of acceleration wrt velocity.

Returns:
Matrix containing the partial derivative of acceleration wrt velocity

Definition at line 144 of file ForceModel.hpp.

Referenced by gpstk::operator<<().

virtual Matrix<double> partialR  )  const [inline, virtual]
 

Return the partial derivative of acceleration wrt position.

Returns:
Matrix containing the partial derivative of acceleration wrt velocity

Definition at line 130 of file ForceModel.hpp.

Referenced by gpstk::operator<<().

virtual Matrix<double> partialV  )  const [inline, virtual]
 

Return the partial derivative of acceleration wrt velocity.

Returns:
Matrix containing the partial derivative of acceleration wrt velocity

Definition at line 137 of file ForceModel.hpp.

Referenced by gpstk::operator<<().

void test  )  [inline]
 

Reimplemented in CiraExponentialDrag, HarrisPriesterDrag, Msise00Drag, SphericalHarmonicGravity, and SunForce.

Definition at line 221 of file ForceModel.hpp.


Member Data Documentation

Vector<double> a [protected]
 

Acceleration.

Definition at line 239 of file ForceModel.hpp.

Referenced by RelativityEffect::doCompute(), and ForceModelList::getDerivatives().

Matrix<double> da_dcd [protected]
 

Partial derivative of acceleration wrt Cd.

Definition at line 251 of file ForceModel.hpp.

Referenced by AtmosphericDrag::doCompute(), and ForceModelList::getDerivatives().

Matrix<double> da_dcr [protected]
 

Partial derivative of acceleration wrt Cr.

Definition at line 254 of file ForceModel.hpp.

Referenced by SolarRadiationPressure::doCompute(), and ForceModelList::getDerivatives().

Matrix<double> da_dp [protected]
 

Partial derivative of acceleration wrt dynamic parameters.

Definition at line 248 of file ForceModel.hpp.

Referenced by ForceModelList::getDerivatives().

Matrix<double> da_dr [protected]
 

Partial derivative of acceleration wrt position.

Definition at line 242 of file ForceModel.hpp.

Referenced by SunForce::doCompute(), SolarRadiationPressure::doCompute(), RelativityEffect::doCompute(), and MoonForce::doCompute().

Matrix<double> da_dv [protected]
 

Partial derivative of acceleration wrt velocity.

Definition at line 245 of file ForceModel.hpp.


The documentation for this class was generated from the following file:
Generated on Wed May 22 03:31:44 2013 for GPS ToolKit Software Library by  doxygen 1.3.9.1