public final class DragLiftModel extends Parameterizable implements DragSensitive
Constructor and Description |
---|
DragLiftModel(Assembly inAssembly)
Aero drag and lift model (the acceleration is computed from all the sub parts of the vehicle).
|
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.
|
ArrayList<Parameter> |
getJacobianParameters()
Get the list of all jacobian parameters supported.
|
addParameter, getParameters, supportsParameter
public DragLiftModel(Assembly inAssembly)
inAssembly
- The considered vehicle.public ArrayList<Parameter> getJacobianParameters()
getJacobianParameters
in interface JacobianParametersProvider
public Vector3D dragAcceleration(SpacecraftState state, double density, Vector3D relativeVelocity) throws PatriusException
dragAcceleration
in interface DragSensitive
state
- the current state of the spacecraft.density
- the atmosphere density.relativeVelocity
- the spacecraft velocity relative to the atmosphere in the spacecraftstate reference frame.PatriusException
- if acceleration cannot be computed.public void addDDragAccDParam(SpacecraftState s, Parameter param, double density, Vector3D relativeVelocity, double[] dAccdParam) throws PatriusException
addDDragAccDParam
in interface DragSensitive
s
- SpacecraftStateparam
- name of parameterdensity
- 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 DragSensitive
s
- 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 DragSensitive copy(Assembly newAssembly)
copy
in interface DragSensitive
newAssembly
- new assemblyCopyright © 2021 CNES. All rights reserved.