source: misc/tools/event_selection/wave_energy/run_up.py @ 7584

Last change on this file since 7584 was 7584, checked in by jgriffin, 8 years ago

Added energy run-up calculations and breaking criteria to Madsen run-up

File size: 1.3 KB
Line 
1""" This code implements run up solutions to the shallow water wave
2equations.
3
4References:
5Madsen and Fuhrman 2008. Run-up of tsunamis and long waves
6in terms of surf-similarity. Coastal Engineering, 55, p209.
7
8Creator: Jonathan Griffin, Geoscience Australia
9Created: 10 November 2009
10"""
11
12def Madsen(depth, slope, height, period, gravity = 9.81):
13
14    freq = (2*pi)/period
15    a = (depth*power(freq,2.0))/(gravity*power(slope,2.0))
16    #print 'a',a
17    b = power(a,0.25)
18    #print 'b',b
19    run_up_madsen =  2*power(np.pi,0.5)*b*height
20
21    R_break = gravity*(power(slope,2.0))/(power(freq,2.0))
22    run_up = np.min(run_up_madsen, R_break)
23    return run_up
24
25#def surf_sim(depth, slope, height, wavelength, gravity = 9.81):
26# Add Madsen's surf similarity here
27
28
29
30def energy_conserv(crest_integrated_energy,theta = 3.,alpha = 2.,gravity = 9.81):
31    E = crest_integrated_energy
32    print 'crest_integrated_energy', crest_integrated_energy
33    a = 1/tan(alpha*pi/180.)
34    b = 1/tan(theta*pi/180.)                               
35 
36    F = a-b
37#    print 'F',F
38    R3 = 6.*E/(1000.*gravity*F)
39#    print 'R3', R3
40    R = power(R3,(1./3.))
41
42    return R
43
44import numpy as np
45from numpy import tan, sin, cos, power,pi
46if __name__ == '__main__':
47    sys.exit(main())
Note: See TracBrowser for help on using the repository browser.