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
Пример #3
0
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)
Пример #4
0
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)