orbits: Types and functions for Kepler orbits.

[ bsd3, library, physics ] [ Propose Tags ]

[Skip to Readme]
Versions [RSS] [faq] 0.3, 0.4
Change log changelog.md
Dependencies ad (>=4.3.2), base (>=4.8 && <5), exact-real (>=0.12), lens, linear, units, units-defs (>=2.2) [details]
License BSD-3-Clause
Copyright 2020 Joe Hermaszewski
Author Joe Hermaszewski
Maintainer Joe Hermaszewski <keep.it.real@monoid.al>
Category Physics
Home page https://github.com/expipiplus1/orbits#readme
Bug tracker https://github.com/expipiplus1/orbits/issues
Source repo head: git clone https://github.com/expipiplus1/orbits
Uploaded by jophish at 2020-09-29T07:43:13Z
Distributions NixOS:0.4
Downloads 193 total (6 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]


[Index] [Quick Jump]


Maintainer's Corner

For package maintainers and hackage trustees


Readme for orbits-0.4

[back to package description]


For my uncle Zbys who watched the planets and stars.

Types and functions for dealing with Kepler orbits.

The main data type is Orbit, which describes the path of a body in orbit.


Symbol Meaning Notes
a Semi-major axis Negative for hyperbolic orbits
b Semi-minor axis Negative for hyperbolic orbits
e Eccentricity
q Periapsis
i Inclination
μ Standard gravitational parameter
Ω Longitude of the ascending node
l Semi-latus Rectum
n Mean motion
p Period
t Time since periapse
M Mean anomaly
E Eccentric anomaly Only for elliptic orbits
H Hyperbolic anomaly Only for hyperbolic orbits
ν True anomaly
h Specific angular momentum
ε Specific orbital energy
εp Specific potential energy
εk Specific kinetic energy
v Orbital speed or velocity
r The radius to the orbiting body
φ Flight path angle

Note that in the Haskell source uppercase symbols such as Ω and M are written with a leading underscore.


This package makes use of the units package to ensure that the implementation is correct regarding units of measure.


Contributions and bug reports are welcome!

Please feel free to contact me on GitHub or as "jophish" on freenode.