Skip to content

Collection of gravity models designed for use by astrodynamicists

License

Notifications You must be signed in to change notification settings

MartinAstro/GravityModels

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tests License

Welcome to GravityModels!

This package is intended to be a one stop shop for various gravity model implementations in Python.

Currently the package supports the following models:

  • Spherical Harmonics
  • Polyhedral
  • Point Mass

In addition, this repository hosts the following gravity information for the following celestial objects:

  • Earth (EGM 2008, EGM 96)
  • Moon (GRGM)
  • Eros (Multiple shape models, and 16th degree spherical harmonic model)
  • Bennu (Multiple shape models, and 16th degree spherical harmonic model)

Usage

Initialize a celestial object of interest. Note, depending on the planet, this may take a minute as there is a one time operation which pulls the relevant gravity file from the internet. Some of these models can be rather large, but once pulled, the files are stashed locally and this operation will not occur again.

Once the object is loaded, initialize your gravity model of choice and compute accelerations or potentials as necessary!

from GravityModels.CelestialBodies.Planets import Earth
from GravityModels.Models import SphericalHarmonics
earth = Earth()
earth_sph_harm = SphericalHarmonics(earth.sh_file, 3)
position = np.ones((1, 3)) * 1e4  # Must be in meters
accelerations = earth_sph_harm.compute_acceleration(position)

Future Work

This will repository will include the PINN Gravity Model in the near future!

About

Collection of gravity models designed for use by astrodynamicists

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages