public abstract class AbstractRadiationForceModel extends AbstractForceModel
SolarRadiationPressure
,
ECOM2
Modifier | Constructor and Description |
---|---|
protected |
AbstractRadiationForceModel(ExtendedPVCoordinatesProvider sun,
double equatorialRadius)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addOccultingBody(ExtendedPVCoordinatesProvider provider,
double radius)
Add a new occulting body.
|
boolean |
dependsOnPositionOnly()
Check if force models depends on position only.
|
protected <T extends CalculusFieldElement<T>> |
getEclipseAngles(FieldVector3D<T> sunPosition,
FieldVector3D<T> position)
Get the useful angles for eclipse computation.
|
protected double[] |
getEclipseAngles(Vector3D sunPosition,
Vector3D position)
Get the useful angles for eclipse computation.
|
double |
getEquatorialRadius()
Getter for equatorial radius.
|
Stream<EventDetector> |
getEventsDetectors()
Get the discrete events related to the model.
|
<T extends CalculusFieldElement<T>> |
getFieldEventsDetectors(Field<T> field)
Get the discrete events related to the model.
|
protected <T extends CalculusFieldElement<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.
|
Map<ExtendedPVCoordinatesProvider,Double> |
getOtherOccultingBodies()
Getter for other occulting bodies to consider.
|
complainIfNotSupported, getParameterDriver, isSupported
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
acceleration, acceleration, addContribution, addContribution, getParameters, getParameters, getParametersDrivers, init, init
protected AbstractRadiationForceModel(ExtendedPVCoordinatesProvider sun, double equatorialRadius)
sun
- Sun modelequatorialRadius
- central body spherical shape model (for umbra/penumbra computation)public boolean dependsOnPositionOnly()
public Stream<EventDetector> getEventsDetectors()
public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors(Field<T> field)
T
- extends CalculusFieldElement<T>field
- field to which the state belongsprotected double[] getEclipseAngles(Vector3D sunPosition, Vector3D position)
sunPosition
- Sun position in the selected frameposition
- the satellite's position in the selected frameprotected double[] getGeneralEclipseAngles(Vector3D position, Vector3D occultingPosition, double occultingRadius, 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 CalculusFieldElement<T>> T[] getEclipseAngles(FieldVector3D<T> sunPosition, FieldVector3D<T> position)
T
- extends CalculusFieldElementsunPosition
- Sun position in the selected frameposition
- the satellite's position in the selected frame.protected <T extends CalculusFieldElement<T>> T[] getGeneralEclipseAngles(FieldVector3D<T> position, FieldVector3D<T> occultingPosition, T occultingRadius, 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)
provider
- body PV providerradius
- body mean radiuspublic Map<ExtendedPVCoordinatesProvider,Double> getOtherOccultingBodies()
public double getEquatorialRadius()
Copyright © 2002-2022 CS GROUP. All rights reserved.