Package org.orekit.forces.drag
Class IsotropicDrag
- java.lang.Object
-
- org.orekit.forces.drag.IsotropicDrag
-
- All Implemented Interfaces:
DragSensitive
public class IsotropicDrag extends Object implements DragSensitive
This class models isotropic drag effects.The model of this spacecraft is a simple spherical model, this means that all coefficients are constant and do not depend of the direction.
- Since:
- 7.1
- Author:
- Luc Maisonobe
- See Also:
BoxAndSolarArraySpacecraft
,IsotropicRadiationCNES95Convention
-
-
Field Summary
-
Fields inherited from interface org.orekit.forces.drag.DragSensitive
DRAG_COEFFICIENT, LIFT_RATIO
-
-
Constructor Summary
Constructors Constructor Description IsotropicDrag(double crossSection, double dragCoeff)
Constructor with drag coefficient min/max set to ±∞.IsotropicDrag(double crossSection, double dragCoeff, double dragCoeffMin, double dragCoeffMax)
Constructor with drag coefficient min/max set by user.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.hipparchus.geometry.euclidean.threed.Vector3D
dragAcceleration(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, double density, org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity, double[] parameters)
Compute the acceleration due to drag.org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.DerivativeStructure>
dragAcceleration(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, double density, org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity, double[] parameters, String paramName)
Compute acceleration due to drag, with parameters derivatives.<T extends org.hipparchus.RealFieldElement<T>>
org.hipparchus.geometry.euclidean.threed.FieldVector3D<T>dragAcceleration(FieldAbsoluteDate<T> date, Frame frame, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, org.hipparchus.geometry.euclidean.threed.FieldRotation<T> rotation, T mass, T density, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> relativeVelocity, T[] parameters)
Compute the acceleration due to drag.ParameterDriver[]
getDragParametersDrivers()
Get the drivers for supported parameters.
-
-
-
Constructor Detail
-
IsotropicDrag
public IsotropicDrag(double crossSection, double dragCoeff)
Constructor with drag coefficient min/max set to ±∞.- Parameters:
crossSection
- Surface (m²)dragCoeff
- drag coefficient
-
IsotropicDrag
public IsotropicDrag(double crossSection, double dragCoeff, double dragCoeffMin, double dragCoeffMax)
Constructor with drag coefficient min/max set by user.- Parameters:
crossSection
- Surface (m²)dragCoeff
- drag coefficientdragCoeffMin
- Minimum value of drag coefficientdragCoeffMax
- Maximum value of drag coefficient
-
-
Method Detail
-
getDragParametersDrivers
public ParameterDriver[] getDragParametersDrivers()
Get the drivers for supported parameters.- Specified by:
getDragParametersDrivers
in interfaceDragSensitive
- Returns:
- parameters drivers
-
dragAcceleration
public org.hipparchus.geometry.euclidean.threed.Vector3D dragAcceleration(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, double density, org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity, double[] parameters)
Compute the acceleration due to drag.The computation includes all spacecraft specific characteristics like shape, area and coefficients.
- Specified by:
dragAcceleration
in interfaceDragSensitive
- Parameters:
date
- current dateframe
- inertial reference frame for state (both orbit and attitude)position
- position of spacecraft in reference framerotation
- orientation (attitude) of the spacecraft with respect to reference framemass
- current massdensity
- 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²)
-
dragAcceleration
public <T extends org.hipparchus.RealFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> dragAcceleration(FieldAbsoluteDate<T> date, Frame frame, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, org.hipparchus.geometry.euclidean.threed.FieldRotation<T> rotation, T mass, T density, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> relativeVelocity, T[] parameters)
Compute the acceleration due to drag.The computation includes all spacecraft specific characteristics like shape, area and coefficients.
- Specified by:
dragAcceleration
in interfaceDragSensitive
- Type Parameters:
T
- instance of a RealFieldElement- Parameters:
date
- current dateframe
- inertial reference frame for state (both orbit and attitude)position
- position of spacecraft in reference framerotation
- orientation (attitude) of the spacecraft with respect to reference framemass
- current massdensity
- 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²)
-
dragAcceleration
public org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.DerivativeStructure> dragAcceleration(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, double density, org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity, double[] parameters, String paramName)
Compute acceleration due to drag, with parameters derivatives.- Specified by:
dragAcceleration
in interfaceDragSensitive
- Parameters:
date
- current dateframe
- inertial reference frame for state (both orbit and attitude)position
- position of spacecraft in reference framerotation
- orientation (attitude) of the spacecraft with respect to reference framemass
- current massdensity
- 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 parametersparamName
- name of the parameter with respect to which derivatives are required- Returns:
- spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-
-