Kepler propagation routines.
Elliptic Kepler's equation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | e |
eccentric anomaly |
||
real(kind=wp), | intent(in) | :: | m |
mean anomaly |
||
real(kind=wp), | intent(in) | :: | ecc |
eccentricity |
Derivative of kepe w.r.t. e
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | e |
eccentric anomaly |
||
real(kind=wp), | intent(in) | :: | ecc |
eccentricity |
Elliptic Kepler's equation written in terms of the eccentric anomaly difference. See Battin, eqn 4.43.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | de |
eccentric anomaly difference |
||
real(kind=wp), | intent(in) | :: | dm |
mean anomaly difference |
||
real(kind=wp), | intent(in) | :: | sigma0 | |||
real(kind=wp), | intent(in) | :: | sqrta | |||
real(kind=wp), | intent(in) | :: | a | |||
real(kind=wp), | intent(in) | :: | r |
Derivative of kepde w.r.t de
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | de |
eccentric anomaly difference |
||
real(kind=wp), | intent(in) | :: | sigma0 | |||
real(kind=wp), | intent(in) | :: | sqrta | |||
real(kind=wp), | intent(in) | :: | a | |||
real(kind=wp), | intent(in) | :: | r |
Battin, eqn. 4.64.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dh |
hyperbolic anomaly difference |
||
real(kind=wp), | intent(in) | :: | dn | |||
real(kind=wp), | intent(in) | :: | sigma0 | |||
real(kind=wp), | intent(in) | :: | sqrta | |||
real(kind=wp), | intent(in) | :: | a | |||
real(kind=wp), | intent(in) | :: | r |
Derivative of kepdh w.r.t dh
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dh |
hyperbolic anomaly difference |
||
real(kind=wp), | intent(in) | :: | sigma0 | |||
real(kind=wp), | intent(in) | :: | sqrta | |||
real(kind=wp), | intent(in) | :: | a | |||
real(kind=wp), | intent(in) | :: | r |
Barker time of flight equation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | r1 | ||
real(kind=wp), | intent(in), | dimension(3) | :: | r2 | ||
real(kind=wp), | intent(in) | :: | mu |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ds |
universal anomaly difference |
||
real(kind=wp), | intent(in) | :: | dt | |||
real(kind=wp), | intent(in) | :: | r0 | |||
real(kind=wp), | intent(in) | :: | vr0 | |||
real(kind=wp), | intent(in) | :: | alpha | |||
real(kind=wp), | intent(in) | :: | mu |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ds | |||
real(kind=wp), | intent(in) | :: | r0 | |||
real(kind=wp), | intent(in) | :: | vr0 | |||
real(kind=wp), | intent(in) | :: | alpha | |||
real(kind=wp), | intent(in) | :: | mu |
Stumpff function S(z)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | z |
Stumpff function C(z)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | z |
Classical Kepler propagator for elliptical and hyperbolic orbits. Uses Lagrange formulations from Battin & Newton's method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(6) | :: | x0 |
initial position,velocity vector |
|
real(kind=wp), | intent(in) | :: | dt |
propagation time |
||
real(kind=wp), | intent(in) | :: | mu |
central body gravitational parameter |
||
real(kind=wp), | intent(out), | dimension(6) | :: | xf |
final position,velocity vector |
Kepler propagation using Shepperd's method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter |
||
real(kind=wp), | intent(in), | dimension(6) | :: | rv1 |
initial position,velocity vector |
|
real(kind=wp), | intent(in) | :: | dt |
time step |
||
real(kind=wp), | intent(out), | dimension(6) | :: | rv2 |
final position,velocity vector |
|
integer, | intent(out), | optional | :: | istat |
status flag (if not present, warnings are printed): Linear combination of : |
Kepler propagator based on the Goodyear code with modifications by Stienon and Klumpp.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(6) | :: | rv0 |
state vector at reference time T0 [km,km/s] |
|
real(kind=wp), | intent(in) | :: | tau |
Time interval T-T0 [sec] |
||
real(kind=wp), | intent(in) | :: | mu |
Central body gravitational constant [km^3/s^2] |
||
real(kind=wp), | intent(in) | :: | accy |
Fractional accuracy required [0->0.1] |
||
real(kind=wp), | intent(out), | dimension(6) | :: | rvf |
state vector at solution time T [km,km/s] |