Example #1
0
u0 = None

prev_error = None

for N in N_list:
    options['N'] = N

    solver = ps.ps.PizzaSolver(options)

    print('---- {0} x {0} ----'.format(N))
    result = solver.run()
    if result is None:
        continue

    if result.error is not None:
        print('Error: ' + prec_str.format(result.error))

    u2 = u1
    u1 = u0
    u0 = result.u_act

    if prev_error is not None:
        convergence = np.log2(prev_error / result.error)

        print('Convergence: ' + prec_str.format(convergence))

    if do_rel_conv and u2 is not None:
        convergence = solver.calc_rel_convergence(u0, u1, u2)
        print('Rel convergence: ' + prec_str.format(convergence))

    print()
Example #2
0
    my_zmethod = ps.zmethod.ZMethod(options)
    my_zmethod.z1_fourier = z1_fourier

    result = my_zmethod.run()

    polarfd = result['polarfd']
    pert_solver = result['pert_solver']
    u_error = result['u_error']
    v_error = result['v_error']

    v2 = v1
    v1 = v0
    v0 = result['v']

    if v_error is not None:
        print('v error: ' + prec_str.format(v_error))

    if v2 is not None:
        convergence = polarfd.calc_rel_convergence(v0, v1, v2)
        print('v rel convergence: ' + prec_str.format(convergence))

    if prev_v_error is not None:
        convergence = np.log2(prev_v_error / v_error)
        print('v convergence: ' + prec_str.format(convergence))

    print()

    u2 = u1
    u1 = u0
    u0 = result['u']