Académique Documents
Professionnel Documents
Culture Documents
html
ECUACION DE MANNING
AREA ->
1 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
PERIMETRO->
DONDE:
2 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
"""
cte = q*n/s**0.5
yi = 1
yf = 2
error = 0.000000001
cont = 1
while abs(yi-yf) > error:
print("Iteración: ", cont)
yi = yf
area = b*yi + z1*yi**2/2 + z2*yi**2/2
perimeter = b + yi*(z1**2+1)**0.5 + yi*(z2**2+1)**0.5
fy = area**(5/3)/perimeter**(2/3)-cte
d_area = b + z1 * yi + z2 * yi
d_perimeter = (z1**2+1)**0.5 + (z2**2+1)**0.5
dfy = 5*area**(2/3) / perimeter**(2/3) * d_area / 3 - 2 * area**(
5/3) / perimeter**(5/3) * d_perimeter / 3
yf = yi - fy/dfy
cont += 1
if cont > 40:
break
print("yf=", yf)
print("error: ", abs(yf-yi))
a = b*yf + z1*yf**2/2 + z2*yf**2/2
p = b + yf*(z1**2+1)**0.5 + yf*(z2**2+1)**0.5
r = a/p
t = b+z1*yf+z2*yf
ym = a/t
v = q/a
e = yf + v**2/(2*9.806665)
froude = v/(9.806665*a/t)**0.5
return yf, a, p, r, t, ym, e, v, froude
3 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
Iteración: 1
yf= 1.1757678260211835
error: 0.8242321739788165
Iteración: 2
yf= 0.6835237825717543
error: 0.4922440434494292
Iteración: 3
yf= 0.41666557810687294
error: 0.26685820446488134
Iteración: 4
yf= 0.30840080977437995
error: 0.10826476833249299
Iteración: 5
yf= 0.2879311733654157
error: 0.020469636408964265
Iteración: 6
yf= 0.2872043201745382
error: 0.0007268531908775078
Iteración: 7
yf= 0.28720341374528957
error: 9.064292486038461e-07
Iteración: 8
yf= 0.28720341374388053
error: 1.4090395517030174e-12
In [4]: print(seccion_trapezoidal)
4 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
AREA ->
PERIMETRO ->
5 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
"""
cte = q * n / s ** 0.5
yi = math.pi-0.01
yf = yi+0.01
if q > d/2:
yi = math.pi * 1.95 - 0.01
yf = math.pi * 1.95
error = 0.000000001
cont = 1
while abs(yi - yf) > error:
print("Iteración: ", cont)
yi = yf
area = d**2*(yi-math.sin(yi))/8
perimeter = yi*d/2
fy = area ** (5 / 3) / perimeter ** (2 / 3) - cte
d_area = d**2*(1-math.cos(yi))/8
d_perimeter = d/2
dfy = 5 * area ** (2 / 3) / perimeter ** (2 / 3) * d_area / 3 - 2
* area ** (5 / 3) / perimeter ** (
5 / 3) * d_perimeter / 3
yf = yi - fy / dfy
cont += 1
if cont > 40 or area > (math.pi*d**2/4):
break
print("yf=", yf)
print("error: ", abs(yf - yi))
if area < (math.pi*d**2/4):
h = d*(1-math.cos(yf/2))/2
a = d**2*(yi-math.sin(yi))/8
p = yi*d/2
r = a / p
t = d*math.sin(yf/2)
ym = a / t
v = q / a
e = h + v ** 2 / (2 * 9.806665)
froude = v / (9.806665 * a / t) ** 0.5
return h, a, p, r, t, ym, e, v, froude
else:
return 'Error'
6 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
Iteración: 1
yf= 2.7947684239726702
error: 0.3468242296171229
Iteración: 2
yf= 2.7804381906696047
error: 0.014330233303065487
Iteración: 3
yf= 2.780395871566242
error: 4.23191033629422e-05
Iteración: 4
yf= 2.7803958711917014
error: 3.745403986954443e-10
In [5]: print(seccion_circular)
7 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
AREA ->
SI
PERIMETRO ->
SI
PERIMETRO ->
8 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
Iteración: 1
yf= 0.7463737949066422
error: 1.2536262050933578
Iteración: 2
yf= 0.76054974826516
error: 0.014175953358517734
Iteración: 3
yf= 0.7605484112206655
error: 1.3370444944538207e-06
Iteración: 4
yf= 0.7605484112206562
error: 9.325873406851315e-15
(0.7605484112206562, 0.5070322741471042, 1.902217044788166, 0.266548065
86677815, 0.5070322741471042, 1.2067796537800057, 2.9583915590446384, 1
.32671360454801)
9 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
10 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
11 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
AREA ->
PERIMETRO ->
12 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
def max_matrix(c):
return max([i[0] for i in c]), max([i[1] for i in c])
13 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
14 of 15 3/13/2018, 3:15 PM
CLASE 1-checkpoint file:///D:/python/Tutorial1/CANALES.html
In [16]: c = [[0,1],[1,0.25],[2,0],[3,1]]
nat = natural(c, 1.5, 0.01, 0.025)
print("yf=", nat[0])
print("area=", nat[1])
print("perimeter=", nat[2])
print("rh=", nat[3])
print("ta=", nat[4])
print("ym o yh=", nat[5])
print("energy=", nat[6])
print("velocity=", nat[7])
print("froude=", nat[8])
yf= 0.634691104739465
area= 0.8097656680009463
perimeter= 2.569517015876971
rh= 0.3151431428542515
ta= 2.1476125777254182
ym o yh= 0.37705388597536815
energy= 0.8096405069611481
velocity= 1.8523877453375155
froude= 0.9633176526809352
15 of 15 3/13/2018, 3:15 PM