Package org.orekit.forces.drag
Interface DragSensitive
-
- All Known Implementing Classes:
BoxAndSolarArraySpacecraft
,IsotropicDrag
public interface DragSensitive
Interface for spacecraft that are sensitive to atmospheric drag forces.- Author:
- Luc Maisonobe, Pascal Parraud
- See Also:
DragForce
-
-
Field Summary
Fields Modifier and Type Field Description static String
DRAG_COEFFICIENT
Parameter name for drag coefficient.static String
GLOBAL_DRAG_FACTOR
Parameter name for global multiplicative factor.static String
LIFT_RATIO
Parameter name for lift ration enabling Jacobian processing.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
dependsOnAttitudeRate()
Check if model depends on attitude's rotation rate or acceleration at a given, fixed date.<T extends CalculusFieldElement<T>>
FieldVector3D<T>dragAcceleration(FieldSpacecraftState<T> state, T density, FieldVector3D<T> relativeVelocity, T[] parameters)
Compute the acceleration due to drag.Vector3D
dragAcceleration(SpacecraftState state, double density, Vector3D relativeVelocity, double[] parameters)
Compute the acceleration due to drag.List<ParameterDriver>
getDragParametersDrivers()
Get the drivers for supported parameters.
-
-
-
Field Detail
-
GLOBAL_DRAG_FACTOR
static final String GLOBAL_DRAG_FACTOR
Parameter name for global multiplicative factor.- Since:
- 12.0
- See Also:
- Constant Field Values
-
DRAG_COEFFICIENT
static final String DRAG_COEFFICIENT
Parameter name for drag coefficient.- See Also:
- Constant Field Values
-
LIFT_RATIO
static final String LIFT_RATIO
Parameter name for lift ration enabling Jacobian processing.The lift ratio is the proportion of atmosphere modecules that will experience specular reflection when hitting spacecraft instead of experiencing diffuse reflection. The ratio is between 0 and 1, 0 meaning there are no specular reflection, only diffuse reflection, and hence no lift effect.
- Since:
- 9.0
- See Also:
- Constant Field Values
-
-
Method Detail
-
dependsOnAttitudeRate
default boolean dependsOnAttitudeRate()
Check if model depends on attitude's rotation rate or acceleration at a given, fixed date. If false, it essentially means that at most the attitude's rotation is used when computing the acceleration vector. The default implementation returns false as common models for orbital mechanics do not.- Returns:
- true if force model depends on attitude derivatives
- Since:
- 12.1
-
getDragParametersDrivers
List<ParameterDriver> getDragParametersDrivers()
Get the drivers for supported parameters.- Returns:
- parameters drivers
- Since:
- 8.0
-
dragAcceleration
Vector3D dragAcceleration(SpacecraftState state, double density, Vector3D relativeVelocity, double[] parameters)
Compute the acceleration due to drag.The computation includes all spacecraft specific characteristics like shape, area and coefficients.
- Parameters:
state
- current statedensity
- atmospheric density at spacecraft positionrelativeVelocity
- relative velocity of atmosphere with respect to spacecraft, in the same inertial frame as spacecraft orbit (m/s)parameters
- values of the force model parameters- Returns:
- spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
- Since:
- 12.0
-
dragAcceleration
<T extends CalculusFieldElement<T>> FieldVector3D<T> dragAcceleration(FieldSpacecraftState<T> state, T density, FieldVector3D<T> relativeVelocity, T[] parameters)
Compute the acceleration due to drag.The computation includes all spacecraft specific characteristics like shape, area and coefficients.
- Type Parameters:
T
- instance of a CalculusFieldElement- Parameters:
state
- current statedensity
- atmospheric density at spacecraft positionrelativeVelocity
- relative velocity of atmosphere with respect to spacecraft, in the same inertial frame as spacecraft orbit (m/s)parameters
- values of the force model parameters- Returns:
- spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
- Since:
- 12.0
-
-