|
@@ -0,0 +1,29 @@
|
|
1
|
+-- TODO defined globals need to be created somewhere else
|
|
2
|
+export gravitational_constant = 6.6743e-11 -- m^3 / (kg * s^2)
|
|
3
|
+export magic_pressure_constant = 1.1701572e-4 -- s^2 / m^2
|
|
4
|
+
|
|
5
|
+parameters = {
|
|
6
|
+ surface_radius: love.math.randomNormal 1100, 5500 -- [1.1e3, 9.9e3 km]
|
|
7
|
+ solid_density: love.math.randomNormal 0.675, 5.2 -- [2.5, 7.9 g/cm^3]
|
|
8
|
+}
|
|
9
|
+
|
|
10
|
+parameters.solid_volume = 4/3 * math.pi * parameters.surface_radius^3 -- km^3
|
|
11
|
+parameters.solid_mass = parameters.solid_density * parameters.solid_volume * 1e12 -- kg
|
|
12
|
+parameters.surface_gravity = gravitational_constant * parameters.solid_mass / parameters.surface_radius^2 * 1e-6 -- m/s^2
|
|
13
|
+parameters.atmosphere_reduction_rate = parameters.surface_gravity * magic_pressure_constant -- m^-1
|
|
14
|
+parameters.atmosphere_halving_height = math.log(2) / parameters.atmosphere_reduction_rate -- m
|
|
15
|
+-- volume containing the first half of the entire atmosphere is assumed to be
|
|
16
|
+-- half of the volume of the entire atmosphere if it was at surface pressure
|
|
17
|
+parameters.simulated_atmosphere_volume = (4/3 * math.pi * (parameters.surface_radius + parameters.atmosphere_halving_height / 1000)^3 - parameters.solid_volume) * 2 -- km^3
|
|
18
|
+
|
|
19
|
+-- TODO better (based on distance from star / temperature from star)
|
|
20
|
+parameters.surface_atmosphere_pressure = 101325 * math.max 0, love.math.randomNormal 0.125, 0.5 -- [0, 202650 kPa]
|
|
21
|
+-- TODO verify this will generate in meters
|
|
22
|
+parameters.minimum_orbital_height = math.log(1.4e-11 / parameters.surface_atmosphere_pressure) / parameters.atmosphere_reduction_rate -- m
|
|
23
|
+parameters.atmosphere_volume = 4/3 * math.pi * (parameters.surface_radius + parameters.minimum_orbital_height / 1000)^3 - parameters.solid_volume -- km^3
|
|
24
|
+-- TODO atmospheric composition?
|
|
25
|
+-- TODO albedo
|
|
26
|
+-- TODO surface_average_temperature (based on greenhouse gases or lack thereof, albedo, and base temperature from distance to star)
|
|
27
|
+
|
|
28
|
+-- unused at this time?
|
|
29
|
+parameters.surface_area = 4 * math.pi * parameters.surface_radius^2
|