101 lines
2.1 KiB
Julia
101 lines
2.1 KiB
Julia
# -----------------------------------------------------------------------------
|
|
# DEFINING CONSTANTS
|
|
# -----------------------------------------------------------------------------
|
|
|
|
export μs, G, GMs, μ, rs, as, es
|
|
|
|
# Gravitational Constants
|
|
μs = Dict(
|
|
"Sun" => 1.32712440018e11,
|
|
"Mercury" => 2.2032e4,
|
|
"Venus" => 3.257e5,
|
|
"Earth" => 3.986004415e5,
|
|
"Moon" => 4.902799e3,
|
|
"Mars" => 4.305e4,
|
|
"Jupiter" => 1.266865361e8,
|
|
"Saturn" => 3.794e7,
|
|
"Uranus" => 5.794e6,
|
|
"Neptune" => 6.809e6,
|
|
"Pluto" => 9e2)
|
|
|
|
G = 6.67430e-20
|
|
|
|
function μ(m1::Float64, m2::Float64)
|
|
return m2/(m1+m2)
|
|
end
|
|
|
|
function μ(GM1::Float64, GM2::Float64, Grav::Float64)
|
|
return μ(GM1/Grav, GM2/Grav)
|
|
end
|
|
|
|
function μ(primary::String, secondary::String)
|
|
return μ(GMs[primary]/G, GMs[secondary]/G)
|
|
end
|
|
|
|
GMs = Dict(
|
|
"Sun" => 132712440041.93938,
|
|
"Earth" => 398600.435436,
|
|
"Moon" => 4902.800066)
|
|
|
|
# Radii
|
|
rs = Dict(
|
|
"Sun" => 696000.,
|
|
"Mercury" => 2439.,
|
|
"Venus" => 6052.,
|
|
"Earth" => 6378.1363,
|
|
"Moon" => 1738.,
|
|
"Mars" => 3397.2,
|
|
"Jupiter" => 71492.,
|
|
"Saturn" => 60268.,
|
|
"Uranus" => 25559.,
|
|
"Neptune" => 24764.,
|
|
"Pluto" => 1151.)
|
|
|
|
# Semi Major Axes
|
|
as = Dict(
|
|
"Mercury" => 57909083.,
|
|
"Venus" => 108208601.,
|
|
"Earth" => 149598023.,
|
|
"Moon" => 384400.,
|
|
"Mars" => 227939186.,
|
|
"Jupiter" => 778298361.,
|
|
"Saturn" => 1429394133.,
|
|
"Uranus" => 2875038615.,
|
|
"Neptune" => 4504449769.,
|
|
"Pluto" => 5915799000.)
|
|
|
|
# Eccentricities
|
|
es = Dict(
|
|
"Earth" => 0.016708617,
|
|
"Moon" => 0.0549)
|
|
|
|
# J2 for basic oblateness
|
|
j2s = Dict(
|
|
"Mercury" => 0.00006,
|
|
"Venus" => 0.000027,
|
|
"Earth" => 0.0010826269,
|
|
"Moon" => 0.0002027,
|
|
"Mars" => 0.001964,
|
|
"Jupiter" => 0.01475,
|
|
"Saturn" => 0.01645,
|
|
"Uranus" => 0.012,
|
|
"Neptune" => 0.004,
|
|
"Pluto" => 0.)
|
|
|
|
# These are just the colors for plots
|
|
p_colors = Dict(
|
|
"Sun" => :Electric,
|
|
"Mercury" => :heat,
|
|
"Venus" => :turbid,
|
|
"Earth" => :Blues,
|
|
"Moon" => :Greys,
|
|
"Mars" => :Reds,
|
|
"Jupiter" => :solar,
|
|
"Saturn" => :turbid,
|
|
"Uranus" => :haline,
|
|
"Neptune" => :ice,
|
|
"Pluto" => :matter)
|
|
|
|
AU = 149597870.691 #km
|
|
init_STM = vec(Matrix{Float64}(I,6,6))
|