Package org.orekit.forces.radiation
Class ConicallyShadowedLightFluxModel
- java.lang.Object
-
- org.orekit.forces.radiation.AbstractLightFluxModel
-
- org.orekit.forces.radiation.AbstractSolarLightFluxModel
-
- org.orekit.forces.radiation.ConicallyShadowedLightFluxModel
-
- All Implemented Interfaces:
LightFluxModel
public class ConicallyShadowedLightFluxModel extends AbstractSolarLightFluxModel
Class defining a flux model from a single occulted body, casting a shadow on a spherical occulting body. It cannot model oblate bodies or multiple occulting objects (for this, seeSolarRadiationPressure
).- Since:
- 12.2
- Author:
- Romain Serra
- See Also:
AbstractSolarLightFluxModel
,LightFluxModel
, "Montenbruck, Oliver, and Gill, Eberhard. Satellite orbits : models, methods, and * applications. Berlin New York: Springer, 2000."
-
-
Constructor Summary
Constructors Constructor Description ConicallyShadowedLightFluxModel(double kRef, double occultedBodyRadius, ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor with default event detection settings.ConicallyShadowedLightFluxModel(double kRef, double occultedBodyRadius, ExtendedPositionProvider occultedBody, double occultingBodyRadius, EventDetectionSettings eventDetectionSettings)
Constructor.ConicallyShadowedLightFluxModel(double occultedBodyRadius, ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor with default value for reference flux.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static EventDetectionSettings
getDefaultEclipseDetectionSettings()
Define default detection settings for eclipses.List<EventDetector>
getEclipseConditionsDetector()
Retrieve detectors finding entries and exits in different eclipse zones.<T extends CalculusFieldElement<T>>
List<FieldEventDetector<T>>getFieldEclipseConditionsDetector(Field<T> field)
Retrieve Field detectors finding entries and exits in different eclipse zones.protected <T extends CalculusFieldElement<T>>
TgetLightingRatio(FieldVector3D<T> position, FieldVector3D<T> occultedBodyPosition)
Get the lighting ratio ([0-1]).protected double
getLightingRatio(Vector3D position, Vector3D occultedBodyPosition)
Get the lighting ratio ([0-1]).<T extends CalculusFieldElement<T>>
voidinit(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> targetDate)
Perform initialization steps before starting propagation.void
init(SpacecraftState initialState, AbsoluteDate targetDate)
Perform initialization steps before starting propagation.-
Methods inherited from class org.orekit.forces.radiation.AbstractSolarLightFluxModel
getEventDetectionSettings, getOccultingBodyRadius, getUnoccultedFluxVector, getUnoccultedFluxVector
-
Methods inherited from class org.orekit.forces.radiation.AbstractLightFluxModel
getLightFluxVector, getLightFluxVector, getLightingRatio, getLightingRatio, getOccultedBody, getOccultedBodyPosition, getOccultedBodyPosition
-
-
-
-
Constructor Detail
-
ConicallyShadowedLightFluxModel
public ConicallyShadowedLightFluxModel(double kRef, double occultedBodyRadius, ExtendedPositionProvider occultedBody, double occultingBodyRadius, EventDetectionSettings eventDetectionSettings)
Constructor.- Parameters:
kRef
- reference fluxoccultedBodyRadius
- radius of occulted body (light source)occultedBody
- position provider for light sourceoccultingBodyRadius
- radius of central, occulting bodyeventDetectionSettings
- user-defined detection settings for eclipses (if ill-tuned, events might be missed or performance might drop)
-
ConicallyShadowedLightFluxModel
public ConicallyShadowedLightFluxModel(double kRef, double occultedBodyRadius, ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor with default event detection settings.- Parameters:
kRef
- reference fluxoccultedBodyRadius
- radius of occulted body (light source)occultedBody
- position provider for light sourceoccultingBodyRadius
- radius of central, occulting body
-
ConicallyShadowedLightFluxModel
public ConicallyShadowedLightFluxModel(double occultedBodyRadius, ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor with default value for reference flux.- Parameters:
occultedBodyRadius
- radius of occulted body (light source)occultedBody
- position provider for light sourceoccultingBodyRadius
- radius of central, occulting body
-
-
Method Detail
-
getDefaultEclipseDetectionSettings
public static EventDetectionSettings getDefaultEclipseDetectionSettings()
Define default detection settings for eclipses.- Returns:
- default settings
-
init
public void init(SpacecraftState initialState, AbsoluteDate targetDate)
Perform initialization steps before starting propagation.- Parameters:
initialState
- initial statetargetDate
- target date for propagation
-
init
public <T extends CalculusFieldElement<T>> void init(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> targetDate)
Perform initialization steps before starting propagation.- Type Parameters:
T
- field type- Parameters:
initialState
- initial statetargetDate
- target date for propagation
-
getLightingRatio
protected double getLightingRatio(Vector3D position, Vector3D occultedBodyPosition)
Get the lighting ratio ([0-1]).- Specified by:
getLightingRatio
in classAbstractLightFluxModel
- Parameters:
position
- object's positionoccultedBodyPosition
- occulted body position in same frame- Returns:
- lighting ratio
-
getLightingRatio
protected <T extends CalculusFieldElement<T>> T getLightingRatio(FieldVector3D<T> position, FieldVector3D<T> occultedBodyPosition)
Get the lighting ratio ([0-1]). Field version.- Specified by:
getLightingRatio
in classAbstractLightFluxModel
- Type Parameters:
T
- field type- Parameters:
position
- object's positionoccultedBodyPosition
- occulted body position in same frame- Returns:
- lighting ratio
-
getEclipseConditionsDetector
public List<EventDetector> getEclipseConditionsDetector()
Retrieve detectors finding entries and exits in different eclipse zones.- Returns:
- list of event detectors
-
getFieldEclipseConditionsDetector
public <T extends CalculusFieldElement<T>> List<FieldEventDetector<T>> getFieldEclipseConditionsDetector(Field<T> field)
Retrieve Field detectors finding entries and exits in different eclipse zones.- Type Parameters:
T
- field type- Parameters:
field
- calculus field- Returns:
- list of event detectors
-
-