59 lines
1.4 KiB
Python
Executable File
59 lines
1.4 KiB
Python
Executable File
#!/usr/bin/python2.6
|
|
|
|
import sys
|
|
import pickle
|
|
import pdb
|
|
|
|
from grid.DD import rect_grid, random_grid
|
|
from baker import run_baker
|
|
from baker.tools import exact_func, smberror
|
|
|
|
qfile = '/tmp/grid_regular.txt'
|
|
|
|
if __name__ == '__main__':
|
|
try:
|
|
rx = int(sys.argv[1])
|
|
ry = int(sys.argv[2])
|
|
except (IndexError, ValueError) as e:
|
|
print "problem with argv: %s" % e
|
|
rx = 4
|
|
ry = 4 * rx
|
|
|
|
source_mesh = rect_grid(rx, ry)
|
|
|
|
# print source_mesh
|
|
|
|
X = [0.1, 0.01]
|
|
|
|
try:
|
|
print "trying to get simplex and nearest points using nearest points (kdtree)"
|
|
(R, S) = source_mesh.get_simplex_and_nearest_points(X, extra_points=4)
|
|
print "R for nearest-neighbor:\n", R
|
|
print "S for nearest-neighbor:\n", S
|
|
print "trying to run baker"
|
|
print run_baker(X, R, S)
|
|
except smberror as e:
|
|
print "caught error: %s" % e
|
|
|
|
print "trying to get simplex and nearest points using connectivity scheme"
|
|
(R, S) = source_mesh.get_points_conn(X)
|
|
print "R for connectivity:\n", R
|
|
print "S for connectivity:\n", S
|
|
print run_baker(X, R, S)
|
|
|
|
|
|
print "repeating the above just using the grid object:"
|
|
r = source_mesh.run_baker(X)
|
|
exact = exact_func(X)
|
|
print r
|
|
print 'exact', exact
|
|
print 'qlin' , r['qlin']
|
|
print 'error', r['error']
|
|
print 'final', r['final']
|
|
|
|
if abs(r['final'] - exact) <= abs(r['qlin'] - exact):
|
|
print "win"
|
|
else:
|
|
print "failure"
|
|
open(qfile, 'w').write(source_mesh.for_qhull())
|