keplerianOrbit¶
- 
class KeplerianOrbit¶
- #include <keplerianOrbit.h>The KeplerianOrbit class represents an elliptical orbit and provides a coherent set of common outputs such as position and velocity, orbital period, semi-parameter, etc. It uses the utility orbitalMotion to do orbital element to position and velocity conversion. Public Functions - 
KeplerianOrbit()¶
- This constructor initialized to an arbitrary orbit 
 - 
KeplerianOrbit(classicElements oe, GravBodyData *planet)¶
- The constructor requires orbital elements and a planet 
 - 
KeplerianOrbit(const KeplerianOrbit &orig)¶
- The copy constructor works with python copy 
 - 
~KeplerianOrbit()¶
- Generic Destructor 
 - 
Eigen::Vector3d r_BP_P()¶
- body position vector relative to planet - body position vector relative to planet 
 - 
Eigen::Vector3d v_BP_P()¶
- body velocity vector relative to planet - body velocity vector relative to planet 
 - 
Eigen::Vector3d h_BP_P()¶
- angular momentum of body relative to planet - angular momentum of body relative to planet 
 - 
double M()¶
- return mean anomaly angle 
 - 
double n()¶
- return mean orbit rate 
 - 
double P()¶
- return mean orbit rate - return orbit period 
 - 
double f()¶
- return orbital period - return true anomaly 
 - 
double fDot()¶
- return true anomaly - return true anomaly rate 
 - 
double RAAN()¶
- return right ascencion of the ascending node 
 - 
double omega()¶
- return argument of periapses 
 - 
double i()¶
- return inclination angle 
 - 
double e()¶
- return eccentricty 
 - 
double a()¶
- return semi-major axis 
 - 
double h()¶
- return orbital angular momentum magnitude 
 - 
double Energy()¶
- return orbital energy 
 - 
double r()¶
- return orbit radius 
 - 
double v()¶
- return velocity magnitude 
 - 
double r_a()¶
- return radius at apoapses 
 - 
double r_p()¶
- return radius at periapses 
 - 
double fpa()¶
- return flight path angle 
 - 
double E()¶
- return eccentric anomaly angle 
 - 
double p()¶
- return semi-latus rectum or the parameter 
 - 
double rDot()¶
- return radius rate 
 - 
double c3()¶
- return escape velocity 
 - 
classicElements oe()¶
- This method returns the orbital element set for the orbit - Return
 
 - 
void set_planet(GravBodyData *plt)¶
- This method sets the planet being orbited 
 - 
void set_a(double a)¶
- set semi-major axis 
 - 
void set_e(double e)¶
- set eccentricity 
 - 
void set_i(double i)¶
- set inclination angle 
 - 
void set_omega(double omega)¶
- set argument of periapsis 
 - 
void set_RAAN(double RAAN)¶
- set right ascension of the ascending node 
 - 
void set_f(double f)¶
- set true anomaly angle 
 Private Functions - 
void change_orbit()¶
- This method populates all outputs from orbital elements coherently if any of the classical orbital elements are changed 
 - 
void change_f()¶
- This method only changes the outputs dependent on true anomaly so that one orbit may be queried at various points along the orbit 
 Private Members - 
GravBodyData *planet¶
 - 
double mu¶
 - 
double semi_major_axis¶
 - 
double eccentricity¶
 - 
double inclination¶
 - 
double argument_of_periapsis¶
 - 
double right_ascension¶
 - 
double true_anomaly¶
 - 
double true_anomaly_rate¶
 - 
double orbital_period¶
 - 
double orbital_energy¶
 - 
double v_infinity¶
 - 
double orbit_radius¶
 - 
double radial_rate¶
 - 
double r_apogee¶
 - 
double r_perigee¶
 - 
double semi_parameter¶
 - 
double flight_path_angle¶
 - 
double eccentric_anomaly¶
 - 
double mean_motion¶
 - 
double mean_anomaly¶
 - 
Eigen::Vector3d orbital_angular_momentum_P¶
 - 
Eigen::Vector3d position_BP_P¶
 - 
Eigen::Vector3d velocity_BP_P¶
 
-