This module contains various routines related to the Circular Restricted Three-Body Problem (CRTBP).
Compute , the normalized CRTBP parameter. It is equal to .
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu1 |
grav param for body 1 |
||
real(kind=wp), | intent(in) | :: | mu2 |
grav param for body 2 |
CRTBP parameter
Compute the CRTBP Jacobi constant, given the state.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
CRTBP parameter (See compute_crtpb_parameter) |
||
real(kind=wp), | intent(in), | dimension(6) | :: | x |
normalized state vector |
Jacobi constant
Convert state in km, km/s units to normalized CRTBP state.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu1 |
grav. param. of body 1 |
||
real(kind=wp), | intent(in) | :: | mu2 |
grav. param. of body 2 |
||
real(kind=wp), | intent(in) | :: | d12 |
distance between body 1 and body 2 [km] |
||
real(kind=wp), | intent(in), | optional, | dimension(6) | :: | x |
unnormalized state w.r.t. barycenter [km,km/s] |
real(kind=wp), | intent(in), | optional | :: | m |
unnormalized mass [kg] |
|
real(kind=wp), | intent(in), | optional | :: | t |
unnormalized time [sec] |
|
real(kind=wp), | intent(out), | optional, | dimension(6) | :: | x_crtbp |
CRTBP normalized state |
real(kind=wp), | intent(out), | optional | :: | m_crtbp |
CRTBP normalized mass |
|
real(kind=wp), | intent(out), | optional | :: | t_crtbp |
CRTBP normalized time |
Convert normalized CRTBP state to km, km/s units.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu1 |
grav. param. of body 1 |
||
real(kind=wp), | intent(in) | :: | mu2 |
grav. param. of body 2 |
||
real(kind=wp), | intent(in) | :: | d12 |
distance between body 1 and body 2 [km] |
||
real(kind=wp), | intent(in), | optional, | dimension(6) | :: | x_crtbp |
CRTBP normalized state |
real(kind=wp), | intent(in), | optional | :: | m_crtbp |
CRTBP normalized mass |
|
real(kind=wp), | intent(in), | optional | :: | t_crtbp |
CRTBP normalized time |
|
real(kind=wp), | intent(out), | optional, | dimension(6) | :: | x |
unnormalized state w.r.t. barycenter [km,km/s] |
real(kind=wp), | intent(out), | optional | :: | m |
unnormalized mass [kg] |
|
real(kind=wp), | intent(out), | optional | :: | t |
unnormalized time [sec] |
Compute the coordinates of the libration points (L1,L2,L3,L4,L5). L1-L3 are computed using Newton's method. L4-L5 are known analytically.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
CRTBP parameter |
||
real(kind=wp), | intent(out), | optional | :: | r1 |
L1 x coordinate |
|
real(kind=wp), | intent(out), | optional | :: | r2 |
L2 x coordinate |
|
real(kind=wp), | intent(out), | optional | :: | r3 |
L3 x coordinate |
|
real(kind=wp), | intent(out), | optional, | dimension(2) | :: | r4 |
L4 [x,y] coordinates |
real(kind=wp), | intent(out), | optional, | dimension(2) | :: | r5 |
L5 [x,y] coordinates |
Compute the coordinates of the libration points (L1,L2,L3,L4,L5).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
CRTBP parameter |
||
real(kind=wp), | intent(out), | optional | :: | r1 |
L1 x coordinate |
|
real(kind=wp), | intent(out), | optional | :: | r2 |
L2 x coordinate |
|
real(kind=wp), | intent(out), | optional | :: | r3 |
L3 x coordinate |
|
real(kind=wp), | intent(out), | optional, | dimension(2) | :: | r4 |
L4 [x,y] coordinates |
real(kind=wp), | intent(out), | optional, | dimension(2) | :: | r5 |
L5 [x,y] coordinates |
CRTBP derivatives: state only.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
CRTBP parameter (See compute_crtpb_parameter) |
||
real(kind=wp), | intent(in), | dimension(6) | :: | x |
normalized state |
|
real(kind=wp), | intent(out), | dimension(6) | :: | dx |
normalized state derivative |
CRTBP derivatives: state + state transition matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
CRTBP parameter (See compute_crtpb_parameter) |
||
real(kind=wp), | intent(in), | dimension(42) | :: | x |
normalized state and STM |
|
real(kind=wp), | intent(out), | dimension(42) | :: | dx |
normalized state and STM derivative |
Unit tests for CRTBP routines.