Orbital Elements
05-17-2015, 06:20 PM (This post was last modified: 05-17-2015 06:21 PM by Eddie W. Shore.)
Post: #1 Eddie W. Shore Senior Member Posts: 975 Joined: Dec 2013
Orbital Elements

Input:

Three types of unit systems that can be used:

MI-LB-S: Miles-Pounds-Seconds
KM-KG-S: Kilograms-Kilometers-Seconds
MU=1: Sets the gravitational parameter (μ) to 1. Used for problems involving canonical units.

Radius vector: position where the satellite is located relative to the celestial object the satellite is orbiting around. Celestial objects include planets and stars.

Velocity vector: velocity of the satellite.

Canonical Units: The distance unit is set between the average distance between the satellite and its reference celestial object. The time unit is selected such that the velocity of the satellite is 1 distance unit per time unit. This ensures that μ = 1.

Output:

Angular Momentum Vector

Node Vector

Inclination Angle of the satellite: angle between the z-axis (J vector [0,0,1]) and the angular momentum vector.

Longitude Angle: the angle between the I vector ([1,0,0]) and when the satellite crosses the fundamental plane. For orbits around Earth, the measure statements from the vector pointing towards the Vernal Equinox (known as the First Point of Aries*) and going eastward.

(Even though today, in 2015, the Vernal Equinox is in the constellation Pisces, slowly moving towards Aquarius.)

Eccentricity: The eccentricity of the orbit. The vector and the norm is given. The eccentricity determines the path of the orbit:
If e = 0, the orbit is a circle.
If e < 1, the orbit is an ellipse.
If e = 1, the orbit is a parabola.
If e > 1, the orbit is a hyperbola.

** The HP Prime version sets the calculator to Fixed 5 decimal mode. All results shown are rounded to five digits.

Code:
EXPORT ORBELEM(M,vr,vv)
BEGIN
// 2015-05-01 EWS, Orbital Elements
// mass, radius vector, velocity vector

LOCAL mu,vh,vn,ve;
LOCAL R,H,N,E,I,L,C;
LOCAL str,s;

// Degrees Mode
HAngle:=1;

// Set to Fixed 5 Mode
HFormat:=1;
HDigits:=5;

// Main
CHOOSE(C,"Unit System","MI-LB-S",
"KM-KG-S","mu=1");
IF C==1 THEN
mu:=95629.523435*M; END;
IF C==2 THEN
mu:=398600.4418*M; END;
IF C==3 THEN
mu:=1; END;
vh:=CROSS(vr,vv);
MSGBOX("Angular Momentum Vector: "+vh);
vn:=CROSS([0,0,1],vh);
MSGBOX("Node Vector: "+vn);
H:=ABS(vh);
IF H≠0 THEN
I:=ACOS(vh(3)/H);
MSGBOX("Inclination:" +I+"°");
ELSE
MSGBOX("No Inclination Angle");
END;
N:=ABS(vn);
IF N≠0 THEN
L:=ACOS(vn(1)/N);
MSGBOX("Longitude: "+L+"°");
ELSE
MSGBOX("No Longitude Angle");
END;
V:=ABS(vv);
R:=ABS(vr);
ve:=1/mu*((V^2-mu/R)*vr-DOT(vr,vv)*vv);
E:=ABS(ve);

str:={"Circle","Ellipse","Parabola",
"Hyperbola"};
IF E=0 THEN s:=1; END;
IF E<1 THEN s:=2; END;
IF E=1 THEN s:=3; END;
IF E>1 THEN s:=4; END;
MSGBOX("Eccentricity: "+E+"; "+str(s));

END;

Example:
A satellite orbiting Earth (mass of 1.3170 * 10^25 pounds) has a radius vector of [[ 14700, 18268, 11500 ]] (miles) with the velocity of [[ 3.5, 4.5, 3.2 ]] (miles/sec). Recall that an hour is 3600 seconds.

Then:
Angular Momentum Vector: [[ 6707.6, -6790, 2212]]
Node Vector: [[6790, 6707.6, 0]]
Incidence Angle: 76.95158555°
Longitude Angle: 44.6502257°
Eccentricity: 1, Parabola

Source:

Roger R. Bate, Donald D. Mueller, Jerry E. White. “Fundamental of Astrodynamics” Dover Publications, Inc. New York: 1971
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)