public class KnockeRediffusedForceModel extends AbstractForceModel
This model is based on "EARTH RADIATION PRESSURE EFFECTS ON SATELLITES", 1988, by P. C. Knocke, J. C. Ries, and B. D. Tapley.
This model represents the effects of radiation pressure coming from the Earth. It considers Solar radiation which has been reflected by Earth (albedo) and Earth infrared emissions. The planet is considered as a sphere and is divided into elementary areas. Each elementary area is considered as a plane and emits radiation according to Lambert's law. The flux the satellite receives is then equal to the sum of the elementary fluxes coming from Earth.
The radiative model of the satellite, and its ability to diffuse, reflect or absorb radiation is handled
by a radiation sensitive model
.
Caution: This model is only suitable for Earth. Using it with another central body is prone to error..
Constructor and Description |
---|
KnockeRediffusedForceModel(ExtendedPVCoordinatesProvider sun,
RadiationSensitive spacecraft,
double equatorialRadius,
double angularResolution)
Default Constructor.
|
KnockeRediffusedForceModel(ExtendedPVCoordinatesProvider sun,
RadiationSensitive spacecraft,
double equatorialRadius,
double angularResolution,
TimeScale utc)
General constructor.
|
Modifier and Type | Method and Description |
---|---|
<T extends CalculusFieldElement<T>> |
acceleration(FieldSpacecraftState<T> s,
T[] parameters)
Compute acceleration.
|
Vector3D |
acceleration(SpacecraftState s,
double[] parameters)
Compute acceleration.
|
boolean |
dependsOnPositionOnly()
Check if force models depends on position only.
|
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.
|
List<ParameterDriver> |
getParametersDrivers()
Get the drivers for parameters.
|
complainIfNotSupported, getParameterDriver, isSupported
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addContribution, addContribution, getParameters, getParameters, init, init
@DefaultDataContext public KnockeRediffusedForceModel(ExtendedPVCoordinatesProvider sun, RadiationSensitive spacecraft, double equatorialRadius, double angularResolution)
This constructor uses the default data context
sun
- Sun modelspacecraft
- the object physical and geometrical informationequatorialRadius
- the Earth equatorial radius in mangularResolution
- angular resolution in radpublic KnockeRediffusedForceModel(ExtendedPVCoordinatesProvider sun, RadiationSensitive spacecraft, double equatorialRadius, double angularResolution, TimeScale utc)
sun
- Sun modelspacecraft
- the object physical and geometrical informationequatorialRadius
- the Earth equatorial radius in mangularResolution
- angular resolution in radutc
- the UTC time scale to define reference epochpublic 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 belongspublic Vector3D acceleration(SpacecraftState s, double[] parameters)
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameterspublic <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
T
- type of the elementss
- current state information: date, kinematics, attitudeparameters
- values of the force model parameterspublic List<ParameterDriver> getParametersDrivers()
Copyright © 2002-2023 CS GROUP. All rights reserved.