コード例 #1
0
ファイル: run.py プロジェクト: olivboom/asteroid_impact
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
コード例 #2
0
ファイル: run.py プロジェクト: olivboom/asteroid_impact
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)
コード例 #3
0
def run_pre(tol):
    ## without burst
    initialisation.set_parameters("Earth")
    initialisation.set_variables("Chelyabinsk")
    settolerance(tol)
    return eroscode.main_pre()
コード例 #4
0
def run_radau_pre():
    initialisation.set_parameters("Earth")
    initialisation.set_variables("Chelyabinsk")
    return eroscode.main_radau_pre()
コード例 #5
0
def run(tol):
    initialisation.set_parameters("Earth")
    initialisation.set_variables("Chelyabinsk")
    settolerance(tol)
    return eroscode.main()