def sim(start, der_func, time_amount, num_steps, quick):
'simulate for some fixed time, and return the resultant (states, times) tuple'
tol = 1.49012e-8
if not quick:
tol /= 1e5 # more accurate simulation
times = np.linspace(0, time_amount, num=1 + num_steps)
states = odeint(der_func, start, times, col_deriv=True, rtol=tol, atol=tol, mxstep=50000)
states = states[1:]
times = times[1:]
assert len(states) == num_steps
assert len(times) == num_steps
return (states, times)
评论列表
文章目录