public class StelaRecurrenceZonalAttraction extends AbstractStelaZonalAttraction
Computes Zonal perturbations, short periods and partial derivatives using recurrence methods depending on the degree of development asked.
The class is adapted from STELA RecurrenceZonalAcc in fr.cnes.los.stela.elib.business.implementation.earthpotential.zonal.
isJ2SquareComputed, zonalDegreeMaxPerturbationdPot| Constructor and Description |
|---|
StelaRecurrenceZonalAttraction(PotentialCoefficientsProvider provider,
int zonalDegreeMaxPerturbation)
Simple constructor.
|
StelaRecurrenceZonalAttraction(PotentialCoefficientsProvider provider,
int zonalDegreeMaxPerturbation,
boolean isJ2SquareComputed,
boolean isNormalizedLegendrePolynomials)
Constructor with J22 flag.
|
| Modifier and Type | Method and Description |
|---|---|
StelaRecurrenceZonalEquation |
buildStelaRecurrenceZonalEquation(StelaEquinoctialOrbit orbit)
Build the
StelaRecurrenceZonalEquation object from this class initialized parameters. |
double[] |
computeJ2Square(StelaEquinoctialOrbit orbit)
Compute the effect of the J2² 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,
OrbitNatureConverter converter)
Compute the short periodic variations for a given spacecraft state.
|
double[] |
derParUdeg22(StelaEquinoctialOrbit orbit)
Partial derivative due to 2nd order Earth potential zonal harmonics (J22).
|
boolean |
isNormalizedLegendrePolynomials()
Indicate if the zonal perturbation are normalized Legendre Polynomials or not.
|
double[] |
nDegZonalPartialDerivatives(StelaRecurrenceZonalEquation zonalEq,
int n)
Compute Jn zonal term (n: order of potential development).
|
getZonalDegreeMaxPerturbation, isJ2SquareComputedgetdPot, getTypepublic StelaRecurrenceZonalAttraction(PotentialCoefficientsProvider provider, int zonalDegreeMaxPerturbation) throws PatriusException
By default, this constructor enables the J2² computation and uses normalized Legendre Polynomials for the zonal perturbation.
provider - Gravity field coefficients providerzonalDegreeMaxPerturbation - degree of development for zonal perturbationsPatriusException - if the requested maximal degree exceeds the available degreeNotPositiveException - if zonalDegreeMaxPerturbation < 0public StelaRecurrenceZonalAttraction(PotentialCoefficientsProvider provider, int zonalDegreeMaxPerturbation, boolean isJ2SquareComputed, boolean isNormalizedLegendrePolynomials) throws PatriusException
provider - Gravity field coefficients providerzonalDegreeMaxPerturbation - degree of development for zonal perturbationsisJ2SquareComputed - if true, J2² is computedisNormalizedLegendrePolynomials - if true, use normalized Legendre Polynomials for the zonal perturbationPatriusException - if the requested maximal degree exceeds the available degreeNotPositiveException - if zonalDegreeMaxPerturbation < 0public double[] computeShortPeriods(StelaEquinoctialOrbit orbit, OrbitNatureConverter converter)
Note: the short periods (forces switches and degrees) are not used for this force model (return 0 array).
orbit - current orbit information: date, kinematicsconverter - converter necessary in some specific case (drag short periods computation)public double[][] computePartialDerivatives(StelaEquinoctialOrbit orbit) throws PatriusException
orbit - current orbit information: date, kinematicsPatriusException - if partial derivatives computation failspublic double[] computePerturbation(StelaEquinoctialOrbit orbit) throws PatriusException
computePerturbation in class AbstractStelaLagrangeContributionorbit - current orbit information: date, kinematicsPatriusException - if perturbation computation failspublic double[] computeJ2Square(StelaEquinoctialOrbit orbit) throws PatriusException
computeJ2Square in class AbstractStelaZonalAttractionorbit - an orbitPatriusException - if the provider doesn't support 2nd degreepublic StelaRecurrenceZonalEquation buildStelaRecurrenceZonalEquation(StelaEquinoctialOrbit orbit)
StelaRecurrenceZonalEquation object from this class initialized parameters.StelaRecurrenceZonalEquation objectpublic double[] nDegZonalPartialDerivatives(StelaRecurrenceZonalEquation zonalEq, int n)
zonalEq - zonal termsn - orderpublic double[] derParUdeg22(StelaEquinoctialOrbit orbit) throws PatriusException
orbit - a position-velocity in equinoctial parametersPatriusException - if the provider doesn't support 2nd degreepublic boolean isNormalizedLegendrePolynomials()
true if the zonal perturbation are normalized Legendre Polynomials, false otherwiseCopyright © 2025 CNES. All rights reserved.