fr.cnes.sirius.patrius.wrenches
Class SolarRadiationWrench

java.lang.Object
  extended by org.orekit.parameter.Parameterizable
      extended by fr.cnes.sirius.patrius.wrenches.SolarRadiationWrench
All Implemented Interfaces:
Serializable, IParameterizable, WrenchModel

public class SolarRadiationWrench
extends Parameterizable
implements WrenchModel

This class represents a solar radiation wrench model. It requires a spacecraft capable of computing the wrench caused by solar radiation pressure.

Since:
2.1
Version:
$Id: SolarRadiationWrench.java 17584 2017-05-10 13:26:39Z bignon $
Author:
Rami Houdroge
See Also:
RadiationWrenchSensitive, Serialized Form
Concurrency :
not thread-safe
Concurrency comment :
class uses internal mutable attributes and frames

Constructor Summary
SolarRadiationWrench(double distance, double pressure, double sunRadius, PVCoordinatesProvider sunBody, GeometricBodyShape shape, RadiationWrenchSensitive spacecraftModel)
          Complete constructor.
SolarRadiationWrench(Parameter distance, Parameter pressure, Parameter sunRadius, PVCoordinatesProvider sunBody, GeometricBodyShape shape, RadiationWrenchSensitive spacecraftModel)
          Complete constructor using Parameter.
SolarRadiationWrench(PVCoordinatesProvider sunBody, GeometricBodyShape shape, RadiationWrenchSensitive spacecraftModel)
          Simple constructor with default reference values.
 
Method Summary
 Vector3D computeTorque(SpacecraftState s)
          Compute the resulting torque at the mass centre of the spacecraft in the frame of the main part.
 Vector3D computeTorque(SpacecraftState s, Vector3D origin, Frame frame)
          Compute the resulting wrench.
 Wrench computeWrench(SpacecraftState s)
          Compute the resulting wrench at the mass centre of the spacecraft in the frame of the main part.
 Wrench computeWrench(SpacecraftState s, Vector3D origin, Frame frame)
          Compute the resulting wrench.
 
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

SolarRadiationWrench

public SolarRadiationWrench(PVCoordinatesProvider sunBody,
                            GeometricBodyShape shape,
                            RadiationWrenchSensitive spacecraftModel)
Simple constructor with default reference values.

When this constructor is used, the reference values are:

Parameters:
sunBody - Sun model
shape - earth model (for umbra/penumbra computation)
spacecraftModel - the object physical and geometrical information

SolarRadiationWrench

public SolarRadiationWrench(double distance,
                            double pressure,
                            double sunRadius,
                            PVCoordinatesProvider sunBody,
                            GeometricBodyShape shape,
                            RadiationWrenchSensitive spacecraftModel)
Complete constructor.

Note that reference solar radiation pressure pRef in N/m2 is linked to solar flux SF in W/m2 using formula pRef = SF/c where c is the speed of light (299792458 m/s). So at 1UA a 1367 W/m2 solar flux is a 4.56 10-6 N/m2 solar radiation pressure.

Parameters:
distance - reference distance for the solar radiation pressure
pressure - reference solar radiation pressure at dRef
sunRadius - reference sun radius
sunBody - Sun model
shape - earth model (for umbra/penumbra computation)
spacecraftModel - the object physical and geometrical information

SolarRadiationWrench

public SolarRadiationWrench(Parameter distance,
                            Parameter pressure,
                            Parameter sunRadius,
                            PVCoordinatesProvider sunBody,
                            GeometricBodyShape shape,
                            RadiationWrenchSensitive spacecraftModel)
Complete constructor using Parameter.

Parameters:
distance - the parameter representing the reference distance for the solar radiation pressure
pressure - the parameter representing the reference solar radiation pressure at dRef
sunRadius - the parameter representing the reference sun radius
sunBody - Sun model
shape - earth model (for umbra/penumbra computation)
spacecraftModel - the object physical and geometrical information
Method Detail

computeWrench

public Wrench computeWrench(SpacecraftState s)
                     throws OrekitException
Compute the resulting wrench at the mass centre of the spacecraft in the frame of the main part.

Specified by:
computeWrench in interface WrenchModel
Parameters:
s - spacecraft state
Returns:
resulting wrench
Throws:
OrekitException - if some error occurs

computeWrench

public Wrench computeWrench(SpacecraftState s,
                            Vector3D origin,
                            Frame frame)
                     throws OrekitException
Compute the resulting wrench.

Specified by:
computeWrench in interface WrenchModel
Parameters:
s - spacecraft state
origin - point in which to express wrench
frame - frame in which point is expressed
Returns:
resulting wrench
Throws:
OrekitException - if some error occurs

computeTorque

public Vector3D computeTorque(SpacecraftState s)
                       throws OrekitException
Compute the resulting torque at the mass centre of the spacecraft in the frame of the main part.

Specified by:
computeTorque in interface WrenchModel
Parameters:
s - spacecraft state
Returns:
resulting torque at center of spacecraft state frame
Throws:
OrekitException - if some error occurs

computeTorque

public Vector3D computeTorque(SpacecraftState s,
                              Vector3D origin,
                              Frame frame)
                       throws OrekitException
Compute the resulting wrench.

Specified by:
computeTorque in interface WrenchModel
Parameters:
s - spacecraft state
origin - point in which to express torque
frame - frame in which point is expressed
Returns:
resulting torque expressed at origin
Throws:
OrekitException - if some error occurs


Copyright © 2017 CNES. All Rights Reserved.