diff --git a/bin/resolution.py b/bin/resolution.2D.py similarity index 100% rename from bin/resolution.py rename to bin/resolution.2D.py diff --git a/bin/resolution.3D.py b/bin/resolution.3D.py new file mode 100644 index 0000000..61214f1 --- /dev/null +++ b/bin/resolution.3D.py @@ -0,0 +1,58 @@ +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()