|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.orekit.parameter.Parameterizable
fr.cnes.sirius.patrius.assembly.properties.AeroCrossSectionProperty
fr.cnes.sirius.patrius.assembly.properties.AeroSphereProperty
public final class AeroSphereProperty
This class is a sphere property to use with the aerodynamic part property for the PATRIUS assembly.
This property is meant to be used in a LEO average precision aerodynamic context.
See the CNES TTVS book (2002 edition : Volume 3, Module XII, $2.4.1.2 ) for information.
Note that the use of this class implies a constant area which may not be suited for some application such as reentry.
Field Summary |
---|
Fields inherited from class fr.cnes.sirius.patrius.assembly.properties.AeroCrossSectionProperty |
---|
C_X, DEFAULT_C_X |
Constructor Summary | |
---|---|
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. |
Method Summary | |
---|---|
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. |
Methods inherited from class fr.cnes.sirius.patrius.assembly.properties.AeroCrossSectionProperty |
---|
getDragForce, getDragForceDerivativeValue |
Methods inherited from class org.orekit.parameter.Parameterizable |
---|
addParameter, getParameters, supportsParameter |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
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 OrekitException
inSphereArea
- The sphere areadragCoef
- The dragCoef
OrekitException
- 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.Method Detail |
---|
public double getSphereArea()
public double getSphereRadius() throws OrekitException
OrekitException
- 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 property
public PropertyType getType()
IPartProperty
getType
in interface IPartProperty
getType
in class AeroCrossSectionProperty
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |