public abstract class AbstractRadiationForceModel extends Object implements ForceModel
SolarRadiationPressure,
ECOM2DATATION_ACCURACY| Modifier | Constructor and Description |
|---|---|
protected |
AbstractRadiationForceModel(ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody)
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addOccultingBody(ExtendedPVCoordinatesProvider provider,
double radius)
Add a new occulting body.
|
void |
addOccultingBody(OneAxisEllipsoid occulting)
Add a new occulting body.
|
boolean |
dependsOnPositionOnly()
Check if force models depends on position only.
|
Stream<EventDetector> |
getEventDetectors()
Get the discrete events related to the model.
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getFieldEventDetectors(org.hipparchus.Field<T> field)
Get the discrete events related to the model.
|
protected <T extends org.hipparchus.CalculusFieldElement<T>> |
getGeneralEclipseAngles(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position,
org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> occultingPosition,
T occultingRadius,
org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> occultedPosition,
T occultedRadius)
Get the useful angles for eclipse computation.
|
protected double[] |
getGeneralEclipseAngles(org.hipparchus.geometry.euclidean.threed.Vector3D position,
org.hipparchus.geometry.euclidean.threed.Vector3D occultingPosition,
double occultingRadius,
org.hipparchus.geometry.euclidean.threed.Vector3D occultedPosition,
double occultedRadius)
Get the useful angles for eclipse computation.
|
List<OccultationEngine> |
getOccultingBodies()
Get all occulting bodies to consider.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitacceleration, acceleration, addContribution, addContribution, init, initgetNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupportedgetEventDetectors, getFieldEventDetectorsprotected AbstractRadiationForceModel(ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody)
sun - Sun modelcentralBody - central body shape model (for umbra/penumbra computation)public boolean dependsOnPositionOnly()
dependsOnPositionOnly in interface ForceModelpublic Stream<EventDetector> getEventDetectors()
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.
getEventDetectors in interface ForceModelgetEventDetectors in interface EventDetectorsProviderpublic <T extends org.hipparchus.CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(org.hipparchus.Field<T> field)
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.
getFieldEventDetectors in interface ForceModelgetFieldEventDetectors in interface EventDetectorsProviderT - extends CalculusFieldElement<T>field - field to which the state belongsprotected double[] getGeneralEclipseAngles(org.hipparchus.geometry.euclidean.threed.Vector3D position,
org.hipparchus.geometry.euclidean.threed.Vector3D occultingPosition,
double occultingRadius,
org.hipparchus.geometry.euclidean.threed.Vector3D occultedPosition,
double occultedRadius)
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 radiusprotected <T extends org.hipparchus.CalculusFieldElement<T>> T[] getGeneralEclipseAngles(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position,
org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> occultingPosition,
T occultingRadius,
org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> occultedPosition,
T occultedRadius)
T - extends RealFieldElementoccultingPosition - Oculting body position in the selected frameoccultingRadius - Occulting body mean radiusoccultedPosition - Occulted body position in the selected frameoccultedRadius - Occulted body mean radiusposition - the satellite's position in the selected framepublic void addOccultingBody(ExtendedPVCoordinatesProvider provider, double radius)
Central body is already considered, it shall not be added this way.
provider - body PV providerradius - body mean radiusaddOccultingBody(OneAxisEllipsoid)public void addOccultingBody(OneAxisEllipsoid occulting)
Central body is already considered, it shall not be added this way.
occulting - occulting body to addaddOccultingBody(ExtendedPVCoordinatesProvider, double)public List<OccultationEngine> getOccultingBodies()
The list always contains at least one element: the central body which is always the first one in the list.
Copyright © 2002-2023 CS GROUP. All rights reserved.