fr.cnes.sirius.patrius.assembly.models
Class GlobalDragCoefficientProvider

java.lang.Object
  extended by fr.cnes.sirius.patrius.assembly.models.GlobalDragCoefficientProvider
All Implemented Interfaces:
DragCoefficientProvider

public class GlobalDragCoefficientProvider
extends Object
implements DragCoefficientProvider

Implementation of DragCoefficientProvider computing aero coefficients as functions of type TrivariateFunction. The service #getCoefficients(Vector3D, AtmosphereData, Assembly) is implemented using these functions in which a 3D interpolation (linear or by spline) is performed. The considered interpolation point has (azimuth, elevation, s) coordinates, s being the velocity factor, such that :

This model uses 3 parameters (azimuth, elevation, s factor) to compute 12 output being the aero coefficients :
  • SC_abs (x, y, z): absorption coefficients
  • SC_spec (x, y, z): specular coefficients
  • SC_diff_av (x, y, z): diffuse coefficients (front face)
  • SC_diff_ar (x, y, z): diffuse coefficients (rear face)

    Since:
    3.4
    Version:
    $Id: GlobalDragCoefficientProvider.java 17627 2017-05-22 07:15:27Z bignon $
    Author:
    rodriguest
    See Also:
    InterpolatedDragReader
    Concurrency :
    thread-safe

    Nested Class Summary
    static class GlobalDragCoefficientProvider.INTERP
              Enumerate to choose the way to interpolate.
     
    Constructor Summary
    GlobalDragCoefficientProvider(GlobalDragCoefficientProvider.INTERP method, String filePath)
              Constructor.
     
    Method Summary
     DragCoefficient getCoefficients(Vector3D relativeVelocity, AtmosphereData atmoData, Assembly assembly)
              Provides drag coefficient (x surface).
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Constructor Detail

    GlobalDragCoefficientProvider

    public GlobalDragCoefficientProvider(GlobalDragCoefficientProvider.INTERP method,
                                         String filePath)
                                  throws IOException,
                                         OrekitException
    Constructor.

    Parameters:
    method - the method chosen for interpolation : could be linear or by splines
    filePath - absolute path to the file containing the aero coefficients
    Throws:
    IOException - if file could not be read.
    OrekitException - thrown if number of input + output in file is not 15 or some lines are missing
    Method Detail

    getCoefficients

    public DragCoefficient getCoefficients(Vector3D relativeVelocity,
                                           AtmosphereData atmoData,
                                           Assembly assembly)
    Description copied from interface: DragCoefficientProvider
    Provides drag coefficient (x surface).

    Specified by:
    getCoefficients in interface DragCoefficientProvider
    Parameters:
    relativeVelocity - relative velocity of atmosphere with respect to spacecraft in satellite frame
    atmoData - atmosphere data
    assembly - assembly
    Returns:
    drag coefficient (x surface) in satellite frame


    Copyright © 2017 CNES. All Rights Reserved.