|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.orekit.parameter.Parameterizable fr.cnes.sirius.patrius.stela.forces.drag.StelaAeroModel
public final class StelaAeroModel
This class represents a STELA aero model, based on a spherical spacecraft.
It contains the STELA algorithm for the drag computation, as well as the STELA algorithm for the computation of the
partial derivatives with respect to position and velocity, in the TNW frame.
As this class is an implementation of the DragSensitive
interface, it is intended to be used in the
StelaAtmosphericDrag
class.
AeroModel
,
StelaAtmosphericDrag
,
Serialized FormConstructor Summary | |
---|---|
StelaAeroModel(double inMass,
StelaCd inCd,
double inSurface)
Constructor to be used when partial derivatives should not be computed. |
|
StelaAeroModel(double inMass,
StelaCd inCd,
double inSurface,
Atmosphere inAtmosphere,
double atmosDX)
Constructor to be used when partial derivatives are computed using the full finite differences method. |
|
StelaAeroModel(double inMass,
StelaCd inCd,
double inSurface,
Atmosphere inAtmosphere,
double atmosDH,
GeodPosition inGeodPosition)
Constructor to be used when partial derivatives are computed using the altitude finite differences method. |
Method Summary | |
---|---|
void |
addDDragAccDParam(SpacecraftState s,
Parameter param,
double density,
Vector3D relativeVelocity,
double[] dAccdParam)
Compute acceleration derivatives with respect to additional parameters (the ballistic coefficient). |
void |
addDDragAccDState(SpacecraftState s,
double[][] dAccdPos,
double[][] dAccdVel,
double density,
Vector3D acceleration,
Vector3D relativeVelocity,
boolean computeGradientPosition,
boolean computeGradientVelocity)
Compute acceleration derivatives with respect to state parameters (position and velocity). |
Vector3D |
dragAcceleration(SpacecraftState state,
double density,
Vector3D relativeVelocity)
Return the drag acceleration in the CIRF frame. |
ArrayList<Parameter> |
getJacobianParameters()
Get the list of all jacobian parameters supported. |
Methods inherited from class org.orekit.parameter.Parameterizable |
---|
addParameter, getParameters, supportsParameter |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public StelaAeroModel(double inMass, StelaCd inCd, double inSurface) throws OrekitException
inMass
- the spacecraft mass.inCd
- the spacecraft drag coefficient.inSurface
- the spacecraft cross section (m2).
OrekitException
- if the frame factory fails.public StelaAeroModel(double inMass, StelaCd inCd, double inSurface, Atmosphere inAtmosphere, double atmosDX) throws OrekitException
inMass
- the spacecraft mass.inCd
- the spacecraft drag coefficient.inSurface
- the spacecraft cross section (m2).inAtmosphere
- the atmospheric modelatmosDX
- dX in atmospheric density derivatives full finite differences computation
OrekitException
- if the frame factory fails.public StelaAeroModel(double inMass, StelaCd inCd, double inSurface, Atmosphere inAtmosphere, double atmosDH, GeodPosition inGeodPosition) throws OrekitException
inMass
- the spacecraft mass.inCd
- the spacecraft drag coefficient.inSurface
- the spacecraft cross section (m2).inAtmosphere
- the atmospheric modelatmosDH
- dH in atmospheric density derivatives altitude finite differences computationinGeodPosition
- the spacecraft geodetic position model
OrekitException
- if the frame factory fails.Method Detail |
---|
public Vector3D dragAcceleration(SpacecraftState state, double density, Vector3D relativeVelocity) throws OrekitException
dragAcceleration
in interface DragSensitive
state
- current state information: date, kinematics, attitudedensity
- atmospheric density at spacecraft positionrelativeVelocity
- relative velocity of atmosphere with respect to spacecraft, in the same inertial frame as spacecraft
orbit (m/s)
OrekitException
- if acceleration cannot be computedDragSensitive.dragAcceleration(org.orekit.propagation.SpacecraftState, double,
org.apache.commons.math3.geometry.euclidean.threed.Vector3D)
public void addDDragAccDParam(SpacecraftState s, Parameter param, double density, Vector3D relativeVelocity, double[] dAccdParam) throws OrekitException
DragSensitive
addDDragAccDParam
in interface DragSensitive
s
- spacecraft stateparam
- parameterdensity
- the atmospheric density valuerelativeVelocity
- the spacecraft velocity relative to the atmospheredAccdParam
- acceleration derivatives with respect to ballistic coefficient
OrekitException
- if derivatives cannot be computedpublic void addDDragAccDState(SpacecraftState s, double[][] dAccdPos, double[][] dAccdVel, double density, Vector3D acceleration, Vector3D relativeVelocity, boolean computeGradientPosition, boolean computeGradientVelocity) throws OrekitException
DragSensitive
addDDragAccDState
in interface DragSensitive
s
- spacecraft statedAccdPos
- acceleration derivatives with respect to position parametersdAccdVel
- acceleration derivatives with respect to velocity parametersdensity
- the atmospheric density valueacceleration
- the spacecraft acceleration in the inertial framerelativeVelocity
- the spacecraft velocity relative to the atmospherecomputeGradientPosition
- true if partial derivatives with respect to position should be computedcomputeGradientVelocity
- true if partial derivatives with respect to position should be computed
OrekitException
- if derivatives cannot be computedpublic ArrayList<Parameter> getJacobianParameters()
getJacobianParameters
in interface JacobianParametersProvider
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |