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, const double mu)¶
- The constructor requires orbital elements and a gravitational constant value 
 - 
KeplerianOrbit(const KeplerianOrbit &orig)¶
- The copy constructor works with python copy 
 - 
~KeplerianOrbit()¶
- Generic Destructor 
 - 
Eigen::Vector3d r_BP_P() const¶
- body position vector relative to planet - body position vector relative to planet 
 - 
Eigen::Vector3d v_BP_P() const¶
- body velocity vector relative to planet - body velocity vector relative to planet 
 - 
Eigen::Vector3d h_BP_P() const¶
- angular momentum of body relative to planet - angular momentum of body relative to planet 
 - 
double M() const¶
- return mean anomaly angle 
 - 
double n() const¶
- return mean orbit rate 
 - 
double P() const¶
- return mean orbit rate - return orbit period 
 - 
double f() const¶
- return orbital period - return true anomaly 
 - 
double fDot() const¶
- return true anomaly - return true anomaly rate 
 - 
double RAAN() const¶
- return right ascencion of the ascending node 
 - 
double omega() const¶
- return argument of periapses 
 - 
double i() const¶
- return inclination angle 
 - 
double e() const¶
- return eccentricty 
 - 
double a() const¶
- return semi-major axis 
 - 
double h() const¶
- return orbital angular momentum magnitude 
 - 
double Energy()¶
- return orbital energy 
 - 
double r() const¶
- return orbit radius 
 - 
double v() const¶
- return velocity magnitude 
 - 
double r_a() const¶
- return radius at apoapses 
 - 
double r_p() const¶
- return radius at periapses 
 - 
double fpa() const¶
- return flight path angle 
 - 
double E() const¶
- return eccentric anomaly angle 
 - 
double p() const¶
- return semi-latus rectum or the parameter 
 - 
double rDot() const¶
- return radius rate 
 - 
double c3() const¶
- return escape velocity 
 - 
classicElements oe()¶
- This method returns the orbital element set for the orbit - Returns
- classicElements oe 
 
 - 
void set_mu(const double mu)¶
- This method sets the gravitational constants of the body 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 - 
double mu = MU_EARTH¶
 - 
double semi_major_axis = 1E5¶
 - 
double eccentricity = 1E-5¶
 - 
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¶
 
- 
KeplerianOrbit()¶