- Timestamp:
- Nov 9, 2005, 4:46:14 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
inundation/analytical solutions/Analytical_solution_circular_hydraulic_jump.py
r2001 r2014 29 29 Q = 9.985/1000.0 30 30 wh0 = Q/(2.0*pi*0.1) 31 h0 = bed[2] + 0.00532 wh1 = -Q/(2.0*pi*0.5 )33 h1 = 0.56231 stage0 = bed[2] + 0.005 32 wh1 = -Q/(2.0*pi*0.503) 33 stage1 = 0.562 34 34 Manning = 0.009 35 35 … … 90 90 91 91 #--------------------------------- 92 # Function for initial water depth 92 # Function for initial water elevation 93 # (stage) 93 94 def level(x,y): 94 95 z = bed_z(x,y) 95 96 n = x.shape[0] 96 w= 0*x97 stage = 0*x 97 98 for i in range(n): 98 w[i] = h0 99 h = w[i] - z[i] 100 return w 99 stage[i] = stage0 100 return stage 101 101 102 102 103 def outflow_height(t):104 return [h1, 0 , 0]103 #def outflow_stage(t): 104 # return [stage1, 0 , 0] 105 105 106 106 … … 109 109 #--------------------------- 110 110 # Set up boundary conditions 111 DD_BC_INNER = Dirichlet_Discharge_boundary(domain, h0, wh0)112 DD_BC_OUTER = Dirichlet_Discharge_boundary(domain, h1, wh1)111 DD_BC_INNER = Dirichlet_Discharge_boundary(domain, stage0, wh0) 112 DD_BC_OUTER = Dirichlet_Discharge_boundary(domain, stage1, wh1) 113 113 114 114 domain.set_boundary({'inner': DD_BC_INNER, 'outer': DD_BC_OUTER}) … … 129 129 130 130 131 # from realtime_visualisation_new import Visualiser 132 # vxmom = Visualiser(domain,title='xmomentum',scale_z=10.0) 133 # vymom = Visualiser(domain,title='ymomentum',scale_z=10.0) 131 #domain.initialise_visualiser() 132 # #domain.visualiser.coloring['stage'] = True 133 #domain.visualiser.scale_z['stage'] = 2.0 134 #domain.visualiser.scale_z['elevation'] = 0.05 135 # 136 # 137 #from realtime_visualisation_new import Visualiser 138 ##vxmom = Visualiser(domain,title='xmomentum',scale_z=10.0) 139 ##vymom = Visualiser(domain,title='ymomentum',scale_z=10.0) 134 140 135 w= domain.quantities['stage']141 stage = domain.quantities['stage'] 136 142 137 143 #---------- … … 142 148 143 149 t0 = time.time() 144 for t in domain.evolve(yieldstep = 1.0, finaltime = 1000.):150 for t in domain.evolve(yieldstep = .1, finaltime = 3.0): 145 151 domain.write_time() 146 152 … … 148 154 radial_momentum = domain.create_quantity_from_expression(exp) 149 155 150 outer_stage = w.get_values(location='centroids', indices=[typical_outer[0]])151 outer_radial_mom = radial_momentum.get_values(location='centroids',indices=[typical_outer[0]])152 153 inner_stage = w.get_values(location='centroids', indices=[typical_inner[0]])154 inner_radial_mom = radial_momentum.get_values(location='centroids', indices=[typical_inner[0]])156 print 'outer stage ', stage.get_values(location='vertices', 157 indices=[typical_outer[0]]) 158 print ' radial mom ', \ 159 radial_momentum.get_values(location='centroids', 160 indices=[typical_outer[0]]) 155 161 156 print inner_stage 157 print inner_radial_mom 158 print outer_stage 159 print outer_radial_mom 162 print 'inner stage ', stage.get_values(location='centroids', 163 indices=[typical_inner[0]]) 164 print ' radial mom ', \ 165 radial_momentum.get_values(location='centroids', 166 indices=[typical_inner[0]]) 160 167 161 168 # f.write('time = %25.15e wall clock time %g \n' % (domain.time, time.time())) 162 169 f.write('%10.3f %25.15e %25.15e %25.15e %25.15e \n' % (domain.time, inner_stage, inner_radial_mom, outer_stage, outer_radial_mom)) 163 170 171 f.write('time = %25.15e wall clock time %g \n' % (domain.time, time.time())) 172 f.write('%g \n' % stage.get_values(location='centroids', 173 indices=[typical_outer[0]])[0]) 164 174 165 175 f.close()
Note: See TracChangeset
for help on using the changeset viewer.