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()
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']