public class SRPSquaring extends AbstractStelaGaussContribution
AbstractStelaGaussContribution
,
Serialized FormModifier and Type | Field and Description |
---|---|
static int |
DEFAULT_QUADRATURE_POINTS
Default quadrature points
|
dPert
Constructor and Description |
---|
SRPSquaring(RadiationSensitive radiativeSpacecraft,
int quadraturePoints,
PVCoordinatesProvider sunBody,
double earthRadius)
Create an instance with an assembly and a number of points.
|
SRPSquaring(RadiationSensitive radiativeSpacecraft,
int quadraturePoints,
PVCoordinatesProvider sunBody,
double earthRadius,
double dRef,
double pRef)
Create an instance with an assembly and a number of points.
|
SRPSquaring(RadiationSensitive radiativeSpacecraft,
int quadraturePoints,
PVCoordinatesProvider sunBody,
double earthRadius,
double dRef,
double pRef,
int orderFS)
Create an instance with an assembly and a number of points.
|
SRPSquaring(RadiationSensitive radiativeSpacecraft,
PVCoordinatesProvider sunBody,
double earthRadius)
Create an instance with an assembly and a number of points.
|
Modifier and Type | Method and Description |
---|---|
Vector3D |
computeAcceleration(StelaEquinoctialOrbit orbit,
PVCoordinates satSunVector)
Compute the acceleration due to the force.
|
protected double[] |
computeInOutEccentricAnom(StelaEquinoctialOrbit orbit,
double startPoint,
double endPoint)
Computation of In/Out eccentric anomalies.
|
protected double[] |
computeInOutTrueAnom(StelaEquinoctialOrbit orbit,
PVCoordinates sunPV)
Computation of in and out true anomalies of the shadowed part of the orbit.
|
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,
OrbitNatureConverter converter)
Compute the short periodic variations for a given spacecraft state.
|
protected double[] |
computeSunBetaPhi(StelaEquinoctialOrbit orbit,
PVCoordinates sunPV)
Computation of Sun's right ascension (φ) and declination (β) wrt the orbit plane.
|
protected Vector3D |
getFlux(Orbit orbit,
PVCoordinates satSunVect)
Get the solar flux vector.
|
protected int |
getPolyOrder(double a0,
double a1,
double a2,
double a3,
double a4)
Determination of the order of A4*s4 + A3*s3 +
A2*s2 + A1*s1 + A0 .
|
protected double[] |
rootsFiltering(Complex[] roots)
Filtering of computed roots.
|
protected Complex[] |
solveBiquadratic(double c4,
double c2,
double c0)
Solves the equation c4x4 + c2x2 + c0 = 0.
|
protected Complex[] |
solvePolyDeg2(Complex c2,
Complex c1,
Complex c0)
Solves the complex equation c2x2 + c1x + c0 = 0.
|
protected Complex[] |
solvePolyDeg3(double c3,
double c2,
double c1,
double c0)
Solves the equation c3x3 + c2x2 + c1x + c0 = 0.
|
protected Complex[] |
solvePolyDeg4(double c4,
double c3,
double c2,
double c1,
double c0)
Solves the equation c4x4 + c3x3 + c2x2 +
c1x + c0 = 0.
|
computeCoeffs, computeGaussDerivativeEquations, computeGaussEquations, computeQuadElements, evaluateFS, getdPert, getType
public static final int DEFAULT_QUADRATURE_POINTS
public SRPSquaring(RadiationSensitive radiativeSpacecraft, PVCoordinatesProvider sunBody, double earthRadius)
Fourier Series order for short periods computation is set to default value: 10.
radiativeSpacecraft
- the radiative spacecraftsunBody
- the sunearthRadius
- earth's equatorial radiuspublic SRPSquaring(RadiationSensitive radiativeSpacecraft, int quadraturePoints, PVCoordinatesProvider sunBody, double earthRadius)
Fourier Series order for short periods computation is set to default value: 10.
radiativeSpacecraft
- the radiative spacecraftquadraturePoints
- the number of points for quadraturesunBody
- the sunearthRadius
- earth's equatorial radiuspublic SRPSquaring(RadiationSensitive radiativeSpacecraft, int quadraturePoints, PVCoordinatesProvider sunBody, double earthRadius, double dRef, double pRef)
Fourier Series order for short periods computation is set to default value: 10.
radiativeSpacecraft
- the radiative spacecraftquadraturePoints
- the number of points for quadraturesunBody
- the sunearthRadius
- earth's equatorial radiusdRef
- reference distance for the solar radiation pressure (m)pRef
- reference solar radiation pressure at dRef (N/m2)public SRPSquaring(RadiationSensitive radiativeSpacecraft, int quadraturePoints, PVCoordinatesProvider sunBody, double earthRadius, double dRef, double pRef, int orderFS)
radiativeSpacecraft
- the radiative spacecraftquadraturePoints
- the number of points for quadraturesunBody
- the sunearthRadius
- earth's equatorial radiusdRef
- reference distance for the solar radiation pressure (m)pRef
- reference solar radiation pressure at dRef (N/m2)orderFS
- Fourier Series order for short periods computationpublic double[] computePerturbation(StelaEquinoctialOrbit orbit, OrbitNatureConverter converter) throws PatriusException
computePerturbation
in class AbstractStelaGaussContribution
orbit
- current orbit information: date, kinematicsconverter
- mean / osculating parameters converterPatriusException
- if perturbation computation failspublic Vector3D computeAcceleration(StelaEquinoctialOrbit orbit, PVCoordinates satSunVector) throws PatriusException
orbit
- an orbitsatSunVector
- Satellite - Sun vector coordinatesorbit reference frame
PatriusException
- if some specific error occursprotected Vector3D getFlux(Orbit orbit, PVCoordinates satSunVect)
orbit
- an orbitsatSunVect
- Satellite - Sun vectorprotected double[] computeInOutTrueAnom(StelaEquinoctialOrbit orbit, PVCoordinates sunPV) throws PatriusException
orbit
- an orbitsunPV
- Sun coordinatesPatriusException
- if computation of declination and right ascension of the Sun failsprotected double[] computeInOutEccentricAnom(StelaEquinoctialOrbit orbit, double startPoint, double endPoint)
orbit
- a position velocitystartPoint
- starting true anomaly of the considered part of the orbitendPoint
- ending true anomaly of the considered part of the orbitprotected double[] rootsFiltering(Complex[] roots)
roots
- roots of a polynomialprotected Complex[] solvePolyDeg2(Complex c2, Complex c1, Complex c0)
c2
- coefficient of order 2c1
- coefficient of order 1c0
- coefficient of order 0protected Complex[] solvePolyDeg3(double c3, double c2, double c1, double c0)
c3
- coefficient of order 3c2
- coefficient of order 2c1
- coefficient of order 1c0
- coefficient of order 0protected Complex[] solveBiquadratic(double c4, double c2, double c0)
c4
- coefficient of order 4c2
- coefficient of order 2c0
- coefficient of order 0protected Complex[] solvePolyDeg4(double c4, double c3, double c2, double c1, double c0)
c4
- coefficient of order 4c3
- coefficient of order 3c2
- coefficient of order 2c1
- coefficient of order 1c0
- coefficient of order 0protected int getPolyOrder(double a0, double a1, double a2, double a3, double a4)
a0
- coefficient of order 0a1
- coefficient of order 1a2
- coefficient of order 2a3
- coefficient of order 3a4
- coefficient of order 4protected double[] computeSunBetaPhi(StelaEquinoctialOrbit orbit, PVCoordinates sunPV) throws PatriusException
orbit
- orbitsunPV
- the sun PV coordinatesPatriusException
- if sun position cannot be computed raised if beta computation failspublic double[] computeShortPeriods(StelaEquinoctialOrbit orbit, OrbitNatureConverter converter) throws PatriusException
orbit
- current orbit information: date, kinematicsconverter
- converter necessary in some specific case (drag short periods computation)PatriusException
- if short periods computation failspublic double[][] computePartialDerivatives(StelaEquinoctialOrbit orbit) throws PatriusException
orbit
- current orbit information: date, kinematicsPatriusException
- if partial derivatives computation failsCopyright © 2023 CNES. All rights reserved.