Changeset 4872
- Timestamp:
- Dec 3, 2007, 4:21:04 PM (17 years ago)
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source/anuga/abstract_2d_finite_volumes/neighbour_mesh.py
r4836 r4872 893 893 894 894 return 895 896 897 def get_triangle_neighbours(self, tri_id): 898 """ Given a triangle id, Return an array of the 899 3 neighbour triangle id's. 900 901 Negative returned triangle id's represent a boundary as a neighbour. 902 903 If the given triangle id is bad, return an empty list. 904 """ 905 906 try: 907 return self.neighbours[tri_id,:] 908 except IndexError: 909 return [] 910 -
anuga_core/source/anuga/abstract_2d_finite_volumes/quantity.py
r4839 r4872 841 841 raise msg 842 842 843 if True: # FIXME (Ole): True takes less memory, 844 # but appears to be slower. 843 if True: 845 844 vertex_attributes = fit_to_mesh(filename, 846 845 mesh=self.domain, -
anuga_core/source/anuga/abstract_2d_finite_volumes/test_neighbour_mesh.py
r4856 r4872 1230 1230 id = mesh.get_triangle_containing_point(point) 1231 1231 assert id == i 1232 1232 1233 def test_get_triangle_neighbours(self): 1234 a = [0.0, 0.0] 1235 b = [0.0, 2.0] 1236 c = [2.0,0.0] 1237 e = [2.0, 2.0] 1238 points = [a, b, c, e] 1239 vertices = [ [1,0,2], [1,2,3] ] #bac, bce 1240 mesh = Mesh(points, vertices) 1241 1242 neighbours = mesh.get_triangle_neighbours(0) 1243 assert allclose(neighbours, [-1,1,-1]) 1244 neighbours = mesh.get_triangle_neighbours(-10) 1245 assert neighbours == [] 1246 neighbours = mesh.get_triangle_neighbours(2) 1247 assert neighbours == [] 1248 1233 1249 #------------------------------------------------------------- 1234 1250 if __name__ == "__main__": 1235 #suite = unittest.makeSuite(Test_Mesh,'test_ get_triangle_containing_point')1251 #suite = unittest.makeSuite(Test_Mesh,'test_two_triangles') 1236 1252 suite = unittest.makeSuite(Test_Mesh,'test') 1237 1253 runner = unittest.TextTestRunner() -
anuga_core/source/anuga/fit_interpolate/benchmark_least_squares.py
r4859 r4872 127 127 num_of_points=20000, 128 128 maxArea=1000, 129 max_points_per_cell= 4,129 max_points_per_cell=13, 130 130 is_fit=True, 131 131 use_file_type=None, … … 135 135 verbose=False, 136 136 run_profile=False, 137 gridded=True): 137 gridded=True, 138 geo_ref=True): 138 139 ''' 139 140 num_of_points … … 142 143 #print "maxArea",maxArea 143 144 #print "max_points_per_cell", max_points_per_cell 144 145 geo = None #Geo_reference(xllcorner = 2.0, yllcorner = 2.0) 145 if geo_ref is True: 146 geo = Geo_reference(xllcorner = 2.0, yllcorner = 2.0) 147 else: 148 geo = None 146 149 mesh_dict = self._build_regular_mesh_dict(maxArea=maxArea, 147 150 is_segments=segments_in_mesh, -
anuga_core/source/anuga/fit_interpolate/run_long_benchmark.py
r4861 r4872 18 18 19 19 # a maxArea of 0.00001 gives 155195 triangles 20 # Simulating Cairns. Seemed to take too long to run. Need to Try again.20 # Simulating Cairns. 21 21 22 maxArea_list = [0.00001] 23 num_of_points_list = [1863558] 22 #maxArea_list = [0.00001] 23 #num_of_points_list = [1863558] 24 25 # Simulating 1 tenth of Cairns. 26 27 #maxArea_list = [0.0001] 28 #num_of_points_list = [186558] 24 29 25 30 # a maxArea of 0.0001 gives 15568 triangles … … 40 45 # 132 points/tri is 42108 41 46 #maxArea_list = [0.005] 42 #num_of_points_list = [957,6380,42108]47 num_of_points_list = [957,6380,42108] 43 48 44 49 # a maxArea of 0.01 gives 150 triangles … … 50 55 51 56 # Quick check 52 # 57 #maxArea_list = [0.61] 53 58 #num_of_points_list = [4] 59 60 # the auto-validate benchmark fit 61 maxArea_list = [0.0001] 62 num_of_points_list = [1000] 54 63 55 64 56 65 57 58 max_points_per_cell_list = [13] 66 max_points_per_cell_list = [4] 59 67 use_file_type_list = ['pts'] 60 run_profile = True #False # True #True # False #61 gridded_list = [True ] #, False]62 68 run_profile = False # True #True # False # 69 gridded_list = [True, False] 70 geo_ref_list = [True, False] 63 71 64 72 if run_profile is True: … … 76 84 "is_fit" + delimiter + 77 85 "is_gridded" + delimiter + 86 "has_geo_ref" + delimiter + 78 87 "search_one_cell_time" + delimiter + 79 88 "search_more_cells_time" + delimiter + … … 85 94 for is_fit in is_fit_list: 86 95 for gridded in gridded_list: 87 for maxArea in maxArea_list: 88 for use_file_type in use_file_type_list: 89 for num_of_points in num_of_points_list: 90 for max_points_per_cell in max_points_per_cell_list: 96 for geo_ref in geo_ref_list: 97 for maxArea in maxArea_list: 98 for use_file_type in use_file_type_list: 99 for num_of_points in num_of_points_list: 100 for max_points_per_cell in max_points_per_cell_list: 91 101 92 time, mem, num_tri, one_t, more_t, quad_t = ben.trial( 93 num_of_points=num_of_points 94 ,maxArea=maxArea 95 ,max_points_per_cell=max_points_per_cell 96 ,is_fit=is_fit 97 ,segments_in_mesh=False 98 ,use_file_type=use_file_type 99 ,save=True 100 ,verbose=False 101 ,run_profile=run_profile 102 ,gridded=gridded 103 ) 104 print "time",time 105 print "mem", mem 106 print "num_tri", num_tri 107 fd.write(str(use_file_type) + delimiter + 108 str(num_of_points) + delimiter + 109 str(maxArea) + delimiter + 110 str(num_tri) + delimiter + 111 str(max_points_per_cell) + delimiter + 112 str(is_fit) + delimiter + 113 str(gridded) + delimiter + 114 str(one_t) + delimiter + 115 str(more_t) + delimiter + 116 str(quad_t) + delimiter + 117 str(mem) + delimiter + 118 str(time) + delimiter + "\n") 102 time, mem, num_tri, one_t, more_t, quad_t = ben.trial( 103 num_of_points=num_of_points 104 ,maxArea=maxArea 105 ,max_points_per_cell=max_points_per_cell 106 ,is_fit=is_fit 107 ,segments_in_mesh=False 108 ,use_file_type=use_file_type 109 ,save=True 110 ,verbose=False 111 ,run_profile=run_profile 112 ,gridded=gridded 113 ,geo_ref=geo_ref 114 ) 115 print "time",time 116 print "mem", mem 117 print "num_tri", num_tri 118 fd.write(str(use_file_type) + delimiter + 119 str(num_of_points) + delimiter + 120 str(maxArea) + delimiter + 121 str(num_tri) + delimiter + 122 str(max_points_per_cell) + delimiter + 123 str(is_fit) + delimiter + 124 str(gridded) + delimiter + 125 str(geo_ref) + delimiter + 126 str(one_t) + delimiter + 127 str(more_t) + delimiter + 128 str(quad_t) + delimiter + 129 str(mem) + delimiter + 130 str(time) + delimiter + "\n") 119 131 fd.close() -
anuga_core/source/anuga/fit_interpolate/search_functions.py
r4859 r4872 56 56 # Search the last triangle first 57 57 element_found, sigma0, sigma1, sigma2, k = \ 58 _search_triangles_of_vertices(mesh, 59 last_triangle, x) 58 _search_triangles_of_vertices(mesh,last_triangle, x) 60 59 #print "last_triangle", last_triangle 61 60 if element_found is True: 62 61 #print "last_triangle", last_triangle 63 62 return element_found, sigma0, sigma1, sigma2, k 64 65 66 63 64 # This was only slightly faster than just checking the 65 # last triangle and it significantly slowed down 66 # non-gridded fitting 67 # If the last element was a dud, search its neighbours 68 #print "last_triangle[0][0]", last_triangle[0][0] 69 #neighbours = mesh.get_triangle_neighbours(last_triangle[0][0]) 70 #print "neighbours", neighbours 71 #neighbours = [] 72 # for k in neighbours: 73 # if k >= 0: 74 # tri = mesh.get_vertex_coordinates(k, 75 # absolute=True) 76 # n0 = mesh.get_normal(k, 0) 77 # n1 = mesh.get_normal(k, 1) 78 # n2 = mesh.get_normal(k, 2) 79 # triangle =[[k,(tri, (n0, n1, n2))]] 80 # element_found, sigma0, sigma1, sigma2, k = \ 81 # _search_triangles_of_vertices(mesh, 82 # triangle, x) 83 # if element_found is True: 84 # return element_found, sigma0, sigma1, sigma2, k 85 67 86 #t0 = time.time() 68 87 # Get triangles in the cell that the point is in. -
anuga_validation/automated_validation_tests/fitting/validate_benchmark_fit.py
r4866 r4872 20 20 # FIXME test the time to put .pts elevation into a domain object 21 21 # FIXME do tests for interpolate as well. 22 23 # A version round 4872 has slower times. 24 # That's because v4872 is using geo-ref, whereas the 25 # previous version did not. 22 26 def test_fit_time_and_mem(self): 23 27 import socket … … 37 41 if host.find('tornado') == 0 or host.find('compute-1') == 0: 38 42 # Tornado headnode or node 39 time_standard = 1 1.543 time_standard = 14.5 40 44 self.assert_(time<time_standard*1.2) 41 mem_standard = 21 28045 mem_standard = 21340 42 46 self.assert_(mem<mem_standard*1.2) 43 47 44 48 elif host.find('compute-0') == 0: # cyclone node 45 time_standard = 1 7.049 time_standard = 19.0 46 50 self.assert_(time<time_standard*1.2) 47 mem_standard = 21 16851 mem_standard = 21300 48 52 self.assert_(mem<mem_standard*1.2) 49 53 50 54 elif host.find('cyclone') == 0: # cyclone headnode 51 time_standard = 1 1.855 time_standard = 13.3 52 56 self.assert_(time<time_standard*1.2) 53 mem_standard = 205 0057 mem_standard = 20560 54 58 self.assert_(mem<mem_standard*1.2) 55 59 … … 61 65 62 66 elif host.find('pc-31569') == 0: # DSG's PC 63 time_standard = 26.167 time_standard = 31.6 64 68 self.assert_(time<time_standard*1.2) 65 69
Note: See TracChangeset
for help on using the changeset viewer.