fr.cnes.sirius.patrius.stela.forces.noninertial
Class NonInertialContribution

java.lang.Object
  extended by fr.cnes.sirius.patrius.stela.forces.AbstractStelaGaussContribution
      extended by fr.cnes.sirius.patrius.stela.forces.noninertial.NonInertialContribution
All Implemented Interfaces:
StelaForceModel

public class NonInertialContribution
extends AbstractStelaGaussContribution

Class representing the non-inertial contribution for STELA propagator.

Since:
3.0
Version:
$Id: NonInertialContribution.java 17584 2017-05-10 13:26:39Z bignon $
Author:
Emmanuel Bignon
Concurrency :
thread-safe

Field Summary
 
Fields inherited from class fr.cnes.sirius.patrius.stela.forces.AbstractStelaGaussContribution
dPert
 
Constructor Summary
NonInertialContribution(int quadPointsIn, Frame referenceSystemIn)
          Constructor.
 
Method Summary
 Vector3D computeOmega(AbsoluteDate date, Frame frame1, Frame frame2)
          Compute rotation vector of frame2 with respect to frame1 expressed in frame2, which is the rotation vector from frame1 to frame2.
 Vector3D computeOmegaDerivative(AbsoluteDate date, Frame frame1, Frame frame2, double dt)
          Compute rotation vector derivative from frame1 to frame2 using finite differences.
 double[][] computePartialDerivatives(StelaEquinoctialOrbit orbit)
          Compute the partial derivatives for a given spacecraft state.
 double[] computePerturbation(StelaEquinoctialOrbit orbit, OrbitNatureConverter converter)
          Compute the dE/dt force derivatives for a given spacecraft state.
 double[] computeShortPeriods(StelaEquinoctialOrbit orbit)
          Compute the short periodic variations for a given spacecraft state.
 
Methods inherited from class fr.cnes.sirius.patrius.stela.forces.AbstractStelaGaussContribution
computeGaussDerivativeEquations, computeGaussEquations, getdPert, getType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NonInertialContribution

public NonInertialContribution(int quadPointsIn,
                               Frame referenceSystemIn)
Constructor.

Parameters:
quadPointsIn - number of points for Simpson' squaring (must be odd)
referenceSystemIn - reference system
Method Detail

computePerturbation

public double[] computePerturbation(StelaEquinoctialOrbit orbit,
                                    OrbitNatureConverter converter)
                             throws OrekitException
Description copied from class: AbstractStelaGaussContribution
Compute the dE/dt force derivatives for a given spacecraft state.

Specified by:
computePerturbation in class AbstractStelaGaussContribution
Parameters:
orbit - current orbit information: date, kinematics
converter - mean / osculating parameters converter
Returns:
the perturbation dE/dt for the current force
Throws:
OrekitException - if perturbation computation fails

computeShortPeriods

public double[] computeShortPeriods(StelaEquinoctialOrbit orbit)
                             throws OrekitException
Description copied from interface: StelaForceModel
Compute the short periodic variations for a given spacecraft state.

Parameters:
orbit - current orbit information: date, kinematics
Returns:
the short periodic variations of the current force
Throws:
OrekitException - if short periods computation fails

computePartialDerivatives

public double[][] computePartialDerivatives(StelaEquinoctialOrbit orbit)
                                     throws OrekitException
Description copied from interface: StelaForceModel
Compute the partial derivatives for a given spacecraft state.

Parameters:
orbit - current orbit information: date, kinematics
Returns:
the partial derivatives of the current force
Throws:
OrekitException - if partial derivatives computation fails

computeOmegaDerivative

public Vector3D computeOmegaDerivative(AbsoluteDate date,
                                       Frame frame1,
                                       Frame frame2,
                                       double dt)
                                throws OrekitException
Compute rotation vector derivative from frame1 to frame2 using finite differences.

Parameters:
date - a date
frame1 - reference frame
frame2 - expression frame
dt - time difference for finite differences (s)
Returns:
rotation vector derivative from frame1 to frame2
Throws:
OrekitException - thrown if conversion is not available

computeOmega

public Vector3D computeOmega(AbsoluteDate date,
                             Frame frame1,
                             Frame frame2)
                      throws OrekitException
Compute rotation vector of frame2 with respect to frame1 expressed in frame2, which is the rotation vector from frame1 to frame2. Currently coded conversion are:

Parameters:
date - a date
frame1 - reference frame
frame2 - expression frame
Returns:
rotation vector of frame2 with respect to frame1 expressed in frame2
Throws:
OrekitException - thrown if conversion is not available


Copyright © 2017 CNES. All Rights Reserved.