def kdv_dense_reference(num): t0 = 0 tf = 0.003 t = np.linspace(t0, tf, num=num, endpoint=True) y0 = kdv_init(t0) tol = 1.e-15 nsteps = 10.e5 print 'computing reference solution to kdv problem (dense)' start_time = time.time() y = ex_p.ex_midpoint_explicit_parallel(kdv_func, None, y0, t, atol=tol, rtol=tol, mxstep=nsteps) y = kdv_solout_dense(y[1:], t[1:]) np.savetxt("reference_kdv_dense.txt", y.real) print 'reference solution saved in reference_kdv_dense.txt , it took', time.time() - start_time, ' s' return y
def kdv_reference(): t0 = 0 tf = 0.003 y0 = kdv_init(t0) tol = 1.e-15 nsteps = 10.e5 def func2(t,y): return kdv_func(y,t) print 'computing reference solution to kdv problem' start_time = time.time() y = ex_p.ex_midpoint_explicit_parallel(kdv_func, None, y0, [t0, tf], atol=tol, rtol=tol, mxstep=nsteps) y = kdv_solout(y[-1]) np.savetxt("reference_kdv.txt", y) print 'reference solution saved in reference_kdv.txt , it took', time.time() - start_time, ' s' return y
def KDVProblem(): t0, tf = 0, 0.0003 denseOutput = [t0,tf] y0 = kdv_init(t0) return TestProblemDefinition("kdv2", kdv_func, None, t0, y0, denseOutput,1.,None)
def KDVProblem(): t0, tf = 0, 0.0003 output_times = [t0, tf] y0 = kdv_init(t0) return TestProblemDefinition("kdv2", kdv_func, None, t0, y0, output_times, 1., None)