public abstract class AbstractRadiationForceModel extends Object implements ForceModel
SolarRadiationPressure
,
ECOM2
DATATION_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, wait
acceleration, acceleration, addContribution, addContribution, init, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupported
getEventDetectors, getFieldEventDetectors
protected AbstractRadiationForceModel(ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody)
sun
- Sun modelcentralBody
- central body shape model (for umbra/penumbra computation)public boolean dependsOnPositionOnly()
dependsOnPositionOnly
in interface ForceModel
public 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 ForceModel
getEventDetectors
in interface EventDetectorsProvider
public <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 ForceModel
getFieldEventDetectors
in interface EventDetectorsProvider
T
- 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.