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))
 | 
