public final class AeroSphereProperty extends AeroCrossSectionProperty implements IPartProperty
Note that the use of this class implies a constant area which may not be suited for some application such as reentry.
C_X, DEFAULT_C_X
Constructor and Description |
---|
AeroSphereProperty(double inSphereRadius)
Constructor of this property with default value for C_X.
|
AeroSphereProperty(double inSphereRadius,
double dragCoef)
Constructor of this property giving the drag coef.
|
AeroSphereProperty(double inSphereRadius,
double density,
Vector3D relativeVelocity)
Constructor of this property.
|
AeroSphereProperty(double inSphereRadius,
IParamDiffFunction dragCoefFct)
Constructor of this property defining the drag coef as a ParamDiffFunction.
|
AeroSphereProperty(double inSphereRadius,
Parameter dragCoef)
This constructor shall be used for defining the drag coef using
Parameter |
AeroSphereProperty(Parameter inSphereArea,
double dragCoef)
Constructor of this property giving the drag coef without the atmospheric height scale.
|
Modifier and Type | Method and Description |
---|---|
double |
getCrossSection(SpacecraftState state,
Vector3D relativeVelocity,
Frame mainPartFrame,
Frame partFrame)
Compute the cross section of main shape using the relative velocity in the
part (having the aero property) frame as the direction to provider to the
CrossSectionProvider.getCrossSection(Vector3D) . |
double |
getSphereArea()
Get the sphere area.
|
double |
getSphereRadius()
Get the sphere radius.
|
PropertyType |
getType()
Get the type of the property.
|
getDragForce, getDragForceDerivativeValue
addParameter, getParameters, supportsParameter
public AeroSphereProperty(double inSphereRadius, double density, Vector3D relativeVelocity)
AeroCrossSectionProperty
which provide the cross section
computation of the satellite main's part (could be either a sphere, a cylinder or a parallelepiped).
The derivatives are computed using an analytical formula that involves the value of
dRho / dh (the derivative of the atmospheric density with respect to altitude), computed by
finite differences with altitude variation.
Therefore it is possible to compute the derivatives with respect to position
when the considered orbit is highly excentric.inSphereRadius
- The sphere radius.density
- density.relativeVelocity
- relativeVelocity.public AeroSphereProperty(double inSphereRadius)
inSphereRadius
- The sphere radius.public AeroSphereProperty(double inSphereRadius, double dragCoef)
inSphereRadius
- The sphere radius.dragCoef
- The dragCoef.public AeroSphereProperty(Parameter inSphereArea, double dragCoef) throws PatriusException
inSphereArea
- The sphere areadragCoef
- The dragCoefPatriusException
- thrown if parameter if unknownpublic AeroSphereProperty(double inSphereRadius, Parameter dragCoef)
Parameter
inSphereRadius
- The sphere radius.dragCoef
- The dragCoef parameter.public AeroSphereProperty(double inSphereRadius, IParamDiffFunction dragCoefFct)
inSphereRadius
- The sphere radius.dragCoefFct
- The dragCoef parameterizable function.public double getSphereArea()
public double getSphereRadius() throws PatriusException
PatriusException
- thrown if radius is undefined (negative area)public double getCrossSection(SpacecraftState state, Vector3D relativeVelocity, Frame mainPartFrame, Frame partFrame)
AeroCrossSectionProperty
CrossSectionProvider.getCrossSection(Vector3D)
.getCrossSection
in class AeroCrossSectionProperty
state
- the current state of the spacecraftrelativeVelocity
- the spacecraft velocity relative to the atmosphere in state frame.mainPartFrame
- main framepartFrame
- frame of part owning the propertypublic PropertyType getType()
IPartProperty
getType
in interface IPartProperty
getType
in class AeroCrossSectionProperty
Copyright © 2019 CNES. All Rights Reserved.