This module contains various routines related to relative motion.
Three different axis systems are used here. They are:
The IJK frame
The LVLH frame, defined by:
The RSW frame, defined by:
The VUW frame, defined by:
Conversion from IJK to LVLH
Compute the transformation matrices to convert IJK to LVLH.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from IJK to LVLH.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_lvlh |
Chaser LVLH position vector relative to target [km] |
Conversion from LVLH to IJK
Compute the transformation matrices to convert LVLH to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from LVLH to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
Conversion from IJK to RSW
Compute the transformation matrices to convert IJK to RSW.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from IJK to RSW.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_rsw |
Chaser RSW position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_rsw |
Chaser RSW position vector relative to target [km] |
Conversion from RSW to IJK
Compute the transformation matrices to convert RSW to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from RSW to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_rsw |
Chaser RSW position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_rsw |
Chaser RSW velocity vector [km/s] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | v_ijk |
Chaser IJK absolute velocity vector [km/s] |
Conversion from LVLH to RSW
Transform a position (and optionally velocity) vector from LVLH to RSW.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_rsw |
Chaser RSW position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_rsw |
Chaser RSW velocity vector relative to target [km/s] |
Conversion from RSW to LVLH
Transform a position (and optionally velocity) vector from RSW to LVLH.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_rsw |
Chaser RSW position vector relative to target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_rsw |
Chaser RSW velocity vector relative to target [km/s] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_lvlh |
Chaser LVLH position vector relative to target [km] |
Conversion from IJK to vuw
Compute the transformation matrices to convert IJK to vuw.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2]
this is used here to assume instantaneous conic motion if |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from IJK to VUW.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_vuw |
Chaser vuw position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_vuw |
Chaser vuw position vector relative to target [km] |
Conversion from vuw to IJK
Compute the transformation matrices to convert VUW to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from VUW to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_vuw |
Chaser vuw position vector relative to target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_vuw |
Chaser vuw position vector relative to target [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
for reporting the points in the cw_propagator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t |
time [sec] |
||
real(kind=wp), | intent(in), | dimension(6) | :: | rv |
state [km,km/s] |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] [not used by all algorithms] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Clohessy-Wiltshire equations for relative motion.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(6) | :: | x0 |
initial state [r,v] of chaser (at t0) [km, km/s] |
|
real(kind=wp), | intent(in) | :: | dt |
elapsed time from t0 [sec] |
||
real(kind=wp), | intent(in) | :: | n |
mean motion of target orbit ( |
final state [r,v] of chaser [km, km/s]
Clohessy-Wiltshire propagation routine.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t0 |
initialize time [sec] |
||
real(kind=wp), | intent(in), | dimension(6) | :: | x0 |
initial state in RST coordinates [km,km/s] |
|
real(kind=wp), | intent(in) | :: | h |
abs(time step) [sec] |
||
real(kind=wp), | intent(in) | :: | n |
mean motion of target orbit ( |
||
real(kind=wp), | intent(in) | :: | tf |
final time [sec] |
||
real(kind=wp), | intent(out), | dimension(6) | :: | xf |
final state in RST coordinates [km,km/s] |
|
procedure(report_func), | optional | :: | report |
to report each point |
Transform a position (and optionally velocity) vector from IJK to a specified relative frame.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
procedure(frame_transform_func) | :: | from_ijk_to_frame |
function to compute the transformation matrices |
|||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_frame |
Chaser frame position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_frame |
Chaser frame position vector relative to target [km] |
Transform a position (and optionally velocity) vector from a specified relative frame to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
procedure(frame_transform_func) | :: | from_frame_to_ijk |
function to compute the transformation matrices |
|||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_frame |
Chaser frame position vector relative to target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_frame |
Chaser frame position vector relative to target [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
Compute the transformation matrices to convert IJK to LVLH.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from IJK to LVLH.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_lvlh |
Chaser LVLH position vector relative to target [km] |
Compute the transformation matrices to convert LVLH to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from LVLH to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
Compute the transformation matrices to convert IJK to vuw.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2]
this is used here to assume instantaneous conic motion if |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from IJK to VUW.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_vuw |
Chaser vuw position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_vuw |
Chaser vuw position vector relative to target [km] |
Compute the transformation matrices to convert VUW to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from VUW to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_vuw |
Chaser vuw position vector relative to target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_vuw |
Chaser vuw position vector relative to target [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
Compute the transformation matrices to convert IJK to RSW.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from IJK to RSW.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_rsw |
Chaser RSW position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_rsw |
Chaser RSW position vector relative to target [km] |
Compute the transformation matrices to convert RSW to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | r |
position vector of target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v |
velocity vector of target [km/s] |
|
real(kind=wp), | intent(in), | optional, | dimension(3) | :: | a |
acceleration vector of target [km/s^2] (if not present, then a torque-free force model is assumed) |
real(kind=wp), | intent(out), | dimension(3,3) | :: | c |
C transformation matrix |
|
real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot |
CDOT transformation matrix |
Transform a position (and optionally velocity) vector from RSW to IJK.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | mu |
gravitational parameter [km^3/s^2] |
||
real(kind=wp), | intent(in), | dimension(3) | :: | rt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | vt_ijk |
Target IJK absolute position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_rsw |
Chaser RSW position vector [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_rsw |
Chaser RSW velocity vector [km/s] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | r_ijk |
Chaser IJK absolute position vector [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | v_ijk |
Chaser IJK absolute velocity vector [km/s] |
Transform a position (and optionally velocity) vector from RSW to LVLH.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_rsw |
Chaser RSW position vector relative to target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_rsw |
Chaser RSW velocity vector relative to target [km/s] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_lvlh |
Chaser LVLH position vector relative to target [km] |
Transform a position (and optionally velocity) vector from LVLH to RSW.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | dr_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(in), | dimension(3) | :: | dv_lvlh |
Chaser LVLH position vector relative to target [km] |
|
real(kind=wp), | intent(out), | dimension(3) | :: | dr_rsw |
Chaser RSW position vector relative to target [km] |
|
real(kind=wp), | intent(out), | optional, | dimension(3) | :: | dv_rsw |
Chaser RSW velocity vector relative to target [km/s] |