You are on page 1of 2
File - D\GISpython\CanarTrapezoidal py 1 #88 2 at IC246 - PRACTICA 03 3 ### Programa para Obtener Los elementos de un Canal Trapezoidal para el flujo de caudal. cd 4 5 6 # Inportar Librerias 7 import math 8 9 # Variables globales 10 g-9.80665 a1 alpha=1.0 2 13 def CanalT(Q,b,z,So,n,yn,yc): 14 # CanaLT Funcion general 15 # Datos: Q caudal, b base del canal, z talud, n coeficiente de Manning, yn tirante normal, yc tirante critico 16 # Resultados: elementos de una canal trapezoidal para flujo de caudal wv (yn,b,2) # Area 18 (yn;b,2) # Perinetro mojado 19 t=T(yn,b,z) # Espejo de agua 28 r=R(yn,b,z) # Radio Hidraulico 21 veV(yn,b,2,Q) # Velocidad media 22 et-E(yn,b,z,Q) # Energia especifica 23 sf=SF(yn, by 2, Q, n) # Pendiente de friccién 24 d=D(yn, b, 2) # profundidad media 25 frar(yn,b,z,Q) # numero de froude 26 tfeTF(Fr) # Tipo de flujo 27 pf=PF(yn,yc) # Perfil de flujo 28 © # Mostrar resultados 29° print("Area a) 3@ —print("Perimetro mojado ») 31 print("Espejo de agua >t) 32 print ("Radio hidraulico on) 33. print("Velocidad Media “sy 34 print ("Energia especifica ", et) 35 print("Pendiente de friccién ", sf) 36 print("Profundidad media", ) 37 print("Nimero de Froude ") fr) 38 print (“Tipo de flujo te) 39 print (“Perfil de flujo ") pf) 40 41 def A(ysb,z): 42 Funcion para obtener Area 43 as(bty*z)*y 44 return a 45 46 def P(y,b,z): 47 # Funcion para obtener Perimetro mojado 48 p=b+2*y*math. sqrt (1+math.pow(z,2)) 49° return p 50 51 def T(y,b,2): 52 # Funcion para obtener Espejo de agua 53 tebs2*ytz $4 return 35 56 def R(y,b,z): 57 # Funcion para obtener Radio hidraulico 58 r=A(y,b,2)/P(y.b,2) Page 1 of2 File - D\GISpythoniCanarTrapezoidal py 59 6 61 62 63 6a 65. 66 67 cy 6 78 mn 2 73 99 100 101 102 103 104 105 106 107 108 109 110 11 112 113 114 return r def v(y,b,2,Q): # Funcion para obtener La velocidad de flujo veQ/A(y,b,2) return v def €(y,b,2,9): # Funcion para obtener La energia especifica et=y+alpha*math.pow(V(y,b,z,Q),2)/(2*8) return et def SF(y,b,2,Q,n): # Funcion para obtener pendiente de friccion sfemath.pow(Q,2)*math.pow(n,2)/(math.pow(A(y,b,z),2)*math. pow(R(y,b,2),4 g**24n*#2/(ACy,b,Z)**2*R(y,b,2)**(4/3)) return sf def D(y,b,z): # Funcion para obtener La profundidad didraulica d=A(y,b,2)/T(y,0,2) return d def Fr(y,b,2,Q): # Funcion para obtener el numero de froude frev(y,b,z,Q)/math. sqrt(g*D(y,b,z)) return fr def T#(F): # Tipo de flujo, f es nimero de froude if 1.0: a="Flujo supercritico 0 répido" elif f<1.0: Flujo subcritico 0 lento" else: a="Flujo critico” return a def PF(yn,yc): # Perfiles de flujo ye: Perfio tipo ¢ (Critical)” “Perfil tipo A" return pf Ejecuta La funcion general. CanalT(Q,b, z,So,n, yn, yc) CanalT(1.5,0.9,1.0,0.0005,0.014,0.8813,0.53483) Page 20f2

You might also like