def run_asteroid(planet="Earth", asteroid='Tunguska', show=True, anal_assumption=False, tol=1e-8): """ Run the simulation for a documented asteroid and planet """ initialisation.set_parameters(planet, analytical_assumption=anal_assumption) if asteroid == "Analytical Assumptions": initialisation.set_parameters(planet, analytical_assumption=anal_assumption) initialisation.settolerance(tol) state = initialisation.set_variables(asteroid) eroscode.initial_state = state eroscode.ensemble = False eroscode.main() final_state = eroscode.main() if show is True: plots.plot_5_graphs(final_state) return final_state
def analytical_compare(asteroid="Chelyabinsk"): """ Compares the analytical solution for a known numerical case given the same assumptions """ v_init, m_init, theta_init, z_init, x_init, diam_init, rho_m, y = initialisation.set_variables( asteroid) print(v_init, m_init, theta_init, z_init, x_init, diam_init) plotting_analytical.initialise_parameters(C_D=1, H=8000, rho_0=1.2) plotting_analytical.initialise_variables(v_init, m_init, theta_init, z_init, diam_init) initialisation.set_parameters(planet="Earth", analytical_assumption=True) initialisation.set_variables(asteroid) analytical = plotting_analytical.analytical() numerical = run_asteroid(asteroid, show=False, anal_assumption=True) plots.analytical_comparison(analytical, numerical)
def run_pre(tol): ## without burst initialisation.set_parameters("Earth") initialisation.set_variables("Chelyabinsk") settolerance(tol) return eroscode.main_pre()
def run_radau_pre(): initialisation.set_parameters("Earth") initialisation.set_variables("Chelyabinsk") return eroscode.main_radau_pre()
def run(tol): initialisation.set_parameters("Earth") initialisation.set_variables("Chelyabinsk") settolerance(tol) return eroscode.main()