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
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, see
SolarRadiationPressure).- Since:
- 12.2
- Author:
- Romain Serra
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionConicallyShadowedLightFluxModel(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
Modifier and TypeMethodDescriptionstatic EventDetectionSettingsDefine default detection settings for eclipses.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 doublegetLightingRatio(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.voidinit(SpacecraftState initialState, AbsoluteDate targetDate) Perform initialization steps before starting propagation.Methods inherited from class org.orekit.forces.radiation.AbstractSolarLightFluxModel
getEventDetectionSettings, getOccultingBodyRadius, getUnoccultedFluxVector, getUnoccultedFluxVectorMethods inherited from class org.orekit.forces.radiation.AbstractLightFluxModel
getLightFluxVector, getLightFluxVector, getLightingRatio, getLightingRatio, getOccultedBody, getOccultedBodyPosition, getOccultedBodyPosition
-
Constructor Details
-
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 Details
-
getDefaultEclipseDetectionSettings
Define default detection settings for eclipses.- Returns:
- default settings
-
init
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
Get the lighting ratio ([0-1]).- Specified by:
getLightingRatioin 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:
getLightingRatioin classAbstractLightFluxModel- Type Parameters:
T- field type- Parameters:
position- object's positionoccultedBodyPosition- occulted body position in same frame- Returns:
- lighting ratio
-
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
-