#include <KeplerOrbit.hpp>
Reference: Satellite orbits models methods applications Montenbruck, E. Gill
Definition at line 49 of file KeplerOrbit.hpp.
Static Public Member Functions | |
| Vector< double > | State (double GM, const Vector< double > &Kep, double dt) |
| Computes the satellite state vector from osculating Keplerian elements for elliptic orbits. | |
| gpstk::Matrix< double > | StatePartials (double GM, const Vector< double > &Kep, double dt) |
| Computes the partial derivatives of the satellite state vector with respect to the orbital elements for elliptic, Keplerian orbits. | |
| Vector< double > | Elements (double GM, const Vector< double > &y) |
| Computes the osculating Keplerian elements from the satellite state vector for elliptic orbits. | |
| Vector< double > | Elements (double GM, double Mjda, double Mjdb, const Vector< double > &ra, const Vector< double > &rb) |
| Computes orbital elements from two given position vectors and associated times. | |
| void | TwoBody (double GM, const Vector< double > &Y0, double dt, Vector< double > &Y, Matrix< double > &dYdY0) |
| Propagates a given state vector and computes the state transition matrix for elliptical Keplerian orbits. | |
| double | EccentricAnomaly (double M, double e) |
| Computes the eccentric anomaly for elliptic orbits. | |
| double | TrueAnomaly (double M, double e) |
| Computes the true anomaly for elliptic orbits. | |
| double | MeanAnomaly (double cta, double e) |
| Computes the true anomaly for elliptic orbits. | |
| double | getPeriod (double GM, const Vector< double > &Kep) |
| Get the period of the orbit. | |
| double | getApogee (double GM, const Vector< double > &Kep) |
| Get the distance to the apogee point. | |
| double | getPerigee (double GM, const Vector< double > &Kep) |
| Get the distance to the perigee point. | |
| void | test () |
Protected Member Functions | |
| KeplerOrbit () | |
| Default constructor. | |
| ~KeplerOrbit () | |
| Default destructor. | |
Static Protected Member Functions | |
| double | FindEta (const Vector< double > &r_a, const Vector< double > &r_b, double tau) |
| Computes the sector-triangle ratio from two position vectors and the intermediate time. | |
| double | Frac (double x) |
| Fractional part of a number (y=x-[x]). | |
| double | Modulo (double x, double y) |
| x mod y | |
| double | F (double eta, double m, double l) |
| local function for use by FindEta() | |
| Vector< double > | Stack (Vector< double > r, Vector< double > v) |
| connect two vector | |
|
|
Default constructor.
Definition at line 163 of file KeplerOrbit.hpp. |
|
|
Default destructor.
Definition at line 166 of file KeplerOrbit.hpp. |
|
||||||||||||
|
Computes the eccentric anomaly for elliptic orbits.
Definition at line 48 of file KeplerOrbit.cpp. References gpstk::cos(), KeplerOrbit::Modulo(), and gpstk::sin(). Referenced by KeplerOrbit::State(), KeplerOrbit::StatePartials(), and KeplerOrbit::TrueAnomaly(). |
|
||||||||||||||||||||||||
|
Computes orbital elements from two given position vectors and associated times.
Definition at line 447 of file KeplerOrbit.cpp. References gpstk::cross(), gpstk::dot(), KeplerOrbit::FindEta(), log, KeplerOrbit::Modulo(), gpstk::norm(), gpstk::pow(), and gpstk::sqrt(). |
|
||||||||||||
|
Computes the osculating Keplerian elements from the satellite state vector for elliptic orbits. @ GM Gravitational coefficient @ y State vector(position and velocity) @ return Keplerian elements(a e i OGM omg M) @ warning The state vector and GM must be given in consistent units Definition at line 383 of file KeplerOrbit.cpp. References gpstk::cross(), gpstk::dot(), KeplerOrbit::Modulo(), gpstk::norm(), and gpstk::sqrt(). Referenced by KeplerOrbit::test(), and KeplerOrbit::TwoBody(). |
|
||||||||||||||||
|
local function for use by FindEta()
Definition at line 612 of file KeplerOrbit.cpp. References gpstk::asin(), log, gpstk::pow(), gpstk::sin(), and gpstk::sinh(). Referenced by KeplerOrbit::FindEta(). |
|
||||||||||||||||
|
Computes the sector-triangle ratio from two position vectors and the intermediate time.
Definition at line 118 of file KeplerOrbit.cpp. References gpstk::dot(), KeplerOrbit::F(), F1, F2, gpstk::norm(), gpstk::pow(), and gpstk::sqrt(). Referenced by KeplerOrbit::Elements(). |
|
|
Fractional part of a number (y=x-[x]).
Definition at line 182 of file KeplerOrbit.hpp. |
|
||||||||||||
|
Get the distance to the apogee point.
Definition at line 654 of file KeplerOrbit.cpp. |
|
||||||||||||
|
Get the distance to the perigee point.
Definition at line 661 of file KeplerOrbit.cpp. |
|
||||||||||||
|
Get the period of the orbit.
Definition at line 648 of file KeplerOrbit.cpp. References gpstk::sqrt(). |
|
||||||||||||
|
Computes the true anomaly for elliptic orbits.
Definition at line 102 of file KeplerOrbit.cpp. References gpstk::cos(), gpstk::sin(), and gpstk::sqrt(). |
|
||||||||||||
|
x mod y
Definition at line 186 of file KeplerOrbit.hpp. Referenced by KeplerOrbit::EccentricAnomaly(), and KeplerOrbit::Elements(). |
|
||||||||||||
|
connect two vector
Definition at line 235 of file KeplerOrbit.cpp. References Vector::size(). Referenced by KeplerOrbit::State(), and KeplerOrbit::StatePartials(). |
|
||||||||||||||||
|
Computes the satellite state vector from osculating Keplerian elements for elliptic orbits.
Definition at line 184 of file KeplerOrbit.cpp. References gpstk::cos(), KeplerOrbit::EccentricAnomaly(), gpstk::Rx(), gpstk::Rz(), gpstk::sin(), gpstk::sqrt(), and KeplerOrbit::Stack(). Referenced by KeplerOrbit::test(), and KeplerOrbit::TwoBody(). |
|
||||||||||||||||
|
Computes the partial derivatives of the satellite state vector with respect to the orbital elements for elliptic, Keplerian orbits.
Definition at line 267 of file KeplerOrbit.cpp. References gpstk::cos(), gpstk::cross(), KeplerOrbit::EccentricAnomaly(), gpstk::norm(), gpstk::Rx(), gpstk::Rz(), gpstk::sin(), gpstk::sqrt(), and KeplerOrbit::Stack(). Referenced by KeplerOrbit::TwoBody(). |
|
|
Definition at line 671 of file KeplerOrbit.cpp. References KeplerOrbit::Elements(), and KeplerOrbit::State(). |
|
||||||||||||
|
Computes the true anomaly for elliptic orbits.
Definition at line 86 of file KeplerOrbit.cpp. References gpstk::cos(), KeplerOrbit::EccentricAnomaly(), gpstk::sin(), and gpstk::sqrt(). |
|
||||||||||||||||||||||||
|
Propagates a given state vector and computes the state transition matrix for elliptical Keplerian orbits.
Definition at line 543 of file KeplerOrbit.cpp. References KeplerOrbit::Elements(), gpstk::sin(), gpstk::sqrt(), KeplerOrbit::State(), KeplerOrbit::StatePartials(), and gpstk::tan(). |
1.3.9.1