Package org.orekit.forces.radiation
Class AbstractRadiationForceModel
java.lang.Object
org.orekit.forces.radiation.AbstractRadiationForceModel
- All Implemented Interfaces:
ForceModel,RadiationForceModel,EventDetectorsProvider,ParameterDriversProvider
- Direct Known Subclasses:
ECOM2,SolarRadiationPressure
Base class for radiation force models.
- Since:
- 10.2
- See Also:
-
Field Summary
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractRadiationForceModel(ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, EventDetectionSettings eclipseDetectionSettings) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddOccultingBody(OneAxisEllipsoid occulting) Add a new occulting body.voidaddOccultingBody(ExtendedPositionProvider provider, double radius) Add a new occulting body.static EventDetectionSettingsGet the default eclipse detection settings.Get the discrete events related to the model.<T extends CalculusFieldElement<T>>
Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field) Get the discrete events related to the model.protected <T extends CalculusFieldElement<T>>
T[]getGeneralEclipseAngles(FieldVector3D<T> position, FieldVector3D<T> occultingPosition, T occultingRadius, FieldVector3D<T> occultedPosition, T occultedRadius) Get the useful angles for eclipse computation.protected double[]getGeneralEclipseAngles(Vector3D position, Vector3D occultingPosition, double occultingRadius, Vector3D occultedPosition, double occultedRadius) Get the useful angles for eclipse computation.Get all occulting bodies to consider.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getDateDetector, getEventDetectors, getFieldDateDetector, getFieldEventDetectorsMethods inherited from interface org.orekit.forces.ForceModel
acceleration, acceleration, addContribution, addContribution, dependsOnAttitudeRate, getMassDerivative, getMassDerivative, init, initMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupportedMethods inherited from interface org.orekit.forces.radiation.RadiationForceModel
dependsOnPositionOnly
-
Constructor Details
-
AbstractRadiationForceModel
protected AbstractRadiationForceModel(ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, EventDetectionSettings eclipseDetectionSettings) Default constructor. Only central body is considered.- Parameters:
sun- Sun modelcentralBody- central body shape model (for umbra/penumbra computation)eclipseDetectionSettings- eclipse detection settings (warning: poor settings will miss eclipses)- Since:
- 13.0
-
-
Method Details
-
getEventDetectors
Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.
- Specified by:
getEventDetectorsin interfaceEventDetectorsProvider- Specified by:
getEventDetectorsin interfaceForceModel- Returns:
- stream of event detectors
-
getDefaultEclipseDetectionSettings
Get the default eclipse detection settings.- Returns:
- detection settings
- Since:
- 13.0
-
getFieldEventDetectors
public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field) Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.
- Specified by:
getFieldEventDetectorsin interfaceEventDetectorsProvider- Specified by:
getFieldEventDetectorsin interfaceForceModel- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
field- field to which the state belongs- Returns:
- stream of event detectors
-
getGeneralEclipseAngles
protected double[] getGeneralEclipseAngles(Vector3D position, Vector3D occultingPosition, double occultingRadius, Vector3D occultedPosition, double occultedRadius) Get the useful angles for eclipse computation.- Parameters:
position- the satellite's position in the selected frameoccultingPosition- Oculting body position in the selected frameoccultingRadius- Occulting body mean radiusoccultedPosition- Occulted body position in the selected frameoccultedRadius- Occulted body mean radius- Returns:
- the 3 angles {(satOcculting, satOcculted), Occulting body apparent radius, Occulted body apparent radius}
-
getGeneralEclipseAngles
protected <T extends CalculusFieldElement<T>> T[] getGeneralEclipseAngles(FieldVector3D<T> position, FieldVector3D<T> occultingPosition, T occultingRadius, FieldVector3D<T> occultedPosition, T occultedRadius) Get the useful angles for eclipse computation.- Type Parameters:
T- extends RealFieldElement- Parameters:
position- the satellite's position in the selected frameoccultingPosition- Oculting body position in the selected frameoccultingRadius- Occulting body mean radiusoccultedPosition- Occulted body position in the selected frameoccultedRadius- Occulted body mean radius- Returns:
- the 3 angles {(satOcculting, satOcculted), Occulting body apparent radius, Occulted body apparent radius}
-
addOccultingBody
Add a new occulting body.Central body is already considered, it shall not be added this way.
- Parameters:
provider- body PV providerradius- body mean radius- See Also:
-
addOccultingBody
Add a new occulting body.Central body is already considered, it shall not be added this way.
- Parameters:
occulting- occulting body to add- Since:
- 12.0
- See Also:
-
getOccultingBodies
Get all occulting bodies to consider.The list always contains at least one element: the central body which is always the first one in the list.
- Returns:
- immutable list of all occulting bodies to consider, including the central body
- Since:
- 12.0
-