def RK(t, U): t, U = rk.rk3(t, U, odefun, dt, q1, q2) return t, U
# print("|massDiff| = {0:.2e}" \ # . format(np.abs(np.sum(U[3,1:-1,:] * Ds(U[4,:,:])[1:-1,:] \ # / g * ds * dx) - mass0) / mass0)) et = time.time() if contourFromSaved : U[0:5,:,:] = np.load(saveString \ + '{0:04d}'.format(np.int(np.round(t))) + '.npy') if saveArrays: np.save(saveString \ + '{0:04d}'.format(np.int(np.round(t))) + '.npy', U[0:5,:,:]) if saveContours: contourSomething(U, t, rhoBar) if contourFromSaved: t = t + dt else: if rks == 3: t, U = rk.rk3(t, U, odefun, dt, q1, q2) elif rks == 4: t, U = rk.rk4(t, U, odefun, dt, q1, q2, q3, q4) else: raise ValueError("Please use RK3 or RK4 for this problem. " \ + "RK1 and RK2 are unstable in time, since their stability " \ + "regions have no imaginary axis coverage.") ###########################################################################