fr.cnes.sirius.patrius.stela.forces.gravity
Class StelaZonalAttraction

java.lang.Object
  extended by fr.cnes.sirius.patrius.stela.forces.AbstractStelaLagrangeContribution
      extended by fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttraction
All Implemented Interfaces:
StelaForceModel

public class StelaZonalAttraction
extends AbstractStelaLagrangeContribution

Class computing Zonal perturbations

computes Zonal perturbations, short periods and partial derivatives depending on the degree of development asked

The class is adapted from STELA EarthPotentialGTO in fr.cnes.los.stela.elib.business.implementation.earthPotential

Since:
1.3
Version:
$Id: StelaZonalAttraction.java 17584 2017-05-10 13:26:39Z bignon $
Author:
Cedric Dental
Concurrency :
conditionally thread-safe
Concurrency comment :
thread safe if the PotentialCoefficientsProvider used is thread safe

Field Summary
 
Fields inherited from class fr.cnes.sirius.patrius.stela.forces.AbstractStelaLagrangeContribution
dPot
 
Constructor Summary
StelaZonalAttraction(PotentialCoefficientsProvider provider, int inZonalDegreeMaxPerturbation, boolean inIsJ2SquareComputed, int inZonalDegreeMaxSP, int inZonalDegreeMaxPD, boolean inIsJ2SquareParDerComputed)
          Constructor.
 
Method Summary
 double[] computeJ10(StelaEquinoctialOrbit orbit)
          Compute the effect of the 10th degree development of the Zonal Perturbation
 double[] computeJ11(StelaEquinoctialOrbit orbit)
          Compute the effect of the 11th degree development of the Zonal Perturbation
 double[] computeJ12(StelaEquinoctialOrbit orbit)
          Compute the effect of the 12th degree development of the Zonal Perturbation
 double[] computeJ13(StelaEquinoctialOrbit orbit)
          Compute the effect of the 13th degree development of the Zonal Perturbation
 double[] computeJ14(StelaEquinoctialOrbit orbit)
          Compute the effect of the 14th degree development of the Zonal Perturbation
 double[] computeJ15(StelaEquinoctialOrbit orbit)
          Compute the effect of the 15th degree development of the Zonal Perturbation
 double[] computeJ2(StelaEquinoctialOrbit orbit)
          Compute the effect of the 2nd degree development of the Zonal Perturbation
 double[] computeJ2(StelaEquinoctialOrbit orbit, double mu)
          Compute the effect of the 2nd degree development of the Zonal Perturbation with specific mu.
 double[][] computeJ2PartialDerivatives(StelaEquinoctialOrbit orbit)
          Compute the partial derivatives due to J2 Potential effect
 double[] computeJ2ShortPeriods(StelaEquinoctialOrbit orbit)
          Compute the short periods linked to J2 Potential effect
 double[] computeJ2Square(StelaEquinoctialOrbit orbit)
          Compute the effect of the J2² of the Zonal Perturbation.
 double[][] computeJ2SquarePartialDerivatives(StelaEquinoctialOrbit orbit)
          Compute the partial derivatives due to J2² Potential effect
 double[] computeJ3(StelaEquinoctialOrbit orbit)
          Compute the effect of the 3rd degree development of the Zonal Perturbation
 double[] computeJ3(StelaEquinoctialOrbit orbit, double mu)
          Compute the effect of the 3rd degree development of the Zonal Perturbation with specific mu
 double[][] computeJ3PartialDerivatives(StelaEquinoctialOrbit orbit)
          Compute the partial derivatives due to J3 Potential effect
 double[] computeJ4(StelaEquinoctialOrbit orbit)
          Compute the effect of the 4th degree development of the Zonal Perturbation
 double[][] computeJ4PartialDerivatives(StelaEquinoctialOrbit orbit)
          Compute the partial derivatives due to J4 Potential effect
 double[] computeJ5(StelaEquinoctialOrbit orbit)
          Compute the effect of the 5th degree development of the Zonal Perturbation
 double[][] computeJ5PartialDerivatives(StelaEquinoctialOrbit orbit)
          Compute the partial derivatives due to J5 Potential effect
 double[] computeJ6(StelaEquinoctialOrbit orbit)
          Compute the effect of the 6th degree development of the Zonal Perturbation
 double[][] computeJ6PartialDerivatives(StelaEquinoctialOrbit orbit)
          Compute the partial derivatives due to J6 Potential effect
 double[] computeJ7(StelaEquinoctialOrbit orbit)
          Compute the effect of the 7th degree development of the Zonal Perturbation
 double[][] computeJ7PartialDerivatives(StelaEquinoctialOrbit orbit)
          Compute the partial derivatives due to J7 Potential effect
 double[] computeJ8(StelaEquinoctialOrbit orbit)
          Compute the effect of the 8th degree development of the Zonal Perturbation
 double[] computeJ9(StelaEquinoctialOrbit orbit)
          Compute the effect of the 9th degree development of the Zonal Perturbation
 double[][] computePartialDerivatives(StelaEquinoctialOrbit orbit)
          Compute the partial derivatives for a given spacecraft state.
 double[] computePerturbation(StelaEquinoctialOrbit orbit)
          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.
 boolean isJ2SquareComputed()
          Getter for the J22 computation flag.
 boolean isJ2SquareParDerComputed()
          Getter for the J22 partial derivatives computation flag.
 
Methods inherited from class fr.cnes.sirius.patrius.stela.forces.AbstractStelaLagrangeContribution
getdPot, getType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StelaZonalAttraction

public StelaZonalAttraction(PotentialCoefficientsProvider provider,
                            int inZonalDegreeMaxPerturbation,
                            boolean inIsJ2SquareComputed,
                            int inZonalDegreeMaxSP,
                            int inZonalDegreeMaxPD,
                            boolean inIsJ2SquareParDerComputed)
                     throws OrekitException
Constructor.

Parameters:
provider - gravity field coefficients provider
inZonalDegreeMaxPerturbation - degree of development for zonal perturbations (max 15)
inIsJ2SquareComputed - true J2² is computed
inZonalDegreeMaxSP - the degree of development for zonal short periods (max 2)
inZonalDegreeMaxPD - the degree of development for zonal partial derivatives (max 7)
inIsJ2SquareParDerComputed - true partial derivatives from J2 are computed
Throws:
OrekitException - Orekit exception needed for using the provider
Method Detail

computePerturbation

public double[] computePerturbation(StelaEquinoctialOrbit orbit)
Description copied from class: AbstractStelaLagrangeContribution
Compute the dE/dt force derivatives for a given spacecraft state.

Specified by:
computePerturbation in class AbstractStelaLagrangeContribution
Parameters:
orbit - current orbit information: date, kinematics
Returns:
the perturbation dE/dt for the current force

computeShortPeriods

public double[] computeShortPeriods(StelaEquinoctialOrbit orbit)
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

computePartialDerivatives

public double[][] computePartialDerivatives(StelaEquinoctialOrbit orbit)
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

computeJ2

public double[] computeJ2(StelaEquinoctialOrbit orbit)

Compute the effect of the 2nd degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J2 perturbation

computeJ2

public double[] computeJ2(StelaEquinoctialOrbit orbit,
                          double mu)

Compute the effect of the 2nd degree development of the Zonal Perturbation with specific mu.

Parameters:
orbit - an orbit
mu - mu
Returns:
the J2 perturbation

computeJ3

public double[] computeJ3(StelaEquinoctialOrbit orbit)

Compute the effect of the 3rd degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J3 perturbation

computeJ3

public double[] computeJ3(StelaEquinoctialOrbit orbit,
                          double mu)

Compute the effect of the 3rd degree development of the Zonal Perturbation with specific mu

Parameters:
orbit - an orbit
mu - mu
Returns:
the J3 perturbation

computeJ4

public double[] computeJ4(StelaEquinoctialOrbit orbit)

Compute the effect of the 4th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J4 perturbation

computeJ5

public double[] computeJ5(StelaEquinoctialOrbit orbit)

Compute the effect of the 5th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J5 perturbation

computeJ6

public double[] computeJ6(StelaEquinoctialOrbit orbit)

Compute the effect of the 6th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J6 perturbation

computeJ7

public double[] computeJ7(StelaEquinoctialOrbit orbit)

Compute the effect of the 7th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J7 perturbation

computeJ8

public double[] computeJ8(StelaEquinoctialOrbit orbit)

Compute the effect of the 8th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J8 perturbation

computeJ9

public double[] computeJ9(StelaEquinoctialOrbit orbit)

Compute the effect of the 9th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J9 perturbation

computeJ10

public double[] computeJ10(StelaEquinoctialOrbit orbit)

Compute the effect of the 10th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J10 perturbation

computeJ11

public double[] computeJ11(StelaEquinoctialOrbit orbit)

Compute the effect of the 11th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J11 perturbation

computeJ12

public double[] computeJ12(StelaEquinoctialOrbit orbit)

Compute the effect of the 12th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J12 perturbation

computeJ13

public double[] computeJ13(StelaEquinoctialOrbit orbit)

Compute the effect of the 13th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J13 perturbation

computeJ14

public double[] computeJ14(StelaEquinoctialOrbit orbit)

Compute the effect of the 14th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J14 perturbation

computeJ15

public double[] computeJ15(StelaEquinoctialOrbit orbit)

Compute the effect of the 15th degree development of the Zonal Perturbation

Parameters:
orbit - an orbit
Returns:
the J15 perturbation

computeJ2Square

public double[] computeJ2Square(StelaEquinoctialOrbit orbit)

Compute the effect of the J2² of the Zonal Perturbation.

Parameters:
orbit - an orbit
Returns:
the J2² perturbation

computeJ2ShortPeriods

public double[] computeJ2ShortPeriods(StelaEquinoctialOrbit orbit)
Compute the short periods linked to J2 Potential effect

Compute the effect of the short periods generated by the 2nd degree development of the Zonal Perturbation

Parameters:
orbit - the equinoctial orbit
Returns:
shortPeriodsJ2 the J2 short periods

computeJ2PartialDerivatives

public double[][] computeJ2PartialDerivatives(StelaEquinoctialOrbit orbit)
Compute the partial derivatives due to J2 Potential effect

Compute the effect of the partial derivatives due to the 2nd degree development of the Zonal Perturbation

Parameters:
orbit - the equinoctial orbit
Returns:
partialDerivativesJ2 the J2 partial derivatives

computeJ3PartialDerivatives

public double[][] computeJ3PartialDerivatives(StelaEquinoctialOrbit orbit)
Compute the partial derivatives due to J3 Potential effect

Compute the effect of the partial derivatives due to the 3rd degree development of the Zonal Perturbation

Parameters:
orbit - the equinoctial orbit
Returns:
partialDerivativesJ3 the J3 partial derivatives

computeJ4PartialDerivatives

public double[][] computeJ4PartialDerivatives(StelaEquinoctialOrbit orbit)
Compute the partial derivatives due to J4 Potential effect

Compute the effect of the partial derivatives due to the 4th degree development of the Zonal Perturbation

Parameters:
orbit - the equinoctial orbit
Returns:
partialDerivativesJ4 the J4 partial derivatives

computeJ5PartialDerivatives

public double[][] computeJ5PartialDerivatives(StelaEquinoctialOrbit orbit)
Compute the partial derivatives due to J5 Potential effect

Compute the effect of the partial derivatives due to the 5th degree development of the Zonal Perturbation

Parameters:
orbit - the equinoctial orbit
Returns:
partialDerivativesJ5 the J5 partial derivatives

computeJ6PartialDerivatives

public double[][] computeJ6PartialDerivatives(StelaEquinoctialOrbit orbit)
Compute the partial derivatives due to J6 Potential effect

Compute the effect of the partial derivatives due to the 6th degree development of the Zonal Perturbation

Parameters:
orbit - the equinoctial orbit
Returns:
partialDerivativesJ6 the J6 partial derivatives

computeJ7PartialDerivatives

public double[][] computeJ7PartialDerivatives(StelaEquinoctialOrbit orbit)
Compute the partial derivatives due to J7 Potential effect

Compute the effect of the partial derivatives due to the 7th degree development of the Zonal Perturbation

Parameters:
orbit - the equinoctial orbit
Returns:
partialDerivativesJ7 the J7 partial derivatives

computeJ2SquarePartialDerivatives

public double[][] computeJ2SquarePartialDerivatives(StelaEquinoctialOrbit orbit)
Compute the partial derivatives due to J2² Potential effect

Compute the effect of the partial derivatives due to J2² of the Zonal Perturbation

Parameters:
orbit - the equinoctial orbit
Returns:
partialDerivativesJ2Square the J2 partial derivatives

isJ2SquareComputed

public boolean isJ2SquareComputed()
Getter for the J22 computation flag.

Returns:
true if J22 is computed

isJ2SquareParDerComputed

public boolean isJ2SquareParDerComputed()
Getter for the J22 partial derivatives computation flag.

Returns:
true if J22 partial derivatives are computed


Copyright © 2017 CNES. All Rights Reserved.