| | </p><form id="calculator"><button class="submit">Simulate</button><fieldset id="environment"><legend>Environment</legend><label for="surface_temperature">Surface temperature (℃)</label><input tabindex="1" class="variable" type="number" step="1" min="-80" value="25" id="surface_temperature" name="surface_temperature"><label for="relative_humidity">Relative humidity</label><input tabindex="2" class="variable" type="number" step="0.01" min="0" value="86.34" id="surface_temperature" name="surface_temperature"></fieldset><fieldset id="mission"><legend>Mission</legend><label for="initial_velocity">Initial velocity (Mach)</label><input tabindex="3" class="variable" type="number" step="1" min="0" value="8" id="initial_velocity" name="initial_velocity"><label for="initial_latitude">Initial latitude (°)</label><input tabindex="4" class="variable" type="number" step="any" min="0" value="1.469167" id="initial_latitude" name="initial_latitude"><label for="initial_altitude">Initial altitude (m)</label><input tabindex="5" class="variable" type="number" step="1" min="0" value="6212" id="initial_altitude" name="initial_altitude"><label for="target_altitude">Target altitude (km)</label><input tabindex="6" class="variable" type="number" step="1" min="1" value="400" id="target_altitude" name="target_altitude"></fieldset><fieldset id="rocket"><legend>Rocket</legend><label for="diameter">Diameter (m)</label><input tabindex="7" class="variable" type="number" step="any" min="0" value="0.6" id="diameter" name="diameter"><label for="wet_mass">Wet mass (kg)</label><input tabindex="8" class="variable" type="number" step="1" min="1" value="250" id="wet_mass" name="wet_mass" oninput="this.value = Math.abs(this.value)"><label for="payload">Payload mass (kg)</label><input tabindex="9" class="variable" type="number" step="1" min="1" value="25" id="payload_mass" name="payload_mass" oninput="this.value = Math.abs(this.value)"><label for="drag_coefficient">Drag coefficient</label><input tabindex="10" class="variable" type="number" step="any" min="0" value="0.219" id="drag_coefficient" name="drag_coefficient"><label for="specific_impulse">Specific impulse (s)</label><input tabindex="11" class="variable" type="number" step="1" min="1" value="1700" id="specific_impulse" name="specific_impulse"></fieldset><button class="submit">Simulate</button><fieldset id="result"><legend>Result</legend></fieldset></form><a name="equations"></a><h1>Equations</h1><p> |
| | This section describes equation inputs and outputs. |
| | - </p><h2>Centrifugal force</h2><p class="equation"> |
| | - $$a = v^2 / r$$ |
| | - $$g_{force} = 0.10193679918451 a$$ |
| | - </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$v$</dt><dd>Projectile exit velocity (km/s)</dd><dt>$r$</dt><dd>Accelerator loop radius (km)</dd></dl></div><div class="output"><h3>Outputs</h3><dl><dt>$a$</dt><dd>Acceleration (km/s<sup>2</sup>)</dd><dt>$g_{force}$</dt><dd>Force experienced in terms of Earth's gravitational acceleration</dd></dl></div></div><h2>Cross-section area</h2><p class="equation"> |
| | + </p><h2>Cross-section area</h2><p> |
| | + Calculates the ballistic coefficient of friction, which helps |
| | + determine the drag force magnitude experienced by the rocket. |
| | + </p><p class="equation"> |
| | $$A = \pi (d / 2)^2$$ |
| | - </p><div class="variables"><div class="input"><h3>Input</h3><dl><dt>$d$</dt><dd>Rocket diameter (m)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$A$</dt><dd>Rocket's cross-section area (m<sup>2</sup>)</dd></dl></div></div><p> |
| | - A complete cross-section requires a far more complex calculation. The |
| | - value from that calculation can be provided as an input to the calculator. |
| | - </p><h2>Air pressure</h2><p class="equation"> |
| | + </p><div class="variables"><div class="input"><h3>Input</h3><dl><dt>$d$</dt><dd>Rocket diameter (m)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$A$</dt><dd>Rocket's cross-section area (m<sup>2</sup>)</dd></dl></div></div><h2>Air pressure</h2><p> |
| | + Calculates the amount of pressure air exerts at a given altitude. |
| | + </p><p class="equation"> |
| | $$P = P_{sea} \bigg( 1 + \frac{L}{T} h \bigg) ^ {\frac{-g_0 \cdot M}{R \cdot L}}$$ |
| | - </p><div class="variables"><div class="input"><h3>Input</h3><dl><dt>$P_{sea}$</dt><dd>Sea level pressure (101325 Pa)</dd><dt>$L$</dt><dd>Lapse rate (-0.0065 K/m)</dd><dt>$T$</dt><dd>Temperature (K)</dd><dt>$h$</dt><dd>Altitude (m)</dd><dt>$g_0$</dt><dd>Gravitational acceleration constant (9.80665 m/s<sup>2</sup>)</dd><dt>$M$</dt><dd>Earth's atmospheric molar mass (0.0289644 kg/mol)</dd><dt>$R$</dt><dd>Universal gas constant (8.31432 N⋅m/mol⋅K)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$P$</dt><dd>Air pressure (Pa)</dd></dl></div></div><h2>Tetens equation</h2><p class="equation"> |
| | + </p><div class="variables"><div class="input"><h3>Input</h3><dl><dt>$P_{sea}$</dt><dd>Sea level pressure (101325 Pa)</dd><dt>$L$</dt><dd>Lapse rate (-0.0065 K/m)</dd><dt>$T$</dt><dd>Temperature (K)</dd><dt>$h$</dt><dd>Altitude (m)</dd><dt>$g_0$</dt><dd>Gravitational acceleration constant (9.80665 m/s<sup>2</sup>)</dd><dt>$M$</dt><dd>Earth's atmospheric molar mass (0.0289644 kg/mol)</dd><dt>$R$</dt><dd>Universal gas constant (8.31432 N⋅m/mol⋅K)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$P$</dt><dd>Air pressure (Pa)</dd></dl></div></div><h2>Tetens equation</h2><p> |
| | + Calculates the saturation vapour pressure of water at a given temperature. |
| | + </p><p class="equation"> |
| | $$P_v = 0.61078 \cdot e ^ {17.27 T / (T + 237.31)}$$ |
| | - </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$T$</dt><dd>Temperature (℃)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$P_v$</dt><dd>Vapour pressure (Pa)</dd></dl></div></div><h2>Air density</h2><p class="equation"> |
| | + </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$T$</dt><dd>Temperature (℃)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$P_v$</dt><dd>Vapour pressure (Pa)</dd></dl></div></div><h2>Air density</h2><p> |
| | + Calculates the density of air at a given altitude, which helps determine |
| | + the drag force due to air experienced by the rocket. |
| | + </p><p class="equation"> |
| | $$\rho = \left(\frac{P_d}{R_d \cdot T}\right) + \left(\frac{P_v}{R_v \cdot T}\right)$$ |
| | - </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$P_d$</dt><dd>Partial pressure of dry air (Pa)</dd><dt>$P_v$</dt><dd>Partial pressure of water vapor (Pa)</dd><dt>$T$</dt><dd>Temperature (℃)</dd><dt>$R_d$</dt><dd>Specific gas constant for dry air (287.058 J/(kg⋅K))</dd><dt>$R_v$</dt><dd>Specific gas constant for water vapour (461.495 J/(kg⋅K))</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$\rho$</dt><dd>Air density (kg/m<sup>3</sup>)</dd></dl></div></div><h2>Earth effective radius</h2><p class="equation"> |
| | + </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$P_d$</dt><dd>Partial pressure of dry air (Pa)</dd><dt>$P_v$</dt><dd>Partial pressure of water vapor (Pa)</dd><dt>$T$</dt><dd>Temperature (℃)</dd><dt>$R_d$</dt><dd>Specific gas constant for dry air (287.058 J/(kg⋅K))</dd><dt>$R_v$</dt><dd>Specific gas constant for water vapour (461.495 J/(kg⋅K))</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$\rho$</dt><dd>Air density (kg/m<sup>3</sup>)</dd></dl></div></div><h2>Earth effective radius</h2><p> |
| | + Calculates Earth's radius at a given latitude, which helps determine |
| | + the main gravitational force experienced by the rocket. |
| | + </p><p class="equation"> |
| | $$R_f = \frac{R_e - R_{pole}}{R_e}$$ |
| | $$R_E = R_e (1 - R_f \cdot sin^2 \varphi)$$ |
| | - </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$R_e$</dt><dd>Equatorial radius (m)</dd><dt>$R_{pole}$</dt><dd>Polar radius (m)</dd><dt>$\varphi$</dt><dd>Latitude (°)</dd></dl></div><div class="output"><h3>Outputs</h3><dl><dt>$R_f$</dt><dd>Flattening ratio</dd><dt>$R_E$</dt><dd>Effective radius (m)</dd></dl></div></div><h2>Rotational speed</h2><p class="equation"> |
| | + </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$R_e$</dt><dd>Equatorial radius (m)</dd><dt>$R_{pole}$</dt><dd>Polar radius (m)</dd><dt>$\varphi$</dt><dd>Latitude (°)</dd></dl></div><div class="output"><h3>Outputs</h3><dl><dt>$R_f$</dt><dd>Flattening ratio</dd><dt>$R_E$</dt><dd>Effective radius (m)</dd></dl></div></div><h2>Rotational velocity</h2><p> |
| | + Calculates the rotational speed that the rocket gains by being |
| | + launched at a given latitude. |
| | + </p><p class="equation"> |
| | $$\omega = R_E(\varphi) \frac{2 \pi}{T_s}$$ |
| | - </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$R_E$</dt><dd>Effective radius (m)</dd><dt>$\varphi$</dt><dd>Latitude (°)</dd><dt>$T_s$</dt><dd>Sidereal time (86164.0905 s)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$\omega$</dt><dd>Rotational speed (m/s)</dd></dl></div></div><h2>Orbital speed</h2><p class="equation"> |
| | - $$v_{orb} = \sqrt{\frac{G}{R_E(\varphi) + h}}$$ |
| | - </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$G$</dt><dd>Standard gravitational parameter (m/s<sup>2</sup>)</dd><dt>$R_E$</dt><dd>Effective radius (m)</dd><dt>$\varphi$</dt><dd>Latitude (°)</dd><dt>$h$</dt><dd>Altitude (m)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$v_{orb}$</dt><dd>Orbital speed (m/s)</dd></dl></div></div><h2>Gravity</h2><p class="equation"> |
| | + </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$R_E$</dt><dd>Effective radius (m)</dd><dt>$\varphi$</dt><dd>Latitude (°)</dd><dt>$T_s$</dt><dd>Sidereal time (86164.0905 s)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$\omega$</dt><dd>Rotational velocity (m/s)</dd></dl></div></div><h2>Orbital velocity</h2><p> |
| | + Calculates the necessary speed the rocket needs to reach to enter a |
| | + stable orbit. |
| | + </p><p class="equation"> |
| | + $$v_{o} = \sqrt{\frac{G}{R_E(\varphi) + h}}$$ |
| | + </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$G$</dt><dd>Standard gravitational parameter (m/s<sup>2</sup>)</dd><dt>$R_E$</dt><dd>Effective radius (m)</dd><dt>$\varphi$</dt><dd>Latitude (°)</dd><dt>$h$</dt><dd>Altitude (m)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$v_{o}$</dt><dd>Orbital velocity (m/s)</dd></dl></div></div><h2>Gravity</h2><p> |
| | + Calculates the gravitational forces experienced by the rocket, which must |
| | + be overcome to reach a stable orbit. |
| | + </p><p class="equation"> |
| | $$g = g_0 \big[1 + 0.0053024 \cdot sin^2(\varphi) - 0.0000058 \cdot sin^2(2\varphi)\big] + \left(-3.086 \times 10^{-6} h\right)$$ |
| | - </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$g_0$</dt><dd>Surface gravity (m/s<sup>2</sup>)</dd><dt>$\varphi$</dt><dd>Latitude (°)</dd><dt>$h$</dt><dd>Altitude (m)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$g$</dt><dd>Gravity (m/s<sup>2</sup>)</dd></dl></div></div><h2>Speed of sound</h2><p class="equation"> |
| | + </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$g_0$</dt><dd>Surface gravity (m/s<sup>2</sup>)</dd><dt>$\varphi$</dt><dd>Latitude (°)</dd><dt>$h$</dt><dd>Altitude (m)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$g$</dt><dd>Gravity (m/s<sup>2</sup>)</dd></dl></div></div><h2>Speed of sound</h2><p> |
| | + Calculates the speed of sound given a velocity in Mach units. The |
| | + speed of sound varies depending on altitude and temperature. |
| | + </p><p class="equation"> |
| | $$cc = cc_s \sqrt{1 + \frac{T_s - \left(\frac{6h}{1000}\right)}{273.15}}$$ |
| | - </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$cc_s$</dt><dd>Surface speed of sound (331.3 m/s)</dd><dt>$T_s$</dt><dd>Surface temperature (℃)</dd><dt>$h$</dt><dd>Altitude (m)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$cc$</dt><dd>Speed of sound (m/s)</dd></dl></div></div><h2>Drag force</h2><p class="equation"> |
| | + </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$cc_s$</dt><dd>Surface speed of sound (331.3 m/s)</dd><dt>$T_s$</dt><dd>Surface temperature (℃)</dd><dt>$h$</dt><dd>Altitude (m)</dd></dl></div><div class="output"><h3>Output</h3><dl><dt>$cc$</dt><dd>Speed of sound (m/s)</dd></dl></div></div><h2>Drag force</h2><p> |
| | + Calculates the amount of drag experienced by the rocket, which must be |
| | + overcome to reach a stable orbit. |
| | + </p><p class="equation"> |
| | $$\rho = \rho_{air}(h)$$ |
| | - $$v_{net} = v_h - \omega$$ |
| | - $$v_{total} = \sqrt{v_{net}^2 + v_v^2}$$ |
| | - $$\left( F_{d_h}, F_{d_v} \right) = \left( -\frac{1}{2} \rho \cdot C_d \cdot v_{total} \cdot v_{net}, -\frac{1}{2} \rho \cdot C_d \cdot v_{total} \cdot v_v \right)$$ |
| | - </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$\rho_{air}$</dt><dd>Air density function (kg/m<sup>3</sup>)</dd><dt>$h$</dt><dd>Altitude (meters)</dd><dt>$v_h$</dt><dd>Horizontal velocity (m/s)</dd><dt>$\omega$</dt><dd>Rotational speed (m/s)</dd><dt>$v_v$</dt><dd>Vertical velocity (m/s)</dd><dt>$C_d$</dt><dd>Ballistic coefficient</dd></dl></div><div class="output"><h3>Outputs</h3><dl><dt>$\rho$</dt><dd>Air density at altitude (kg/m<sup>3</sup>)</dd><dt>$v_{net}$</dt><dd>Net horizontal velocity (m/s)</dd><dt>$v_{total}$</dt><dd>Total speed (m/s)</dd><dt>$F_{d_h}$</dt><dd>Horizontal drag force (N)</dd><dt>$F_{d_v}$</dt><dd>Vertical drag force (N)</dd></dl></div></div><h2>Acceleration</h2><p class="equation"> |
| | + $$v_n = v_h - \omega$$ |
| | + $$v_t = \sqrt{v_n^2 + v_v^2}$$ |
| | + $$D = -\frac{1}{2} \rho \cdot C_d \cdot v_t$$ |
| | + $$\left( F_{drag_h}, F_{drag_v} \right) = \left( D \cdot v_n, D \cdot v_v \right)$$ |
| | + </p><div class="variables"><div class="input"><h3>Inputs</h3><dl><dt>$\rho_{air}$</dt><dd>Air density function (kg/m<sup>3</sup>)</dd><dt>$h$</dt><dd>Altitude (meters)</dd><dt>$v_h$</dt><dd>Horizontal velocity (m/s)</dd><dt>$\omega$</dt><dd>Rotational velocity (m/s)</dd><dt>$v_v$</dt><dd>Vertical velocity (m/s)</dd><dt>$C_d$</dt><dd>Ballistic coefficient</dd></dl></div><div class="output"><h3>Outputs</h3><dl><dt>$\rho$</dt><dd>Air density at altitude (kg/m<sup>3</sup>)</dd><dt>$v_n$</dt><dd>Net horizontal velocity (m/s)</dd><dt>$v_t$</dt><dd>Total speed (m/s)</dd><dt>$D$</dt><dd>Drag force value (N · s/m)</dd><dt>$F_{drag_h}$</dt><dd>Horizontal drag force (N)</dd><dt>$F_{drag_v}$</dt><dd>Vertical drag force (N)</dd></dl></div></div><h2>Acceleration</h2><p> |
| | + Calculates how quickly the rocket increases its velocity, taking both |
| | + drag and gravitational forces into account. |
| | + </p><p class="equation"> |
| | $$F_{t_v} = -F_{drag_v}$$ |
| | $$F_{t_h} = \sqrt{F_t^2 - F_{t_v}^2}$$ |