public class IsotropicDrag extends Object implements DragSensitive
The model of this spacecraft is a simple spherical model, this means that all coefficients are constant and do not depend of the direction.
BoxAndSolarArraySpacecraft
,
IsotropicRadiationCNES95Convention
DRAG_COEFFICIENT, LIFT_RATIO
Constructor and 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.
|
Modifier and Type | Method and 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>> |
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.
|
public IsotropicDrag(double crossSection, double dragCoeff)
crossSection
- Surface (m²)dragCoeff
- drag coefficientpublic IsotropicDrag(double crossSection, double dragCoeff, double dragCoeffMin, double dragCoeffMax)
crossSection
- Surface (m²)dragCoeff
- drag coefficientdragCoeffMin
- Minimum value of drag coefficientdragCoeffMax
- Maximum value of drag coefficientpublic ParameterDriver[] getDragParametersDrivers()
getDragParametersDrivers
in interface DragSensitive
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)
The computation includes all spacecraft specific characteristics like shape, area and coefficients.
dragAcceleration
in interface DragSensitive
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 parameterspublic <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) throws OrekitException
The computation includes all spacecraft specific characteristics like shape, area and coefficients.
dragAcceleration
in interface DragSensitive
T
- instance of a RealFieldElementdate
- 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 parametersOrekitException
- if acceleration cannot be computedpublic 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) throws OrekitException
dragAcceleration
in interface DragSensitive
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 requiredOrekitException
- if derivatives cannot be computedCopyright © 2002-2017 CS Systèmes d'information. All rights reserved.