public class TerrestrialTides extends AbstractTides
The implementation of this class enables the computation of partial derivatives by finite differences with respect to the central attraction coefficient.
bodyFrame, coefficientsC, coefficientsCPD, coefficientsS, coefficientsSPD, MU, paramAe, paramMu, RADIUS
Constructor and Description |
---|
TerrestrialTides(Frame centralBodyFrame,
double equatorialRadius,
double mu)
Creates a new instance.
|
TerrestrialTides(Frame centralBodyFrame,
double equatorialRadius,
double mu,
boolean computePD)
Creates a new instance.
|
TerrestrialTides(Frame centralBodyFrame,
double equatorialRadius,
double mu,
List<CelestialBody> bodies,
boolean thirdBodyAttDegree3,
boolean frequencyCorr,
boolean ellipticityCorr,
ITerrestrialTidesDataProvider terrestrialData)
Creates a new instance.
|
TerrestrialTides(Frame centralBodyFrame,
double equatorialRadius,
double mu,
List<CelestialBody> bodies,
boolean thirdBodyAttDegree3,
boolean frequencyCorr,
boolean ellipticityCorr,
ITerrestrialTidesDataProvider terrestrialData,
boolean computePD)
Creates a new instance.
|
TerrestrialTides(Frame centralBodyFrame,
Parameter equatorialRadius,
Parameter mu)
Creates a new instance.
|
TerrestrialTides(Frame centralBodyFrame,
Parameter equatorialRadius,
Parameter mu,
boolean computePD)
Creates a new instance.
|
TerrestrialTides(Frame centralBodyFrame,
Parameter equatorialRadius,
Parameter mu,
List<CelestialBody> bodies,
boolean thirdBodyAttDegree3,
boolean frequencyCorr,
boolean ellipticityCorr,
ITerrestrialTidesDataProvider terrestrialData)
Creates a new instance using
Parameter . |
TerrestrialTides(Frame centralBodyFrame,
Parameter equatorialRadius,
Parameter mu,
List<CelestialBody> bodies,
boolean thirdBodyAttDegree3,
boolean frequencyCorr,
boolean ellipticityCorr,
ITerrestrialTidesDataProvider terrestrialData,
boolean computePD)
Creates a new instance using
Parameter . |
Modifier and Type | Method and Description |
---|---|
void |
checkData(AbsoluteDate start,
AbsoluteDate end)
This methods throws an exception if the user did not provide all the required data to perform model call on
provided range [start; end].
|
boolean |
computeGradientPosition()
This method returns true if the acceleration partial derivatives with
respect to position have to be computed.
|
void |
updateCoefficientsCandS(AbsoluteDate date)
Update the C and the S coefficients for acceleration computation.
|
void |
updateCoefficientsCandSPD(AbsoluteDate date)
Update the C and the S coefficients for partial derivatives computation.
|
addContribution, addDAccDParam, addDAccDState, computeAcceleration, computeAcceleration, computeGradientVelocity, getEventsDetectors
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameter
addAllParameters, addAllParameters, addParameter, getParameters, supportsParameter
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameters, supportsParameter
public TerrestrialTides(Frame centralBodyFrame, double equatorialRadius, double mu, List<CelestialBody> bodies, boolean thirdBodyAttDegree3, boolean frequencyCorr, boolean ellipticityCorr, ITerrestrialTidesDataProvider terrestrialData) throws PatriusException
centralBodyFrame
- rotating body frameequatorialRadius
- reference equatorial radius of the potentialmu
- central body attraction coefficient (m3/s2)bodies
- perturbing bodiesthirdBodyAttDegree3
- if true the perturbation of tidal potential are taken into account up to degree 3frequencyCorr
- if true the frequency correction is appliedellipticityCorr
- if true the ellipticity correction is appliedterrestrialData
- terrestrial tide dataIllegalArgumentException
- if coefficients array do not matchPatriusException
- if a perturbing celestial body cannot be builtpublic TerrestrialTides(Frame centralBodyFrame, double equatorialRadius, double mu, List<CelestialBody> bodies, boolean thirdBodyAttDegree3, boolean frequencyCorr, boolean ellipticityCorr, ITerrestrialTidesDataProvider terrestrialData, boolean computePD) throws PatriusException
centralBodyFrame
- rotating body frameequatorialRadius
- reference equatorial radius of the potentialmu
- central body attraction coefficient (m3/s2)bodies
- perturbing bodiesthirdBodyAttDegree3
- if true the perturbation of tidal potential are taken into account up to degree 3frequencyCorr
- if true the frequency correction is appliedellipticityCorr
- if true the ellipticity correction is appliedterrestrialData
- terrestrial tide datacomputePD
- if partial derivatives wrt position have to be computedIllegalArgumentException
- if coefficients array do not matchPatriusException
- if a perturbing celestial body cannot be builtpublic TerrestrialTides(Frame centralBodyFrame, Parameter equatorialRadius, Parameter mu, List<CelestialBody> bodies, boolean thirdBodyAttDegree3, boolean frequencyCorr, boolean ellipticityCorr, ITerrestrialTidesDataProvider terrestrialData) throws PatriusException
Parameter
. It is possible to consider several perturbing bodies. The
correction due to the tidal potential is taken into account up to degree 2 and 3 if it is specified by the user.
It is also possible to activate the frequency correction and the ellipticity correction.centralBodyFrame
- rotating body frameequatorialRadius
- reference equatorial radius of the potential parametermu
- central body attraction coefficient (m3/s2) parameterbodies
- perturbing bodiesthirdBodyAttDegree3
- if true the perturbation of tidal potential are taken into account up to degree 3frequencyCorr
- if true the frequency correction is appliedellipticityCorr
- if true the ellipticity correction is appliedterrestrialData
- terrestrial tide dataIllegalArgumentException
- if coefficients array do not matchPatriusException
- if a perturbing celestial body cannot be builtpublic TerrestrialTides(Frame centralBodyFrame, Parameter equatorialRadius, Parameter mu, List<CelestialBody> bodies, boolean thirdBodyAttDegree3, boolean frequencyCorr, boolean ellipticityCorr, ITerrestrialTidesDataProvider terrestrialData, boolean computePD) throws PatriusException
Parameter
. It is possible to consider several perturbing bodies. The
correction due to the tidal potential is taken into account up to degree 2 and 3 if it is specified by the user.
It is also possible to activate the frequency correction and the ellipticity correction.centralBodyFrame
- rotating body frameequatorialRadius
- reference equatorial radius of the potential as a parametermu
- central body attraction coefficient (m3/s2) as a parameterbodies
- perturbing bodiesthirdBodyAttDegree3
- if true the perturbation of tidal potential are taken into account up to degree 3frequencyCorr
- if true the frequency correction is appliedellipticityCorr
- if true the ellipticity correction is appliedterrestrialData
- terrestrial tide datacomputePD
- true if partial derivatives wrt position have to be computedIllegalArgumentException
- if coefficients array do not matchPatriusException
- if a perturbing celestial body cannot be builtpublic TerrestrialTides(Frame centralBodyFrame, double equatorialRadius, double mu) throws PatriusException
centralBodyFrame
- rotating body frameequatorialRadius
- reference equatorial radius of the potentialmu
- central body attraction coefficient (m3/s2)IllegalArgumentException
- if coefficients array do not matchPatriusException
- if a perturbing celestial body cannot be builtpublic TerrestrialTides(Frame centralBodyFrame, double equatorialRadius, double mu, boolean computePD) throws PatriusException
centralBodyFrame
- rotating body frameequatorialRadius
- reference equatorial radius of the potentialmu
- central body attraction coefficient (m3/s2)computePD
- true if partial derivatives wrt position have to be computedIllegalArgumentException
- if coefficients array do not matchPatriusException
- if a perturbing celestial body cannot be builtpublic TerrestrialTides(Frame centralBodyFrame, Parameter equatorialRadius, Parameter mu) throws PatriusException
centralBodyFrame
- rotating body frameequatorialRadius
- reference equatorial radius of the potential parametermu
- central body attraction coefficient (m3/s2) parameterIllegalArgumentException
- if coefficients array do not matchPatriusException
- if a perturbing celestial body cannot be builtpublic TerrestrialTides(Frame centralBodyFrame, Parameter equatorialRadius, Parameter mu, boolean computePD) throws PatriusException
centralBodyFrame
- rotating body frameequatorialRadius
- reference equatorial radius of the potential parametermu
- central body attraction coefficient (m3/s2) parametercomputePD
- true if partial derivatives have to be computedIllegalArgumentException
- if coefficients array do not matchPatriusException
- if a perturbing celestial body cannot be builtpublic void updateCoefficientsCandS(AbsoluteDate date) throws PatriusException
updateCoefficientsCandS
in interface PotentialTimeVariations
updateCoefficientsCandS
in class AbstractTides
date
- : datePatriusException
- if position cannot be computed in given framepublic void updateCoefficientsCandSPD(AbsoluteDate date) throws PatriusException
updateCoefficientsCandSPD
in interface PotentialTimeVariations
updateCoefficientsCandSPD
in class AbstractTides
date
- : datePatriusException
- if position cannot be computed in given framepublic boolean computeGradientPosition()
public void checkData(AbsoluteDate start, AbsoluteDate end) throws PatriusException
start
- range start dateend
- range end datePatriusException
- thrown if some data is missingCopyright © 2023 CNES. All rights reserved.