org.orekit.forces.drag
Interface DragSensitive

All Superinterfaces:
JacobianParametersProvider, Serializable
All Known Implementing Classes:
AeroModel, DragLiftModel, GlobalAeroModel, StelaAeroModel

public interface DragSensitive
extends Serializable, JacobianParametersProvider

Interface for spacecraft that are sensitive to atmospheric drag and lift forces.

Author:
Luc Maisonobe, Pascal Parraud
See Also:
DragForce

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)
          Compute the acceleration due to drag and the lift.
 
Methods inherited from interface org.orekit.propagation.numerical.JacobianParametersProvider
getJacobianParameters
 

Method Detail

dragAcceleration

Vector3D dragAcceleration(SpacecraftState state,
                          double density,
                          Vector3D relativeVelocity)
                          throws OrekitException
Compute the acceleration due to drag and the lift.

The computation includes all spacecraft specific characteristics like shape, area and coefficients.

Parameters:
state - current state information: date, kinematics, attitude
density - atmospheric density at spacecraft position
relativeVelocity - relative velocity of atmosphere with respect to spacecraft, in the same inertial frame as spacecraft orbit (m/s)
Returns:
spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s2)
Throws:
OrekitException - if acceleration cannot be computed

addDDragAccDParam

void addDDragAccDParam(SpacecraftState s,
                       Parameter param,
                       double density,
                       Vector3D relativeVelocity,
                       double[] dAccdParam)
                       throws OrekitException
Compute acceleration derivatives with respect to additional parameters (the ballistic coefficient).

Parameters:
s - spacecraft state
param - parameter
density - the atmospheric density value
relativeVelocity - the spacecraft velocity relative to the atmosphere
dAccdParam - acceleration derivatives with respect to ballistic coefficient
Throws:
OrekitException - if derivatives cannot be computed

addDDragAccDState

void addDDragAccDState(SpacecraftState s,
                       double[][] dAccdPos,
                       double[][] dAccdVel,
                       double density,
                       Vector3D acceleration,
                       Vector3D relativeVelocity,
                       boolean computeGradientPosition,
                       boolean computeGradientVelocity)
                       throws OrekitException
Compute acceleration derivatives with respect to state parameters (position and velocity).

Parameters:
s - spacecraft state
dAccdPos - acceleration derivatives with respect to position parameters
dAccdVel - acceleration derivatives with respect to velocity parameters
density - the atmospheric density value
acceleration - the spacecraft acceleration in the inertial frame
relativeVelocity - the spacecraft velocity relative to the atmosphere
computeGradientPosition - true if partial derivatives with respect to position should be computed
computeGradientVelocity - true if partial derivatives with respect to position should be computed
Throws:
OrekitException - if derivatives cannot be computed


Copyright © 2016 CNES. All Rights Reserved.