Changeset 8893
- Timestamp:
- Jun 10, 2013, 11:11:02 AM (12 years ago)
- Location:
- trunk/anuga_work/development/gareth
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/anuga_work/development/gareth/experimental/balanced_dev/swb2_domain_ext.c ¶
r8884 r8893 948 948 ymom_centroid_store = malloc(number_of_elements*sizeof(double)); 949 949 stage_centroid_store = malloc(number_of_elements*sizeof(double)); 950 //min_elevation_edgevalue = malloc(number_of_elements*sizeof(double));950 min_elevation_edgevalue = malloc(number_of_elements*sizeof(double)); 951 951 max_elevation_edgevalue = malloc(number_of_elements*sizeof(double)); 952 952 cell_wetness_scale = malloc(number_of_elements*sizeof(double)); … … 965 965 ymom_centroid_values[k] = ymom_centroid_values[k]/dk; 966 966 967 //min_elevation_edgevalue[k] = min(elevation_edge_values[3*k],968 //min(elevation_edge_values[3*k+1],969 //elevation_edge_values[3*k+2]));967 min_elevation_edgevalue[k] = min(elevation_edge_values[3*k], 968 min(elevation_edge_values[3*k+1], 969 elevation_edge_values[3*k+2])); 970 970 max_elevation_edgevalue[k] = max(elevation_edge_values[3*k], 971 971 max(elevation_edge_values[3*k+1], … … 1005 1005 } 1006 1006 1007 1008 1007 // Alternative 'PROTECT' step 1009 1008 for(k=0; k<number_of_elements;k++){ 1010 if(count_wet_neighbours[k]<=3){1011 bedmax = max(elevation_centroid_values[k],1012 1009 //if(count_wet_neighbours[k]<=3){ 1010 if(1==1){ 1011 bedmax = max(elevation_vertex_values[3*k], 1013 1012 max(elevation_vertex_values[3*k+1], 1014 elevation_vertex_values[3*k+2]))); 1015 if(cell_wetness_scale[k]==0. || 1016 stage_centroid_values[k] - elevation_centroid_values[k] < 0.05*(bedmax-elevation_centroid_values[k])){ 1013 elevation_vertex_values[3*k+2])); 1014 if((cell_wetness_scale[k]==0. ) || 1015 ((stage_centroid_values[k] - elevation_centroid_values[k] < 0.05*(bedmax-elevation_centroid_values[k])) & 1016 count_wet_neighbours[k]<=3) ){ 1017 1017 xmom_centroid_store[k]=0.; 1018 1018 xmom_centroid_values[k]=0.; … … 1033 1033 // For partially wet cells, we now know that the edges of neighbouring 1034 1034 // fully wet cells have been defined 1035 if( cell_wetness_scale[k]== (1.0*k_wetdry) ){1035 if( cell_wetness_scale[k]==1.0*(1-k_wetdry) ){ 1036 1036 continue; 1037 1037 } … … 1144 1144 max(elevation_centroid_values[k1], 1145 1145 elevation_centroid_values[k2]))); 1146 //bedmin = min(elevation_centroid_values[k],1147 //min(elevation_centroid_values[k0],1148 //min(elevation_centroid_values[k1],1149 //elevation_centroid_values[k2])));1146 bedmin = min(elevation_centroid_values[k], 1147 min(elevation_centroid_values[k0], 1148 min(elevation_centroid_values[k1], 1149 elevation_centroid_values[k2]))); 1150 1150 stagemin = min(max(stage_centroid_values[k], elevation_centroid_values[k]), 1151 1151 min(max(stage_centroid_values[k0], elevation_centroid_values[k0]), … … 1280 1280 // // //}else{ 1281 1281 // // // Constant depth extrapolation 1282 // //if(stage_centroid_values[k]<stage_centroid_values[ktmp]){ 1283 // // stage_edge_values[k3]= stage_centroid_values[k]-elevation_centroid_values[k]+elevation_edge_values[k3]; 1284 // // stage_edge_values[k3+1]= stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+1]; 1285 // // stage_edge_values[k3+2]= stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+2]; 1286 // stage_edge_values[k3] = stage_centroid_values[k]; 1287 // stage_edge_values[k3+1] = stage_centroid_values[k]; 1288 // stage_edge_values[k3+2] = stage_centroid_values[k]; 1289 // //}else{ 1282 if(stage_centroid_values[k]<stage_centroid_values[ktmp]){ 1283 // Constant stage extrapolation reduces the issue of having the bed-slope term playing up on nearly dry cells 1284 // stage_edge_values[k3]= stage_centroid_values[k]-elevation_centroid_values[k]+elevation_edge_values[k3]; 1285 // stage_edge_values[k3+1]= stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+1]; 1286 // stage_edge_values[k3+2]= stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+2]; 1287 stage_edge_values[k3] = stage_centroid_values[k]; 1288 stage_edge_values[k3+1] = stage_centroid_values[k]; 1289 stage_edge_values[k3+2] = stage_centroid_values[k]; 1290 }else{ 1290 1291 // // stage_edge_values[k3] = stage_centroid_values[ktmp]; 1291 1292 // // stage_edge_values[k3+1] = stage_centroid_values[ktmp]; 1292 1293 // // stage_edge_values[k3+2] = stage_centroid_values[ktmp]; 1293 stage_edge_values[k3]= max(stage_centroid_values[k]-elevation_centroid_values[k]+elevation_edge_values[k3], stage_centroid_values[ktmp]); 1294 stage_edge_values[k3+1]= max(stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+1],stage_centroid_values[ktmp]); 1295 stage_edge_values[k3+2]= max(stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+2], stage_centroid_values[ktmp]); 1296 // //} 1294 //stage_edge_values[k3]= max(stage_centroid_values[k]-elevation_centroid_values[k]+elevation_edge_values[k3], stage_centroid_values[ktmp]); 1295 //stage_edge_values[k3+1]= max(stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+1],stage_centroid_values[ktmp]); 1296 //stage_edge_values[k3+2]= max(stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+2], stage_centroid_values[ktmp]); 1297 ktmp = 3*ktmp+neighbour_edges[k3+ii]; 1298 stage_edge_values[k3]= max(stage_centroid_values[k]-elevation_centroid_values[k]+elevation_edge_values[k3], stage_edge_values[ktmp]); 1299 stage_edge_values[k3+1]= max(stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+1],stage_edge_values[ktmp]); 1300 stage_edge_values[k3+2]= max(stage_centroid_values[k] -elevation_centroid_values[k]+elevation_edge_values[k3+2], stage_edge_values[ktmp]); 1301 } 1297 1302 1298 1303 // }else{ … … 1414 1419 //if( (area2>0) ){ 1415 1420 //if(count_wet_neighbours[k]>0){ 1416 //if(bedmax<=stagemin){ 1421 //if(min_elevation_edgevalue[k]<=stagemin ){ 1422 //if(bedmax<=stagemin ){ 1417 1423 limit_gradient(dqv, qmin, qmax, beta_tmp); 1418 1424 //}else{ … … 1823 1829 free(ymom_centroid_store); 1824 1830 free(stage_centroid_store); 1825 //free(min_elevation_edgevalue);1831 free(min_elevation_edgevalue); 1826 1832 free(max_elevation_edgevalue); 1827 1833 free(cell_wetness_scale); -
TabularUnified trunk/anuga_work/development/gareth/tests/merimbula_steve/run_sw_merimbula.py ¶
r8547 r8893 98 98 #domain.set_beta(1.5) 99 99 domain.set_name('merimbula') 100 domain.minimum_allowed_height=0.01100 #domain.minimum_allowed_height=0.01 101 101 102 102 #------------------------------------------------------------------------------ -
TabularUnified trunk/anuga_work/development/gareth/tests/shallow_steep_slope/channel_SU_sparse.py ¶
r8884 r8893 22 22 from anuga.shallow_water.shallow_water_domain import Domain as Domain 23 23 from balanced_dev import * 24 from balanced_dev import Domain as Domain24 #from balanced_dev import Domain as Domain 25 25 #from anuga_tsunami import * 26 26 #from anuga_tsunami import Domain as Domain … … 36 36 #------------------------------------------------------------------------------ 37 37 def topography(x, y): 38 return -x/10. + 1.*(numpy.sin(x/10.) +abs(y-50.)/10.) -0.*(x>80.) # linear bed slope38 return -x/10. # + 1.*(numpy.sin(x/10.) +abs(y-50.)/10.) -0.*(x>80.) # linear bed slope 39 39 40 40 def stagetopo(x,y): … … 44 44 45 45 line1=[ [9.,0.], [9., 100.] ] 46 Qin= 2.46 Qin=0.5 47 47 Inlet_operator(domain, line1,Qin) 48 48 … … 73 73 # Evolve system through time 74 74 #------------------------------------------------------------------------------ 75 for t in domain.evolve(yieldstep=4.0, finaltime= 400.0):75 for t in domain.evolve(yieldstep=4.0, finaltime=800.0): 76 76 print domain.timestepping_statistics() 77 print domain.boundary_flux_integral77 #print domain.boundary_flux_integral 78 78 print (domain.areas*(domain.quantities['stage'].centroid_values - domain.quantities['elevation'].centroid_values)).sum() 79 79 #print domain.quantities['stage'].centroid_values[myindex] - domain.quantities['elevation'].centroid_values[myindex]
Note: See TracChangeset
for help on using the changeset viewer.