Currently working on refactor, much work to do
This commit is contained in:
@@ -2,113 +2,36 @@
|
||||
# DEFINING CONSTANTS
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
export μs, G, GMs, μ, rs, as, es, AU, ids
|
||||
export Body, Sun, Mercury, Venus, Earth, Moon, Mars
|
||||
export Jupiter, Saturn, Uranus, Neptune, Pluto
|
||||
export G, AU, init_STM, hour, day, year, second
|
||||
export Pathlist
|
||||
|
||||
# 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)
|
||||
struct Body
|
||||
μ::Float64
|
||||
r::Float64 # radius
|
||||
color::String
|
||||
id::Int # SPICE id
|
||||
end
|
||||
|
||||
G = 6.67430e-20
|
||||
const Sun = Body(1.32712440018e11, 696000., "Electric", 10)
|
||||
const Mercury = Body(2.2032e4, 2439., "heat", 1)
|
||||
const Venus = Body(3.257e5, 6052., "turbid", 2)
|
||||
const Earth = Body(3.986004415e5, 6378.1363, "Blues", 399)
|
||||
const Moon = Body(4.902799e3, 1738., "Greys", 301)
|
||||
const Mars = Body(4.305e4, 3397.2, "Reds", 4)
|
||||
const Jupiter = Body(1.266865361e8, 71492., "solar", 5)
|
||||
const Saturn = Body(3.794e7, 60268., "turbid", 6)
|
||||
const Uranus = Body(5.794e6, 25559., "haline", 7)
|
||||
const Neptune = Body(6.809e6, 24764., "ice", 8)
|
||||
const Pluto = Body(9e2, 1151., "matter", 9)
|
||||
|
||||
function μ(m1::Float64, m2::Float64)
|
||||
return m2/(m1+m2)
|
||||
end
|
||||
const G = 6.67430e-20 #universal gravity parameter
|
||||
const AU = 149597870.691 #km
|
||||
const init_STM = vec(Matrix{Float64}(I,6,6))
|
||||
const second = 1.
|
||||
const hour = 3600.
|
||||
const day = 86400.
|
||||
const year = 365 * day
|
||||
|
||||
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
|
||||
|
||||
const GMs = Dict(
|
||||
"Sun" => 132712440041.93938,
|
||||
"Earth" => 398600.435436,
|
||||
"Moon" => 4902.800066)
|
||||
|
||||
# Radii
|
||||
const 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
|
||||
const as = Dict(
|
||||
"Mercury" => 57909083.,
|
||||
"Venus" => 108208601.,
|
||||
"Earth" => 149598023.,
|
||||
"Moon" => 384400.,
|
||||
"Mars" => 227939186.,
|
||||
"Jupiter" => 778298361.,
|
||||
"Saturn" => 1429394133.,
|
||||
"Uranus" => 2875038615.,
|
||||
"Neptune" => 4504449769.,
|
||||
"Pluto" => 5915799000.)
|
||||
|
||||
# Eccentricities
|
||||
const es = Dict(
|
||||
"Earth" => 0.016708617,
|
||||
"Moon" => 0.0549)
|
||||
|
||||
# J2 for basic oblateness
|
||||
const 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
|
||||
const 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")
|
||||
|
||||
const ids = Dict(
|
||||
"Sun" => 10,
|
||||
"Mercury" => 1,
|
||||
"Venus" => 2,
|
||||
"Earth" => 399,
|
||||
"Moon" => 301,
|
||||
"Mars" => 4,
|
||||
"Jupiter" => 5,
|
||||
"Saturn" => 6,
|
||||
"Uranus" => 7,
|
||||
"Neptune" => 8,
|
||||
"Pluto" => 9,
|
||||
)
|
||||
|
||||
const AU = 149597870.691 #km
|
||||
const init_STM = vec(Matrix{Float64}(I,6,6))
|
||||
Pathlist = Vector{Vector{Vector{Float64}}}
|
||||
|
||||
Reference in New Issue
Block a user