Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
Overhauled initial conditions generator for add_solar_system_body. Ca…
Browse files Browse the repository at this point in the history
…n more robustly retrieve initial conditions for many more bodies in the solar system, including physical properties like mass, radius, and rotation rates if they exist. Updated the Basic_Simulation example to reflect the new capabilities.
  • Loading branch information
MintoDA1 authored and MintoDA1 committed Jul 27, 2023
1 parent 6c7769c commit 2e1e93d
Show file tree
Hide file tree
Showing 4 changed files with 322 additions and 143 deletions.
8 changes: 7 additions & 1 deletion examples/Basic_Simulation/initial_conditions.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,13 @@
rng = default_rng(seed=123)

# Add the modern planets and the Sun using the JPL Horizons Database.
sim.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune","Pluto"])
sim.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"])

# Add in some main belt asteroids
sim.add_solar_system_body(name=["Ceres","Vesta","Pallas","Hygiea"])

# Add in some big KBOs
sim.add_solar_system_body(name=["Pluto","Eris","Sedna","Haumea","Makemake","Quaoar","Orcus","Gonggong","Salacia"])

# Add 5 user-defined massive bodies.
npl = 5
Expand Down
4 changes: 4 additions & 0 deletions python/swiftest/swiftest/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

import numpy as np
import astropy.constants as const
import astropy.units as u
from astropy.coordinates import SkyCoord

# Constants in SI units
GC = const.G.value[()]
Expand All @@ -27,4 +29,6 @@
# Solar oblatenes values: From Mecheri et al. (2004), using Corbard (b) 2002 values (Table II)
J2Sun = 2.198e-7
J4Sun = -4.805e-9
rotpoleSun = SkyCoord(ra=286.13 * u.degree, dec=63.87 * u.degree).cartesian
rotSun = (360.0 / 25.05) / JD2S * rotpoleSun

Loading

0 comments on commit 2e1e93d

Please sign in to comment.