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

java.lang.Object
  extended by org.orekit.parameter.Parameterizable
      extended by fr.cnes.sirius.patrius.assembly.models.RediffusedRadiativeModel
All Implemented Interfaces:
Serializable, RediffusedRadiationSensitive, IParameterizable, JacobianParametersProvider

public final class RediffusedRadiativeModel
extends Parameterizable
implements RediffusedRadiationSensitive

Class that represents a rediffused radiative model, based on the vehicle.

Since:
1.2
Version:
$Id: RediffusedRadiativeModel.java 17587 2017-05-10 13:31:11Z bignon $
Author:
clauded
See Also:
Serialized Form
Concurrency :
not thread-safe
Concurrency comment :
The use of a frame (Assembly attribute) linked to the tree of frames in each of the parts makes this class not thread-safe.

Field Summary
static String K0ALBEDO_COEFFICIENT
          Parameter name for K0 albedo global coefficient.
static String K0IR_COEFFICIENT
          Parameter name for K0 infrared global coefficient.
 
Constructor Summary
RediffusedRadiativeModel(boolean inAlbedo, boolean inIr, double inK0Albedo, double inK0Ir, Assembly inAssembly)
          Rediffused radiative model (the acceleration is computed from all the sub parts of the vehicle).
RediffusedRadiativeModel(boolean inAlbedo, boolean inIr, Parameter inK0Albedo, Parameter inK0Ir, Assembly inAssembly)
          Rediffused radiative model (the acceleration is computed from all the sub parts of the vehicle).
 
Method Summary
 void addDAccDParamRediffusedRadiativePressure(SpacecraftState s, Parameter param, double[] dAccdParam)
          Compute acceleration derivatives.
 void addDAccDStateRediffusedRadiativePressure(SpacecraftState s, double[][] dAccdPos, double[][] dAccdVel)
          Compute acceleration derivatives.
 boolean getFlagAlbedo()
          albedo getter
 boolean getFlagIr()
          infrared setter
 ArrayList<Parameter> getJacobianParameters()
          Get the list of all jacobian parameters supported.
 void initDerivatives()
          derivatives initialisation
 Vector3D rediffusedRadiationPressureAcceleration(SpacecraftState state, ElementaryFlux flux)
          Method to compute the rediffused radiation pressure acceleration, based on the assembly.
 void setAlbedoAcc(boolean inAlbedo)
          albedo setter
 void setIrAcc(boolean inIr)
          infrared setter
 
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

K0ALBEDO_COEFFICIENT

public static final String K0ALBEDO_COEFFICIENT
Parameter name for K0 albedo global coefficient.

See Also:
Constant Field Values

K0IR_COEFFICIENT

public static final String K0IR_COEFFICIENT
Parameter name for K0 infrared global coefficient.

See Also:
Constant Field Values
Constructor Detail

RediffusedRadiativeModel

public RediffusedRadiativeModel(boolean inAlbedo,
                                boolean inIr,
                                double inK0Albedo,
                                double inK0Ir,
                                Assembly inAssembly)
                         throws OrekitException
Rediffused radiative model (the acceleration is computed from all the sub parts of the vehicle).

Parameters:
inAlbedo - albedo indicator
inIr - infrared indicator
inK0Albedo - albedo global multiplicative factor
inK0Ir - infrared global multiplicative factor
inAssembly - the considered vehicle.
Throws:
OrekitException - when an Orekit Exception occurs (no radiative properties found)

RediffusedRadiativeModel

public RediffusedRadiativeModel(boolean inAlbedo,
                                boolean inIr,
                                Parameter inK0Albedo,
                                Parameter inK0Ir,
                                Assembly inAssembly)
                         throws OrekitException
Rediffused radiative model (the acceleration is computed from all the sub parts of the vehicle).

Parameters:
inAlbedo - albedo indicator
inIr - infrared indicator
inK0Albedo - albedo global multiplicative factor parameter
inK0Ir - infrared global multiplicative factor parameter
inAssembly - the considered vehicle.
Throws:
OrekitException - when an Orekit Exception occurs (no radiative properties found)
Method Detail

rediffusedRadiationPressureAcceleration

public Vector3D rediffusedRadiationPressureAcceleration(SpacecraftState state,
                                                        ElementaryFlux flux)
                                                 throws OrekitException
Method to compute the rediffused radiation pressure acceleration, based on the assembly.

Specified by:
rediffusedRadiationPressureAcceleration in interface RediffusedRadiationSensitive
Parameters:
state - the current state of the spacecraft.
flux - elementary flux.
Returns:
the acceleration applied on the assembly in SpacecraftState frame.
Throws:
OrekitException - when an Orekit Exception occurs (no radiative properties found)

addDAccDStateRediffusedRadiativePressure

public void addDAccDStateRediffusedRadiativePressure(SpacecraftState s,
                                                     double[][] dAccdPos,
                                                     double[][] dAccdVel)
                                              throws OrekitException
Description copied from interface: RediffusedRadiationSensitive
Compute acceleration derivatives.

Specified by:
addDAccDStateRediffusedRadiativePressure in interface RediffusedRadiationSensitive
Parameters:
s - Spacecraft state.
dAccdPos - acceleration derivatives with respect to position
dAccdVel - acceleration derivatives with respect to velocity
Throws:
OrekitException - OREKIT exception

addDAccDParamRediffusedRadiativePressure

public void addDAccDParamRediffusedRadiativePressure(SpacecraftState s,
                                                     Parameter param,
                                                     double[] dAccdParam)
                                              throws OrekitException
Description copied from interface: RediffusedRadiationSensitive
Compute acceleration derivatives.

Specified by:
addDAccDParamRediffusedRadiativePressure in interface RediffusedRadiationSensitive
Parameters:
s - Spacecraft state.
param - name of the parameter with respect to which derivatives are required
dAccdParam - acceleration derivatives with respect to specified parameters
Throws:
OrekitException - OREKIT exception

setIrAcc

public void setIrAcc(boolean inIr)
infrared setter

Parameters:
inIr - calculation indicator of the infrared force

setAlbedoAcc

public void setAlbedoAcc(boolean inAlbedo)
albedo setter

Parameters:
inAlbedo - calculation indicator of the albedo force

getFlagAlbedo

public boolean getFlagAlbedo()
Description copied from interface: RediffusedRadiationSensitive
albedo getter

Specified by:
getFlagAlbedo in interface RediffusedRadiationSensitive
Returns:
calculation indicator of the albedo force

getFlagIr

public boolean getFlagIr()
Description copied from interface: RediffusedRadiationSensitive
infrared setter

Specified by:
getFlagIr in interface RediffusedRadiationSensitive
Returns:
calculation indicator of the infrared force

initDerivatives

public void initDerivatives()
Description copied from interface: RediffusedRadiationSensitive
derivatives initialisation

Specified by:
initDerivatives in interface RediffusedRadiationSensitive

getJacobianParameters

public ArrayList<Parameter> getJacobianParameters()
Get the list of all jacobian parameters supported.

Specified by:
getJacobianParameters in interface JacobianParametersProvider
Returns:
the list of additional parameters for which the jacobians can be computed.


Copyright © 2017 CNES. All Rights Reserved.