|
bool | azimuth_launch_angle (double lat0, double lon0, double latF, double lonF, double jd, double tof, bool deg, double &az, double &inc, double &ra, double &m0, double &mF) |
| Compute the azimuth angle at the launch site for an orbital plane that intersects the launch location and the target location. More...
|
|
ml_matrix | ecef_to_eci (double loc_sid_time) |
| Compute the transformation matrix from ECEF to ECI. More...
|
|
ml_matrix | eci_to_orbit_plane (const ml_matrix &r, const ml_matrix &n) |
| Compute the rotation matrix from ECI to orbit plane. More...
|
|
ml_matrix | lla_to_ecef (const ml_matrix &lla, double rP) |
| Convert from LLA to ECEF. More...
|
|
ml_matrix | ecef_to_lla (const ml_matrix &ecef, double rP) |
| Convert from ECEF to LLA. More...
|
|
void | suborb_distance (double lat0, double lon0, double latF, double lonF, double &angleDist, double &range) |
| Compute the minimum angular distance around the Earth that connects two points. More...
|
|
void | suborb_lambert (double tFDes, double h0, double hF, double angleDist, double tol, double maxIter, double &gamma, double &v, double &tF) |
| Find initial velocity and flight path angle that gives desired distance. More...
|
|
void | suborb_velocity (double gamma, double h0, double hF, double angleDist, double &v, double &tF) |
| Compute initial velocity and flight time for a suborb trajectory. More...
|
|
ml_matrix | orbit_normal_from_elements (double inc, double ra) |
| Computes the orbit normal from inclination and right ascension. More...
|
|
void | optimal_intercept (const ml_matrix &rA0, const ml_matrix &vA0, const ml_matrix &lla0, double jd0, double minDist, double vBurnout, double &vDes, double &gammaDes, double &t0F, ml_matrix &llaF, double &tLaunch, double &jdLaunch) |
| Computes the optimal intercept time and velocity. More...
|
|
ml_matrix | adjust_eci_for_time (double jD0, double jDF, const ml_matrix &ECI0) |
| Computes the optimal intercept time and velocity. More...
|
|
bool azimuth_launch_angle |
( |
double |
lat0, |
|
|
double |
lon0, |
|
|
double |
latF, |
|
|
double |
lonF, |
|
|
double |
jd, |
|
|
double |
tof, |
|
|
bool |
deg, |
|
|
double & |
az, |
|
|
double & |
inc, |
|
|
double & |
ra, |
|
|
double & |
m0, |
|
|
double & |
mF |
|
) |
| |
NOTE: the target longitude can be increased by accounting for the anticipated time of flight, and noting the Earth's rate of rotation during that time.
NOTE: the local azimuth angle may need to be modified to account for Earth's rotation.
Reference: Aydin, "Orbit Selection and EKV Guidance for Space-based ICBM
Intercept", Masters Thesis, Naval Post-Graduate School, 2005.
Accepts lat/lon in degrees or radians; returns outputs in same format. Input 'deg' specifies input/output format.
- Parameters
-
lat0 | initial latitude |
lon0 | initial longitude |
latF | final latitude |
lonF | final longitude |
jd | Julian date (if negative, do not adjust with the jd) |
tof | time of flight |
deg | flag for are the lat/lon in degrees? |
az | azimuth (returned) |
inc | inclination (returned) |
ra | right ascension (returned) |
m0 | initial mean anomaly (returned) |
mF | final mean anomaly (returned) |
void suborb_lambert |
( |
double |
tFDes, |
|
|
double |
h0, |
|
|
double |
hF, |
|
|
double |
angleDist, |
|
|
double |
tol, |
|
|
double |
maxIter, |
|
|
double & |
gamma, |
|
|
double & |
v, |
|
|
double & |
tF |
|
) |
| |
Given initial and final altitudes, the desired time of flight, and the desired angular distance to fly around the globe, this routine conducts an iterative search for the initial flight path angle using the Lambert method.
References: Zarchan, P. (2002) Tactical and Strategic suborb Guidance, 4th Edition, pp. 239-244.
- Parameters
-
tFDes | desired time of flight (sec) |
h0 | initial altitude (km) |
hF | final altitude (km) |
angleDist | angular distance of flight around Earth (rad) |
tol | tolerance for converging to tFDes (0 = default (1e-3)) |
maxIter | maximum number of iterations (0 = default (100)) |
gamma | initial flight path angle (rad) (returned) |
v | initial velocity required (km/s) (returned) |
tF | flight time (sec) (returned) |
References suborb_velocity().
Referenced by optimal_intercept().
void suborb_velocity |
( |
double |
gamma, |
|
|
double |
h0, |
|
|
double |
hF, |
|
|
double |
angleDist, |
|
|
double & |
v, |
|
|
double & |
tF |
|
) |
| |
Given an initial altitude and flight path angle for the suborb, compute the required velocity for it to hit the target. The target is located at a given altitude and a specified angular distance (around the Earth) away from the suborb.
References: Zarchan, P. (2002) Tactical and Strategic suborb Guidance, 4th Edition, pp. 239-244.
- Parameters
-
gamma | initial flight path angle (rad) |
h0 | initial altitude (km) |
hF | final altitude (km) |
angleDist | angular distance of flight around Earth (rad) |
v | initial velocity required (km/s) (returned) |
tF | flight time (sec) (returned) |
Referenced by suborb_lambert().