import sys import pickle import time from progressbar import * from interp.grid.DD import * from interp.tools import * from interp import bootstrap EXTRA_POINTS = 64 RES_START = 10 RES_END = 100 RES_DELTA = 10 ORDER_START = 1 ORDER_END = 8 dest_verts, output_filename = sys.argv[1:] dest_verts = pickle.load(open(dest_verts, 'r')) output_file = open(output_filename, 'w') count = len(dest_verts) * len(xrange(RES_START,RES_END + 1, RES_DELTA)) * len(xrange(ORDER_START, ORDER_END + 1)) widgets = ['submit jobs: ', Percentage(), ' ', Bar(), ' ', ETA()] pbar = ProgressBar(widgets = widgets, maxval = count) pbar.start() i=0 for resolution in xrange(RES_START,RES_END + 1, RES_DELTA): r = rect_grid(resolution, resolution) for v in xrange(len(r.verts)): r.q[v] = baker_exact_2D(r.verts[v]) output_file.write("%f" % (1.0 / resolution)) for order in xrange(ORDER_START, ORDER_END + 1): errors = [] start = time.time() for X in dest_verts: a = r.run_baker(X, order, EXTRA_POINTS) cur_exact = baker_exact_2D(X) e = a['final'] - cur_exact errors.append(e) i+=1 pbar.update(i) end = time.time() rmserror = rms(errors) output_file.write(" %e" % rmserror) output_file.write("\n") output_file.flush() pbar.finish()