public final class AeroModel extends Parameterizable implements DragSensitive
| Constructor and Description |
|---|
AeroModel(Assembly inAssembly)
Aero model (the acceleration is computed from all the sub parts of the vehicle) default constructor.
|
AeroModel(Assembly inAssembly,
Atmosphere inAtmosphere,
OneAxisEllipsoid inGeodPos)
Aero model (the acceleration is computed from all the sub parts of the vehicle) with default step for finite
differences computation.
|
AeroModel(Assembly inAssembly,
Atmosphere inAtmosphere,
OneAxisEllipsoid earthShapeIn,
double altStep)
Aero model (the acceleration is computed from all the sub parts of the vehicle) with an
Atmosphere model
and a OneAxisEllipsoid for acceleration partial derivatives computation with respect to state by finite
differences(including density partial derivatives). |
| Modifier and Type | Method and Description |
|---|---|
void |
addDDragAccDParam(SpacecraftState s,
Parameter param,
double density,
Vector3D relativeVelocity,
double[] dAccdParam)
Compute acceleration derivatives with respect to 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).
|
DragSensitive |
copy(Assembly newAssembly)
Copy drag sensitive object using new assembly.
|
Vector3D |
dragAcceleration(SpacecraftState state,
double density,
Vector3D relativeVelocity)
Method to compute the aero acceleration, based on the assembly.
|
protected static Vector3D |
forceOnFacet(SpacecraftState state,
IPart part,
Assembly assembly,
double density,
Vector3D relativeVelocity)
Method to compute the force for a plane model.
|
protected static Vector3D |
forceOnSphere(SpacecraftState state,
IPart part,
double density,
Vector3D relativeVelocity,
Frame mainPartFrame)
Method to compute the force for the part model (cylinder, parallelepiped, sphere).
|
ArrayList<Parameter> |
getJacobianParameters()
Get the list of all jacobian parameters supported.
|
addAllParameters, addAllParameters, addParameter, getParameters, supportsParameterpublic AeroModel(Assembly inAssembly, Atmosphere inAtmosphere, OneAxisEllipsoid earthShapeIn, double altStep)
Atmosphere model
and a OneAxisEllipsoid for acceleration partial derivatives computation with respect to state by finite
differences(including density partial derivatives).inAssembly - The considered vehicleinAtmosphere - the atmospheric modelearthShapeIn - the spacecraft geodetic position modelaltStep - atmospheric density derivatives altitude finite differences computationpublic AeroModel(Assembly inAssembly, Atmosphere inAtmosphere, OneAxisEllipsoid inGeodPos)
inAssembly - The considered vehicleinAtmosphere - the atmospheric modelinGeodPos - the spacecraft geodetic position modelpublic AeroModel(Assembly inAssembly)
Warning: This constructor should not be used if partial derivatives have to be computed.
inAssembly - The considered vehiclepublic Vector3D dragAcceleration(SpacecraftState state, double density, Vector3D relativeVelocity) throws PatriusException
dragAcceleration in interface DragSensitivestate - the current state of the spacecraft.density - the atmosphere density.relativeVelocity - the spacecraft velocity relative to the atmosphere.PatriusException - if an error occursprotected static Vector3D forceOnFacet(SpacecraftState state, IPart part, Assembly assembly, double density, Vector3D relativeVelocity) throws PatriusException
state - the current state of the spacecraft.part - the current part of the assembly.assembly - the assembly.density - the atmosphere density.relativeVelocity - the spacecraft velocity relative to the atmosphere.PatriusException - orekit frame exceptionprotected static Vector3D forceOnSphere(SpacecraftState state, IPart part, double density, Vector3D relativeVelocity, Frame mainPartFrame) throws PatriusException
state - the current state of the spacecraft.part - the current part of the assembly.density - the atmosphere density.relativeVelocity - the spacecraft velocity relative to the atmosphere.mainPartFrame - mainPartFramePatriusException - if no attitude is definedpublic void addDDragAccDParam(SpacecraftState s, Parameter param, double density, Vector3D relativeVelocity, double[] dAccdParam) throws PatriusException
addDDragAccDParam in interface DragSensitives - the SpacecraftState.param - name of parameter.density - the atmosphere density.relativeVelocity - the spacecraft velocity relative to the atmosphere.dAccdParam - acceleration derivatives with respect to ballistic coefficient.PatriusException - if derivatives cannot be computedpublic void addDDragAccDState(SpacecraftState s, double[][] dAccdPos, double[][] dAccdVel, double density, Vector3D acceleration, Vector3D relativeVelocity, boolean computeGradientPosition, boolean computeGradientVelocity) throws PatriusException
addDDragAccDState in interface DragSensitives - 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 - relative velocity of atmosphere with respect to spacecraft,
in the same inertial frame as spacecraft orbit (m/s)computeGradientPosition - true if partial derivatives with respect to position should be computedcomputeGradientVelocity - true if partial derivatives with respect to position should be computedPatriusException - if derivatives cannot be computedpublic ArrayList<Parameter> getJacobianParameters()
getJacobianParameters in interface JacobianParametersProviderpublic DragSensitive copy(Assembly newAssembly)
copy in interface DragSensitivenewAssembly - new assemblyCopyright © 2024 CNES. All rights reserved.