fr.cnes.sirius.patrius.assembly.properties
Class AeroCrossSectionProperty

java.lang.Object
  extended by org.orekit.parameter.Parameterizable
      extended by fr.cnes.sirius.patrius.assembly.properties.AeroCrossSectionProperty
All Implemented Interfaces:
IPartProperty, Serializable, IParameterizable
Direct Known Subclasses:
AeroSphereProperty

public class AeroCrossSectionProperty
extends Parameterizable
implements IPartProperty

This class is a cross section property providing the cross section of shapes such as sphere, cylinder or parallelepiped. This cross section is to be used in aero models for drag force computation.

Since:
3.4
Version:
$Id: AeroCrossSectionProperty.java 17588 2017-05-10 13:31:54Z bignon $
Author:
rodriguest
See Also:
Serialized Form
Concurrency :
immutable

Field Summary
static String C_X
          Default drag force coefficient parameter name.
static double DEFAULT_C_X
          Default normal force coefficient value.
 
Constructor Summary
AeroCrossSectionProperty(CrossSectionProvider shape)
          Constructor of this property with default value for C_X.
AeroCrossSectionProperty(CrossSectionProvider shape, double dragCoef)
          Constructor of this property giving the drag coef.
AeroCrossSectionProperty(CrossSectionProvider shape, IParamDiffFunction dragCoefFct)
          Constructor of this property defining the drag coef as a IParamDiffFunction.
AeroCrossSectionProperty(CrossSectionProvider shape, Parameter dragCoefFct)
          Constructor of this property defining the drag coef as a IParamDiffFunction.
 
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).
 IParamDiffFunction getDragForce()
          Get the drag force coefficient parametrizable function.
 double getDragForceDerivativeValue(Parameter parameter, SpacecraftState s)
          Get the drag force coefficient derivative value with respect to the given parameter.
 PropertyType getType()
          Get the type of the property.
 
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
 

Field Detail

DEFAULT_C_X

public static final double DEFAULT_C_X
Default normal force coefficient value.

See Also:
Constant Field Values

C_X

public static final String C_X
Default drag force coefficient parameter name.

See Also:
Constant Field Values
Constructor Detail

AeroCrossSectionProperty

public AeroCrossSectionProperty(CrossSectionProvider shape)
Constructor of this property with default value for C_X.

Parameters:
shape - the main shape

AeroCrossSectionProperty

public AeroCrossSectionProperty(CrossSectionProvider shape,
                                double dragCoef)
Constructor of this property giving the drag coef.

Parameters:
shape - the main shape
dragCoef - The dragCoef.

AeroCrossSectionProperty

public AeroCrossSectionProperty(CrossSectionProvider shape,
                                Parameter dragCoefFct)
Constructor of this property defining the drag coef as a IParamDiffFunction.

Parameters:
shape - the main shape
dragCoefFct - The dragCoef parameterizable function.

AeroCrossSectionProperty

public AeroCrossSectionProperty(CrossSectionProvider shape,
                                IParamDiffFunction dragCoefFct)
Constructor of this property defining the drag coef as a IParamDiffFunction.

Parameters:
shape - the main shape
dragCoefFct - The dragCoef parameterizable function.
Method Detail

getCrossSection

public double getCrossSection(SpacecraftState state,
                              Vector3D relativeVelocity,
                              Frame mainPartFrame,
                              Frame partFrame)
                       throws OrekitException
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).

Parameters:
state - the current state of the spacecraft
relativeVelocity - the spacecraft velocity relative to the atmosphere in state frame.
mainPartFrame - main frame
partFrame - frame of part owning the property
Returns:
the cross section of the main shape.
Throws:
OrekitException - if some frame specific error occurs

getType

public PropertyType getType()
Description copied from interface: IPartProperty
Get the type of the property.

Specified by:
getType in interface IPartProperty
Returns:
the type of the property (see PropertyType enumeration)

getDragForceDerivativeValue

public double getDragForceDerivativeValue(Parameter parameter,
                                          SpacecraftState s)
Get the drag force coefficient derivative value with respect to the given parameter.

Parameters:
parameter - the parameter
s - the current state
Returns:
the drag force coefficient derivative value

getDragForce

public IParamDiffFunction getDragForce()
Get the drag force coefficient parametrizable function.

Returns:
force coefficient parametrizable function


Copyright © 2017 CNES. All Rights Reserved.