Package org.orekit.forces.radiation
Class SolarRadiationPressure
- java.lang.Object
-
- org.orekit.forces.AbstractForceModel
-
- org.orekit.forces.radiation.SolarRadiationPressure
-
- All Implemented Interfaces:
ForceModel
public class SolarRadiationPressure extends AbstractForceModel
Solar radiation pressure force model.- Author:
- Fabien Maussion, Édouard Delente, Véronique Pommier-Maurussane, Pascal Parraud
-
-
Constructor Summary
Constructors Constructor Description SolarRadiationPressure(double dRef, double pRef, ExtendedPVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft)
Complete constructor.SolarRadiationPressure(double dRef, double pRef, PVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft)
Deprecated.SolarRadiationPressure(ExtendedPVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft)
Simple constructor with default reference values.SolarRadiationPressure(PVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft)
Deprecated.as of 9.2 replaced bySolarRadiationPressure(ExtendedPVCoordinatesProvider, double, RadiationSensitive)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends org.hipparchus.RealFieldElement<T>>
org.hipparchus.geometry.euclidean.threed.FieldVector3D<T>acceleration(FieldSpacecraftState<T> s, T[] parameters)
Compute acceleration.org.hipparchus.geometry.euclidean.threed.Vector3D
acceleration(SpacecraftState s, double[] parameters)
Compute acceleration.boolean
dependsOnPositionOnly()
Check if force models depends on position only.Stream<EventDetector>
getEventsDetectors()
Get the discrete events related to the model.<T extends org.hipparchus.RealFieldElement<T>>
Stream<FieldEventDetector<T>>getFieldEventsDetectors(org.hipparchus.Field<T> field)
Get the discrete events related to the model.<T extends org.hipparchus.RealFieldElement<T>>
TgetLightingRatio(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, Frame frame, FieldAbsoluteDate<T> date)
Get the lighting ratio ([0-1]).double
getLightingRatio(org.hipparchus.geometry.euclidean.threed.Vector3D position, Frame frame, AbsoluteDate date)
Get the lighting ratio ([0-1]).ParameterDriver[]
getParametersDrivers()
Get the drivers for force model parameters.-
Methods inherited from class org.orekit.forces.AbstractForceModel
complainIfNotSupported, getParameterDriver, isSupported
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.forces.ForceModel
addContribution, addContribution, getParameters, getParameters, init
-
-
-
-
Constructor Detail
-
SolarRadiationPressure
@Deprecated public SolarRadiationPressure(PVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft)
Deprecated.as of 9.2 replaced bySolarRadiationPressure(ExtendedPVCoordinatesProvider, double, RadiationSensitive)
Simple constructor with default reference values.When this constructor is used, the reference values are:
- dref = 149597870000.0 m
- pref = 4.56 10-6 N/m²
- Parameters:
sun
- Sun modelequatorialRadius
- spherical shape model (for umbra/penumbra computation)spacecraft
- the object physical and geometrical information
-
SolarRadiationPressure
public SolarRadiationPressure(ExtendedPVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft)
Simple constructor with default reference values.When this constructor is used, the reference values are:
- dref = 149597870000.0 m
- pref = 4.56 10-6 N/m²
- Parameters:
sun
- Sun modelequatorialRadius
- spherical shape model (for umbra/penumbra computation)spacecraft
- the object physical and geometrical information- Since:
- 9.2
-
SolarRadiationPressure
@Deprecated public SolarRadiationPressure(double dRef, double pRef, PVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft)
Deprecated.Complete constructor.Note that reference solar radiation pressure
pRef
in N/m² is linked to solar flux SF in W/m² using formula pRef = SF/c where c is the speed of light (299792458 m/s). So at 1UA a 1367 W/m² solar flux is a 4.56 10-6 N/m² solar radiation pressure.- Parameters:
dRef
- reference distance for the solar radiation pressure (m)pRef
- reference solar radiation pressure at dRef (N/m²)sun
- Sun modelequatorialRadius
- spherical shape model (for umbra/penumbra computation)spacecraft
- the object physical and geometrical information
-
SolarRadiationPressure
public SolarRadiationPressure(double dRef, double pRef, ExtendedPVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft)
Complete constructor.Note that reference solar radiation pressure
pRef
in N/m² is linked to solar flux SF in W/m² using formula pRef = SF/c where c is the speed of light (299792458 m/s). So at 1UA a 1367 W/m² solar flux is a 4.56 10-6 N/m² solar radiation pressure.- Parameters:
dRef
- reference distance for the solar radiation pressure (m)pRef
- reference solar radiation pressure at dRef (N/m²)sun
- Sun modelequatorialRadius
- spherical shape model (for umbra/penumbra computation)spacecraft
- the object physical and geometrical information- Since:
- 9.2
-
-
Method Detail
-
dependsOnPositionOnly
public boolean dependsOnPositionOnly()
Check if force models depends on position only.- Returns:
- true if force model depends on position only, false if it depends on velocity, either directly or due to a dependency on attitude
-
acceleration
public org.hipparchus.geometry.euclidean.threed.Vector3D acceleration(SpacecraftState s, double[] parameters)
Compute acceleration.- Parameters:
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters- Returns:
- acceleration in same frame as state
-
acceleration
public <T extends org.hipparchus.RealFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
Compute acceleration.- Type Parameters:
T
- type of the elements- Parameters:
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters- Returns:
- acceleration in same frame as state
-
getLightingRatio
public double getLightingRatio(org.hipparchus.geometry.euclidean.threed.Vector3D position, Frame frame, AbsoluteDate date)
Get the lighting ratio ([0-1]).- Parameters:
position
- the satellite's position in the selected frame.frame
- in which is defined the positiondate
- the date- Returns:
- lighting ratio
- Since:
- 7.1
-
getLightingRatio
public <T extends org.hipparchus.RealFieldElement<T>> T getLightingRatio(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, Frame frame, FieldAbsoluteDate<T> date)
Get the lighting ratio ([0-1]).- Type Parameters:
T
- extends RealFieldElement- Parameters:
position
- the satellite's position in the selected frame.frame
- in which is defined the positiondate
- the date- Returns:
- lighting ratio
- Since:
- 7.1
-
getEventsDetectors
public Stream<EventDetector> getEventsDetectors()
Get the discrete events related to the model.- Returns:
- stream of events detectors
-
getFieldEventsDetectors
public <T extends org.hipparchus.RealFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors(org.hipparchus.Field<T> field)
Get the discrete events related to the model.- Type Parameters:
T
- extends RealFieldElement- Parameters:
field
- field to which the state belongs- Returns:
- stream of events detectors
-
getParametersDrivers
public ParameterDriver[] getParametersDrivers()
Get the drivers for force model parameters.- Returns:
- drivers for force model parameters
-
-