Changeset 3719
- Timestamp:
- Oct 10, 2006, 10:48:31 AM (19 years ago)
- Location:
- anuga_core/source/anuga
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source/anuga/abstract_2d_finite_volumes/quantity_ext.c
r3678 r3719 209 209 210 210 211 //MH080605 set semi_impli it_update[k] to 0.0 here, rather than in update_conserved_quantities.py211 //MH080605 set semi_implicit_update[k] to 0.0 here, rather than in update_conserved_quantities.py 212 212 for (k=0;k<N;k++){ 213 213 semi_implicit_update[k]=0.0; -
anuga_core/source/anuga/examples/island.py
r3563 r3719 33 33 'top': [2], 34 34 'left': [3]}, 35 maximum_triangle_area = 5,35 maximum_triangle_area = 1.0, 36 36 filename = 'island.msh' , 37 interior_regions=[ ([[50,25], [70,25], [70,75], [50,75]], 3)] 37 interior_regions=[ ([[50,25], [70,25], [70,75], [50,75]], 1.0)] 38 #interior_holes=[[50,25], [70,25], [70,75], [50,75]], 38 39 ) 39 40 … … 54 55 # beta_h == 0.0 means that constant (1st order) gradients are introduced 55 56 # on h. This is equivalent to the constant depth used previously. 56 domain.beta_h = 0.9 57 domain.beta_h = 0.2 58 domain.beta_w_dry = 0.2 57 59 58 60 … … 78 80 79 81 #domain.set_quantity('friction', 0.1) #Honky dory 80 domain.set_quantity('friction', 100 ) #Creep82 domain.set_quantity('friction', 100.0) #Creep 81 83 domain.set_quantity('elevation', island) 82 84 domain.set_quantity('stage', 1) … … 94 96 domain.check_integrity() 95 97 96 98 domain.initialise_visualiser() 97 99 #------------------------------------------------------------------------------ 98 100 # Evolve system through time -
anuga_core/source/anuga/mesh_engine/test_triangmodule.py
r3514 r3719 211 211 212 212 def testbad_hole(self): 213 213 214 214 holelist = [(9.0)] 215 215 regionlist = [] 216 217 218 219 216 217 points = [(0.0,0.0),(0.0,10.0),(3.0,0.0),(3.0,10.0)] 218 pointattlist = [[],[],[],[]] 219 seglist = [(0,1),(1,3),(3,2),(2,0)] 220 220 segattlist = [0,0,0,0] 221 221 trilist = [] -
anuga_core/source/anuga/pmesh/mesh_interface.py
r3715 r3719 25 25 filename=None, 26 26 interior_regions=None, 27 interior_holes=None, 27 28 poly_geo_reference=None, 28 29 mesh_geo_reference=None, … … 43 44 Interior_regions is a list of tuples consisting of (polygon, resolution) 44 45 for each region to be separately refined. 46 47 Interior_holes is a list of ploygons for each hole. 45 48 46 49 This function does not allow segments to share points - use underlying … … 71 74 'filename': filename, 72 75 'interior_regions': interior_regions, 76 'interior_holes': interior_holes, 73 77 'poly_geo_reference': poly_geo_reference, 74 78 'mesh_geo_reference': mesh_geo_reference, … … 106 110 filename=None, 107 111 interior_regions=None, 112 interior_holes=None, 108 113 poly_geo_reference=None, 109 114 mesh_geo_reference=None, … … 146 151 raise PolygonError, msg 147 152 148 153 if interior_holes is not None: 154 # Test that all the interior polygons are inside the bounding_poly 155 for interior_polygon, res in interior_holes: 156 indices = inside_polygon(interior_polygon, bounding_polygon, 157 closed = True, verbose = False) 158 159 if len(indices) <> len(interior_polygon): 160 msg = 'Interior polygon %s is outside bounding polygon: %s'\ 161 %(str(interior_polygon), str(bounding_polygon)) 162 raise PolygonError, msg 149 163 150 164 # Resolve geo referencing … … 192 206 193 207 # Do interior regions 208 # if interior_regions is not None: 209 # for polygon, res in interior_regions: 210 # m.add_region_from_polygon(polygon, 211 # geo_reference=poly_geo_reference) 212 # # convert bounding poly to absolute values 213 # if poly_geo_reference is not None: 214 # polygon_absolute = \ 215 # poly_geo_reference.get_absolute(polygon) 216 # else: 217 # polygon_absolute = polygon 218 # inner_point = point_in_polygon(polygon_absolute) 219 # region = m.add_region(inner_point[0], inner_point[1]) 220 # region.setMaxArea(res) 221 222 194 223 if interior_regions is not None: 195 224 for polygon, res in interior_regions: 196 225 m.add_region_from_polygon(polygon, 226 max_triangle_area = res, 197 227 geo_reference=poly_geo_reference) 198 # convert bounding poly to absolute values 199 if poly_geo_reference is not None: 200 polygon_absolute = \ 201 poly_geo_reference.get_absolute(polygon) 202 else: 203 polygon_absolute = polygon 204 inner_point = point_in_polygon(polygon_absolute) 205 region = m.add_region(inner_point[0], inner_point[1]) 206 region.setMaxArea(res) 228 229 230 # Do interior holes 231 if interior_holes is not None: 232 for polygon, res in interior_holes: 233 m.add_hole_from_polygon(polygon, 234 geo_reference=poly_geo_reference) 235 207 236 208 237 -
anuga_core/source/anuga/pmesh/test_mesh_interface.py
r3715 r3719 137 137 interior_regions = [(inner1_polygon, 5),(inner2_polygon, 0.2)] 138 138 139 139 interior_holes = None 140 140 141 141 # Clear cache first … … 147 147 'filename': None, 148 148 'interior_regions': interior_regions, 149 'interior_holes': interior_holes, 149 150 'poly_geo_reference': geo_ref_poly, 150 151 'mesh_geo_reference': mesh_geo, -
anuga_core/source/anuga/shallow_water/shallow_water_ext.c
r3703 r3719 524 524 525 525 if (hc < minimum_allowed_height) { 526 526 527 527 //Old code: Set momentum to zero and ensure h is non negative 528 528 //xmomc[k] = 0.0; … … 536 536 // has no Python equivalent 537 537 if (hc <= 0.0) { 538 wc[k] = zc[k];539 xmomc[k] = 0.0;540 ymomc[k] = 0.0;538 wc[k] = zc[k]; 539 xmomc[k] = 0.0; 540 ymomc[k] = 0.0; 541 541 } else { 542 542 //Reduce excessive speeds derived from division by small hc 543 543 544 u = xmomc[k]/hc; 544 if (fabs(u) > maximum_allowed_speed) {545 reduced_speed = maximum_allowed_speed * u/fabs(u);546 //printf("Speed (u) has been reduced from %.3f to %.3f\n",547 // u, reduced_speed);548 xmomc[k] = reduced_speed * hc;549 }545 if (fabs(u) > maximum_allowed_speed) { 546 reduced_speed = maximum_allowed_speed * u/fabs(u); 547 //printf("Speed (u) has been reduced from %.3f to %.3f\n", 548 // u, reduced_speed); 549 xmomc[k] = reduced_speed * hc; 550 } 550 551 551 552 v = ymomc[k]/hc; 552 if (fabs(v) > maximum_allowed_speed) {553 reduced_speed = maximum_allowed_speed * v/fabs(v);554 //printf("Speed (v) has been reduced from %.3f to %.3f\n",555 // v, reduced_speed);556 ymomc[k] = reduced_speed * hc;557 }553 if (fabs(v) > maximum_allowed_speed) { 554 reduced_speed = maximum_allowed_speed * v/fabs(v); 555 //printf("Speed (v) has been reduced from %.3f to %.3f\n", 556 // v, reduced_speed); 557 ymomc[k] = reduced_speed * hc; 558 } 558 559 } 559 560 }
Note: See TracChangeset
for help on using the changeset viewer.