Ignore:
Timestamp:
Nov 9, 2005, 4:46:14 PM (19 years ago)
Author:
steve
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • inundation/analytical solutions/Analytical_solution_circular_hydraulic_jump.py

    r2001 r2014  
    2929Q = 9.985/1000.0
    3030wh0 = Q/(2.0*pi*0.1)
    31 h0 = bed[2] + 0.005
    32 wh1 = -Q/(2.0*pi*0.5)
    33 h1 = 0.562
     31stage0 = bed[2] + 0.005
     32wh1 = -Q/(2.0*pi*0.503)
     33stage1 = 0.562
    3434Manning = 0.009
    3535
     
    9090
    9191#---------------------------------
    92 # Function for initial water depth
     92# Function for initial water elevation
     93# (stage)
    9394def level(x,y):
    9495    z = bed_z(x,y)
    9596    n = x.shape[0]
    96     w = 0*x
     97    stage = 0*x
    9798    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
    101101
    102102
    103 def outflow_height(t):
    104     return [h1, 0 , 0]
     103#def outflow_stage(t):
     104#    return [stage1, 0 , 0]
    105105
    106106
     
    109109#---------------------------
    110110# Set up boundary conditions
    111 DD_BC_INNER = Dirichlet_Discharge_boundary(domain, h0, wh0)
    112 DD_BC_OUTER = Dirichlet_Discharge_boundary(domain, h1, wh1)
     111DD_BC_INNER = Dirichlet_Discharge_boundary(domain, stage0, wh0)
     112DD_BC_OUTER = Dirichlet_Discharge_boundary(domain, stage1, wh1)
    113113
    114114domain.set_boundary({'inner': DD_BC_INNER, 'outer': DD_BC_OUTER})
     
    129129
    130130
    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)
    134140
    135 w = domain.quantities['stage']
     141stage = domain.quantities['stage']
    136142
    137143#----------
     
    142148
    143149t0 = time.time()
    144 for t in domain.evolve(yieldstep = 1.0, finaltime = 1000.):
     150for t in domain.evolve(yieldstep = .1, finaltime = 3.0):
    145151    domain.write_time()
    146152
     
    148154    radial_momentum = domain.create_quantity_from_expression(exp)
    149155
    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]])
    155161
    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]])
    160167
    161168#    f.write('time = %25.15e wall clock time %g \n' % (domain.time, time.time()))
    162169    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))
    163170
     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])
    164174
    165175f.close()
Note: See TracChangeset for help on using the changeset viewer.