From f03da63c4dcb0d76bd1a6f4bc74b1decb4a36ad2 Mon Sep 17 00:00:00 2001 From: Stephen Mardson McQuay Date: Tue, 15 Feb 2011 15:22:54 -0700 Subject: [PATCH] messing around with the gmsh3D parser --- bin/parse_gmsh3D.py | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/bin/parse_gmsh3D.py b/bin/parse_gmsh3D.py index f1251d2..679f3b2 100755 --- a/bin/parse_gmsh3D.py +++ b/bin/parse_gmsh3D.py @@ -8,6 +8,15 @@ import interp.bootstrap from interp.grid.gmsh import gmsh_grid3D from interp.tools import exact_func_3D, improved_answer, log +from interp.grid import grid + +def exact(X): + x = X[0] + y = X[1] + z = X[2] + return 1+ x*x + y*y + z*z + + if __name__ == '__main__': if len(sys.argv) != 2: @@ -15,23 +24,25 @@ if __name__ == '__main__': sys.exit(1) g = gmsh_grid3D(sys.argv[1]) + g.q = np.array([exact(x) for x in g.verts]) X = np.array([0.2, 0.5, 0.01]) R = g.get_containing_simplex(X) R, S = g.get_simplex_and_nearest_points(X, 10) - # print R - # print "r", R - # print "s", S + print R + print "r", R + print "s", S - # results = {True:0, False:0} - # for i in xrange(10): - # X = np.random.random((1,3))[0] + results = {True:0, False:0} + for i in xrange(1000): + X = np.random.random((1,3))[0] - # a = g.run_baker(X, order = 5, extra_points = 25) - # e = exact_func_3D(X) - # ia = improved_answer(a, e) - # results[ia] += 1 + a = g.run_baker(X, order = 4, extra_points = 32) + e = exact_func_3D(X) + results[improved_answer(a, e)] += 1 - # print results - # g.normalize_q() + print results + g.normalize_q() # print g.toxml() + + igg = grid(g.verts, g.q)