Class 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, see SolarRadiationPressure).
Since:
12.2
Author:
Romain Serra
See Also:
  • Constructor Details

    • ConicallyShadowedLightFluxModel

      public ConicallyShadowedLightFluxModel(double kRef, double occultedBodyRadius, ExtendedPositionProvider occultedBody, double occultingBodyRadius, EventDetectionSettings eventDetectionSettings)
      Constructor.
      Parameters:
      kRef - reference flux
      occultedBodyRadius - radius of occulted body (light source)
      occultedBody - position provider for light source
      occultingBodyRadius - radius of central, occulting body
      eventDetectionSettings - 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 flux
      occultedBodyRadius - radius of occulted body (light source)
      occultedBody - position provider for light source
      occultingBodyRadius - 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 source
      occultingBodyRadius - radius of central, occulting body
  • Method Details

    • 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 state
      targetDate - 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 state
      targetDate - target date for propagation
    • getLightingRatio

      protected double getLightingRatio(Vector3D position, Vector3D occultedBodyPosition)
      Get the lighting ratio ([0-1]).
      Specified by:
      getLightingRatio in class AbstractLightFluxModel
      Parameters:
      position - object's position
      occultedBodyPosition - 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 class AbstractLightFluxModel
      Type Parameters:
      T - field type
      Parameters:
      position - object's position
      occultedBodyPosition - 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