Source code for dustpy.std.sim

'''Module containing standard functions for the main simulation object.'''

from dustpy import std

import numpy as np


[docs] def dt_adaptive(sim): """Function that returns the suggested adaptive timestep. By default DustPy uses adaptive integration schemes. The step size function is therefore simply returning the suggested step size. Parameters ---------- sim : Frame Parent simulation frame Returns dt : float Time step""" return sim.t.suggested
[docs] def dt(sim): """Function returns the timestep depending on the source terms. Paramters --------- sim : Frame Parent simulation frame Returns ------- dt : float Time step""" dt_gas = std.gas.dt(sim) or 1.e100 dt_dust = std.dust.dt(sim) or 1.e100 dt = np.minimum(dt_gas, dt_dust) return sim.t.cfl * dt
[docs] def prepare_explicit_dust(sim): """This function is the preparation function that is called before every integration step. Parameters ---------- sim : Frame Parent simulation frame""" std.gas.prepare(sim)
[docs] def prepare_implicit_dust(sim): """This function is the preparation function that is called before every integration step. Parameters ---------- sim : Frame Parent simulation frame""" std.gas.prepare(sim) std.dust.prepare(sim)
[docs] def finalize_explicit_dust(sim): """This function is the finalization function that is called after every integration step. It is managing the boundary conditions and is enforcing floor values. Paramters --------- sim : Frame Parent simulation frame""" std.gas.finalize(sim) std.dust.finalize_explicit(sim)
[docs] def finalize_implicit_dust(sim): """This function is the finalization function that is called after every integration step. It is managing the boundary conditions and is enforcing floor values. Parameters ---------- sim : Frame Parent simulation frame""" std.gas.finalize(sim) std.dust.finalize_implicit(sim)