Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Software para El Diseño de Canales Abiertos
Software para El Diseño de Canales Abiertos
Ciencia Unisalle
2-20-2007
Citación recomendada
Barragan Mendoza, J. A., Reyes Carrillo, A. R., & Acosta Velasquez, L. E. (2007). Software para el diseño
de canales abiertos. Retrieved from https://ciencia.lasalle.edu.co/ing_civil/259
This Trabajo de grado - Pregrado is brought to you for free and open access by the Facultad de Ingeniería at
Ciencia Unisalle. It has been accepted for inclusion in Ingeniería Civil by an authorized administrator of Ciencia
Unisalle. For more information, please contact ciencia@lasalle.edu.co.
SOFTWARE PARA EL DISEÑO DE CANALES ABIERTOS
JAIRO ALEXANDER BARRAGAN MENDOZA
ANDRES RICARDO REYES CARRILLO
LUIS EDUARDO ACOSTA VELASQUEZ
UNIVERSIDAD DE LA SALLE
FACULTAD DE INGENIERÍA CIVIL
BOGOTÁ D.C.
2007
SOFTWARE PARA EL DISEÑO DE CANALES ABIERTOS
JAIRO ALEXANDER BARRAGAN MENDOZA
ANDRES RICARDO REYES CARRILLO
LUIS EDUARDO ACOSTA VELASQUEZ
Trabajo de grado presentado como requisito parcial para optar al título de
Ingeniero Civil
Director temático
Ing. Roberto Vásquez Madero
Asesora metodológica
Mag. Rosa Amparo Ruiz Saray
UNIVERSIDAD DE LA SALLE
FACULTAD DE INGENIERÍA CIVIL
BOGOTÁ D.C.
2007
Nota de aceptación:
___________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
________________________________
Firma del presidente de jurado
________________________________
Firma del jurado
________________________________
Firma del jurado
Bogotá D.C. 20 de febrero año 2007
DEDICATORIA
La carta que denominan dedicatoria, que ha ser breve y sucinta, con propósito y
espacio, llena de verdad y no dilatarse en la memoria de hazañas de quienes le
pertenece, motivo por el cual de la manera mas humilde les presento esta
dedicatoria como un tesoro y una ofrenda.
Este trabajo representa el fruto del esfuerzo generado durante un proceso en mi
vida, debo agradecer este logro de mi vida, no por compromiso, ni necesidad, sino
por nobleza y lealtad a todos las personas que me han permitido aprender y vivir
con ellas.
Gracias a mi padre, que me enseño el significado de la perseverancia y me
entrego los valores que me han permitido culminar este proceso.
A mi madre, que me enseño el valor de los sacrificios y me enseño que de la
austeridad se aprende y se valora los tesoros de la vida.
A mis hermanos; Harold, quien siempre estuvo presente cuando necesite un
amigo fiel y sincero; Jair, quien con su nobleza y virtud, siempre fue un motivo para
seguir adelante.
A mis grandes amigos con quienes crecí y me forme; la gente del Inner Circle,
Freddy Prieto el mago Oscuro, Nidia Camargo “La Tia”, Alejandro Mogollón; la
gente de la universidad y a todas aquellas personas que de una u otra manera
hicieron un aporte positivo para mi proyecto de vida.
A mis padres que me brindaron la solidez para lograrlo y me enseñaron los
valores para conseguir el título de Ingeniero Civil.
A mis compañeros de proyecto, Ricardo Reyes “Lord Hariman” y Luís Acosta
“Luchini”. De Ricardo Reyes por ser un gran amigo que me ha brindado consejo y
conocimiento, a Luís Acosta por brindarme su amistad, y con pues con ellos se
realizo este sueño.
A las familias Mendoza, Rubio, Carrillo, Díaz que me brindaron su sincera amistad.
A mis amigos de la universidad, Ferley Díaz, Javier Rubio, Wilson Patiño, Edinson
Carreño, Fernando Castaño, Helberth Torres y demás amigos que me brindaron
su amistad, un tesoro incunable.
A mi mentor J.R, quien me brinda los conocimientos necesarios para alcanzar la
tan anhelada sabiduría. Por la confianza entregada y su valiosa amistad.
A mis maestros quienes han formado en mí el espíritu de un hombre, la mente de
un ingeniero y el corazón de un patriota.
A Friedrich Nietzsche, por enseñarme la luz en medio de la penumbra y las
tinieblas.
A Sir Isaac Newton, por demostrar que se logran grandes cosas si te apoyas en
hombros de gigantes.
A los ingenieros Antoine de Chézy y Robert Manning, por demostrar que los
ingenieros trascienden en el tiempo.
A la humanidad para la cual se entregan los frutos de este proceso personal, para
que los conocimientos entregados sean para el bienestar y prosperidad de la
humanidad en general.
A Colombia y Bogota, quienes son mi casa y mi identidad, por adoptarme como
hijo y darme todas las herramientas para ser el mejor.
No pido a quienes les pertenece esta dedicatoria reciban este escrito bajo su
tutela, por que sé que si no es buena, aunque lo ponga bajo la custodia de
Cerbero, y al cuidado de Sigfrido, no dejaran las lenguas maldicientes y
murmuradoras de morderla y lacerarla, sin guardar respeto a nadie. Solo les pido,
como quien no dice nada, esta es una obra que fue labrada por mi entendimiento,
presumieran ponerla al lado de las mas pintadas. Tal es, que yo quedo aquí
contentísimo por parecerme en algo el deseo que tengo de servir a la Humanidad,
a mi país y a mi profesión.
“La potencia intelectual de un hombre se mide por la dosis de humor que es capaz
de utilizar” Friedrich Nietzsche.
JAIRO ALEXANDER BARRAGAN MENDOZA
DEDICATORIA
La realización de este proyecto, refleja los primeros frutos de un arduo camino que
he recorrido, y que aún falta por recorrer. Convirtiéndose este proyecto en el punto
de partida de mi vida profesional.
A mi mamá, quien con su esfuerzo, dedicación, apoyo, confianza y sabiduría, supo
guiarme por el camino correcto y hoy logro convertir un hijo en un profesional de la
ingeniería. Te doy gracias mamá por haberme dado el regalo más grande que me
hayas podido dar y que nadie me lo quitara, el estudio.
A mi papá, que con sus consejos supo orientarme en el momento que lo
necesitaba y sus ejemplos me hicieron ver, y entender muchas cosas de la vida.
A mis abuelos, pues su apoyo incondicional, atención y amor, fueron importantes
para la formación como profesional, además darles gracias por su compañía en
estos últimos años que hemos vivido y a esas pequeñas comidas que la dieron a
conocer en la universidad.
A mi hermano Mauricio, que es mi motivo de seguir adelante y dejarle un camino
labrado y con puertas abiertas para que saque su mayor provecho.
A mi hermana Mónica, por sus palabras y confidencias que de una u otra manera
han sido un aporte a mi proyecto de vida.
A mi familia, quien me apoyó cuando mas lo necesite y gracias a ellos logre
alcanzar una meta más.
A mis compañeros de proyecto, Jairo Barragán y Luís Acosta, pues con la
realización de este proyecto pudimos compartir muchas cosas.
A mis amigos de la universidad, Carlos Porras, Alfonso Correa, Wilson Patiño,
Ferley Díaz, Claudia Gamez, Edinson Carreño, Javier Rubio, Fernando Castaño,
Diana Hilarión, Diego Lozano, Camilo Castro, Mario Rodríguez, Carlos Ballesteros
y demás amigos que nos colaboraron directa o indirectamente en la realización de
este proyecto.
A todas aquellas personas que estuvieron cerca y que a pesar de la distancia
aportaron su granito de arena, y han hecho de mí, la persona que soy, y a estar
donde estoy.
ANDRÉS RICARDO REYES CARRILLO
DEDICATORIA
Este trabajo representa la obtención de mi titulo de Ingeniero Civil no con antes
agradecerles a todas las personas que hicieron presencia de una y otra forma en
la obtención de este.
A mi Padre que me guió siempre por el camino del bien y estuvo conmigo en las
buenas y las malas.
A mi Madre que aunque no este acompañándome en cuerpo siempre lo estuvo en
alma para ella el mas grande de mis agradecimientos donde quiera que este
porque solo ella sabe cuanto la extraño y todo lo que soy gracias a ella.
A mis hermanitas Nora Liliana y Julieth Marcela que las amo con todo mi corazón,
y gracias por todo ese apoyo incondicional que siempre me dieron y que espero
seguir recibiéndolo.
A toda mi familia mi abuela Amaita , mi abuela Ceferina , mis tíos Orlando
Velásquez y Orlando Acosta y mis tías Amanda, Cecilia Yolanda y carmen a mis
primos Hernán Darío el gran Buche de puerco, jorge Mario, Karen Liseth, Gina
Paola, Olga Lucia, Diego francisco y Sandra.
A mis amigos y compañero de tesis Jairo y Richi que sin ellos nada de esto seria
posible y por supuesto que no se pierdan y esta amistad no quede solo aquí
aprendí y quiero seguir aprendiendo mucho de ellos y por mucho tiempo mas.
A mis amigos del barrio Juan Carlos, Quito, Lalo, Pachito, Pacheco, Nando, Leo, y
a mi gran amigo Daniel Bohórquez que lastimosamente se nos fue de este mundo
pero para donde este es para el esta tesis con mucho aprecio y cariño mi cerdito,y
como no a mi gran amigo o hermanazo Andrés Villate que gracias a el que es
las cosas de la vida un señor en todo el sentido de la palabra pero me quedo corto
con palabras por eso las dejo aquí y se las estaré diciendo siempre personalmente
hasta que la vida me lo permita y a toda su familia especialmente a doña Miriam mi
segunda madre si se puede decir así por que así lo siento y la quiero con todo mi
corazón y además que a sido mi gran apoyo desde todos los buenos y
especialmente los malos momentos les podría decir mi segunda familia y como
sacar a Juan casco y a Mi querido Julio Villate que están y pertenecen a mi gran
familia.
A mis amigos de la universidad algunos que aunque los conocí muy tarde tienen
un gran espacio en mi corazón German Cubillos , Omar Eduardo, el Paisa, caro,
Pinky, german Romero , Yesid ,pacho, Daniela, y todos los demás que estuvieron
en grandes y chicos momentos conmigo, y como voy a olvidar a una de las mas
importante mi vida aleja a la mujer que amo con todo mi corazón y la que espero
seguir amando toda mi vida y claro si dios me lo permite estar con ella
acompañándola el resto de su vida como un gran compañero porque si es de decir
es una de las que mas me ha soportado todas mis cagadas plantadas y de mas te
amo y te amo con todo mi corazón a su familia en la cual también sentí siempre
un gran apoyo su madre Gladis a Juancho y a sus hermanos luisita por supuesto
con su bella hija Maria José a su hermano diego hijo y familia.
Gracias de antemano a todas esas personas que de pronto están y estuvieron con
uno en este u otro momento y no los hay citado en estas letras estas pero de
verdad es que son muchos y la lista seria demasiada grande de todas maneras a
ellos también las mismas gracias y los quiero mucho.
LUIS EDUARDO ACOSTA VELASQUEZ
AGRADECIMIENTOS
Los autores expresan el reconocimiento:
Al Ingeniero HECTOR VEGA, por el apoyo y la dedicación que presto durante este
proceso y la amistad que brindó.
A ROSA AMPARO RUIZ SARAY, por el apoyo y la dedicación que presto durante
este proceso y la amistad que brindó.
A ROBERTO VASQUEZ MADERO, por el apoyo y la dedicación que presto
durante este proceso y la amistad que brindó.
A Tuxstone Technologies, por sus asesorias y dedicacion; en especial al Ingeniero
Juan Fajardo.
A C.O.E.C, por la dedicacion y las herramientas puestas a nuestro servicio, una de
las grandes compañías de ingeniería en Colombia.
A TODAS, aquellas personas que de una u otra forma colaboraron en la
realización del presente trabajo.
CONTENIDO
CONTENIDO 14
LISTA DE CUADROS 20
LISTA DE ECUACIONES 21
LISTA DE FIGURAS 27
LISTA DE FIGURAS 27
LISTA DE IMÁGENES 30
LISTA DE TABLAS 32
GLOSARIO 33
GLOSARIO 33
INTRODUCCIÓN 46
BIBLIOGRAFÍA 247
ANEXOS 250
CUADRO 1. ANÁLISIS DE LAS VARIABLES 218
LISTA DE ECUACIONES
ECUACIÓN 1 DERIVADA PARCIAL DE LA VELOCIDAD RESPECTO A LA LONGITUD 57
ECUACIÓN 2 DERIVADA PARCIAL DE LA PROFUNDIDAD DEL FLUJO RESPECTO A LA
LONGITUD 57
ECUACIÓN 3 DERIVADA PARCIAL DEL CAUDAL RESPECTO A LA LONGITUD 57
ECUACIÓN 4 DERIVADA PARCIAL DE LA VELOCIDAD RESPECTO A LA LONGITUD 58
ECUACIÓN 5 DERIVADA PARCIAL DE LA PROFUNDIDAD DEL FLUJO RESPECTO A LA
LONGITUD 58
ECUACIÓN 6 DERIVADA PARCIAL DE LA VELOCIDAD RESPECTO AL TIEMPO 60
ECUACIÓN 7 DERIVADA PARCIAL DE LA PROFUNDIDAD DEL FLUJO RESPECTO AL TIEMPO
60
ECUACIÓN 8 DERIVADA PARCIAL DEL CAUDAL RESPECTO AL TIEMPO 60
ECUACIÓN 9 DERIVADA PARCIAL DE LA VELOCIDAD RESPECTO AL TIEMPO. 61
ECUACIÓN 10 DERIVADA PARCIAL DE LA PROFUNDIDAD DEL FLUJO RESPECTO AL
TIEMPO. 61
ECUACIÓN 11 DERIVADA PARCIAL DEL CAUDAL RESPECTO A LA LONGITUD. 65
ECUACIÓN 12 NUMERO DE REYNOLDS 66
ECUACIÓN 13 NUMERO DE REYNOLDS PARA CANALES ABIERTOS 67
ECUACIÓN 14 NUMERO DE REYNOLDS PARA UNA LONGITUD CARACTERÍSTICA DE
CUATRO VECES EL RADIO HIDRÁULICO 67
ECUACIÓN 15 NUMERO DE FROUDE 68
ECUACIÓN 16 RELACIÓN ENTRE LA PROFUNDIDAD DEL AGUA Y EL ÁNGULO DE LA
PENDIENTE DEL FONDO DEL CANAL. 77
ECUACIÓN 17 DEFINICIÓN DEL RADIO HIDRÁULICO 78
ECUACIÓN 18 DEFINICIÓN DE LA PROFUNDIDAD HIDRÁULICA. 78
ECUACIÓN 19 DEFINICIÓN DE FACTOR DE SECCIÓN 79
ECUACIÓN 20 RADIO HIDRÁULICO PARA UN CANAL DE SECCIÓN RECTANGULAR. 81
ECUACIÓN 21 APROXIMACIÓN DEL RADIO HIDRÁULICO EN UN CANAL DE SECCIÓN
RECTANGULAR 81
ECUACIÓN 22 VELOCIDAD MEDIA EN UN CAUSE DIVIDIDO POR FRANJAS 85
ECUACIÓN 23 COEFICIENTE DE ENERGÍA 87
ECUACIÓN 24 COEFICIENTE DE MOMENTUM. 88
ECUACIÓN 25 ALTURA PIEZOMÉTRICA EN FUNCIÓN DE LA PROFUNDIDAD MEDIDA
VERTICALMENTE 90
ECUACIÓN 26 ALTURA PIEZOMÉTRICA EN FUNCIÓN DE LAS PROFUNDIDAD MEDIDA
PERPENDICULARMENTE 90
ECUACIÓN 27 ENERGÍA TOTAL PARA EN UN CANAL ABIERTO CON FLUJO GRADUALMENTE
VARIADO 92
ECUACIÓN 28 ENERGÍA TOTAL EN UN CANAL 93
ECUACIÓN 29 ENERGÍA TOTAL PARA CANALES CON PENDIENTES BAJAS 93
ECUACIÓN 30 ENERGÍA TOTAL ENTRE DOS PUNTOS EN UN CANAL 94
ECUACIÓN 31 ENERGÍA TOTAL ENTRE DOS PUNTOS EN UN CANAL DE PENDIENTE
PEQUEÑA 95
ECUACIÓN 32 ECUACIÓN DE ENERGÍA DE BERNOULLI 95
ECUACIÓN 33 ENERGÍA ESPECIFICA EN UN CANAL ABIERTO, EN FUNCIÓN DE LA ALTURA
PIEZOMÉTRICA. 95
ECUACIÓN 34 ENERGÍA ESPECIFICA EN UN CANAL ABIERTO, EN FUNCIÓN DE LA
PROFUNDIDAD PERPENDICULAR AL FONDO DEL CANAL DESDE LA SUPERFICIE DEL
LIQUIDO 95
ECUACIÓN 35 ENERGÍA ESPECIFICA EN UN CANAL ABIERTO, EN FUNCIÓN DE LA
PROFUNDIDAD VERTICAL DEL LIQUIDO AL FONDO DEL CANAL. 95
ECUACIÓN 36 ENERGÍA ESPECIFICA PARA UN CANAL DE BAJA PENDIENTE, EN FUNCIÓN
DE LA PROFUNDIDAD VERTICAL DEL LIQUIDO 95
ECUACIÓN 37 ECUACIÓN DE CONTINUIDAD 97
ECUACIÓN 38 VELOCIDAD EN FUNCIÓN DEL CAUDAL 97
ECUACIÓN 39 ECUACIÓN GENERAL DE ENERGÍA ESPECIFICA 97
ECUACIÓN 40 ENERGÍA ESPECIFICA EN UN CANAL EN FUNCIÓN DE UN CAUDAL UNITARIO
97
ECUACIÓN 41 ECUACIÓN DIFERENCIA DEL FLUJO CRITICO 104
ECUACIÓN 42 ENERGÍA ESPECIFICA 104
ECUACIÓN 43 ECUACIÓN GENERAL DEL FLUJO CRÍTICO 105
ECUACIÓN 44 ESTADO CRÍTICO DE FLUJO 106
ECUACIÓN 45 CONDICIÓN GENERAL DEL FLUJO CRÍTICO 106
ECUACIÓN 46 CAUDAL TOTAL EN UN CANAL RECTANGULAR, EN FUNCIÓN DEL CAUDAL
UNITARIO. 108
ECUACIÓN 47 PROFUNDIDAD CRÍTICA PARA UNA SECCIÓN RECTANGULAR. 108
ECUACIÓN 48 ENERGÍA MÍNIMA EN UN CANAL RECTANGULAR, EN FUNCIÓN DE LA
PROFUNDIDAD CRITICA. 109
ECUACIÓN 49 RELACIÓN DE ENERGÍA ESPECIFICA, PARA DETERMINAR LAS ALTURAS
ALTERNAS 113
ECUACIÓN 50 ECUACIÓN PARA EL CÁLCULO DE LAS PROFUNDIDADES ALTERNAS 113
ECUACIÓN 51 ECUACIÓN DE APLICACIÓN DEL PRINCIPIO DE MOMENTUM 114
ECUACIÓN 52 ECUACIÓN DE APLICACIÓN DEL PRINCIPIO DE MOMENTUM PARA CANALES
LISOS Y DE BAJA PENDIENTE. 114
ECUACIÓN 53 DEFINICIÓN DE LA FUERZA HIDROSTÁTICA. 115
ECUACIÓN 54 FUERZA ESPECIFICA POR UNIDAD DE ANCHO. 115
ECUACIÓN 55 ECUACIÓN DE FUERZA ESPECIFICA. 115
ECUACIÓN 56 ECUACIÓN DE FUERZA ESPECIFICA 116
ECUACIÓN 57 ECUACIÓN DE FUERZA ESPECIFICA PARA LAS SECCIONES (1) Y (2),
FIGURAS 32 Y 33. 117
ECUACIÓN 58 ECUACIÓN DE FUERZA ESPECÍFICA PARA UN CANAL DE SECCIÓN
RECTANGULAR. 117
ECUACIÓN 59 FUERZA ESPECIFICA POR UNIDAD DE ANCHO 118
ECUACIÓN 60 PROFUNDIDAD CRITICA DE FLUJO DE UN CANAL, EN FUNCIÓN DEL CAUDAL
UNITARIO. 119
ECUACIÓN 61 FUERZA ESPECIFICA MÍNIMA PARA EL FLUJO EN UN CANAL ABIERTO. 119
ECUACIÓN 62 NUMERO DE FROUDE EN FUNCIÓN DEL CAUDAL UNITARIO 122
ECUACIÓN 63 RELACIÓN ENTRE LAS PROFUNDIDADES SECUENTES O CONJUGADAS 123
ECUACIÓN 64 PÉRDIDAS DE ENERGÍA EN UN RESALTO HIDRÁULICO. 124
ECUACIÓN 130 CAUDAL PARA UN CANAL NO REVESTIDO CON DE LA SECCIÓN
HIDRÁULICA ESTABLE CUANDO Q D < Q . 201
ECUACIÓN 131 CAUDAL TEÓRICO EN LA SECCIÓN HIDRÁULICAMENTE ÓPTIMA, EN
FUNCIÓN DEL ÁREA HIDRÁULICA 202
ECUACIÓN 132 CAUDAL DE DISEÑO EN LA SECCIÓN HIDRÁULICAMENTE ÓPTIMA, EN
FUNCIÓN DEL ÁREA HIDRÁULICA 202
ECUACIÓN 133 DETERMINACIÓN DEL T ' ' PARA LA SECCIÓN HIDRÁULICA ESTABLE
CUANDO Q D < Q . 203
FIGURA 1 FLUJO LIBRE 56
FIGURA 2 FLUJO UNIFORME EN UN CANAL DE LABORATORIO 58
FIGURA 3 FLUJO VARIADO 59
FIGURA 4 FLUJO PERMANENTE 60
FIGURA 5 FLUJO NO PERMANENTE 61
FIGURA 6 FLUJO UNIFORME PERMANENTE 62
FIGURA 7 FLUJO UNIFORME NO PERMANENTE. 63
FIGURA 8 FLUJO VARIADO. 64
FIGURA 9 FLUJO VARIADO NO PERMANENTE. 65
FIGURA 11 FLUJO ESPACIALMENTE VARIADO. A) SUMIDERO CON DESCARGA COMPLETA.
65
FIGURA 12 SECCIÓN TRANSVERSAL DE UN CAUSE IRREGULAR 75
FIGURA 13 SECCIÓN TRANSVERSAL DE UN CAUCE PRISMÁTICO DE FORMA
TRAPEZOIDAL. 75
FIGURA 14 SECCIONES COMUNES EN CANALES PRISMÁTICOS 76
FIGURA 15 RELACIÓN ENTRE LA PROFUNDIDAD (Y) Y LA PROFUNDIDAD (D) 77
FIGURA 16. DISTRIBUCIÓN DE VELOCIDADES EN SECCIONES TRANSVERSALES DE
DIFERENTE FORMA. TOMADO DE HIDRÁULICA DE CANALES ABIERTOS. CHOW, V. T
2000 82
FIGURA 17 EFECTO DE LA RUGOSIDAD EN LA DISTRIBUCIÓN DE VELOCIDADES EN UN
CANAL ABIERTO. TOMADO DE HIDRÁULICA DE CANALES ABIERTOS DE CHOW V.T.
2000 83
FIGURA 18 SECCIÓN TRANSVERSAL DE UN CAUCE DIVIDIDO EN FRANJAS. 85
FIGURA 19 DISTRIBUCIÓN DE PRESIONES EN CANALES RECTOS Y CURVOS CON
PENDIENTE PEQUEÑA U HORIZONTAL. A) FLUJO PARALELO, B) FLUJO CONVEXO, C)
FLUJO CÓNCAVO. TOMADO DE HIDRÁULICA DE CANALES ABIERTOS DE CHOW V.T.
2000 CHOW, V. T. 2000 89
FIGURA 20 DISTRIBUCIÓN DE PRESIONES EN UN FLUJO PARALELO EN CANALES DE
PENDIENTE ALTA. TOMADO DE HIDRÁULICA DE CANALES ABIERTOS DE CHOW V.T.
2000. 91
FIGURA 21 ENERGÍA TOTAL PARA CANALES ABIERTOS 93
FIGURA 22 ENERGÍA DE UN FLUJO GRADUALMENTE VARIADO EN CANALES ABIERTOS 94
FIGURA 23 COMPONENTES DE LA ENERGÍA ESPECIFICA 96
FIGURA 24 CANAL DE SECCIÓN RECTANGULAR 97
FIGURA 25 CURVA DE ENERGÍA ESPECÍFICA 100
FIGURA 26 FLUJO SUBCRÍTICO 101
FIGURA 27 FLUJO CRÍTICO 102
FIGURA 28 FLUJO SUPERCRÍTICO 103
FIGURA 29 ELEMENTO DIFERENCIAL EN LA SECCIÓN DE UN CANAL 105
FIGURA 30 CAÍDA HIDRÁULICA CON SU RESPECTIVA CURVA DE ENERGÍA ESPECÍFICA 110
FIGURA 31 RESALTO HIDRÁULICO CON SUS CURVAS DE ENERGÍA ESPECIFICA Y FUERZA
ESPECIFICA. 111
FIGURA 32 PROFUNDIDADES ALTERNAS EN LA CURVA DE ENERGÍA ESPECÍFICA. 112
FIGURA 33 APLICACIÓN DEL PRINCIPIO DE MOMENTUM 114
FIGURA 34 CANAL DE SECCIÓN RECTANGULAR. 116
FIGURA 35 CURVA DE FUERZA ESPECÍFICA PARA FLUJO EN CANALES ABIERTOS. 120
FIGURA 36 PROFUNDIDADES SECUENTES O CONJUGADAS, REPRESENTADAS EN LA
CURVA DE FUERZA ESPECIFICA. 121
FIGURA 37 A) PÉRDIDA DE ENERGÍA EN UN RESALTO. B) LONGITUD DEL RESALTO
HIDRÁULICO. 125
FIGURA 38 FUERZA SOBRE LA ESTRUCTURA EN UN RESALTO HIDRÁULICO. 129
FIGURA 39 DEMOSTRACIÓN DE LA ECUACIÓN DE CHÉZY PARA UN CANAL CON FLUJO
UNIFORME. 136
FIGURA 40 CANAL CON RUGOSIDAD COMPUESTA 150
FIGURA 41 SECCIONES TRANSVERSALES DE CAUDAL MÁXIMO 162
FIGURA 42 PROPIEDADES DE GEOMÉTRICAS DE LAS PRINCIPALES SECCIONES 162
FIGURA 43 COMPONENTES DE UN CANAL REVESTIDO. 169
FIGURA 44 DISTRIBUCIÓN TÍPICA DE FUERZA TRACTIVA EN UN CANAL TRAPEZOIDAL.
TOMADO DE HIDRÁULICA DE CANALES ABIERTOS DE CHOW V.T. 2000. 180
FIGURA 45 ANÁLISIS DE FUERZAS ACTUANTES EN UNA PARTÍCULA QUE ESTA
SUSPENDIDA EN EL FONDO DE UN CANAL 182
FIGURA 46 ESFUERZOS TRACTIVOS ESFUERZO CORTANTE TRACTIVO MÁXIMO EN FUNCIÓN
DE g × y × S o . A) PARA LOS TALUDES Y B) PARA EL FONDO DEL CANAL. TOMADO DE
HIDRÁULICA DE CANALES ABIERTOS DE FRENCH. R. H. 1988. 184
FIGURA 47 ÁNGULOS DE REPOSO PARA MATERIALES NO COHESIVOS. TOMADO DE
HIDRÁULICA DE CANALES ABIERTOS DE FRENCH. R. H.1988 186
FIGURA 48 ESFUERZOS TRACTIVOS PERMISIBLES RECOMENDADOS PARA CANALES
CONSTRUIDOS EN MATERIAL NO COHESIVO, LANE (1955). TOMADO DE HIDRÁULICA
DE CANALES ABIERTOS DE FRENCH. R. H 1988 188
FIGURA 49 ESFUERZOS TRACTIVOS PERMISIBLES RECOMENDADOS PARA CANALES
CONSTRUIDOS EN MATERIAL COHESIVO, CHOW (1959). TOMADO DE HIDRÁULICA DE
CANALES ABIERTOS DE FRENCH. R. H 1988 189
FIGURA 50 SECCIÓN HIDRÁULICA ESTABLE PARA Q < QD 196
FIGURA 51 SECCIÓN HIDRÁULICA ESTABLE CUANDO Q D > Q 201
FIGURA 53 MÁXIMO ÁNGULO ÓPTIMO ENTRE EL EJE DE UN CANAL Y LA SECCIÓN
CORRESPONDIENTE A UNA TRANSICIÓN 209
LISTA DE IMÁGENES
IMAGEN 1. CANAL NATURAL, RÍO ATRÁTO A LA ALTURA DEL MUNICIPIO DE QUIBDO 70
IMAGEN 2. CANALIZACIÓN QUEBRADA LA CHIGUAZA, LOCALIDAD DE TUNJUELITO,
BOGOTÁ 72
IMAGEN 3 CANAL ARTIFICIAL REVESTIDO, CANAL DE TRANSPORTE ACUEDUCTO DE
IBAGUÉ 73
IMAGEN 4 CANAL ARTIFICIAL, MODELO HIDRÁULICO PARA EXPERIMENTACIÓN,
LABORATORIO DE HIDRÁULICA, UNIVERSIDAD DE LA SALLE, BOGOTA. 74
IMAGEN 5 SALTO HIDRÁULICO COMO MEZCLADOR HIDRÁULICO. PLANTA DE
TRATAMIENTO IBAGUÉ, TOLIMA. 111
IMAGEN 6 CÁLCULO DE LA FUERZA ESPECIFICA PARA UNA SECCIÓN RECTANGULAR EN
EL SOFTWARE OPEN FLOW UNISALLE. 223
IMAGEN 7 CÁLCULO DE LA FUERZA ESPECIFICA PARA UNA SECCIÓN RECTANGULAR EN
EL SOFTWARE OPEN FLOW UNISALLE, DATOS DE ENTRADA. 224
IMAGEN 8 CÁLCULO DE LA FUERZA ESPECIFICA PARA UNA SECCIÓN RECTANGULAR EN
EL SOFTWARE OPEN FLOW UNISALLE, DATOS DE SALIDA. 225
IMAGEN 9 APLICACIÓN PARA EL LABORATORIO DE HIDRÁULICA DE CANALES, PRACTICA
“GEOMETRÍA DE LA SECCIÓN, CURVA DE ENERGÍA Y FUERZA ESPECIFICA” EN EL
SOFTWARE OPEN FLOW UNISALLE, PRELIMINARES. 226
IMAGEN 10 APLICACIÓN PARA EL LABORATORIO DE HIDRÁULICA DE CANALES, PRACTICA
“GEOMETRÍA DE LA SECCIÓN, CURVA DE ENERGÍA Y FUERZA ESPECIFICA” EN EL
SOFTWARE OPEN FLOW UNISALLE, DATOS DE ENTRADA. 227
IMAGEN 11 APLICACIÓN PARA EL LABORATORIO DE HIDRÁULICA DE CANALES, PRACTICA
“GEOMETRÍA DE LA SECCIÓN, CURVA DE ENERGÍA Y FUERZA ESPECIFICA” EN EL
SOFTWARE OPEN FLOW UNISALLE, DATOS DE SALIDA 1. 227
IMAGEN 12 APLICACIÓN PARA EL LABORATORIO DE HIDRÁULICA DE CANALES, PRACTICA
“GEOMETRÍA DE LA SECCIÓN, CURVA DE ENERGÍA Y FUERZA ESPECIFICA” EN EL
SOFTWARE OPEN FLOW UNISALLE, DATOS DE SALIDA 2. 229
IMAGEN 13 APLICACIÓN PARA EL LABORATORIO DE HIDRÁULICA DE CANALES, PRACTICA
“GEOMETRÍA DE LA SECCIÓN, CURVA DE ENERGÍA Y FUERZA ESPECIFICA” EN EL
SOFTWARE OPEN FLOW UNISALLE, DATOS DE SALIDA 3. 230
IMAGEN 14 APLICACIÓN PARA EL LABORATORIO DE HIDRÁULICA DE CANALES, PRACTICA
“GEOMETRÍA DE LA SECCIÓN, CURVA DE ENERGÍA Y FUERZA ESPECIFICA” EN EL
SOFTWARE OPEN FLOW UNISALLE, GRÁFICOS 1. 231
IMAGEN 15 APLICACIÓN PARA EL LABORATORIO DE HIDRÁULICA DE CANALES, PRACTICA
“GEOMETRÍA DE LA SECCIÓN, CURVA DE ENERGÍA Y FUERZA ESPECIFICA” EN EL
SOFTWARE OPEN FLOW UNISALLE, GRÁFICOS 2. 231
LISTA DE TABLAS
TABLA 1 RELACIÓNES GEOMÉTRICAS PARA LAS SECCIONES TRANSVERSALES EN
CANALES MÁS USADOS. 80
TABLA 2 FACTORES DE FORMA PARA LA ECUACIÓN 65 127
TABLA 3 VALORES DEL COEFICIENTE DE RUGOSIDAD N DE MANNING. TOMADOS DE
HIDRÁULICA DE CANALES ABIERTOS DE CHOW V.T. 2000 141
TABLA 4 VALORES PROPUESTOS PARA EL M DE BAZIN. TOMADOS DE HIDRÁULICA DE
CANALES ABIERTOS DE CHOW V.T. 2000 146
TABLA 5 VALORES PARA EL COEFICIENTE C , PARA DETERMINAR EL BORDE LIBRE F . 157
TABLA 6 TALUDES RECOMENDADOS PARA CANALES CONSTRUIDOS EN DIFERENTES
TIPOS DE MATERIAL. TOMADOS DE HIDRÁULICA DE CANALES ABIERTOS DE CHOW
V.T. 2000 Y DE HIDRÁULICA DE CANALES ABIERTOS DE FRENCH. R.H. 168
TABLA 7 ESPESOR RECOMENDADO PARA CANALES EN CONCRETO SIMPLE, EN FUNCIÓN
DEL CAUDAL A TRANSPORTAR 170
TABLA 8 ESPESOR RECOMENDADO PARA CANALES EN CONCRETO REFORZADO, EN
FUNCIÓN DEL CAUDAL A TRANSPORTAR 171
TABLA 9 VELOCIDADES MÁXIMAS PERMISIBLES RECOMENDADAS POR FORTIER Y
SCOBEY PARA CANALES RECTOS CON PENDIENTES PEQUEÑAS 174
TABLA 10 FACTORES DE CORRECCIÓN PARA LAS FUERZAS TRACTIVAS MÁXIMAS PARA
CANALES CON DIVERSOS GRADOS DE SINUOSIDAD. TOMADO DE HIDRÁULICA DE
CANALES ABIERTOS DE FRENCH. R. H. 1988. 191
TABLA 11 PÉRDIDAS POR INFILTRACIÓN EN CANALES EN DIVERSOS MATERIALES, SIN
TENER EN CUENTA EL NIVEL FREÁTICO. TOMADO DE HIDRÁULICA DE CANALES
ABIERTOS DE CHOW. V. T 2000 Y DE HIDRÁULICA DE CANALES ABIERTOS DE FRENCH
.R. H 1998. 206
TABLA 12 COEFICIENTES DE PÉRDIDA POR TRANSICIÓN. TOMADO DE HIDRÁULICA DE
CANALES ABIERTOS DE CHOW. V. T 2000 Y DE HIDRÁULICA DE CANALES ABIERTOS
DE FRENCH .R. H 1998 211
TABLA 13 RECURSOS MATERIALES. 233
TABLA 14 RECURSOS INSTITUCIONALES. 234
TABLA 15 RECURSOS TECNOLÓGICOS. 234
TABLA 16 RECURSOS HUMANOS 235
TABLA 17 RECURSOS FINANCIEROS 235
GLOSARIO
Las definiciones presentadas en este documento han sido generadas a través de
dos vías distintas, una es a saber; definiciones hechas por el grupo investigador
teniendo en cuenta la documentación y material que se encontró, y otra es,
definiciones tomadas de la normatividad existente caso que se aplica el RAS
2000.
AFLUJO: elevación del nivel del agua por encima del nivel normal (es decir, nivel
natural de la creciente) en el lado aguas arriba de una alcantarilla o una
obstrucción en un canal.
AGUA: nombre común aplicado al estado líquido de la combinación hidrogeno
oxigeno .A pesar de que la estructura molecular del agua es simple, las
propiedades físicas y químicas del agua son inusualmente complicadas. El agua
es un líquido incoloro, insaboro e inodoro a la temperatura ambiente. Una de las
propiedades más importantes del agua es su habilidad para disolver muchas otras
sustancias. El agua se conoce con frecuencia como el solvente universal .bajo
presión atmosférica estándar, el punto de congelamiento del agua es O grados
centígrados o 273.16 grados kelvin, y su punto de ebullición es 100 grados
centígrados o 373.16 grados kelvin.
ANCHO SUPERFICIAL: el ancho superficial de un canal es el ancho de la sección
del canal en la superficie libre del agua.
AREA HIDRAULICA: el área hidráulica es el arrea de la sección transversal del
flujo, tomada normal a la dirección del flujo.
ÁREA MOJADA: en canales abiertos el término de área mojada se refiere al área
superficial en contacto con el líquido que fluye.
ASPERSION: pequeñas gotas de agua que vuelan o caen a través del aire.
ATAGUIA: estructura temporal que contiene toda o parte del área de construcción
de tal manera que la construcción pueda proceder en condiciones secas .una
ataguía de desviación desvía una corriente hacia una tubería o un canal.
BASALTO: Roca volcánica, por lo común de color negro o verdoso, de grano fino,
muy dura, compuesta principalmente de feldespato y piroxena o augita, y a veces
de estructura prismática.
CAÍDA HIDRÁULICA: caída abrupta de agua sobre un precipicio caracterizado por
una napa de agua en caída libre.
CANAL: el termino canal se refiere a un gran conducto abierto de pendiente
suave. Estos conductos abiertos pueden ser no revestidos o revestidos con
concreto, pasto, madera, materiales bituminosos, o una membrana artificial.
CANALES PRISMÁTICOS: un canal prismático es el que tiene constantes tanto la
forma transversal como la pendiente del fondo. Los canales que no entran en este
criterio son llamados noprismáticos
CAUDAL: volumen de agua corriente que discurre por un cauce.
CAUDAL UNITARIO: un caudal unitario se puede definir.
CAVITACION: formación de burbujas de vapor y paquetes de vapor dentro de un
líquido homogéneo causado por el esfuerzo excesivo (Franc et al. 1995). La
cavitacion modifica las características hidráulicas de un sistema y esta
caracterizada por erosión dañina, ruido adicional, vibraciones y disipación de
energía.
COEFICIENTE DE BOUSSINESQ: coeficiente de de corrección de momentum en
honor a J.V Boussinesq quien lo propuso por primera vez (1877).
COEFICIENTE DE CORIOLIS: coeficiente de corrección de energía cinética en
honor a G.G Coriolis quien introdujo por primera vez este coeficiente de corrección
(1836).
COEFICIENTE DE CHEZY: coeficiente de resistencia para el flujo en canales
abiertos introducido por primera vez por A. Chezy. A pesar de que se pensó que
era constante, el coeficiente es una función de la rugosidad relativa y del número
de Reynolds.
COMPUERTAS: válvula o sistema para controlar el paso de un fluido. En canales
abiertos, los dos tipos mas comunes de compuerta son la compuerta de flujo
interior y la de rebose.
CRESTA DE REBOSADERO: parte superior del vertedero. El termino (cresta de
presa) se refiere a la parte superior de un vertedero no controlado.
CRIBA: marco de alambres o vigas que se llena con piedras, cantos rodados o
material de relleno y se hunde como cimentación o muro de retención.
CHEZY: Antonie Chezy (17171798), Ingeniero francés y miembro del ‘’Cuerpo de
Puentes y Caminos’’, quien diseño canales para el suministro de aguas de la
ciudad de Paris. En 1768 propuso una formula para la resistencia al flujo en
canales abiertos conocida como la ecuación de Chezy. En 1798, se convirtió en
director de la Escuela Nacional Superior de Puentes y Caminos después de
enseñar allí por muchos años.
DIAMETRO HIDRAULICO: se define como el diámetro equivalente de tubería: es
decir, cuatro veces el área de la sección transversal dividida por el perímetro
mojado. Este concepto fue expresado por primera vez por el francés P.L.G.Du
Buat (Buat, 1779).
ENERGIA ESPECIFICA: cantidad proporcional a la energía por la unidad de
masa, masa medida atizando el fondo del canal como elevación de referencia y
expresada en metros de agua. El concepto de energía especifica, desarrollado por
primera vez por B.A.Bakhmeteff en 1912, se utiliza por lo común para el flujo de
canales abiertos.
EROSION: Desgaste o destrucción producidos en la superficie de un cuerpo por la
fricción continúa o violenta de otro o Desgaste de la superficie terrestre por
agentes externos, como el agua o el viento.
FENÓMENO LOCAL: en los canales abiertos a menudo ocurren cambios en el
estado de flujo subcrítico a supercrítico, y viceversa. Tales cambios se manifiestan
con un correspondiente cambio en la profundidad de flujo de una profundidad alta
a una profundidad baja, o viceversa. Si el cambio ocurre con rapidez a lo largo de
una distancia relativamente corta, el flujo es rápidamente variado y se conoce
como fenómeno local.
FUERZA TRACTIVA: cuando el agua fluye en un canal, se desarrolla una fuerza
que actúa sobre el lecho de este en la dirección del flujo. Esta fuerza, la cual es
simplemente el empuje del agua sobre el área mojada, se conoce como fuerza
tractiva. También conocida como fuerza cortante, fuerza de arrastre o fuerza
tangencial.
FLUCTUAR: Dicho de un cuerpo: Vacilar sobre las aguas por el movimiento
agitado de ellas
FLUIDO IDEAL: fluido sin fricción e imconpresible. Un fluido ideal tiene viscosidad
cero, es decir, no puede soportar esfuerzo cortante en ningún flujo.
FLUJO NO PERMANENTE: las propiedades del flujo cambian con el tiempo.
FLUJO PERMANENTE: ocurre cuando las condiciones en cualquier punto de un
fluido no cambian con el tiempo.
FLUJO UNIFORME: se dice que el flujo en canales abiertos es uniforme si la
profundidad de flujo es la misma en cada sección del canal. Un flujo uniforme
puede ser permanente o no permanente, según cambie o no la profundidad con
respecto al tiempo.
FLUJO UNIFORME NO PERMANENTE: El flujo uniforme no permanente el
criterio que se toma para considerarlo como flujo uniforme no permanente es el
espacio. Se dice que se presenta un flujo uniforme no permanente cuando los
parámetros hidráulicos del flujo (velocidad, profundidad) se mantienen constantes
en el espacio pero no en el tiempo. Para que se presente flujo uniforme y no
permanente se necesita que la superficie del líquido este cambiando o fluctuando
de tiempo en tiempo mientras permanece paralela al fondo del canal. Este
comportamiento es poco probable encontrarlo en la naturaleza, esto se debe a
que estos cambios en el tiempo tendrían que suceder a lo largo del canal paro a
su vez permanecer constantes la profundidad y la velocidad del flujo.
FLUJO UNIFORME PERMANENTE: es el tipo de flujo fundamental que se
considera en la hidráulica de canales abiertos. La profundidad de flujo no cambia
durante el intervalo de tiempo bajo consideración. El establecimiento de un flujo
uniforme no permanente requeriría que la superficie del agua fluctuara de un
tiempo a otro pero permaneciendo paralela al fondo del canal.
FLUJO PERMANENTE: se dice que el flujo en un canal abierto es permanente si
la profundidad de flujo no cambia o puede suponerse constante durante el
intervalo de tiempo en consideración.
FLUJO NO PERMANENTE: el flujo es no permanente si la profundidad cambia
con el tiempo. En la mayor parte de los problemas de canales abiertos es
necesario estudiar el comportamiento del flujo solo bajo condiciones permanentes.
FLUJO TURBULENTO: en flujos turbulentos, las partículas de fluido se mueven en
trayectorias muy irregulares, causando un intercambio de momentum de una
porción del fluido a la otra. Los flujos turbulentos tienen un gran potencial de
mezcla e involucran un amplio rango de escalas longitudinales de remolinos
numero de reynolds (12500<=R).
FLUJO TRANSICIÓN: un flujo de transición es aquel clasificado ni como laminar ni
turbulento numero de reynolds (500<=R <=12500)
FLUJO CRÍTICO: el estado crítico del flujo a sido definido como la condición para
la cual el numero de Froude es igual a la unidad o también se podría decir que es
el estado de flujo para el cual la energía especifica es mínima para un caudal
determinado.
FLUJO SUBCRÍTICO: en canales abiertos, el flujo se define como subcrítico si su
profundidad es mayor que la profundidad del flujo critico. En la práctica, los flujos
subcriticos se controlan por las condiciones de flujo aguas abajo.
FLUJO SUPERCRÍTICO: en un canal abierto, cuando la profundidad del flujo es
menor que la profundidad del flujo critico, el flujo es supercrítico y el número de
froude es mayor que 1. Los flujos supercríticos se controlan desde aguas arriba.
FUERZA TRACTIVA: Cuando el agua fluye en un canal, se desarrolla una fuerza
que actúa sobre el lecho de este en la dirección del flujo. Esta fuerza, la cual es
simplemente el empuje del agua sobre el área mojada, se conoce como fuerza
tractiva.
FUERZAS INERCIALES: son las fuerzas generadas debido al movimiento del
fluido ya que todos los cuerpos tienden a no modificar su estado de reposo o
movimiento si no es debido a esta fuerza.
GEOMORFOLOGÍA: Estudio de las características propias de la corteza terrestre.
INFILTRACION: movimiento intersticial de agua que puede ocurrir a través de una
presa, su cimentación o sus estribos.
LA CAÍDA HIDRÁULICA: la caída es similar a la rápida que es un canal que tiene
altas pendientes, pero el cambio en elevación se efectúa en una distancia corta.
LEY DE DARCY: ley para el movimiento del flujo de aguas subterráneas, la cual
establece que el flujo infiltrado es proporcional a la relación entre la pérdida de
energía a lo largo de la longitud de la trayectoria del flujo. Fue descubierta por
H.P.G.Darcy (1856) quién estableció que, para el flujo de un liquido a través de un
medio poroso, el caudales directamente proporcional ala diferencia de presiones.
LINEA DE ENERGIA: es la representación grafica de la energía total que hay en
un flujo entre dos puntos.
MANNING: Robert Manning (18161897), ingeniero jefe de la oficina de obras
publicas de Irlanda. En 1889, presento dos formulas (manning, 1890, una de las
cuales la ‘’formula de GaucklerManning’’, aunque Robert Manning prefirió utilizar
la segunda ecuación presentada en su articulo. Debe anotarse que la formula de
GaucklerManning fue propuesta por primera vez por el francés P.G. Gauckler
(Gauckler, 1867).
MOMENTUM: Se define al momentum como la fuerza que ejerce un fluido y la
cual genera un cambio masico es decir en la masa, da como resultado un cambio
masico. Esto debido a las fuerzas aplicadas, entonces se dice que sinónimo de
momentun es la fuerza en un liquido, estas fuerzas se miden o calculan en una
región del espacio definida llamada volumen de control. También se puede
determinar como la ecuación que sirve para determinar las pérdidas debidas a las
fuerzas externas ejercidas por el agua sobre las paredes del canal.
NUMERO DE FROUDE: el numero de froude es proporcional a la raíz cuadrada
de la relación de las fuerzas inerciales con respecto al peso del fluido, en general,
el numero de froude se utiliza para escalarlos flujos a superficie libre, los canales
abiertos y las estructuras hidráulicas. A pesar de que el numero adimensional fue
bautizado en honor a William froude algunos investigadores franceses lo utilizaron
con anterioridad. Dupuit (1848) y Bresse (1860) enfatizaron la importancia de este
numero para diferenciar los regimenes de flujo en canales abiertos Bazin (1865)
confirmo estos resultados experimentalmente. Ferdinand Reech introdujo el
numero adimensional para la prueba de buques y hélices en 1852. En Francia
este número se conoce como el número de ReechFroude.
NUMERO DE REYNOLDS: numero adimensional proporcional a la relación entre
las fuerzas inerciales y fuerzas viscosas.
PERDIDAS DE ENERGÍA: fenómeno aerodinámico causado por una disrupción(es
decir, separación) del flujo alrededor de una ala asociado con la perdida de
elevación.
PERÍMETRO MOJADO: el perímetro mojado es la longitud de la línea que es la
interfase entre el fluido y el contorno del canal.
PENDIENTE; lado de una colina; cara inclinada de un canal (por ejemplo canal
trapezoidal); inclinación con respecto a la horizontal del fondo del canal.
PRESA DE GRAVEDAD: presa que depende de su propio peso para su
estabilidad. Normalmente este término se refiere a una presa de mampostería o
de concreto.
PROFUNDIDADES SECUENTES O CONJUGADAS: en flujo en canales abiertos,
la solución de la ecuación de momentum en una transición entre flujo supercrítico
subcrítico da dos profundidades de flujo (profundidades de flujo aguas arriba y
aguas abajo), las cuales se conocen como profundidades secuentes.
RADIO HIDRÁULICO: el radio hidráulica es la relación del área hidráulica y el
perímetro mojado.
REMANSO: En el movimiento del flujo tranquilo, es decir flujo subcritico, el perfil
longitudinal del flujo esta controlado por las condiciones de flujo aguas abajo: por
ejemplo un obstáculo, una estructura, o un cambio en la sección transversal.
Cualquier estructura de control aguas abajo (pilas de un puente, vertederos)
induce un efecto de remanso. En general, los términos cálculos de remanso o
perfil de remanso se refieren al cálculo del perfil de flujo. Este término se utiliza
comúnmente para el movimiento tanto del flujo supercrítico como subcritico.
RUGOSIDAD: cuando la superficie de un canal se compone de picos y valles
irregulares a estas se les llama rugosidad, la altura efectiva de las irregularidades
que forman los elementos de la rugosidad se conoce como altura de rugosidad.
SECCION DE CONTROL: en un canal abierto es la sección transversal donde
ocurren condiciones de flujo crítico. Los conceptos de ‘’control’’ y ‘’sección de
control’’ se utilizan con el mismo significado.
SEDIMENTO: cualquier material movido en suspensión por el flujo o como carga
de lecho que puede asentarse en el fondo en ausencia de movimiento del fluido.
SUPERFICIE LIBRE: interfase entre un líquido y un gas. En general, una
superficie libre es la interfase entre el fluido (en reposo o en movimiento) y la
atmósfera. En flujo de dos fases gasliquido, el termino ‘’superficie libre’’ también
incluye la interfase aireagua de burbujas de gas y gotas de liquido.
SOCAVACION: remoción de material del lecho causado por el poder erosivo del
flujo.
TIRANTE HIDRAULICO: el tirante hidráulico es la relación del área hidráulica con
el ancho superficial.
TERRAPLEN: material de relleno (tierra, roca) colocado con lados pendientes y
con una longitud mayor que su altura.
TURBULENCIA: movimiento de flujo caracterizado por su comportamiento no
impredecible, propiedades de mezclas fuertes y un amplio espectro de escalas
longitudinales (Lesieur 1994).
VISCOSIDAD: propiedad de los fluidos que caracteriza la resistencia del fluido al
esfuerzo cortante: es decir, resistencia a un cambio en forma o en movimiento de
los alrededores.
VERTEDEROS: presa pequeña en un rió utilizada para elevar el nivel de agua
aguas arriba. Vertederos de medición se construyen a lo largo de las corrientes
con el propósito de medir el flujo.
VOLUMEN DE CONTROL: el volumen de control es una zona, región del espacio
o volumen representativo donde se tiene en cuenta las fuerzas.
TALUD: Inclinación del paramento de un muro o de un terreno.
ZONA PERMEABLE: parte de la sección transversal de un terraplén que contiene
materia de alta permeabilidad.
INTRODUCCIÓN
En la génesis de la ingeniería no se contaba con los recursos técnicos ni
tecnológicos con los que cuenta la ingeniería en la actualidad; hubo épocas en la
historia de la ingeniería para las cuales el desarrollo de un calculo matemático
con un nivel considerable o el calculo y diseño de alguna estructura involucraba el
gasto de varias horas para su ejecución, en aquellos días era común el uso de
tablas y nomogramas en los cuales se resumía información relevante.
El proceso de cálculo se efectuaba generalmente con reglas de cálculo y
calculadoras de bolsillo; donde el uso continuo y prolongado de estos elementos
probablemente conllevaba a errores que el diseñador obviaba no por omisión
propia sino muy seguramente por cansancio o fatiga al efectuar procesos tan
repetitivos y desgástantes.
implementación de software especializados para cada tipo de necesidades donde
la función del ingeniero; no será la de realizar cálculos tediosos, sino por el
contrario es la de interpretar resultados, y decidir si los resultados que le son
arrojados por el software tienen sentido dentro del marco referencial de la
ingeniería, el cual corresponde a las leyes y planteamientos teóricos que son
aceptados por la comunidad educativa y profesional.
El ingeniero con los resultados que ha analizado en forma responsable, debe de
poder formular respuestas y soluciones según sean las necesidades o condiciones
que le imponga el rigor del ejercicio de la profesión y así lograr el bienestar de la
comunidad y por ende de la humanidad misma.
Bien es reconocido y aceptado que esta es la era de la información y que el
desarrollo de un proyecto depende de gran manera en la forma en se distribuyan y
utilicen los recursos disponibles, como es el tiempo.
El software en la ingeniería se remontan a el inicio propio de la era de los
computadores pues el desarrollo de estos sistemas siempre tiene el mismo fin, el
cual es la solución de problemas de la vida cotidiana bajo modelos matemáticos
que modelen y/o predigan el comportamiento de las variables que se estén
tratando.
En este orden de ideas este trabajo busco crear un software que permite el
diseño de canales y que tiene como valor agregado la posibilidad de ser utilizado
como herramienta pedagógica y didáctica para el aprendizaje de la hidráulica de
canales, y así mejorar el nivel académico del estudiante, optimiza el tiempo del
ingeniero y permite al docente manejar una herramienta para el desarrollo de su
cátedra.
En el presente documento escrito se desarrollan los temas básicos de la hidráulica
de canales, con un enfoque teórico y practico. En el enfoque teórico se hace
mención de los temas que deben ser conocidos por cualquier ingeniero civil, se
tratan estos temas con la seriedad del caso y no se escatiman esfuerzos por
realizar las demostraciones que sean de interés para el lector.
En el enfoque práctico se desarrolla el software para el diseño y el aprendizaje de
la hidráulica de canales abiertos, complementado por un escrito donde se hace
énfasis en las principales metodologías de diseño de canales abiertos, con su
respectiva descripción y análisis de cada método.
1. EL PROBLEMA
1.1 LÍNEA
El proyecto de investigación que se realizó, corresponde a la línea de desarrollo
tecnológico según las líneas establecidas por Facultad de Ingeniería Civil.
1.2 TÍTULO
Software con herramientas hidráulicas para el diseño de canales.
1.3 DESCRPCIÓN DEL PROBLEMA
Al analizar la etapa se diseño de canales abiertos se han encontrado procesos
repetitivos e iterativos que conducen a errores debidos al factor humano, estos
procesos pueden ser mejorados u optimizados a través del uso de algún paquete
informático o software.
En el diseño de canales regularmente se recure a tablas o nomogramas
predefinidos en los libros de texto los cuales contienen las correlaciones
necesarias para un diseño racional de un canal, pero generalmente este proceso
queda sujeto ala interpretación que le da el ingeniero o diseñador; al quedar el
diseño de un canal en función de la lectura de un conjunto de datos que toma el
diseñador se presentan errores típicos como lo son, una lectura incorrecta,
aproximaciones numéricas injustificadas.
Esto se debe básicamente a un error denominado error de paralaje el cual es
resultado de la percepción óptica, personal y subjetiva que tiene cada individuo,
del ambiente en que se encuentra, patrones ambientales, sociales, económicos,
culturales y psicológicos. Estos factores externos pueden influir en la toma de
decisiones ala hora de diseñar una estructura tan importante como es un canal.
Otro factor preponderante en el diseño de canales es un recurso que en el ámbito
profesional es de suma importancia, se hace referencia al tiempo. Como fue
mencionado anteriormente en el diseño de canales hay procesos que son
iterativos, repetidos los cuales consisten en cálculos matemáticos que se basan en
correlaciones o ecuaciones definidas por la comunidad educativa, gremial, legal,
en las cuales su dominio son variables conocidas de antemano por el diseñador.
Según lo anterior el papel del diseñador en algún momento del proceso de diseño
pasara a un segundo plano y preponderara la parte matemática en pro de realizar
cálculos siendo este proceso muy tedioso pues genera en el diseñador fatiga, y
cansancio esta perdida de tiempo y energía se traduce en un detrimento de
recursos y en un proyecto puede marcar la diferencia a la hora de ser
competitivos.
Actualmente se cuenta con hojas de cálculo las cuales son de gran ayuda pero
como su nombre lo indica son simples hojas; ya que no cuentan con ninguna
interfaz grafica que muestre como seria el comportamiento del diseño a tratar, no
correlacionan resultados en forma eficiente, no puede generar ningún tipo de
sugerencia respecto al diseño; es decir ayudan en el proceso iterativo pero aun se
queda con la limitante de la correlación de datos y en la valoración que se la da a
los resultados los cuales para fines prácticos es mejor visualizarlos.
Obviamente para evaluar, concebir y diseñar un canal se debe tener un
conocimiento claro y completo de la hidráulica de canales, por cuanto el software a
diseñar debe pasar por un proceso de factibilidad, análisis y diseño hasta alcanzar
el nivel deseado para que pueda ser utilizado, objeto de la investigación.
1.4 FORMULACIÓN DEL PROBLEMA
¿Cómo optimizar los procesos de cálculo, análisis y diseño en la concepción de
canales abiertos a través de un software con herramientas hidráulicas?
1.5 JUSTIFICACIÓN
La razón por la cual se investigo en el área de la hidráulica de canales, es la
necesidad que tienen los diseñadores de canales para disminuir el tiempo
involucrado a la hora de concebir y diseñar los canales dentro de un marco
referencial el cual esta limitado por la normatividad y los aspectos teóricos
aceptados.
Al hacer referencia respecto al diseño de canales se debe de mencionar el tipo de
canal, nombrar si es o no erosionable; la sección transversal, la geometría, el
revestimiento y la pendiente. Conocer variables como el caudal, las velocidades
máximas y mínimas permisibles, el coeficiente de rugosidad, la longitud del canal.
Con estas variables se inicia un proceso matemático e iterativo en el cual
convergen datos captados de tablas y nomogramas entre los cuales resaltan el
espesor de la placa o revestimiento, borde libre y altura de bancas; esto si
hablamos del diseño de canales revestidos.
Estos datos, ecuaciones y tablas; son programadas, almacenados y cargadas en
bases de datos los cuales son la esencia del software para el diseño de canales,
como herramienta didáctica en la cátedra y en el laboratorio de hidráulica de
canales.
Con el pleno funcionamiento del software para el diseño de canales, éste será un
producto de alta calidad generado por la Universidad De La Salle y por el grupo
investigador el cual podría ser comercializado ante la comunidad educativa y
profesional como respuesta al creciente mercado del software de ingeniería.
1.6 OBJETIVOS
1.6.1 Objetivo general
Diseñar un software con herramientas hidráulicas para el diseño de canales.
1.6.2 Objetivos Específicos:
diseño de canales.
· Aportar a la ingeniería civil una herramienta que facilite los cálculos
involucrados en el diseño de los mismos.
desarrollo académico y profesional.
· Implementar el software en la cátedra y el laboratorio de hidráulica de
asignatura.
· Generar gráficos donde se muestre los factores incidentes en el diseño de
un canal.
· Generar bases de datos referentes a la hidráulica.
· Demostrar las ecuaciones básicas de la hidráulica de canales.
· Crear un documento de referencia guía para estudiar la hidráulica de
canales.
2. MARCO REFERENCIAL
El presente documento escrito es inspiración de los integrantes del equipo
investigador, razón por la cual, se informa al amable lector que lo juzgue con
imparcialidad y sin menospreciar el esfuerzo puesto a tan noble empresa.
2.1 MARCO TEORICO
Los canales abiertos han estado presentes en las grandes culturas y civilizaciones
a lo largo de la historia misma de la humanidad, el éxito o fracaso de una cultura
esta en gran mediada determinado por el manejo, uso y posesión de los recursos
hídricos.
Las primeras presas fueron construidas en la región comprendida entre Egipto e
Irak alrededor del año 3000 a.C. y con ellas los primeros sistemas de distribución
de agua por medio de canales abiertos, las culturas que se desarrollaron y
prosperaron en esta región tenían conocimientos en ingeniería, pues desarrollaron
infraestructura para el transporte del agua para la irrigación de tierras cultivables,
así como para el control de niveles de ríos, como el caso del Nilo.
Uno de los primeros canales de gran magnitud se encuentra en Egipto, este era
un canal que conectaba al río Nilo con una depresión en el antiguo Egipto
(depresión Fayum), su construcción se inicio en el año 2300 a.C. bajo la orden del
Rey Amenembat, el canal inicialmente bordeaba una montaña por medio de un
corte natural en el desierto Libio, este tenía una sección transversal de tipo
trapezoidal, una longitud de 16 km, con una profundidad de 5 m, ancho de base de
600 m, con taludes de 1 a 10, el fondo estaba compuesto por piedras cortadas y
unidas con cemento, su pendiente era de alrededor 0.01°.
Según los relatos bíblicos recopilados y narrados en el libro del Génesis, hubo una
gran hambruna en Egipto en épocas de José, estas se debieron a la rotura y toma
de la presa (Ha – Uar) por parte del Rey del bajo Egipto, esta presa regulaba el
sistema de irrigación en el alto Egipto, la hambruna termino cuando la presa fue
recuperada y según la tradición judeocristiana, José alrededor del año 1730 a.C.
trabajo en la reconstrucción del canal y las presas.
En América también hubo varias culturas especializadas en el manejo de los
recursos hídricos, de los cuales sobresalen los Incas, los Taironas, los Mochicas.
En la región que actualmente corresponde al valle costero del norte del Perú se
desarrollo la cultura Mochica entre los años (200 – 1000) d. C y, luego ocupado
por los Chimus en los años (1000 1466) d. C, estas culturas desarrollaron
amplias zonas de irrigación utilizando canales que alimentaban con los ríos Moche
y Chicama, en el año de 1466, los Incas invadieron el imperio Chimu tomando
toda su cultura y conocimientos ingenieriles, en esta región sobresalen dos
canales por su magnitud e importancia, el canal Vichansao con una longitud total
aproximadamente de 45 Km., con 2 m de ancho y el canal ínter valle, el cual llego
a tener una longitud aproximada de 139 Km., este canal se conectaba con el canal
Vichansao, el cual tenia 7 m de ancho y 2 m de profundidad.
Como se puede apreciar el manejo de la hidráulica de canales es en gran medida
un índice de prosperidad para una región, una cultura ó toda una civilización. Es
por este motivo que es necesario hacer un recuento teórico de los conceptos
primordiales de la hidráulica de canales, para luego realizar el objeto de este
proyecto, un software, el cual es una herramienta para el análisis y diseño de
canales abiertos.
2.1.1 Flujo en canales abiertos, el flujo a superficie libre o flujo libre se presenta
cuando los líquidos fluyen por la acción de la gravedad y solo están parcialmente
contenidos por un contorno sólido.
El conducto por el cual circula un líquido con flujo libre se llama canal, el que
puede ser cerrado o abierto. Las características generales del flujo libre o flujo en
canales son:
· Presenta una superficie del líquido en contacto con la atmósfera, llamada
superficie libre.
· La superficie libre coincide con la línea piezométrica.
· Cuando el fluido es agua a temperatura ambiente, el régimen de flujo es
usualmente turbulento.
Es decir el flujo libre incluye todos los casos de flujo en los cuales la superficie del
liquido esta abierta a la atmósfera y cumple con las características ya
mencionadas estas características se aprecian en la figura 1.
Figura 1 Flujo libre
PIEZOMETRO LINEA DE ENERGIA
SUPERFICIE DEL AGUA
L.P
CANAL y y
FONDO DEL CANAL
DATUM O NIVEL DE REFERENCIA
2.1.1.1 Tipos de flujo, el flujo a superficie libre se puede clasificar en muchos tipos
y clasificarse de distintas formas cada una teniendo en cuenta distintas
valoraciones, en el presente documento se clasificara teniendo como parámetros
el tiempo y el espacio, esto debido a que las condiciones de flujo en los canales
abiertos se complican por el hecho de que la configuración de la superficie libre
pueden cambiar con el tiempo y con el espacio, y también por el hecho de que la
profundidad del flujo, el caudal, las pendientes del fondo y de las paredes del
canal, y la superficie libre son independientes.
La clasificación se hace en función del cambio o variación en la profundidad del
flujo con respecto al tiempo y al espacio.
2.1.1.1.1 Flujo uniforme, en el flujo uniforme se tiene como parámetro o criterio
para considerarlo como flujo uniforme es el espacio.
Se dice que en un canal se presenta flujo uniforme si los parámetros hidráulicos
de flujo (velocidad, profundidad) permanecen constantes alo largo del canal o
conducto, es decir que el flujo es uniforme si la profundidad del flujo es la misma
en cada sección del canal.
Ecuación 1 Derivada parcial de la velocidad respecto a la longitud
¶V
=0
¶L
Ecuación 2 Derivada parcial de la profundidad del flujo respecto a la longitud
¶ y
=0
¶L
Ecuación 3 Derivada parcial del caudal respecto a la longitud
¶Q
=0
¶L
El flujo de líquidos en canales de sección constante y gran longitud se considera
uniforme.
Figura 2 Flujo uniforme en un canal de laboratorio
2.1.1.1.2 Flujo variado, en el flujo variado se tiene como criterio para considerarlo
como flujo variado es el espacio.
Para que se presente flujo variado los parámetros hidráulicos de flujo (velocidad,
profundidad) varían a lo largo del conducto, es decir el flujo es variado si la
profundidad de flujo cambia a lo largo de la conducción o canal.
Ecuación 4 Derivada parcial de la velocidad respecto a la longitud
¶V
¹0
¶L
Ecuación 5 Derivada parcial de la profundidad del flujo respecto a la longitud
¶y
¹0
¶L
Un ejemplo del flujo variado se presenta en controles en los canales como son las
compuertas, presas y cambios de pendiente.
Figura 3 Flujo variado
2.1.1.1.3 Flujo permanente, en el flujo permanente el criterio que se toma para
considerarlo como flujo permanente es el tiempo.
Para considerar un flujo en un canal como flujo permanente se debe cumplir que
los parámetros hidráulicos del flujo (velocidad, profundidad) permanecen
constantes en el tiempo es decir que la velocidad de las partículas que ocupan un
punto dado es la misma en cada instante.
Dicho de otra manera el flujo permanente se presentara si la profundidad del flujo
no cambia o puede suponerse constante durante el intervalo de tiempo a
consideración.
Ecuación 6 Derivada parcial de la velocidad respecto al tiempo
¶V
=0
¶t
Ecuación 7 Derivada parcial de la profundidad del flujo respecto al tiempo
¶y
=0
¶t
Ecuación 8 Derivada parcial del caudal respecto al tiempo
¶Q
=0
¶t
Figura 4 Flujo permanente
En la mayoría de los problemas prácticos se presentan condiciones de flujo
permanentes, como por ejemplo el transporte de líquidos bajo condiciones
constantes de altura de carga.
2.1.1.1.4 Flujo no permanente, en el flujo no permanente el criterio que se toma
para considerarlo como flujo no permanente es el tiempo.
En el flujo no permanente los parámetros hidráulicos (velocidad, profundidad)
varían en el tiempo.
Ecuación 9 Derivada parcial de la velocidad respecto al tiempo.
¶V
¹0
¶t
Ecuación 10 Derivada parcial de la profundidad del flujo respecto al tiempo.
¶y
¹0
¶t
Figura 5 Flujo no permanente
En el estudio y diseño de canales se hace necesario estudiar el comportamiento
del flujo solo bajo condiciones de flujo permanente. Sin embargo la variación en el
estado o condición del flujo con respecto al tiempo es importante, el flujo debe
tratarse como no permanente, el nivel del flujo varía de manera tal que las ondas
pasan y el factor tiempo se vuelve de gran importancia en el diseño y concepción
de estructuras de control.
2.1.1.1.5 Flujo uniforme permanente, en el flujo uniforme permanente el criterio
que se toma para considerarlo como flujo uniforme permanente es el espacio.
El flujo uniforme no permanente se presenta cuando los parámetros hidráulicos de
flujo (velocidad, profundidad) permanecen constantes en el espacio y el tiempo, es
decir la profundidad del flujo no cambia durante el intervalo de tiempo bajo
consideración.
Figura 6 Flujo uniforme permanente
Es el tipo de flujo mas importante en la hidráulica de canales abiertos, pues es el
tipo flujo fundamental que se estudia en hidráulica de canales.
2.1.1.1.6 Flujo uniforme no permanente, en el flujo uniforme no permanente el
criterio que se toma para considerarlo como flujo uniforme no permanente es el
espacio.
Se dice que se presenta un flujo uniforme no permanente cuando los parámetros
hidráulicos del flujo (velocidad, profundidad) se mantienen constantes en el
espacio pero no en el tiempo. Para que se presente flujo uniforme y no
permanente se necesita que la superficie del líquido este cambiando o fluctuando
de tiempo en tiempo mientras permanece paralela al fondo del canal.
Este comportamiento es poco probable encontrarlo en la naturaleza, esto se debe
a que estos cambios en el tiempo tendrían que suceder a lo largo del canal para a
su vez permanecer constantes la profundidad y la velocidad del flujo.
Figura 7 Flujo uniforme no permanente.
2.1.1.1.7 Flujo variado permanente, en el flujo variado permanente, el criterio que
se toma para considerarlo como flujo variado permanente es el espacio.
En este tipo de flujo los parámetros hidráulicos del flujo (velocidad, profundidad)
varían en el espacio pero no en el tiempo, es decir se presentara flujo variado
permanente si la profundidad del flujo cambia a lo largo del canal.
El flujo variado permanente se puede clasificar a su vez como flujo gradualmente
variado y como flujo rápidamente variado.
Figura 8 Flujo variado.
R.V.F = rapid varied flow = FRV = flujo rápidamente variado.
G.V.F. = gradual varied flow = FGV = flujo gradualmente variado.
Un flujo rápidamente variado se presenta si la profundidad del líquido cambia de
manera repentina en distancias relativamente cortas, de otro modo el flujo es
gradualmente variado. En la práctica un flujo rápidamente variado se conoce como
fenómeno local, estos son entre otros el resalto hidráulico y la caída hidráulica.
2.1.1.1.8 Flujo variado no permanente o inestable o flujo no permanente, se
presenta flujo variado no permanente cuando los parámetros hidráulicos del flujo
(velocidad, profundidad) cambian en el espacio y en el tiempo. Este tipo de flujo no
es muy recurrente en la naturaleza y de hecho prácticamente no existe, motivo por
el cual al flujo variado no permanente se le conoce como flujo no permanente o
como flujo inestable.
Las olas y las mareas en flujo libre son ejemplos de flujo variado no permanente.
Figura 9 Flujo variado no permanente.
Ecuación 11 Derivada parcial del caudal respecto a la longitud.
¶Q
¹0
¶L
Figura 10 Flujo espacialmente variado. a) Sumidero con descarga completa.
b) Sumidero con descarga parcial.
2.1.2. Influencia de la viscosidad, la densidad y la gravedad sobre el flujo, el
comportamiento del flujo en canales abiertos esta determinado o gobernado
básicamente por los efectos de la viscosidad y la gravedad con relación a las
fuerzas inerciales del flujo las cuales se correlacionan directamente con la
densidad del liquido que transporte el canal o conducto. Es decir se puede hablar
de un efecto de la viscosidad, la densidad y la gravedad sobre el flujo en el canal,
el cual determinara su estado, generando comportamientos únicos que lo permiten
clasificar.
2.1.2.1 Efecto de la viscosidad sobre el flujo, haciendo mención a los conceptos
básicos de la mecánica de los fluidos, un flujo se puede clasificar como laminar, en
transición o turbulento según la magnitud de las fuerzas inerciales sobre las
fuerzas de viscosidad. La clasificación de cada tipo de flujo esta montada sobre la
magnitud del número de Reynolds el cual es uno de los parámetros
adimensionales notables. En el régimen de flujo laminar las fuerzas viscosas
predominan en el flujo pues las partículas del fluido se mueven en capas paralelas
en una dirección determinada conceptos básicos de la mecánica de los fluidos, un
flujo se puede clasificar como laminar, en transición o turbulento según la
magnitud de las fuerzas inerciales sobre las fuerzas de viscosidad. La clasificación
de cada tipo de flujo esta montada sobre la magnitud de cada relación
adimensional como lo es el numero de Reynolds.
En el régimen de flujo turbulento, las fuerzas inerciales son tan grandes que las
fuerzas de viscosidad no pueden amortiguar las perturbaciones y las partículas del
fluido se mueven siguiendo trayectorias aleatorias.
Ecuación 12 Numero de Reynolds
V * L
NR =
u
Según la ecuación 12 se tiene que:
NR = Número de Reynolds
V = Velocidad del flujo
L = Longitud característica
u = Viscosidad cinemática
Al reemplazar en al ecuación 12 al radio hidráulico (R) como longitud característica
se obtiene una expresión para el número de Reynolds en canales abiertos
(ecuación 13).
Ecuación 13 Numero de Reynolds para canales abiertos
V * R H
NR =
u
Los valores limites de la ecuación 13, para la clasificación o caracterización del
flujo son:
Flujo laminar NR < 500
Flujo turbulento NR > 1000
Flujo transición 500 < Re < 1000
Es de mencionar y aclarar que en experimentos se ha demostrado que el régimen
de flujo puede variar de laminar a turbulento en un intervalo entre 500 y 12500 del
NR (Numero de Reynolds) cuando se ha trabajado con el radio hidráulico como
longitud característica, motivo por el cual algunos investigadores toman los
siguientes límites del NR, a saber:
Flujo laminar NR < 500
Flujo turbulento NR > 12500*
Flujo transición 500 < NR < 12500
* El límite superior no está definido.
Si se toma como longitud característica (ecuación 12) un valor de cuatro veces el
radio hidráulico, (L = 4RH) la ecuación 12 toma la siguiente forma:
Ecuación 14 Numero de Reynolds para una longitud característica de cuatro veces el radio
hidráulico
4VR
NR =
u
En la ecuación 14 tiene como limites para clasificar el flujo los siguientes valores:
Flujo laminar NR < 2000
Flujo turbulento NR > 4000
Flujo transición 2000 < NR < 4000
El régimen de flujo en canales es generalmente de tipo turbulento.
2.1.2.2 Efecto de la densidad del líquido sobre el flujo, el cambio en la densidad de
los líquidos hace que el flujo sea clasificado como homogéneo o estratificado.
La falta de un gradiente de densidad en la mayoría de los flujos de los canales
abiertos en estado natural demuestra de manera significativa que la velocidad del
flujo es lo suficientemente buena para mezclar completamente o en su totalidad el
fluido respecto a su densidad o que los fenómenos que tienden a introducir el
gradiente de densidad no son importantes, motivo por el cual los flujos en canales
o flujos libres se consideran como homogéneos en la mayoría de los casos.
2.1.2.3 Efecto de la gravedad sobre el flujo, según sea la magnitud de las fuerzas
de gravedad e inercia, un flujo es clasificado como subcrítico, crítico y supercrítico;
el parámetro adimensional sobre el cual es ejercida esta clasificación es el número
de Froude (NF). Se puede concluir que el efecto de la gravedad sobre el estado
del flujo es el resultado de la relación entre la acción de las fuerzas inerciales y las
fuerzas gravitacionales.
Ecuación 15 Numero de Froude
ma V A v
NF = \ NF = Ù c = gy h , y h = \ NF =
mg c B gy h
Según la ecuación 15 se tiene que:
yh = Profundidad hidráulica
c = Velocidad de la onda de gravedad
A = Área de la sección transversal
B = Ancho de la superficie libre del flujo
2.1.2.3.1 Flujo subcrítico, el flujo subcrítico o flujo lento es aquel en el cual la
velocidad del flujo es menor que la velocidad de la onda de gravedad, el
parámetro adimensional NF<1.
2.1.2.3.2 Flujo critico, el flujo critico se presenta cuando la velocidad del flujo es
igual que la velocidad de la onda de gravedad, el parámetro adimensional NF=1.
2.1.2.3.3 Flujo supercrítico, el flujo supercrítico o flujo rápido es aquel en el cual la
velocidad del flujo es mayor que la velocidad de la onda de gravedad, el parámetro
adimensional NF>1.
2.1.3 Clases de canales y sus propiedades, se define a un canal como la
conducción o conducto en el cual fluye un líquido, con una superficie libre o con
contacto con la atmósfera.
Un canal se puede clasificar teniendo en cuenta varios criterios entre ellos su
origen, sección transversal; y a su vez según el origen los clasificaremos como
naturales o artificiales, estos pueden ser revestidos o no revestidos; teniendo en
cuenta la sección transversal se habla de canales prismáticos y de canales no
prismáticos.
Imagen 1. Canal natural, río Atráto a la altura del municipio de Quibdo
2.1.3.2 Canales artificiales, en los canales artificiales se tiene como parámetro
para su clasificación el origen, entonces un canal artificial es toda aquella
conducción o canal que han sido construidos o desarrollados mediante el
esfuerzo, y el ingenio humano; a esta clasificación pertenecen los canales de
navegación, canales de centrales hidroeléctricas, canales y canaletas de
irrigación, cunetas de drenaje, vertederos, canales de desborde, canaletas de
madera, cunetas a lo largo de carreteras, modelos de laboratorio para realizar
practicas y experimentar con las propiedades hidráulicas, pues en estos canales
se controlan las variables que intervienen y así lograr un propósito determinado.
Las teorías hidráulicas se aplican en la concepción y diseño de canales artificiales
produciendo resultados con un alto grado de similitud con la realidad.
Los canales artificiales se clasifican como no revestidos y revestidos.
Los no revestidos o canales artificiales erosionables son utilizados principalmente
en cultivos para transporte de agua, estos son excavados en el terreno natural y
se usan principalmente con sección transversal trapezoidal su pendiente depende
en gran medida del tipo de terreno en el cual se realice debido a su uso no se
revisten y no se tienen en cuenta las pérdidas por infiltración ocasionadas.
Imagen 2. Canalización quebrada la Chiguaza, localidad de Tunjuelito, Bogotá
2.1.4 La sección transversal en los canales abiertos, la sección transversal o forma
de un canal puede ser irregular, prismática o no prismática. Para que un canal sea
considerado como prismático debe poseer una sección transversal invariable y
una pendiente de fondo constante; en caso contrario será un canal no prismático
es decir es aquel en el cual la geometría o la pendiente de fondo cambiara, un
ejemplo típico de canal no prismático es un vertedero con un ancho variable y un
alineamiento curvo.
Figura 11 Sección transversal de un cause irregular
Figura 12 Sección transversal de un cauce prismático de forma trapezoidal.
Las secciones transversales más utilizadas en los canales abiertos son:
· Rectangulares
· Triangulares
· Trapezoidales
· Circulares
· Parabólicos.
La sección trapezoidal es la forma más común en canales con bancas en tierra sin
recubrimiento, esto debido a que poseen las pendientes necesarias para la
estabilidad.
La sección triangular y rectangular son casos partículares del trapecio; la sección
rectangular tiene lados verticales es decir el talud es cero, por lo general se utiliza
para canales construidos para materiales estables, como es la mampostería, la
roca, algunos metales o la madera; la sección triangular posee un fondo de canal
igual a cero, se utiliza generalmente para canales de transporte de aguas lluvias el
las vías, como cunetas, pequeñas asqueas y en trabajos de laboratorio.
La sección circular es la forma más común para obras de alcantarillados y
alcantarillas de tamaño pequeño y medio.
Figura 13 Secciones comunes en canales prismáticos
2.1.4.1 Elementos geométricos de la sección de un canal, los elementos
geométricos son las propiedades que caracterizan cada sección transversal en un
canal y son definidos por completo por la geometría de la sección y la profundidad
del flujo. Estos elementos son de gran importancia y se utilizan con recurrencia
para el diseño de los canales pues aportan información de la sección.
2.1.4.1.1 Profundidad del agua, la profundidad del agua o tirante del flujo (y), es la
distancia vertical desde el punto mas bajo de la sección de un canal a la superficie
del agua si el canal tiene una pendiente relativamente baja.
En los canales que poseen pendientes altas, se usa la profundidad del agua o
tirante del flujo medido de forma perpendicular con el fondo del canal (d). Existe
una relación entre (y) y (d) esta es:
Ecuación 16 Relación entre la profundidad del agua y el ángulo de la pendiente del fondo del canal.
d
y=
cos q
Figura 14 Relación entre la profundidad (y) y la profundidad (d)
Según la figura 14 se tiene que:
θ = Angulo de la pendiente del fondo del canal con una línea horizontal.
Si θ es pequeño y @ d .
" = Nivel del agua; es la elevación de la superficie libre del agua respecto a un
plano de referencia o datum. Si el plano de referencia se toma en el punto mas
bajo del canal, coincidirá el nivel del agua y el tirante del flujo o profundidad del
agua.
En un canal se tiene una pendiente baja si la pendiente So £ 0.01, y se tiene una
pendiente alta si So > 0.01.
2.1.4.1.2 Área mojada, el área mojada o área hidráulica (A), de una sección es
aquella área correspondiente a una sección transversal del flujo, la cual se tomo
normalmente a la dirección del flujo.
2.1.4.1.3 Perímetro mojado, se define al perímetro mojado (P), como la longitud
de una línea que limita el área transversal de flujo, menos el ancho de la superficie
libre.
2.1.4.1.4 Radio hidráulico, el radio hidráulico (R), se define como la relación entre
el área mojada con respecto a su perímetro mojado.
Ecuación 17 Definición del radio hidráulico
A
R=
P
2.1.4.1.5 Ancho superficial, el ancho superficial (T), de la sección del canal es la
longitud de la línea correspondiente a la superficie libre de agua.
2.1.4.1.6 Profundidad hidráulica, la profundidad hidráulica (D), de una sección de
un canal es la relación entre el área mojada y el ancho superficial.
Ecuación 18 Definición de la profundidad hidráulica.
A
D=
T
2.1.4.1.7 Talud de la pared lateral del canal, el talud de la pared lateral del canal
(z), toma los siguientes valores según el canal:
En canales rectangulares z = 0.
En canales trapezoidales o triangulares simétricos, z1 = z2 = z
2.1.4.1.8 Ancho del fondo del canal, como su nombre lo indica el ancho del fondo
del canal (b), es la longitud de la línea correspondiente al ancho inferior de la
sección transversal.
b = 0 en canales triangulares
2.1.4.1.9 Factor de sección para el cálculo del flujo critico, el factor de sección
para el cálculo del flujo crítico (Z), se define como el producto del área mojada y la
raíz cuadrada de la profundidad hidráulica.
Ecuación 19 Definición de factor de sección
A
Z = A D = A
T
2.1.4.1.10 Factor de sección para el cálculo de flujo uniforme, el factor de sección
2
para el cálculo del flujo uniforme ( AR 3 ) , se define como el producto del área
mojada y el radio hidráulico elevado a la potencia 2 .
3
2.1.5 Características del flujo en las secciones más usadas
2.1.5.1 Flujo en un canal de sección circular, si se tiene un canal circular de
diámetro do, la descarga máxima ocurre aproximadamente para una profundidad
de flujo igual a y = 0.938do, y la velocidad máxima esta ubicada a una profundidad
de flujo igual y = 0.81do.
2.1.5.2 Flujo en canales rectangulares muy anchos, en un canal rectangular el
radio hidráulico esta dado por la siguiente ecuación.
Ecuación 20 Radio hidráulico para un canal de sección rectangular.
by
R =
b + 2 y
Si el canal es muy ancho, el factor (2y) presente en el denominador se hace casi
despreciable en comparación con el ancho (b), motivo por el cual el radio
hidráulico (R) se puede aproximar a al profundidad del flujo.
Ecuación 21 Aproximación del radio hidráulico en un canal de sección rectangular
R @ y @ y h
Esta aproximación es valida generalmente para canales rectangulares donde el
ancho del canal es mayor a 10 veces la profundidad del flujo, pues esta condición
hace que el canal sea considerado como ancho.
2.1.6 Distribución de la velocidad en la sección de un canal, en los canales la
presencia de una superficie libre y el hecho de estar contenido el flujo en un
conducto en el cual se presenta fricción entre el flujo y las paredes del canal estas
condiciones hacen que la velocidad en un canal no sea uniforme en el conducto,
presentando zonas de distintas velocidades siendo recurrente que la velocidad
máxima medida en canales comunes, generalmente ocurre debajo de la superficie
libre del agua a una distancia que varia entre los 0.05 a 0.25 de la profundidad y .
Figura 15. Distribución de velocidades en secciones transversales de diferente forma. Tomado de
hidráulica de canales abiertos. Chow, V. T 2000
La figura anterior muestra la distribución de velocidades para canales de
diferentes secciones transversales, en esta figura se aprecia como la velocidad va
en aumento desde las regiones exteriores hasta llegar a un valor máximo ubicado
en o por debajo de la superficie libre del flujo coincidiendo con la mayor vertical de
la sección transversal o con la línea al centró para los canales prismáticos.
En un canal la distribución de velocidad depende de varios factores los cuales
intervienen en diferente magnitud, estos factores son; la forma del canal, la
rugosidad de las paredes del canal, la presencia de curvas y codos, el viento.
Existe una relación entre la profundidad del canal y la localización de la máxima
velocidad de flujo en el canal, dicha relación muestra que cuando la conducción
sea ancha, baja y rápida o de paredes lisas, la máxima velocidad se localizara
muy cerca de la superficie. En un canal profundo la máxima velocidad se
localizara a mayor distancia de la superficie libre del flujo.
La rugosidad de las paredes del canal provoca un incremento en la curvatura de la
curva que representa la distribución vertical de la velocidad, esto se puede
visualizar en la siguiente figura.
Figura 16 Efecto de la rugosidad en la distribución de velocidades en un canal abierto. Tomado de
hidráulica de canales abiertos de Chow V.T. 2000
En las curvas la distribución de velocidades se ve afectada por la acción de la
fuerza centrifuga, la velocidad tiende a ser mayor en la parte externa o convexa de
la curva y tiende a ser menor en la parte interna o cóncava de la curva.
El viento tiene muy poco efecto sobre la distribución de velocidades, esto se
mantiene mientras la velocidad del viento no sea lo suficientemente grande como
para causar una influencia directa sobre el comportamiento del flujo.
El escurrimiento para un canal prismático es tridimensional, este se manifiesta con
un movimiento que sigue una trayectoria en espiral, la componente de velocidad
en la sección transversal del canal es pequeña en comparación con las
componentes de velocidad longitudinales. Se idealiza la distribución de
velocidades en canales anchos y se asume que es la misma que se presentaría
en un canal rectangular de ancho infinito.
2.1.6.1 Medición de la velocidad en un canal abierto, para la medición de las
corrientes y la velocidad media del flujo, se nombra la metodología de la, U.S.
Geological Survey, en esta metodología la sección transversal del cause es
dividida en franjas verticales mediante el trazado de varias verticales, creando
elementos de área, en cada vertical se medirá las velocidades, se utiliza para este
fin el correntómetro o molinete. Se puede subdividir esta metodología en dos
métodos cada uno para casos específicos el primero es conocido como el método
0.6y, y el segundo es denominado el método 0.2y0.8y.
2.1.6.1.1 Método 0.6y, este método proporciona resultados aceptables se usa para
profundidades menores a 0.6y, en este caso la velocidad media se toma como la
velocidad que se obtiene al realizar la lectura o medición a 0.6y desde la superficie
o a 0.4y desde el fondo.
2.1.6.1.2 Método 0.2y – 0.8y, este método consiste en medir la velocidad a una
profundidad de (0.2y) y de (0.8y) desde la superficie del flujo, la velocidad media
del flujo en la vertical será el promedio aritmético de ambas velocidades.
2.1.6.1.3 Condiciones generales de los métodos para medir la velocidad, para
desarrollar la metodología del U.S. Geological Survey, se deben cumplir con
algunas condiciones referentes a la forma de tomar y procesar la información.
Las verticales deberán cumplir con las siguientes características:
· El ancho de cada vertical no deberá superar un rango comprendido entre
1/15 a 1/20 del ancho total de la sección.
· El caudal que pasa por cada elemento de área de influencia Ai, no podrá
superar el 10% del caudal total.
· La diferencia entre la velocidad de las verticales no deberá sobrepasar el
20%.
Para obtener el caudal de cada franja o elemento de área de influencia Ai, se debe
obtener el promedio de las velocidades medias de dos verticales consecutivas o
adyacentes este promedio de velocidades será multiplicado por el área que se
encuentra entre las dos verticales es decir el elemento de área de influencia Ai.
El caudal total de la sección transversal corresponderá a la sumatoria de los
caudales de cada una de las franjas, la velocidad media en la sección transversal
del canal corresponderá a la relación entre el caudal total y el área total de la
sección.
Figura 17 Sección transversal de un cauce dividido en franjas.
N
Q = å1 Q i
Q i = A i V i
N
A = å1 A i
Entonces la velocidad media será calculada utilizando la ecuación 22.
Ecuación 22 Velocidad media en un cause dividido por franjas
Q
V=
A
Según el anterior análisis, se tiene que:
V = Velocidad media
Q = Caudal total de la sección transversal
A = Área total
Qi = Caudal de cada franja
Ai = Área de cada franja
Vi = Velocidad media de cada franja
N = Numero de franjas
2.1.6.2 Coeficientes de distribución de velocidad, la distribución no uniforme de
velocidades sobre la sección de un canal afecta la altura velocidad del flujo, y el
cálculo del momentum; es por este motivo que la altura velocidad del flujo y el
momentum de un fluido en un canal sean corregidos mediante unos coeficientes
de energía y de momentum.
2.1.6.2.1 Coeficiente de Energía, el coeficiente de energía o coeficiente de
Coriolis, es un coeficiente que corrige el valor de la altura de la velocidad del flujo
el cual en canales abiertos es generalmente mayor al que se determina según la
expresión (V 2 /2g), siendo V la velocidad media del flujo.
Es por este motivo que la altura de velocidad del flujo es corregida mediante un
coeficiente de energía α o coeficiente de Coriolis, este coeficiente para un flujo
libre varia entre 1.1 y 2.0, datos experimentales hablan de valores que se mueven
entre 1.03 y 1.36 para canales prismáticos casi rectos, en general el valor es alto
para canales pequeños y bajo para corrientes grandes con profundidad constante.
Aguas arriba de vertederos, cerca de obstrucciones o cerca de irregularidades
pronunciadas en el alineamiento se han observado valores de α>2.
DA = Elemento diferencial de área en el área mojada total A. (1)
g = Peso unitario del líquido. (2)
gDAv = Peso del liquido que pasa a través de DA por unidad de tiempo con
una velocidad v, resulta de multiplicar (1) y (2). (3)
v 2 /2g = La altura de velocidad del flujo. (4)
gDAv 3 /2g = Energía cinética del liquido que pasa a través de DA por unidad de
tiempo, resulta de multiplicar (3) y (4). (5)
SgDAv 3 /2g = Energía cinética total para el área mojada completa, resulta de hacer
la sumatoria a cada electo diferencial de energía en cada elemento
fundamental de área. (6)
A = Área completa. (7)
V = Velocidad media. (8)
aV 2 /2g = La altura de velocidad del flujo corregida para el área completa. (9)
agDAV 3 /2g = Energía cinética total del liquido que pasa a través de A por unidad
de tiempo. (10)
Ecuación 23 Coeficiente de energía
3 3
a=
ò v dA » å v DA
V 2 A V 3 A
2.1.6.2.2 Coeficiente de Momentum, el coeficiente de momentum o coeficiente de
Boussinesq, es un coeficiente que corrige el cálculo del momentum o cantidad de
bgQV
movimiento esta magnitud se calcula con la expresión ; donde b es el
g
coeficiente de momentum, g es el peso unitario del líquido, Q es el caudal y V es la
velocidad media del flujo en la sección transversal.
Este coeficiente toma valores que van desde 1.01 hasta 1.12 en canales
prismáticos aproximadamente rectos, en flujo libre el coeficiente varia entre 1.03 y
1.33.
DA = Elemento diferencial de área en el área mojada total A. (a)
v = Velocidad media del flujo (b)
gDAv/g = Masa del liquido que pasa a través de DA por unidad de tiempo con
una velocidad v. (c)
gDAv 2 /g = Momentum del liquido que pasa a través de DA por unidad de tiempo,
es el producto de la masa y la velocidad. (d)
SgDAv 2 /g = El Momentum total del liquido. (e)
bgAV 2 /g = Momentum corregido para el área total A. (f)
Al igualar las expresiones (e) y (f), y reducir se obtiene una expresión para el
coeficiente de momentum.
Ecuación 24 Coeficiente de momentum.
2 2
b=
ò v dA » å v DA
V 2 A V 2 A
2.1.7 Distribución de presiones en la sección de un canal, en la sección
transversal de un canal de pendiente pequeña la presión se puede medir en
cualquier punto de la sección, esta se mide por la altura de la profundidad del
agua en un tubo piezométrico instalado en el punto donde se quiere realizar la
lectura.
Si se omiten los disturbios menores debidos a la turbulencia, la columna de agua
en el piezómetro se debe alzar desde el punto de la lectura o medida hasta la
línea de la superficie del líquido, es decir la distribución de presiones en un canal
es de forma prismática esto quiere decir que prevalece el principio de la
hidrostática de presiones y la distribución es lineal. La ley de la hidrostática de la
distribución de presiones en un canal abierto es aplicable para el flujo uniforme y
el flujo gradualmente variado.
Cuando se presenta flujo rápidamente variado, la distribución de las presiones en
el canal no se pueden considerar hidrostáticas pues el cambio de la profundidad
del flujo es tan rápido y abrupto que las líneas de corriente poseen curvaturas y
divergencias.
El flujo se clasifica según el comportamiento de las líneas de corriente de flujo este
puede ser flujo paralelo y flujo curvilíneo.
2.1.7.1 Flujo paralelo, la aplicación de la ley hidrostática en un canal abierto es
valida siempre que los filamentos del flujo no tengan componentes se la
aceleración en el plano de la sección transversal. Este tipo de flujo se denomina
flujo paralelo, ya que este las líneas de corriente de flujo no presentan una
curvatura representativa ni divergente.
2.1.7.2 Flujo curvilíneo, el flujo curvilíneo se presenta siempre que la curvatura de
las líneas de corriente de flujo sea pronunciada, la curvatura ejerce un efecto que
produce componentes representativas de aceleración o de fuerza centrifuga que
son normales a la dirección del flujo en ese caso la distribución de presiones no
seria hidrostática ni prismática. El flujo curvilíneo se clasifica en flujo convexo y en
flujo cóncavo.
2.1.7.2.1 Flujo convexo, el flujo convexo se presenta en un canal cuando las
fuerzas centrifugas actúan en sentido opuesto a la línea de acción de la gravedad,
motivo por el cual la presión resultante tiende a ser menor que en el flujo paralelo.
2.1.7.2.2 Flujo cóncavo, el flujo cóncavo se presenta en un canal cuando las
fuerzas centrifugas se mueven el sentido de la acción de la gravedad este
reforzamiento de la gravedad produce una presión resultante mas grande que en
un flujo paralelo.
Figura 18 Distribución de presiones en canales rectos y curvos con pendiente pequeña u
horizontal. a) Flujo paralelo, b) Flujo convexo, c) Flujo cóncavo. Tomado de hidráulica de canales
abiertos de Chow V.T. 2000 Chow, V. T. 2000
Para la figura 18, se tiene que:
h = Altura piezométrica
hs = Altura hidrostática
c = Corrección de altura de presión debido a la curvatura
AB = Distribución recta de presión en flujo paralelo
AB’ = Distribución no lineal de presión en flujo curvilíneo
2.1.7.3 Efecto de la pendiente del canal sobre la distribución de presiones, en un
canal inclinado recto de ancho unitario y ángulo de pendiente θ, tal como se
observa en la figura 19, el peso de un elemento de agua de longitud dL es igual a
g × y × cos q × dL , la presión que se genera debido a este peso es igual a
g × y × cos 2 q × dL , y la presión unitaria es g × y × cosq donde la altura y la profundidad
esta dada por las siguientes ecuaciones:
Ecuación 25 Altura piezométrica en función de la profundidad medida verticalmente
h = y × cos 2 q
Ecuación 26 Altura piezométrica en función de las profundidad medida perpendicularmente
h = d × cosq
Para las ecuaciones 25 y 26, se tiene que:
h = altura piezométrica
y = profundidad medida verticalmente
d = profundidad medida perpendicularmente desde la superficie del agua
De la ecuación 25 se concluye que la altura de presión a cualquier profundidad
vertical es igual a esta profundidad multiplicada por in factor de corrección cos 2 q .
Si se presenta un canal donde la pendiente del fondo sea pequeña, menor que el
10%, el factor de corrección de presión por efecto de la pendiente, se puede
despreciar. Entonces en canales de baja pendiente la presión hidrostática se
puede medir con la vertical del agua o la profundidad normal al fondo del canal.
En la gran mayoría de los casos de flujo libre, la pendiente es menor que el 10%, y
la corrección de presión por efecto de la pendiente se puede suprimir es decir
h @ y @ d .
En canales que poseen pendientes altas, la velocidad del flujo es generalmente
grande y mayor que la velocidad critica. Cuando la velocidad alcanza cierta
magnitud, el liquido que se transporta en especial el agua, atrapa aire esta
captación de aire hace que se produzca un hinchamiento en el volumen y por
ende un incremento en la profundidad.
Figura 19 Distribución de presiones en un flujo paralelo en canales de pendiente alta. Tomado de
hidráulica de canales abiertos de Chow V.T. 2000.
2.1.8 Energía y momentum, de los conceptos básicos de hidráulica, se sabe que la
energía total del liquido esta expresada en metrosnewton por newton para
cualquier línea de corriente que pasa por una sección de canal, esta se puede
escribir como la altura total en metros de liquido y que es igual a la sumatoria de la
elevación por encima del nivel de referencia, la altura de presión y la altura de
velocidad.
Se tiene un canal como el de la figura 20, con respecto al nivel de referencia, la
altura total H de la sección que se esta analizando puede escribirse como:
Ecuación 27 Energía total para en un canal abierto con flujo gradualmente variado
V 2
H = z + d × cos q +
2 g
En la ecuación 27, y en la figura 20 se tiene que:
z = Es la elevación del punto donde se esta analizando.
d = Es la profundidad del punto donde se esta analizando por debajo de la
superficie del agua medida a lo largo de la sección del canal.
q= Es el ángulo de la pendiente del fondo del canal.
V 2
= Es la altura de velocidad del flujo.
2 g
En un canal la distribución de velocidades es no uniforme razón por la cual la
velocidad en cada línea de corriente del flujo será diferente, en un flujo paralelo
ideal con una distribución uniforme de velocidad la altura de velocidad será igual
en todos los puntos de la sección transversal.
En el flujo gradualmente variado por motivos de simplicidad se supone que las
alturas de velocidad en todos los puntos de la sección del canal son iguales, pero
teniendo en cuenta la distribución no uniforme de velocidades se puede utilizar el
coeficiente de energía o coeficiente de coriolis para corregir este efecto. En ese
orden de ideas la energía total para la sección del canal que se esta analizando
será:
Ecuación 28 Energía total en un canal
V 2
H = z + d × cos q + a ×
2 g
Figura 20 Energía total para canales abiertos
En la figura 21 se muestra un canal prismático con una pendiente alta, la línea que
representa la elevación de la altura total de flujo es la línea de energía donde la
pendiente de esta línea se denomina gradiente de energía, simbolizada por S f .
La pendiente de la superficie del liquido que para el agua se representa por S w y la
pendiente del fondo del canal se representa por S o = sen q , por lo general la
pendiente se define como tan q , pero por el rango de valores que se manejan los
cuales son pequeños se define como Sen q .
Para el flujo uniforme se cumple que S f = S w = S o = sen q .
Figura 21 Energía de un flujo gradualmente variado en canales abiertos
Teniendo en cuenta el principio de conservación de la energía, la altura de energía
total ubicada en la sección 1 aguas arriba debe ser igual a la de energía total
ubicada en la sección 2 aguas abajo, más las pérdidas de energía h f entre las dos
secciones.
Ecuación 30 Energía total entre dos puntos en un canal
V 1 2 V 2 2
z1 + d 1 × cos q + a1 = z 2 + d 2 × cos q + a 2 × + h f
2 g 2 g
La ecuación 30 se aplica para flujos paralelos o gradualmente variados, en un
canal cuya pendiente sea pequeña la ecuación 30 toma la siguiente forma:
Ecuación 31 Energía total entre dos puntos en un canal de pendiente pequeña
V 1 2 V 2
z1 + y 1 + a1 = z 2 + y 2 + a 2 × 2 + h f
2 g 2 g
Las ecuaciones 30 y 31, son conocidas como la ecuación de energía, cuando
h f = 0 y a1 = a 2 = 0 la ecuación 31 se convierte en:
Ecuación 32 Ecuación de energía de Bernoulli
V 1 2 V 2
z1 + y 1 + = z 2 + y 2 + 2 = const .
2 g 2 g
2.1.8.1 Energía especifica, se define energía específica como aquella energía, en
la cual ha sido tomado como nivel de referencia el fondo del canal, es decir es
aquella energía por unidad de peso del líquido en movimiento con relación al
fondo del canal.
Ecuación 33 Energía especifica en un canal abierto, en función de la altura piezométrica.
V 2
E = h + a
2 g
Ecuación 34 Energía especifica en un canal abierto, en función de la profundidad
perpendicular al fondo del canal desde la superficie del liquido
V 2
E = d cos q + a
2 g
Ecuación 35 Energía especifica en un canal abierto, en función de la profundidad
vertical del liquido al fondo del canal.
V 2
E = y × cos 2 q + a
2 g
Si se tiene un canal de pendiente baja la ecuación 35 toma la siguiente forma:
Ecuación 36 Energía especifica para un canal de baja pendiente, en función de la profundidad
vertical del liquido
V 2
E = y + a
2 g
Según las ecuaciones anteriores, se tiene que:
E = Energía especifica
h = Altura piezométrica
d = Profundidad medida perpendicularmente al fondo del canal desde la superficie
del agua
y = Profundidad de lámina de agua del líquido medida verticalmente
q = Pendiente del fondo del canal
a = Coeficiente de velocidad o Coriollis
V = Velocidad media del flujo
g = Aceleración debida a la gravedad
Para un flujo libre a puede variar entre 1.1 y 2.0, en la mayoría de los cálculos se
toma a como 1.0 lo que no introduce errores significativos en los resultados, pues
la cabeza de velocidad representa generalmente un pequeño porcentaje de la
energía total.
Figura 22 Componentes de la energía especifica
La energía total entre dos secciones consecutivas en un canal tiende a disminuir
esto es debido a las pérdidas que se presentan, pero la energía específica puede
aumentar o disminuir dependiendo de varios factores como la resistencia al flujo,
la sección transversal, etc.
Ecuación 37 Ecuación de continuidad
Q = V × A
Ecuación 38 Velocidad en función del caudal
Q
V=
A
Ecuación 39 Ecuación general de energía especifica
Q 2
E = y +
2 × A 2 × g
Para canales de sección rectangular, como el que se muestra en la figura 23, se
Q
puede utilizar un caudal unitario o caudal por unidad de ancho q = , la ecuación
b
39 se transforma y quedaría así:
Ecuación 40 Energía especifica en un canal en función de un caudal unitario
q 2
E = y +
2 × g × y 2
Figura 23 Canal de sección rectangular
T
y
Siempre que el caudal sea constante y el canal tenga como sección transversal la
rectángula, su energía especifica será función únicamente de la profundidad del
flujo o y .
La ecuación 40 es una ecuación cúbica y posee tres raíces o valores posibles de
y para un caudal constante, los tres valores posibles solo hay dos que tienen
sentido y validez desde el punto de vista hidráulico. De esta ecuación se puede
observar el siguiente comportamiento:
Si, y Þ 0 , E Þ ¥
Si, y Þ ¥, E Þ ¥
2.1.8.1.2 Características de la curva de energía, la representación grafica de la
curva de energía específica se muestra en la siguiente figura, esta curva posee las
siguientes características:
· La parte superior de la curva representa el flujo subcrítico porque el número
de Froude es menor que la unidad, NF < 1 y la profundidad normal es mayor
que la profundidad crítica yN > y C .
· El punto de inflexión en la curva corresponde al estado crítico del flujo
entendiendo que el estado crítico del flujo sucede cuando el número de
Froude sea igual a la unidad NF = 1 .
· La parte inferior de la curva corresponde al estado supercrítico del flujo, es
decir que el número de Froude es mayor que la unidad, NF > 1 y la
profundidad normal es menor que la profundidad critica yN < y C .
· Cada caudal tiene su propia curva de energía específica, es decir que la
curva se desplaza.
· Cuando existe proporcionalidad entre la profundidad del flujo y la energía
especifica, se formara una recta a 45° y el estado de flujo subcrítico tiende
a ser asintótico a esta recta.
· En general la recta posee dos ramales, uno asintótico al eje de las abscisas
y otro, asintótico a una línea que forma un ángulo de 45° con relación a la
horizontal.
· Cuando se presente flujo subcrítico, siempre que se aumente la
profundidad del flujo, la energía especifica aumentara y viceversa.
· Cuando se presente flujo supercrítico, siempre que se aumente la
profundidad del flujo, la energía especifica disminuirá y viceversa.
Cuando se presentan los flujos subcríticos y supercríticos, las velocidades son
menores y mayores que la velocidad critica, respectivamente , entonces en el flujo
subcrítico aparecen pequeñas ondas superficiales avanzando aguas arriba,
mientras que el flujo supercrítico dichas ondas serán barridas aguas abajo,
formando un ángulo b ; estas ondas son llamadas comúnmente como ondas
diamante.
Figura 24 Curva de energía específica
Se puede concluir, que para una energía específica dada, es posible tener dos
profundidades, una con el flujo subcrítico y otra con el flujo supercrítico; estas dos
profundidades se conocen con el nombre de profundidades secuentes o alternas.
2.1.8.2 Clasificación del flujo, según la profundidad del flujo y de acuerdo a la
curva de energía específica el flujo se puede clasificar en:
2.1.8.2.1 Flujo subcrítico, el flujo subcrítico o flujo lento es aquel que se presenta
cuando la velocidad del flujo es menor que la velocidad de la onda de gravedad,
es decir el número de Froude es menor que la unidad NF < 1 .
Se cumple con las siguientes condiciones:
y > y C
V < V C
NF < 1
S O < S C
Como el número de Froude es menor que uno se cumple que:
V
NF = < 1
g × y
V < c
c = g × y
Figura 25 Flujo subcrítico
2.1.8.2.2 Flujo critico, el flujo critico es aquel que se presenta cuando la velocidad
del flujo es igual que la velocidad de la onda de gravedad, es decir el número de
Froude es igual que la unidad NF = 1 .
Se cumple con las siguientes condiciones:
y = y C
V = V C
NF = 1
S O = S C
Como el número de Froude es igual que uno se cumple que:
V
NF = = 1
g × y
V = c
c = g × y
Figura 26 Flujo crítico
2.1.8.2.3 Flujo supercrítico, el flujo supercrítico o flujo rápido es aquel que se
presenta cuando la velocidad del flujo es mayor que la velocidad de la onda de
gravedad, es decir el número de Froude es mayor que la unidad NF > 1 .
Se cumple con las siguientes condiciones:
y < y C
V > V C
NF > 1
S O > S C
Como el número de Froude es mayor que uno se cumple que:
V
NF = >1
g × y
V > c
c = g × y
Figura 27 Flujo supercrítico
Para las anteriores figuras y ecuaciones que caracterizan el flujo según la relación
con la profundidad critica, se tiene que:
NF = Numero de Froude
y C = Profundidad crítica
V = Velocidad media del flujo
V o = Velocidad crítica
c = Velocidad de la onda de gravedad
S O = Pendiente del fondo del canal
S C = Pendiente crítica
2.1.8.3 Determinación del flujo critico, para que se presente un estado de flujo
crítico, se ha de cumplir la condición en la cual en número de Froude sea igual a
uno, bajo este estado de flujo se tiene que la energía especifica es mínima para un
caudal determinado además de esto se presenta que la corriente es inestable y
esta sujeta a fluctuaciones en la profundidad del liquido.
Es por este motivo que no se debe diseñar canales con flujo critico sino con flujo
subcrítico o supercrítico, esto en función de la pendiente que se tenga en el canal,
en el diseño se deben buscar profundidades en un rango de 1. 1 y c < y < 0 . 9 y c con
y ¹ y C .
En la curva de energía específica se observa que la profundidad crítica se
presenta cuando la energía específica es mínima, es decir que la ecuación general
de flujo crítico se obtiene al derivar la ecuación de energía específica con respecto
a la profundidad del flujo e igualarla a cero.
Ecuación 41 Ecuación diferencia del flujo critico
dE
= 0
dy
Ecuación 42 Energía especifica
Q 2
E = y +
2 × g × A 2
Haciendo loa arreglos matemáticos necesarios, se deriva la energía específica y
se iguala a cero.
Q 2 × A - 2
E = y +
2 × g
Q 2 dA
1 - × = 0
g × A 3 dy
Si se tiene un elemento diferencial de área mojada cerca de la superficie libre de
agua, como de ve en la figura 27, se tiene que dA = Tdy .
Figura 28 Elemento diferencial en la sección de un canal
Entonces la ecuación de flujo crítico será:
Ecuación 43 Ecuación general del flujo crítico
Q 2
× T = 1
g × A 3
Con la ecuación 43, dejando el caudal en términos de la velocidad se puede
determinar el estado del flujo, esto es determinado como se muestra a
continuación:
Q2 Q
3
× T = 1 Ù V =
g × A A
V 2 A
× T = 1 Ù T =
g × A D
V 2
= 1
g × D
V 2
= 1
g × D
V
=1
g × D
Donde se concluye que, el estado critico de flujo esta descrito por la siguiente
ecuación:
Ecuación 44 Estado crítico de flujo
V
=1
g × D
Si en la ecuación 43 separamos las variables geométricas de la que no son
geométricas, se llega a la condición general del flujo crítico.
Ecuación 45 Condición general del flujo crítico
Q 2 A 3
=
g T
2.1.8.3.1 Propiedades generales del flujo crítico, el flujo crítico presenta las
siguientes propiedades o características las cuales permiten comprender el estado
del flujo crítico, estas propiedades son:
· Para un caudal constante la energía específica será la mínima.
· La cabeza de velocidad es igual a la mitad de la profundidad hidráulica
2
VC 1 A
crítica, = y H donde y H = , es la profundidad crítica.
2 g 2 B
· La velocidad crítica es igual a g × y H .
· El número de Froude, el cual es la relación entre la velocidad del flujo y la
V
velocidad crítica V C , es igual a la unidad NF = = 1.
g × y H
· Si se tiene que la energía específica es constante, en la condición de flujo
critico su caudal será máximo. Esto se demuestra derivando el caudal con
respecto a y e igualando a cero, tal como se muestra a continuación
Q 2
E = y +
2 × g × A 2
Q 2 = 2 × g × A 3 ( E - y )
dQ
La condición de caudal máximo sedara cuando = 0 , entonces igualando a cero
dy
y derivando el caudal respecto a la profundidad.
dQ dA
2 Q × = 4 × g × A × ( E - y ) - 2 × g × A 2 = 0
dy dy
dA
4 × g × A × ( E - y ) - 2 × g × A 2 = 0
dy
A = Tdy
2T
( E - y ) = A
1 A
E = y + ×
2 T
1
E = y + y H
2
VC 2 1
Por lo cual se cumple la condición de flujo critico = y H
2 g 2
Las ecuaciones anteriores muestran que el caudal para una energía específica
constante es función de la profundidad y que el caudal es máximo para la
profundidad de flujo critica, este estado de flujo es de gran utilidad en el diseño de
secciones con descarga máxima como son los vertederos, salidas de depósitos
entre otros.
2.1.8.3.2 Flujo crítico en una sección rectangular, en un canal rectangular se tiene
que el fondo del canal es igual que el ancho superficial, es decir b = T . Este canal
se puede ver en la siguiente figura 23.
Se tiene además un caudal unitario el cual se define como el caudal por unidad de
L3
ancho con unidades de T , no se deben eliminar las unidades por que es un
L
Q
caudal unitario se dice entonces que el caudal unitario es q = .
b
Ecuación 46 Caudal total en un canal rectangular, en función del caudal unitario.
Q = q × b
La ecuación 45 nos mostraba la condición general del flujo critico, entonces para
un canal rectangular de ancho infinito se utilizara el caudal unitario , así como se
muestra:
Q 2 A 3
=
g T
q 2 × b 2 b 3 y C3
=
g b
q 2
= y C 3
g
q 2
y C = 3
g
Se tiene que la profundidad crítica en un canal de sección rectangular se
determina con la siguiente ecuación:
Ecuación 47 Profundidad crítica para una sección rectangular.
q 2
y C = 3
g
3
Además en un canal rectangular la energía mínima es igual a de la profundidad
2
critica y C , esto se demuestra a continuación:
Q 2
E = y +
2 × g × A 2
q 2 × b 2
Emin = y C +
2 × g × b 2 × y C 2
y C 3
Emin = y c +
2 × y C 2
y C
E min = y C +
2
Ecuación 48 Energía mínima en un canal rectangular, en función de la profundidad
critica.
3
E min = y C
2
2.1.8.4 Fenómenos locales, un fenómeno local es aquel fenómeno hidráulico que
se presenta cuando la profundidad del flujo, varia o cambia de un valor alto a bajo,
o viceversa, se presenta un fenómeno hidráulico en un sitio especifico de hay el
nombre de fenómeno local.
2.1.8.4.1 Caída hidráulica, una caída hidráulica o libre se presenta cuando la
profundidad de flujo cambia o varia de un valor alto a uno bajo, se presenta un
fenómeno local llamado caída libre.
Figura 29 Caída hidráulica con su respectiva curva de energía específica
2.1.8.4.2 Salto hidráulico, se presenta el salto hidráulico cuando, la profundidad de
flujo cambia o varia de un valor bajo a un valor alto, entonces se presenta una
turbulencia o remolino denominado salto o resalto hidráulico.
El salto hidráulico se aprovecha como aforador de caudal y como mezclador
hidráulico.
Imagen 5 Salto hidráulico como mezclador hidráulico. Planta de tratamiento
Ibagué, Tolima.
Figura 30 Resalto hidráulico con sus curvas de energía especifica y fuerza
especifica.
En el salto o resalto hidráulico se presenta una pérdida de energía, se dice que la
energía es igual pero hay un cambio en la cabeza de velocidad y en la
profundidad.
2.1.8.4.3 Profundidades Alternas, se dice que dos profundidades son alternas si
tienen el mismo valor de energía específica, esta es una deducción directa del
salto hidráulico. La siguiente figura ilustra dos profundidades alternas en una curva
de energía específica.
Figura 31 Profundidades alternas en la curva de energía específica.
q 2 × b 2
E1 = y + 2
2 × g × b 2 × y 1
q 2
E1 = y + 2
2 × g × y 1
q 2
E1 - 2
= y
2 × g × y 1
Ecuación 50 Ecuación para el cálculo de las profundidades alternas
q 2
y ai =
2 × g × ( E - y ai +1 )
La ecuación 50 es una ecuación iterativa, se debe nivelar la ecuación y así se
obtienen los valores de las profundidades alternas.
2.1.8.5 Momentum, se define al momentum como la fuerza que ejerce un fluido y
que genera un cambio masico es decir en la masa, da como resultado un cambio
masico esto debido a las fuerzas aplicadas entonces se dice que sinónimo de
momentun es la fuerza en un liquido, estas fuerzas se miden o calculan en una
región del espacio definida llamada volumen de control. Para el cálculo del
bgQV
momentum o cantidad de movimiento se utiliza la expresión ; donde b es el
g
coeficiente de momentum, g es el peso unitario del líquido, Q es el caudal y V es la
velocidad media del flujo en la sección transversal.
2.1.8.5.1 Volumen de control, el volumen de control es una zona, región del
espacio o volumen representativo donde se tiene en cuenta las fuerzas.
La ecuación de momentun quedara definida en un volumen de control, la ecuación
toma la siguiente forma según la figura 32:
( å F ) V . C = M Salida - M Entrada
( å F ) V. C = DM
Ecuación 51 Ecuación de aplicación del principio de momentum
F 1 + F W - F F - F 2 = rQV 1 - rQV 2
Donde se tiene que:
Si se tiene un canal con la pendiente del fondo del canal baja y con la superficie
casi lisa, entonces la ecuación 51 quedara de la siguiente forma:
Ecuación 52 Ecuación de aplicación del principio de momentum para canales lisos
y de baja pendiente.
F1 - F 2 = rQV 1 - rQV 2
2.1.8.5.2 Ecuación de fuerza especifica, siguiendo el proceso analítico sobre la
ecuación 52, se obtendrá la expresión que describe la fuerza específica.
Ecuación 53 Definición de la fuerza hidrostática.
F = g × h × A
Q
Q = A × V ® V =
A
La ecuación 52 en términos de caudal, y sustituyendo la definición de fuerza
hidrostática, toma la siguiente forma:
Reemplazando en la ecuación 54, dejando el área y el centroide en términos de la
profundidad y del ancho del fondo del canal se tiene:
Ecuación 56 Ecuación de fuerza especifica
Q
F = g × h × A 1 + r × Q ×
A 1
y
A = b × y Ù Q = q × b Ù y =
2
g
g = r * g \ r =
g
y g q 2 × b 2
F = g × × b × y + ×
2 g b × y
2
g × b × y 1 g × q 2 × b
F1 = +
2 y 1
2
g × b × y 2 g × q 2 × b
F2 = +
2 y 2
2 2
g × b × y 1 g × q 2 × b g × b × y 2 g × q 2 × b
+ = +
2 y 1 2 y 2
2 2
y1 q 2 y 2 q 2
+ = +
2 y 1 2 y 2
fe 1 = f e 2
F1 - F 2 = r × Q ×V 2 - r × Q ×V 1
F1 = g × h × A 1
F2 = g × h × A 2
g g
g × h × A 1 - g × h × A 2 = × Q × V 2 - × Q × V 1
g g
Ecuación 57 Ecuación de fuerza especifica para las secciones (1) y (2), figuras 32
y 33.
Q 2 Q 2
h × A 1 + = h × A 2 +
g × A 1 g × A 2
De esta última expresión obtenemos la ecuación de fuerza específica para un
canal de sección rectangular.
Ecuación 58 Ecuación de fuerza específica para un canal de sección rectangular.
Q 2
F e = h × A +
g × A
Utilizando el concepto de fuerza por unidad de ancho, lo cual es la fuerza
especifica que hay por unidad de sección, esto se hace con el cociente de la
fuerza específica y el ancho del fondo del canal.
Q 2
F e = h × A +
g × A
y q 2 × b 2
F e = × b × y +
2 g × b × y
y 2 q 2
F e = b × ( + )
2 g × y
Ecuación 59 Fuerza especifica por unidad de ancho
y 2
q 2
f e = +
2 g × y
2.1.8.5.4 Curva de fuerza especifica, la curva de fuerza específica es la
representación grafica de la variación de la fuerza específica a lo largo del canal.
Para un valor dado de fuerza específica, la profundidad crítica da el máximo
caudal o, viceversa para un caudal dado, la energía específica es mínima para la
profundidad crítica. Según lo anterior la condición de caudal máximo sedara
df e
cuando = 0 , entonces con la ecuación de fuerza específica por unidad de
dy
ancho, para un canal de ancho infinito, la ecuación de fuerza específica se iguala
a cero y se deriva respecto a la profundidad.
y 2 q 2
f e = +
2 g × y
df e 2 y C q 2 1
= + × ( - 2 ) = 0
dy 2 g y C
q 2
yC - = 0
g × y C 2
q 2
yC =
g × y C 2
3 q 2
y C =
g
Ecuación 60 Profundidad critica de flujo de un canal, en función del caudal
unitario.
q 2
y C = 3
g
La fuerza específica mínima se da para la profundidad crítica, entonces
reemplazando la ecuación (60) en la ecuación (59) se obtendrá la fuerza
específica mínima.
2
y q 2
f e min = C +
2 g × y C
2
y C y C 3
f e min = +
2 y C
y C 2 2
fe min = + y C
2
Ecuación 61 Fuerza especifica mínima para el flujo en un canal abierto.
3
f e min = y C
2
Figura 34 Curva de fuerza específica para flujo en canales abiertos.
2.1.8.5.5 Profundidades secuentes, las profundidades secuentes o conjugadas se
presentan si estas tienen el mismo valor de fuerza especifica, para que esto
suceda en el flujo no debe interponerse ninguna otra fuerza mas que la del agua o
hidrostática o especifica.
Figura 35 Profundidades secuentes o conjugadas, representadas en la curva de
fuerza especifica.
Para determinar estas profundidades, se debe de tener en cuenta que estas tienen
la misma energía especifica entonces la ecuación a utilizar es la de la energía
especifica entre dos secciones o puntos a través de un canal, se igualan sus
fuerzas especificas además se debe tener expresado el número de Froude en
función del caudal unitario. El procedimiento es el siguiente:
Número de Froude en función del caudal unitario:
V Q q × b
NF = NF = NF =
g × D A × g × D A
b × y × g ×
T
q 2 q 2
( NF ) 2 = ( NF ) 2 =
A b × y
y 2 × g × y 2 × g ×
T b
Ecuación 62 Numero de Froude en función del caudal unitario
q 2
( NF ) 2 =
y 3 × g
F1 = F 2
2 × q 2
( y1 + y 2 ) × y 2 =
g × y 1
2 × q 2
y1 × y 2 + y 2 2 - = 0
g × y 1
2 2 × q 2
y 2 + y 1 × y 2 - = 0
g × y 1
æ - 2 × q 2 ö
- y 1 ± y 1 2 - 4 ×1 × çç ÷÷
è g × y 1 ø
y 2 =
2 × 1
8 × q 2
2 × y2 = - y 1 + y 1 2 +
g × y 1
8 × q 2 2
2 × y2 = - y 1 + y 1 2 + × y 1
g × y 3 1
Ecuación 63 Relación entre las profundidades secuentes o conjugadas
y
y2 = 1 ( -1 + 1 + 8 × ( NF ) 2 )
2
2.1.8.6 Pérdida de energía en un resalto hidráulico, el resalto hidráulico es de gran
importancia, y la pérdida de energía que se presenta en el resalto es un parámetro
muy importante, estos tienen aplicaciones ingenieriles muy variadas entre las que
se tienen:
· Incrementar el peso sobre el fondo de la estructura y así poder disminuir las
fuerzas debidas a la subpresión.
· Hacer mezclas químicas en plantas de tratamiento.
· Aireación del agua.
· Retirar posibles bolsas de aire de las líneas de abastecimiento de agua y así
prevenir o obstrucciones por aire,
· Destruir la mayoría de la energía cinética del flujo.
· Disipación de energía en flujos sobre estructuras hidráulicas como son los
diques, los vertederos, entre otras estructuras; con el fin de prevenir
socavación.
· Manejo de niveles de agua en canales abiertos para propósitos de distribución
de agua, canalización en distrito de riego, presas y centrales hidroeléctricas.
La pérdida de energía en un resalto se determina mediante la siguiente expresión:
Ecuación 64 Pérdidas de energía en un resalto hidráulico.
( y - y ) 3
DE = 2 1
4 × y 1 × y 2
Esta expresión se deduce al aplicar la ecuación de energía específica entre dos
puntos y teniendo en cuenta las pérdidas de energía, DE según la siguiente figura,
se tiene un canal y se presenta un resalto tal como se ilustra entonces la relación
de energía es la siguiente:
Figura 36 a) Pérdida de energía en un resalto. b) Longitud del resalto hidráulico.
a) Pérdida de energía en un resalto.
b) Longitud del resalto hidráulico.
Q 2 Q 2
y1 + 2
= y 2 + 2
+ DE 1 -2
2 × g × A 1 2 × g × A 2
q 2 b 2 q 2 b 2
y1 + 2
= y 2 + 2
+ DE 1 - 2
2 × g × b 2 × y 1 2 × g × b 2 × y 2
q 2 q 2
y1 + 2
= y 2 + 2
+ DE 1 -2
2 × g × y 1 2 × g × y 2
q 2 q 2
y1 - y 2 + 2
- 2
= DE 1 - 2
2 × g × y 1 2 × g × y 2
q 2 æ 1 1 ö
y1 - y 2 + ×ç - ÷ = DE 1 -2
2 × g çè y 1 2 y 2 2 ÷ø
4 × y1 × y 2 × DE 1 - 2 = 4 × y 2 1 × y 2 - 4 × y 1 × y 2 2 + y 1 × y 2 2 - y 3 1 + y 3 2 - y 2 × y 2 1
4 × y1 × y 2 × DE 1 - 2 = 3 × y 2 1 × y 2 - 3 × y 1 × y 2 2 - y 3 1 + y 3 2
( y 2 - y 1 ) 3
D E =
4 × y 1 × y 2
DE = E 1 - E 2
La eficiencia del salto hidráulico, será el cociente de las energías en caga punto.
E2
h=
E 1
2.1.8.6.1 La longitud del resalto, la longitud del resalto hidráulico es aquella
longitud o distancia que tiene el remolino, dicho de otra manera se puede definir
como la distancia que existe entre la cara frontal del resalto es decir donde inicia
hasta un punto inmediato sobre la superficie del flujo aguas debajo de la ola
asociado con el resalto.
Esta longitud se suele simbolizar por L j , esta longitud se puede observar con sus
Para la determinación de la longitud del resalto hidráulico, se utilizan los
resultados de las investigaciones que se han realizado, estas investigaciones
determinan que la relación L J Y es una función que depende de las condiciones
1
del flujo aguas arriba en especial del numero Froude supercrítico, este aporte
teórico fue desarrollado por Silvestre, R; en el año de 1964. Su estudio se resume
en la siguiente ecuación:
L j G
= s ( NF 1 - 1 )
y 1
La cual describe la longitud de un resalto hidráulico en un canal prismático de
cualquier forma, en esta ecuación s y G , son factores de forma. La siguiente tabla
resume los valores de los factores de forma para la ecuación de Silvestre.
Tabla 2 Factores de forma para la ecuación 65
Sección s G
Rectangular 9.75 1.01
Triangular 4.26 0.695
Parabólico 11.7 0.832
La longitud del remolino del resalto hidráulico, es determinada mediante una
ecuación propuesta por HAGER, W. H., BREMEN, R., y KAWAGOSHI, N en 1990,
en la cual la relación
L r
Y 1 es una función que depende de las condiciones del flujo
aguas arriba en especial del numero Froude supercrítico, para un canal ancho
esta ecuación es:
Existen otras correlaciones para determinar la longitud del salto hidráulico como
son L j = 6 . 9 × ( y 2 - y 1 ) o L j = 2 . 5 × (1 . 9 × y 2 - y 1 ) , y para determinar la altura del salto
2.1.8.6.2 Potencia disipada, La potencia hidráulica esta definida por la siguiente
expresión P = g × Q × H B , donde:
P = Potencia (wattio )
N
g = Peso específico ( 3 )
m
m3
Q = Caudal ( )
s
m × N
H B = Altura de la cabeza de líquido que se ha disipado ( )
N
Para un resalto la potencia esta en función de las alturas secuentes es decir, de la
pérdida de energía que es la magnitud que cae la línea de energía del flujo, la
ecuación es la siguiente:
Ecuación 67 Potencia disipada en un resalto
P = g × Q × DE 1-2
2.1.8.7 Fuerza sobre la estructura en el resalto, para determinar la fuerza que se
debe ejercer sobre una estructura, donde se presente un resalto hidráulico se
utilizara el principio del momentum sobre un volumen de control tal como lo ilustra
la siguiente figura.
Figura 37 Fuerza sobre la estructura en un resalto hidráulico.
Se utilizara la ecuación del momentum, se deben hacer algunas restricciones tal
como se muestra:
(å F ) V. C = DM
Ecuación 68 Ecuación de aplicación de momentum para determinar la fuerza
sobre una estructura
- F + F 0 + F W - F F - F 1 = rQV 1 - rQV 0
Canal de baja pendiente:
FW = W × Sen q Þ Sen q = 0 \ F W = 0
Canal de superficie libre:
F F = 0
La ecuación 66 toma la siguiente forma, con las anteriores restricciones por
pendiente de fondo de canal y por superficie.
Ecuación 69 Ecuación de aplicación de momentum para determinar la fuerza
sobre una estructura en un canal de baja pendiente y liso.
- F + F 0 - F 1 = rQV 1 - rQV 0
Según las figuras 33 y 37, y la ecuación 67 se hace el análisis de fuerzas en el
volumen de control, con el fin de determinar la fuerza sobre la estructura.
Q Q
- F + g × h 0 × A 0 - g × h 1 × A 1 = rQ - rQ
A 1 A 0
y 0 y 1 g Q 2 g Q 2
- F + g × × A 0 - g × × A 1 = -
2 2 g b × y 1 g b × y 0
Ecuación 70 Ecuación general para determinar la fuerza sobre una estructura.
F = g × b ( f e 0 - f e )
1
2.1.9 Flujo uniforme, se define como flujo uniforme o flujo normal en canales al
movimiento que se presenta en el flujo cuando las fuerzas de fricción generadas
por la interacción del líquido y la superficie sólida se equilibran por la acción de la
componente del peso del agua en la dirección del flujo, manteniendo la velocidad
constante.
Es decir el flujo en un canal es uniforme si las características hidráulicas del flujo,
como la profundidad, velocidad y la distribución de velocidades, no cambian a lo
largo del canal en dirección del flujo.
El flujo libre y uniforme o flujo normal posee las siguientes características:
· La profundidad de la lámina de agua será constante a lo largo del canal.
· Las líneas que corresponden al fondo del canal, la superficie libre del
liquido y la altura total es decir la energía son paralelas esto quiere decir
que tienen una misma pendiente o inclinación.
· El gradiente de energía es igual al gradiente piezométrico y ala pendiente
del canal.
· El gradiente hidráulico es igual al gradiente de energía y a su vez igual ala
pendiente de la línea de altura total.
· Resumiendo las dos características anteriores que en realidad traducen la
misma información, las pendientes son iguales, esto se puede escribir de la
G. P = S f = S 0 = S w
siguiente, manera: , donde :
G. P = Gradiente piezométrico
S f =
Pendiente de la línea de energía
S 0 = Pendiente del fondo del canal
S w = Pendiente de la superficie del líquido, el subíndice w índica agua
· La profundidad, el área mojada, la velocidad y el caudal en cada sección
del canal son constantes.
· Las pérdidas de carga por fricción para un tramo dado son iguales al
cambio o variación o pérdida el la cota del fondo del canal, es decir h f = Dz .
· Para pendientes bajas en el fondo del canal, S o < 10% o 6°, la altura
piezométrica es igual a la profundidad del agua medida verticalmente.
2.1.9.1 Tipos de flujo uniforme, el flujo uniforme se clasifica teniendo en cuenta los
criterios, del efecto que ejercen sobre el flujo de gravedad y la viscosidad.
Teniendo en cuenta el efecto de la viscosidad sobre el flujo, el flujo se clasifica en:
· Flujo laminar , para NR < 500
· Flujo turbulento, para NR > 500
Si se clasifica el flujo teniendo en cuenta el efecto que ejerce la gravedad sobre el
flujo, se tienen los siguientes tipos de flujo:
· Flujo subcrítico, para NF < 1 y y n > y C
Y clasificando el flujo según en función de la estabilidad de la corriente, esto se
refiere ala formación de las ondas de Froude, se tienen los siguientes tipos:
· Flujo estable, sin ondas de Froude
· Flujo inestable, con ondas de Froude, el flujo uniforme en un canal se
vuelve inestable cuando se sobrepasa un valor critico del numero de
Froude, el limite de inestabilidad esta cerca de NF @ 2 se encuentra en
función de la rugosidad y de forma del canal. En un flujo inestable la
formación de ondas no permite un flujo estacionario.
2.1.9.2 Ecuaciones de velocidad de flujo, para determinar la velocidad media en
una corriente se utilizan ecuaciones de origen empírico, las cuales son función de
un coeficiente de resistencia. Este coeficiente de resistencia tiene en cuenta
diversas variables de tipo hidráulico, de las cuales resaltan:
· La velocidad media
· La geometría del canal
· La sección transversal
· La profundidad del flujo
· El radio hidráulico
· La rugosidad del canal
· Las curvas presentes en el canal
· La sinuosidad del canal
· La viscosidad del fluido
Las ecuaciones o fórmulas empíricas que se utilizan para determinar la velocidad
media del flujo en el canal, se expresan mediante la siguiente forma general:
Ecuación 71 Forma general de las ecuaciones de velocidad en flujo uniforme.
V = C × R x × S f y
De la ecuación 71, se tiene que:
V = Velocidad media
C = Factor de resistencia al flujo
R = Radio hidráulico
S f = Pendiente de la línea de energía
S 0 = Pendiente del fondo del canal
x, y = Exponentes
2.1.9.3 Ecuación de Chézy, la ecuación de Chézy, es una ecuación de flujo
uniforme que fue desarrollada por el ingeniero francés Antoine Chézy en 1769,
esta ecuación se expresa de la siguiente forma:
Ecuación 72 Ecuación de Chézy
V = C × R × S f
Si se tiene un flujo uniforme la ecuación 70, seria entonces:
Ecuación 73 Ecuación de Chézy para flujo uniforme
V = C × R × S 0
En las ecuaciones anteriores se tiene que V es la velocidad media, R es el radio
hidráulico, S f es la pendiente de la línea de energía, S 0 es la pendiente del fondo
del canal y C es el factor de resistencia al flujo.
Originalmente la ecuación fue de carácter empírico, pero posteriormente se pudo
demostrar mediante bases teóricas, para la deducción analítica de la ecuación de
Chézy se tienen en cuenta dos suposiciones.
En primera instancia se establece que la fuerza que resiste al flujo por cada
unidad de área del lecho de la corriente es directamente proporcional al cuadrado
de la velocidad media, es decir que esta fuerza es igual a KV 2 , siendo V la
velocidad media y K una constante de proporcionalidad, esta suposición fue
propuesta por el ingeniero Chézy.
Teniendo en cuenta la siguiente figura, la superficie de contacto del flujo con el
fondo de la corriente o flujo esta determinada por el producto del perímetro mojado
y la longitud del tramo del canal lo que seria P × L , es decir la fuerza tota que se
resiste al flujo es igual a K × V 2 × P × L .
Ecuación 74 Fuerza total resistente al flujo en un canal con flujo uniforme
K × V 2 × P × L
Figura 38 Demostración de la ecuación de Chézy para un canal con flujo uniforme.
Para la segunda suposición se hace uso del principio básico del flujo uniforme, el
cual dice que en un flujo uniforme la componente de la fuerza de gravedad que
causa el flujo debe ser igual a la fuerza total de resistencia, según la figura anterior
la componente de la fuerza de gravedad es paralela al fondo del canal y esta
expresada por g × A× L × sen q = g × A × L × S o , donde g es el peso especifico del liquido,
A es el área mojada, q es el ángulo de la pendiente y S o es la pendiente del
Entonces si aplicamos este principio, el modelo seria el siguiente:
A
g × A × L × S o = K × V 2 × P × L , donde el radio hidráulico es R = y el factor C se genera
P
g
al hacer la siguiente sustitución C = , al reemplazar y despejar la velocidad
K
media se llega a la ecuación de Chézy.
2.1.9.4 Expresiones para el factor de resistencia C en la ecuación de Chézy, el
coeficiente C de resistencia al flujo en la ecuación de Chézy, ha tenido un gran
número de aproximaciones o soluciones que han contado con el trabajo de
notables investigadores de la hidráulica, de los cuales resaltan los trabajos de
Manning, Kutter – Ganguillet, Kutter, Bazin, Darcy – Weisbach.
2.1.9.4.1 Fórmula de Kutter – Ganguillet, esta fórmula fue desarrollada por los
ingenieros suizos Kutter y Ganguillet, en el año de 1869, esta fórmula esta
realizada con base en los trabajos realizados por Darcy, Bazin y en sus propias
experiencias.
En esta fórmula se propone un C que esta en función de la rugosidad del canal
(n ) , de la pendiente del fondo del canal ( S 0 ) y del radio hidráulico. Esta fórmula es
aplicable principalmente a canales de sección rectangular y trapezoidal, esta
fórmula se describe según la siguiente expresión:
Ecuación 75 Fórmula de Kutter – Ganguillet, para unidades del sistema
internacional
1 0 . 00155
23 + +
n S 0
C =
æ 0 . 00155 ö n
1 + çç 23 + ÷×
è S 0 ÷ø R
2.1.9.4.2 Fórmula de Kutter, esta fórmula fue desarrollada en el año de 1870, esta
expresión se genera como una simplificación del trabajo de Kutter y Ganguillet. Es
valida siempre que la pendiente del fondo del canal no sea menor que 0.0005, es
Esta fórmula propone un C en función del radio hidráulico y de la rugosidad del
canal. La fórmula se aplica a todo tipo de canales exceptuando aquellos canales
que no cumplan con la restricción por pendiente de fondo, la expresión es la
siguiente:
Ecuación 76 Fórmula de Kutter, para unidades del sistema internacional
100 × R
C =
(100 × n - 1 ) + R
2.1.9.4.3 Fórmula de Manning, esta fórmula fue desarrollada por el ingeniero
Irlandés Robert Manning en el año de 1889, la ecuación original se ha ido
modificando hasta llegar a su forma actual.
Esta fórmula propone un C en función del radio hidráulico y de la rugosidad del
canal.
Ecuación 77 Fórmula de Manning, para unidades del sistema internacional
1
1 6
C = × R
n
La ecuación de Chézy en combinación con el coeficiente C de la fórmula de
Manning, toma la siguiente forma para unidades del sistema internacional.
æ 1 1 6 ö
V = çç × R ÷÷ × R × S o Ecuación de Chézy sustituyendo el C de la fórmula de Manning
è n ø
Ecuación 78 Ecuación de Manning para flujo uniforme en unidades del sistema
internacional
2
1 3 1 2
V = × R × S 0
n
Utilizando la ecuación de continuidad (ecuación 37), la ecuación de Manning
queda de la siguiente forma:
Ecuación 79 Ecuación de Manning para caudal en unidades del sistema
internacional
2
A 3 1 2
Q= × R × S 0
n
Si ala ecuación anterior hacemos una separación de variables teniendo como
criterio las variables geométricas y las variables hidráulicas la ecuación de
Manning o (ecuación 76) toma la siguiente forma:
Ecuación 80 Ecuación general de Manning
2
Q × n
= A × R 3
S 0
La fórmula para el C de Manning, se desarrolló de siete formas distintas, las
cuales se basaron en los datos experimentales que recopilo Bazin que luego
fueron verificadas por 170 observaciones. La fórmula de Manning es de gran
simplicidad y genera resultados de gran exactitud para las aplicaciones practicas,
esta fórmula es de las mas usadas entre las fórmulas para flujo uniforme.
El mayor impedimento en el uso de esta y otras fórmulas, radica en la estimación
de n pues no hay un método exacto y establecido para calcularlo, n toma valores
muy diversos esto debido a que depende de varios factores:
· Rugosidad de la superficie
· Vegetación presente
· Irregularidades en el cause
· Alineamiento del canal
· Depósitos en el canal
· Socavaciones en el canal
· Obstrucciones en el canal
· Sección del canal
· Tamaño y forma del canal
· Profundidad del flujo
· Caudal que transporta el canal
· Transiciones en el canal
· Material suspendido
· Transporte de fondo
EL valor de n es muy variable, y por lo general se admiten cinco métodos o
modelos para poder estimar el valor de la rugosidad del canal o n que esta en
función de tantas variables. Estos métodos se nombran a continuación:
1. Se deben de comprender los factores que afectan para cada caso en
particular el valor de n y así tener el conocimiento básico, general
del problema para luego reducir las suposiciones, es un método
deductivo donde la recopilación de información y su pertinente
procesamiento permite llegar a un conjunto de soluciones donde el
conocimiento del problema permite elegir la solución partícular para
cada caso.
2. Consultar cuadros y tablas de los valores típicos de n , para canales
de varios tipos. En estas tablas se encuentran valores de rugosidad
para canales en flujo a superficie libre para conductos cerrados,
canales revestidos y canales sin revestir, se hace énfasis en el tipo
de material que constituye al canal. Se presenta una tabla de
valores típicos para n , ver tabla 3.
3. Reconocer los coeficientes de algunos canales de constitución típica,
es decir se debe examinar y hacerse familiar a las características de
los tipos de canales de mayor uso para los cuales sus coeficientes
de rugosidad son conocidos y están registrados en manuales
técnicos, fotografías.
4. Utilizar conceptos teóricos, es decir se puede determinar el valor de
n por medio de procedimientos analíticos teniendo como principio la
distribución teórica de velocidades en la sección transversal un canal
y apoyarse sobre datos de medidas de velocidad o de rugosidad
para establecer correlaciones entre los datos recopilados y el modelo
analítico obtenido.
5. Hacer uso de ecuaciones de origen empírico, que han sido
desarrolladas para casos similares o con características afines,
algunas de estas ecuaciones están recopiladas en manuales
técnicos y en información particular de diseñadores.
Tabla 3 Valores del coeficiente de rugosidad n de Manning. Tomados de hidráulica
de canales abiertos de Chow V.T. 2000
VALORES DE COEFICIENTE DE n PARA USO EN LA ECUACION DE MANNING
TIPO DE CANAL Y DESCRIPCION MINIMO NORMAL MAXIMO
CONDUCTOS CERRADOS QUE FLUYEN PARCIALMENTE LLENOS
METALES
latón, liso 0.009 0.010 0.010
acero
estriado y soldado 0.010 0.012 0.014
ribeteado y e espiral 0.013 0.016 0.017
hierro fundido
recubierto 0.010 0.013 0.014
no recubierto 0.011 0.014 0.016
hierro forjado
negro 0.012 0.014 0.015
galvanizado 0.013 0.016 0.017
metal corrugado
subdrenaje 0.017 0.019 0.021
drenaje de aguas lluvias 0.021 0.024 0.030
NO METAL
lucita 0.008 0.009 0.010
vidrio 0.009 0.010 0.013
cemento
superficie pulida 0.010 0.011 0.013
mortero 0.011 0.013 0.015
concreto
alcantarilla, recta y libre de basuras 0.010 0.011 0.013
alcantarilla con curvas, conexiones y algo de basuras 0.011 0.013 0.014
bien terminado 0.011 0.012 0.014
alcantarillado de aguas residuales, con pozos de inspección etc. 0.013 0.015 0.017
Corrientes montañosas, sin vegetación n el canal, bancas usualmente
empinadas, árboles y matorrales a lo largo de las bancas sumergidas
en niveles altos.
Fondo: gravas, cantos rodados y algunas rocas. 0.030 0.040 0.050
Fondo: cantos rodados con rocas grandes. 0.040 0.050 0.070
PLANICIES DE INUNDACION
pastizales, sin matorrales
pasto corto 0.025 0.030 0.035
pasto alto 0.030 0.035 0.050
áreas cultivadas
sin cultivos 0.020 0.030 0.040
cultivos en línea maduros 0.025 0.035 0.045
campos de cultivos maduro 0.030 0.040 0.050
matorrales
matorrales dispersos, mucha maleza 0.035 0.050 0.070
poco matorrales y árboles, en invierno 0.035 0.050 0.060
poco matorrales y árboles, en verano 0.040 0.060 0.080
matorrales medios a densos, en invierno 0.045 0.070 0.110
matorrales medios a densos, en verano 0.070 0.100 0.160
árboles
sauces densos, rectos y en verano 0.110 0.150 0.200
Terreno limpio con tronco sin retoño. 0.030 0.040 0.050
Igual que el anterior pero con una gran cantidad de retoños. 0.050 0.060 0.080
2.1.9.4.4 Fórmula de Bazin, esta fórmula desarrollada en el año de 1897 por el
ingeniero H. Bazin, se genero en base a datos obtenidos en canales
experimentales de pequeñas dimensiones, esta fórmula propone un C en
función del radio hidráulico y de la rugosidad del canal denominado m excluyendo
la pendiente del canal S 0 .
Esta fórmula en unidades del sistema internacional es la siguiente:
Ecuación 81 Fórmula de Bazin, para unidades del sistema internacional.
87
C =
m
1 +
R
Los valores del coeficiente de rugosidad del canal m propuestos por Bazin se
muestran en la siguiente tabla.
Tabla 4 Valores propuestos para el m de Bazin. Tomados de hidráulica de canales
abiertos de Chow V.T. 2000
VALORES PROPUESTOS PARA EL m DE BAZIN
DESCRIPCION DEL CANAL m de Bazin
cemento muy suave con formaleta de madera cepillada 0.11
madera sin cepillar, concreto o ladrillo 0.21
mampostería en bloque de piedra o de piedra y ladrillo mal acabado 0.83
canales en tierra en perfectas condiciones 1.54
canales en tierra en normales condiciones 2.36
canales en tierra en condiciones rugosas 3.17
Su aplicación da resultados que son inferiores en comparación a las fórmulas de
KutterGanguillet, Kutter y Manning.
2.1.9.4.5 Fórmula logarítmica, en esta fórmula se tiene en cuenta el
comportamiento hidráulico de la conducción, sin importar que sea liso o rugoso,
esta configuración depende de la relación existente entre las rugosidades
absolutas del lecho e y el espesor de la subcapa laminar viscosa, d 0 .
forma:
Ecuación 82 Fórmula Logarítmica para unidades del sistema internacional.
æ 6 × R ö
C = 5 . 75 × g × Log ç ÷
è a ø
El coeficiente a de la fórmula logarítmica, representa la relación entre las
rugosidades absolutas del lecho e y el espesor de la subcapa laminar viscosa,
d 0 .Esta relación clasifica el comportamiento hidráulico de la conducción, esta
clasificación es la siguiente:
· Si el conducto es hidráulicamente liso (CHL) el coeficiente a de la fórmula
logarítmica será a = d 0 7 .
· Si el conducto es hidráulicamente rugoso (CHR) el coeficiente a de la
fórmula logarítmica será a = e 2 .
· SI existen condiciones de transición es decir se presenta una influencia por
parte de la viscosidad del liquido y de la rugosidad de la conducción o
canal, el coeficiente a de la fórmula logarítmica será a = e 2 + d 0 7 .
Para definir el comportamiento hidráulico de la conducción (si es un conducto
hidráulicamente liso o rugoso), se pueden utilizar los siguientes rangos:
· Si e > 6. 1 × d 0 el conducto es hidráulicamente rugoso (CHR).
e = Es la relación entre las rugosidades absolutas del lecho
d 0 = Es el espesor de la subcapa laminar viscosa
11 . 6 ×u t g × R × S f
d 0 = Ù V Cor tan te = Ù t = g × R × S f \V Cor tan te =
VCor tan te r r
Ecuación 84 Esfuerzo cortante en el fondo del canal
t = g × R × S f
11 . 6 ×u
d 0 =
g × R × S f
u = Es la viscosidad cinemática
R = Es el radio hidráulico
S f = Es la pendiente de línea de energía
g = Es la aceleración debida ala gravedad
El flujo en canales, si es muy liso ( e = 0 ), el comportamiento e un canal es
generalmente de tipo rugoso por lo que se utilizara en la fórmula logarítmica un
a = e 2 .
2.1.9.4.6 Ecuación de DarcyWeisbach, el coeficiente C esta en función del
coeficiente de fricción f , y de la aceleración debida a la gravedad g , la
aceleración se asume como constante lo cual indica que el coeficiente C estará
únicamente bajo la influencia de directa de f o coeficiente de fricción.
Esta fórmula se muestra a continuación:
Ecuación 85 Coeficiente de resistencia al flujo, según la ecuación de Darcy
Weisbach
8 × g
C =
f
La ecuación de DarcyWeisbach es muy utilizada en flujo a presión, pero es
aplicable para flujo libre, para ello se realizan algunas modificaciones sobre la
ecuación, de las modificaciones hechas sobre la ecuación de DarcyWeisbach,
resaltan las realizadas por F. M. Henderson en 1966, en esta ecuación resultante
el coeficiente C esta en función del radio hidráulico y de numero de Reynolds la
ecuación se muestra a continuación:
8 × g C 1
C = \ =
f 8 × g f
Ecuación 86 Ecuación de DarcyWeisbach
L V 2
h f = f × ×
D 0 2 × g
Ecuación 87 Ecuación de Colebrook Y White
1
é æe ù
1 . 97 ö÷ú
= ê- 2 × log ç D +
f ê ç 3 . 7 NR × f ÷ú
ë è øû
Ecuación 88 Coeficiente de resistencia al flujo, según la ecuación de Darcy
Weisbach
C 1 é æ k 2 . 5 ö÷ù
= = ê - 2 × log çç s + ÷ú
8 × g f êë è 12 × R NR × f øúû
Donde k s es la rugosidad equivalente, R el radio hidráulico, NR el número de
Reynolds y f es el coeficiente de fricción.
El factor que multiplica al radio hidráulico varía con el cambio en la profundidad del
líquido, pues el radio hidráulico es función de la profundidad, el factor se puede
dejarse en 12 como lo sugiere Henderson cuando la profundidad del liquido esta
entre la profundidad a tubo lleno y cuando este funcionando con sección
hidráulicamente óptima, es igual a 14.8 cuando esta en cualquiera de las estas
dos posiciones.
2.1.9.5 Canales con rugosidades compuestas, un canal con rugosidad compuesta
es aquel canal cuya rugosidad puede ser distinta alo largo de su perímetro
mojado, pero su velocidad se puede calcular con las ecuaciones de flujo uniforme
usando un valor equivalente de rugosidad n de Manning, el n de Manning se
puede determinar siguiendo el concepto de superposición o dividir la sección
transversal en subsecciones que coincidan con los cambios de revestimiento.
Figura 39 Canal con rugosidad compuesta
2.1.9.5.1 Principio de superposición, para determinar el n de Manning, bajo el
principio de superposición se tienen como principio rector realizar suposiciones
sobre las propiedades hidráulicas de la sección y el flujo, es decir se idealiza el
comportamiento hidráulico. Existen varias metodologías las cuales se estructuran
en la velocidad, en la fuerza resistente al flujo y en el caudal. Estas metodologías
se ilustran a continuación:
1. Según la velocidad del flujo; en esta metodología se divide el área mojada en
N partes, cada una con un perímetro mojado P1 , P 2 , P 3 ,....., P N y con sus
respectivos n1 , n 2 , n 3 ,....., n N coeficientes de rugosidad .Se supone que cada
cuales son semejantes ala velocidad media de la sección completa A , de lo
cual se concluye, V1 , V 2 , V 3 ,....., V N . Este modelo fue desarrollado por los trabajos
de Robert E. Horton en 1933 y H. A. Einstein 1934, y con base a esta
suposición, el coeficiente de rugosidad n se puede determinar por la siguiente
expresión:
Ecuación 89 Coeficiente de rugosidad equivalente para canales de sección
compuesta
2
N
é 1 . 5 ù
3
ê å (P n n N )ú
2
n = ê 1
(P
n 1 . 5
ú = 1 1
+ P n 1 . 5
2 2 + × × × × × × × + P n
N N )
1 . 5 3
2
ê P ú
êë úû P 3
2. Según la fuerza resistente al flujo; en este método el área mojada se divide en
N partes cada una de las cuales tienen un área A1 , A 2 , A 3 ,....., A N con sus
respectivos n1 , n 2 , n 3 ,....., n N coeficientes de rugosidad. Se supone que la fuerza
total resistente al flujo, la cual se muestra en la figura 38 y se calcula con la
expresión K × V 2 × P × L (ecuación 72), es el resultado de la sumatoria de cada
una de las fuerzas de resistencia al flujo que se presentan en cada uno de los
elementos de área o A1 , A 2 , A 3 ,....., A N . Esta suposición fue desarrollado por los
trabajos de por de N. N. Pavlovskiĭ en 1931, L. Mühlhofer en1933, H. A.
Einstein y R.B Banks en 1950. De acuerdo a lo anterior, el coeficiente de
rugosidad equivalente para un canal con rugosidad compuesta se calcula con
la siguiente ecuación:
Ecuación 90 Coeficiente de rugosidad equivalente para canales de sección
compuesta
1
é N 2 ù
2
ê å (P
N n N )ú (
1
P 1 n 1 1 . 5 + P 2 n 1 2 . 5 + × × × × × × + P N n 1 N . 5 ) 2
n = ë 1 û =
1 1
P 2 P 2
3. Según el caudal del flujo; en este método el área mojada del canal se divide en
N partes para cada una de las cuales se determina su área A1 , A 2 , A 3 ,....., A N ,
radio hidráulico R1 , R 2 , R 3 ,....., R N , perímetro mojado P1 , P 2 , P 3 ,....., P N y sus
el caudal total del flujo es igual a la sumatoria de cada uno de los caudales de
los elementos de área o A1 , A 2 , A 3 ,....., A N . Esta suposición fue desarrollado por
el trabajo de G. K. Lotter en 1933. Según esto, el coeficiente de rugosidad
equivalente para un canal con rugosidad compuesta se calcula con la
siguiente ecuación:
Ecuación 91 Coeficiente de rugosidad equivalente para canales de sección
compuesta
1
é N 2 ù
2
ê å (P
N n N )ú (
1
P 1 n 1 1 . 5 + P 2 n 1 2 . 5 + × × × × × × + P N n 1 N . 5 ) 2
n = ë 1 û =
1 1
P 2 P 2
2.1.9.5.2 Dividir la sección transversal, este método propone que la sección
transversal va ha ser dividida en subsecciones que corresponderán a los cambios
en la rugosidad de las distintas superficies en el canal, las relaciones hidráulicas
se realizan con el caudal que se encuentra circulando en cada uno de los tubos de
corriente. El caudal total será igual ala sumatoria de los caudales parciales, y la
velocidad media para toda la sección transversal será igual al cociente del caudal
total y el área mojada total.
2.1.9.6 Pérdidas de energía en un canal, existen dos diferentes formas de
pérdidas de energía; las que se encuentran concentradas o ubicadas localmente
(pérdidas locales), y la que se encuentran distribuidas en forma uniforme o
continua (pérdidas por rozamiento).
Las pérdidas locales de energía se originan en primera instancia por el efecto de
los esfuerzos cortantes internos, que se producen en las zonas donde se separa el
flujo, estas zonas cuales son de dimensiones limitadas.
Un ejemplo típico de pérdidas locales es el salto hidráulico, la ecuación de
( y 2 - y 1 ) 3
pérdidas en un resalto (ecuación 64) DE = , determina las pérdidas en un
4 × y 1 × y 2
fenómeno local.
Las pérdidas por rozamiento se originan debido a los esfuerzos cortantes, que se
producen en los alrededores del canal es decir en el perímetro mojado, la
superficie puede ser de tipo lisa o rugosa.
Esto se explica cuando un líquido se mueve de un punto a otro en el canal, su
energía total va disminuyendo debido a la fricción que se genera por el movimiento
del agua en el canal, se describe según la siguiente expresión:
Ecuación 92 Pérdidas por fricción en canales
h f = S f × L
Donde S f , es el gradiente hidráulico o pendiente de la línea de energía el cual
esta en función del caudal, viscosidad del fluido, diámetro efectivo y la rugosidad
en el interior del conducto o canal, y L es la longitud real del conducto o canal
2.1.10 Diseño de canales en flujo uniforme, el diseño de un canal consiste en
elegir la forma y las dimensiones de la sección transversal de tal manera que
cumplan con requisitos hidráulicos y económicos.
Cuando se diseña un canal en flujo uniforme, la profundidad de diseño será la
profundidad normal se busca que el flujo que se transportara en el canal se
comporte sin fluctuaciones ni irregularidades, es decir evitando flujo critico.
Durante el diseño de un canal abierto la sección transversal del canal, la rugosidad
y la pendiente del fondo del canal son conocidas, el objetivo primordial del diseño
es determinar la magnitud de la velocidad media del flujo, la profundidad y el
caudal sea conocido cualquiera de ellos.
2.1.10.1 Criterios para el diseño de canales, en el diseño de canales se debe tener
en cuenta, algunos de los siguientes criterios, tales como:
· EL canal se diseña por tramos con flujo uniforme
· En canales de transporte se prefieren zonas de baja pendiente
· La velocidad debe ser lo suficientemente alta como para impedir la
sedimentación de las partículas que se transportan en el agua, bien sea en
el fondo o en suspensión.
· La velocidad debe ser lo suficientemente baja con lo cual se debe impedir
la erosión de las paredes y el fondo del canal.
· En primera instancia se definen las dimensiones del canal bajo los
parámetros establecidos en el flujo uniforme y luego se ajustan las
dimensiones definitivas alas condiciones y características del proyecto esto
con el fin de hacerlas practicas constructivamente.
· Las dimensiones definitivas del diseñó deben de evitar profundidades
cercanas a la critica.
· Información básica de diseño, es aquella información con la cual se debe
dimensionar los alcances del proyecto, se encuentra información relativa
del área de influenza del canal así como de la población a beneficiar.
· Parámetros básicos de diseño, son aquellas características del canal que
lo hacen estable e hidráulicamente optimo a esta categoría pertenecen
variables como, la sección hidráulica óptima, fuerza tractiva, la velocidad
máxima permisible, la velocidad mínima permisible, pendientes de fondo y
laterales en el caso de canales trapezoidales, borde libre, la altura y
espesor de recubrimiento en canales revestidos.
· Valoración de efecto del canal sobre el medio ambiente, esta información
es referente al impacto del canal sobre los factores abióticos y bióticos del
ecosistema.
2.1.10.2 Información básica de diseño, en la información básica del diseñó se
agrupan los datos que permiten predefinir características del diseñó como son el
caudal de diseñó, la pendiente del canal y capacidad de transporte, tal como se
muestra a continuación:
1. Topografía, define las longitudes y pendientes medias de cada uno de los
tramos de canal.
2. Hidrología, define las variables hidrológicas como precipitación para conocer el
caudal disponible en la fuente o fuentes de agua que se van a aprovechar.
3. Suelos, definen las características del suelo a excavar como son la
clasificación del material de excavación, peso especificó del suelo, coeficientes
de permeabilidad, velocidades máximas permisibles, coeficientes de rugosidad
del cause presiones activas. Con el fin de prever la necesidad de un
recubrimiento.
4. Estudios de la demanda, definen el caudal de diseño para las necesidades del
proyecto; canales para riego, centrales hidroeléctricas, drenaje, recreación,
transporte.
5. Estudios ambientales, definen el riesgo para el ambiente; usos del agua, riesgo
para seres vivos, calidad del agua.
2.1.10.3 Parámetros de diseñó, los parámetros de diseño son aquellas
características que el canal debe de cumplir para que este sea estable e
hidráulicamente óptimo, algunos de estos parámetros son:
1. Forma de la sección transversal: se escoge en función del tipo de suelo, si
el canal es revestido o no, del método constructivo, del uso del canal, de la
normatividad ambiental, del aspecto financiero y la economía. Por ejemplo,
en la roca o con el concreto se pueden construir secciones transversales de
cualquier forma, mientras que los canales en suelos arcillosos, finos u otros
materiales tienen forma generalmente trapezoidal. Los canales se deben de
cubrir en algunas ocasiones, por diferentes razones, bien sea, para evitar
contaminación del agua, para permitir el paso de un lado a otro, etc.
2. Taludes laterales: están en función del suelo de excavación. El ángulo que
forma el talud lateral del canal con la horizontal debe ser menor que el
ángulo de fricción interna del material.
3. Coeficiente de rugosidad: depende del tipo de material y del acabado del
revestimiento del canal.
4. Coeficiente de permeabilidad: se determina para el suelo natural en que se
excava el canal haciendo pruebas "in situ" o en laboratorio.
5. Velocidad admisible del flujo: está limitada por la erosión y la sedimentación
en el canal. En un diseño con la velocidad máxima no erosionable que se
logran diseños mas económicos y se garantiza la estabilidad de la
estructura. Esta velocidad máxima no erosionable es la velocidad media
más grande que no causa erosión al cuerpo del canal. Los canales
revestidos en concreto admiten velocidades más altas dependiendo de si el
funcionamiento es permanente (canales de conducción de agua) o
esporádico (canales para evacuación de aguas de exceso), casos en que
las velocidades máximas están del orden de 4.0 m/s y de 15 m/s,
respectivamente.
Velocidad mínima: 0.6 m/s 0.9 m/s para prevenir la sedimentación de
partículas cuando la concentración de finos es pequeña.
Velocidad mínima: 0.75 m/s para prevenir el crecimiento de la vegetación.
6. Borde libre: es la distancia vertical medida desde el nivel de diseño del
agua hasta la parte superior de la estructura. Se debe considerar el efecto
de inexactitudes en la información disponible, imprecisiones en el diseño,
cambios del nivel del agua. Se puede determinar con la siguiente expresión,
donde se tiene que F , es el borde libre y esta en función de C un
coeficiente de corrección y de profundidad y . El coeficiente C , esta en
función del caudal, los valores típicos del coeficiente C se muestran en la
tabla 5.
Ecuación 93 Borde libre para canales
F = C × y
Tabla 5 Valores para el coeficiente C , para determinar el borde libre F .
C coeficiente Q m ( )
3
s
1.5 0.57
2.5 85
2.1.10.4 Estudio ambiental y ecológico, la construcción de un canal ejerce un
impacto sobre la región donde se desarrolle, este impacto se ve reflejado
principalmente sobre la tenencia de tierra, la vida salvaje y la vegetación.
a) Impacto sobre la tenencia de tierra
Un canal ocupa un espacio y se requiere el pago de arriendos en caso de que su
alineamiento atraviese propiedades privadas; además, la construcción de un canal
tiene el efecto de partir la tierra lo cual no siempre resulta conveniente si los
propietarios de un determinado terreno no se benefician del proyecto de
construcción del canal y consideran al canal como una barrera para su
desplazamiento.
b) Impacto sobre la vida salvaje
Aunque los canales no causan pérdida significativa de la fauna sí pueden ser una
atracción para los animales migratorios o sedientos a menos que algunas medidas
de control se tomen. El problema se presenta cuando los animales tratan de beber
agua o cruzar el canal que ha interrumpido una ruta migratoria diaria o estacional.
Un animal puede quedar atrapado y en el peor de los casos puede ahogarse en el
canal. Para reducir el alcance de este problema, se pueden construir cercas a lo
largo de los canales, e incluso pueden cubrirse en áreas de alto uso, también se
pueden construir puentes para permitir el paso cada cierta distancia. En zonas
donde no sea posible construir las cercas o cubrir el canal, se debe aumentar la
rugosidad de los lados para que estas zonas permitan el escape de animales.
c) Impacto sobre la vegetación
Los herbicidas y plaguicidas que se usan en ocasiones para esterilizar el suelo,
controlar la vegetación en los canales y disminuir la población de plagas afectan
las cosechas mismas, la fauna y la vegetación a lo largo de las estructuras del
canal. La apertura de una canal ocasiona la elevación del nivel freático lo que
puede cambiar las condiciones del terreno circundante. Una solución para evitar
problemas de filtración es usar canales revestidos.
2.1.10.5 Casos de diseño, el diseño de canales se realiza en base a la
clasificación que se tiene para canales según el origen se clasifican como
naturales o artificiales, estos pueden ser revestidos o no revestidos.
Los canales revestidos permiten transportar el agua a más altas velocidades,
requieren secciones transversales mas pequeñas, disminuyen las filtraciones para
evitar las pérdidas de caudal y ascenso de los niveles freáticos, reducen el costo
de operación y mantenimiento y aseguran la estabilidad de la sección transversal.
Los canales revestidos generalmente no tienen limitaciones de pendiente en
zonas de ladera donde la topografía facilita considerar varias alternativas, lo que
no resulta posible en zonas más planas.
Canales que han sido excavados en roca o en materiales cohesivos muy
resistentes a la erosión, facilitan su diseño considerándolos como si estuvieran
revestidos.
2.1.10.5.2 Canales no revestidos o erosionables, el diseño de canales no
revestidos involucra muchos parámetros, la mayor parte de los cuales no son
cuantificables en forma precisa. el diseño depende no solo de parámetros
hidráulicos sino también de las propiedades de los materiales que forman el fondo
y los taludes del canal y se busca que no ocurra ni sedimentación ni erosión. Hay
varios métodos de diseño, los cuales se basan en los principios de la velocidad
máxima permisible y la fuerza tractiva.
2.1.10.6 Diseño de canales revestidos o no erosionables
2.1.10.6.1 Sección hidráulicamente óptima, en el diseño de canales se involucra la
selección de la forma del canal y la pendiente del fondo para transportar un caudal
dado con una profundidad de flujo dada.
Se tiene un caudal, una pendiente y una rugosidad, en el diseño se debe tratar de
minimizar el área de la sección transversal A para así reducir los costos de
construcción.
La conductividad o transito de agua k en un canal, depende en gran medida de la
relación existente entre al área mojada y el perímetro mojado en un canal. Se
define a la sección hidráulica óptima ( S . H . O ) como aquella sección que ocupa el
menor perímetro mojado para un área determinada.
Los canales revestidos son los que utiliza sección hidráulica estable, los cuales
son revestidos de forma que se puedan adoptar unas dimensiones tales que se
logre la mayor eficiencia hidráulica.
Algunas de las características de la sección hidráulicamente óptima son:
· El perímetro mojado es el mínimo para un caudal dado.
· El área de toda la excavación no es necesariamente menor con relación a
un canal diseñado con otros criterios.
· El costo del revestimiento puede ser grande y comparable al de una mayor
excavación necesaria si el canal se diseña por otros métodos.
· El costo de la excavación depende no solamente de la cantidad de material
a remover, sino también de las fuentes de materia de recubrimiento, acceso
y transporte al sitio de trabajo y del costo de los escombros.
· La pendiente del canal ( S o ) es una variable o parámetro de diseño. Una
pendiente suave puede requerir más área mojada de canal pero también
menor costo de excavación.
· Diseñar los canales con sección hidráulicamente en algunos casos no es la
mejor opción. Por ejemplo, si la pendiente necesaria calculada por la
sección hidráulicamente óptima, es menor que la pendiente natural del
terreno, se deben cambiar las dimensiones del canal para evitar
velocidades muy altas lo cual se logra proyectando secciones más anchas.
En caso contrario, la pendiente necesaria es mayor que la disponible en el
terreno, se cambian las dimensiones de la sección transversal se pueden
adoptar secciones más profundas y estrechas para aumentar la velocidad.
La siguiente figura muestra las secciones transversales de los canales más
recurrentes en la práctica en flujo uniforme, también se aprecia la sección
transversal más eficiente, línea discontinua, la sección circular.
Figura 40 Secciones transversales de caudal máximo
La forma de la sección hidráulica óptima es la circular, esto se puede demostrar
verificando para cual sección se obtiene la menor relación de perímetro, este es el
principio fundamental de la sección hidráulica óptima.
Se tienen en la siguiente figura, las principales secciones transversales de canales
prismáticos, cada uno con las dimensiones que se muestran, se demostrara que la
sección circular es la mas eficiente.
Figura 41 Propiedades de geométricas de las principales secciones
Sección
En resumen se tiene que la menor relación del perímetro en función del área es
para la sección circular, con un perímetro de P = 3 . 54 × A , es decir la sección
circular es la mas eficiente y de las secciones analizadas la de menor eficiencia es
la triangular con un perímetro de P = 4 . 56 × A .
La sección circular es la sección hidráulica óptima, pero su uso se restringe a
pequeños caudales y dentro de las limitantes que presenta esta sección se
encuentran.
· La construcción de esta sección pues se requiere de una formaleta especial
para cada caso en particular.
· El transporte del material para realizarla.
· Limitante de tipo económico, la relación costo beneficio es muchas veces
no muy satisfactoria.
La sección hidráulicamente óptima que le sigue a la circular, según el análisis de
la relación del perímetro con el área, es la sección hexagonal pues tiene un
perímetro de P = 3 . 72 × A , esto nos conlleva a que la sección hidráulicamente
óptima es la trapezoidal (medio hexágono) y además que es una sección que en
términos constructivos no presenta mayores complicaciones.
La sección hidráulicamente óptima en canales es la sección trapezoidal, esta
sección tiene unos elementos que definen sus características, que son los
parámetros a seguir en el diseño. Estos elementos se demuestran a continuación.
En una sección trapezoidal simétrica se tiene las siguientes relaciones, que
definen los elementos geométricos de la sección, estas son las expresiones
generales de la sección:
· y = Profundidad del flujo
· b = Ancho de fondo del canal
· z = Pendiente lateral del canal
Ecuación 94 Área de la sección trapezoidal
A = ( b + z × y ) × y
Ecuación 95 Perímetro mojado de la sección trapezoidal
P = b + 2 × y × 1 + z 2
P = Es el perímetro mojado de la sección, la denominaremos como ecuación (ii)
A - z × y 2 A
De la ecuación (94) se tiene que, b = = - z × y
y y
Ecuación 96 Perímetro mojado de una sección trapezoidal en función del área y la
profundidad del flujo
P = A × y -1 - z × y + 2 × y × 1 + z 2
Si se considera que el área de la sección A y la pendiente del canal z , son
constantes, la ecuación que define el perímetro P = A × y -1 - z × y + 2 × y × 1 + z 2 , se
deriva con respecto a la profundidad del líquido, y así encontrar un mínimo.
dP
= - A × y -2 - z × +2 × y 1 + z 2
dy
dP
El perímetro mojado mínimo será = 0 , entonces se tiene que:
dy
dP
= - A × y -2 - z × +2 × y 1 + z 2 =0
dy
Ecuación 97 Área de la sección trapezoidal en función de la pendiente lateral y la
profundidad del flujo
A = 2 × y 2 × 1 + z 2 - z × y 2
Sustituyendo la ecuación (96) en la ecuación (95).
Ecuación 98 Ancho de fondo de un canal trapezoidal en función de la pendiente
lateral y la profundidad del flujo
b = 2 × y × 1 + z 2 - 2 × z × y
La ecuación anterior o ecuación (97), muestra la base del canal en función del
talud o pendiente lateral y de la profundidad del flujo. El perímetro modado en
función exclusivamente de la pendiente lateral y de la profundidad del flujo será
igual a, sustituir en la ecuación (93) la anterior expresión, ecuación (97).
P = 2 × y × 1 + z 2 - 2 × z × y + 2 × y × 1 + z 2
Ecuación 99 Perímetro mojado de una sección trapezoidal en función de la
pendiente lateral y la profundidad del flujo
P = 4 × y × 1 + z 2 - 2 × z × y
El valor de z o pendiente lateral del canal, con el cual se obtiene un perímetro
3
mínimo es de z = , esta pendiente corresponde a un ángulo de una sección
3
hexagonal, 60° con la horizontal. Esto se demuestra al derivar el perímetro
mojado, ecuación (98), respecto a la pendiente e igualarla a cero.
Utilizando este resultado, sustituirlo en las ecuaciones (98) y (99), se obtienen las
siguientes correlaciones para canales trapezoidales con sección hidráulica óptima.
Ecuación 101 Área en una sección trapezoidal con sección hidráulica óptima
A = 3 × y 2
Ecuación 102 Perímetro mojado para una sección trapezoidal con sección
hidráulica óptima
P = 2 × 3 × y
Ecuación 103 Radio hidráulico para una sección trapezoidal con sección
hidráulica óptima
y
R=
2
Ecuación 104 Ancho superficial para una sección trapezoidal con sección
hidráulica óptima
4 × 3
T = × y
3
Para el diseño de canales revestidos basados en el principio de la sección
hidráulicamente óptima se puede seguir el siguiente procedimiento:
1. Tener clara la función del canal, que tipo de servicio va a prestar, con esto
se puede predimensionar el canal.
2. Determinar la pendiente del canal de la información topográfica, es decir de
la información básica que se dispone.
3. Determinar n para el material de revestimiento a utilizar en el canal a
diseñar.
4. Determinar el caudal de diseño, en base a las necesidades del proyecto.
5. En base a las condiciones de uso, topográficas y legales, determinar una
velocidad de diseño.
6. Determinar el talud apropiado para el canal, teniendo en cuenta los criterios
económicos, condiciones del suelo y de estabilidad. Se puede utilizar como
parámetro los valores que se encuentran en la siguiente tabla, elaborada
por CHOW, V.T en 1959.
Tabla 6 Taludes recomendados para canales construidos en diferentes tipos de
material. Tomados de hidráulica de canales abiertos de Chow V.T. 2000 y de
Hidráulica de canales abiertos de FRENCH. R.H.
Material Talud
Roca 1 : 1
4
Suelos orgánicos, estiércol y suelos de turba 1 : 1 a 1 : 1
2
Arcilla dura o tierra con revestimiento en 1 : 1
concreto
Tierra con recubrimiento de piedra o tierra en
1 1 2 : 1
grandes canales
Tierra arenosa suelta 2 : 1
Limos arenosos o arcilla porosa 3 : 1
F
L
H
y 1
b
z
e
e/2
b'
b''
9. Determinar el área hidráulica, utilizando la ecuación 37 o ecuación de
continuidad.
10. Determinar la profundidad del flujo y , con las expresiones 94 y 95, al
combinarlas y resolver para y , se tiene que la profundidad del flujo será.
Ecuación 105 Profundidad del flujo para el diseño de un canal revestido con
sección hidráulicamente óptima.
A
y=
- z + 2 × 1 + z 2
11. Determinar el ancho de la base del canal, ancho efectivo, se utiliza la
ecuación 94:
Ecuación 106 Ancho de fondo de canal, el diseño de un canal revestido con
sección hidráulicamente óptima
A
b= - z × y
y
12. Teniendo en cuenta la figura 42, se determina el ancho b ' ' y el ancho b ' . Se
utilizan las siguientes expresiones:
Ecuación 107 Ancho de fondo de canal a medio espesor el diseño de un canal
revestido con sección hidráulicamente óptima
é . - 1 æ 1 ö ù
ê Tan ç z ÷ ú
b' ' = b + 2 eTan ê è øú
ê 2 ú
ê ú
ë û
Ecuación 108 Ancho de fondo total de canal, el diseño de un canal revestido con
sección hidráulicamente óptima
b ' ' +b
b' =
2
13. Determinar el borde libre F , adecuado según sea el caso se puede utilizar
la siguiente expresión, F = C × y o ecuación 93 y hacer uso de los
coeficientes registrados en la tabla 5.
14. Determinar una altura adecuada para el revestimiento L encima del nivel
del agua.
15. Para determinar el volumen que se debe excavar, se utiliza la siguiente
expresión:
Ecuación 109 Volumen de materia a excavar para el diseño de un canal revestido
con sección hidráulicamente óptima
" Exc = [b ' ' + z × (e + y + F )] × [L × (e + y + F )] × Long .
Donde " Exc es el volumen a excavar, Long es la longitud del canal,
longitud en planta. Para determinar el espesor e , se utilizan las siguientes
tablas según el tipo de revestimiento que se haga.
Tabla 7 Espesor recomendado para canales en concreto simple, en función del
caudal a transportar
3
Q ( m s ) e ( pu lg) e (cm ) e (m )
Tabla 8 Espesor recomendado para canales en concreto reforzado, en función del
caudal a transportar
3
Q ( m s ) e ( pu lg) e (cm ) e (m )
16. Determinar el costo de la excavación, en función del volumen a excavar el
rendimiento de la maquinaria disponible, del factor de expansión de cada
tipo de material y del costo. Se calcula con la siguiente expresión:
Ecuación 110 Costo de la excavación para el diseño de un canal revestido con
sección hidráulicamente óptima
æ $ ö
( )
Costo Exc = " Exc m 3 × Costo Unidad ç 3 ÷ × Long material (m ) × R en dim iento
è m ø
17. Determinar el costo del transporte, expresándolo como la razón del costo y
del volumen $ 3 . Para determinarlo se utiliza la siguiente expresión:
m
Ecuación 111 Costo del transporte del material de la excavación para el diseño de
un canal revestido con sección hidráulicamente óptima
æ $ ö
Costo çç ÷
è viaje ÷ø
Trans =
æ m 3 ö
Capacidad çç ÷÷
è viaje ø
18. Para determinar el volumen del revestimiento a utilizar, se utiliza la
siguiente expresión:
Ecuación 112 Volumen del material a utilizar como revestimiento el diseño de un
canal revestido con sección hidráulicamente óptima
é æ e ö ù
" Re v = êb ' +2 × ç + y + L ÷ × 1 + z 2 ú × e × Long .
ë è 2 ø û
Donde " Re v es el volumen del material de revestimiento.
19. Determinar el costo del revestimiento con la siguiente expresión:
Ecuación 113 Costo del material de revestimiento para el diseño de un canal
revestido con sección hidráulicamente óptima
æ $ ö
( )
Costo Re vest = " Re ves m 3 × Costo material ç 3 ÷ .
è m ø
20. Resumir los resultados obtenidos en un grafico.
2.1.10.7 Diseño de canales no revestidos o erosionables, en el diseño de canales
no revestidos o erosionables se considerara que los canales depositan
sedimentos, el comportamiento del flujo en un canal erosionable está determinado
por muchas variables como son los factores físicos y condiciones de campo tan
complejas e inciertas, es por esta razón que el diseño de canales no revestidos se
hace mas difícil que si el canal estuviera revestido.
Existen varios métodos de diseño, de los cuales sobresalen por ser los mas
utilizados y por tener buenos resultados los siguientes métodos:
· Método de la velocidad máxima permitida
· Método de la fuerza tractiva
· Método de la sección hidráulicamente estable
El método de la velocidad máxima permitida es el método que mas se ha usado
para el diseño de canales erosionables o no revestidos en los Estados Unidos,
este método es tan utilizado pues se requiere la eliminación de socavación. El
método de la fuerza tractiva ha sido mas usado en Europa.
2.1.10.7.1 Método de la velocidad máxima permisible, este método esta basado en
el principio de la velocidad máxima permisible o velocidad no erosionante, esta
velocidad se define como la velocidad media más grande que no causará erosión
del canal.
La determinación de esta velocidad es un trabajo muy dispendioso, pues esta
velocidad se ve influenciada por factores hidráulicos, geométricos, de las
propiedades mecánicas de los materiales del fondo, de la pendiente del canal,
entre otros, es por este motivo que la obtención de esta velocidad es muy incierta
y variable, generalmente se obtienen valores de esta velocidad a través de la
experiencia y buen un juicio.
A mediados de la década de 1920, se comprendió que debía existir una relación
entre cada una de las variables que se encuentran fluctuando en un canal
erosionable de las cuales el caudal o la velocidad media, las propiedades
mecánicas del material de fondo y los taludes, la cantidad y tipo de material
arrastrado por el flujo, y la estabilidad de la sección del canal.
Para esa época se realizo un estudio con la participación de varios ingenieros con
larga experiencia, la hipótesis de este estudio es el hecho que sí había una
relación entre la velocidad media del flujo, el material del perímetro del canal, y la
estabilidad de éste.
El resultado de este estudio se publicó en 1926 (Fortier y Scobey, 1925) y se
convirtió en la base teórica de un método de diseño conocido como el método de
velocidad máxima permisible. Los principales resultados del informe de S. Fortier y
F. C. Scobey (1926) se encuentran resumidos en la tabla 9.
Tabla 9 Velocidades máximas permisibles recomendadas por Fortier y Scobey
para canales rectos con pendientes pequeñas
Agua que transporta limos
Agua limpia
coloidales
MATERIAL n
V = m s t 0 = N / m 2
V = m s t 0 = N / m 2
marga limosa no
0.020 0.610 2.300 0.914 5.270
coloidal
Limos aluviales no
0.020 0.610 2.300 1.070 7.180
coloidales
Arcilla rígida muy
0.025 1.140 12.400 1.520 22.000
coloidal
Limos aluviales
0.025 1.140 12.400 1.520 22.000
coloidales
Esquistos, pizarra y
subsuelos de arcilla 0.025 1.830 32.100 1.830 32.100
dura
Tierra negra
graduada a 0.030 1.140 18.200 1.520 31.600
piedritas cuando no
es coloidal
Limos gradados a
cantos rodados, 0.030 1.220 206.000 1.680 38.300
piedritas cuando es
coloidal
Grava gruesa no
0.025 1.220 14.400 1.830 32.100
coloidal
Cantos rodados,
piedritas y ripios de 0.035 1.220 43.600 1.680 52.700
cantera
El manejo de esta tabla tiene los siguientes parámetros de uso, esto con el ánimo de realizar el
diseño con la menor incertidumbre y error, las siguiente son un conjunto de sugerencias o reglas
de buena ingeniería, estas han sido ampliadas como lo hace Emory w. Lane en 1955 con la
proposición de coeficientes de reducción. La interpretación de estas sugerencias ha sido
interpretada para el caso de la ingeniería nacional aunque se mantendrán las unidades originales
de estas reglas.
· Las cifras dadas son para canales con tangentes largas recomendándose
una reducción del 25% en la velocidad máxima permisible para canales con
un alineamiento sinuoso.
· Se recomienda una reducción del 5% canales ligeramente sinuosos, 13%
para canales moderadamente sinuosos.
· Las cifras son para profundidades menores de 3ft. (0.91m). Para
profundidades mayores, la velocidad máxima permisible debe aumentarse
por 0.5 ft/s (0.15 m/s).
· La velocidad de flujo en canales que transportan abrasivos, como pedazos
de basalto, debe reducirse en 0.5 ft/s (0.15m/s).
· Los canales de derivación de ríos con alta carga de arcillas como el río
Magdalena deben diseñarse para velocidades medias de 1 a 2 ft/s (0.30 a
0.61 m/s) mayores a las permitidas para el mismo material perimetral si el
agua no transportara sedimento.
El trabajo de S. Fortier y F. C. Scobey (1926) ha servido como base de diseño de
canales por muchos años; aunque, esta es una metodología empírica pues esta
basada primordialmente en observaciones y experiencia de muchos ingenieros,
más que en principios físicos.
METODOLOGÍA DE DISEÑO
Usando la velocidad máxima permitida como criterio, el procedimiento de diseño
para la sección de un canal, suponiendo que sea trapezoidal que la más común,
consiste de los siguientes pasos:
1. Se tiene el canal, se debe conocer que tipo de material es el que lo
constituye y realizar una clasificación del mismo para así conocer sus
propiedades mecánicas.
2. Para la clase de material que forma el cuerpo del canal, se determina un
valor congruente del coeficiente de rugosidad n , se determina la pendiente
lateral z , y la velocidad máxima permitida V .
3. Determinar la pendiente del canal de la información topográfica, es decir de
la información básica que se dispone.
4. Calcular el radio hidráulico R por la ecuación de Manning o ecuación 78
2
Q × n
= A × R 3 .
S 0
5. Calcular el área mojada requerida para el caudal y la velocidad permitida
dadas, usando la ecuación de continuidad o ecuación 37 Q = V × A .
7. Con las ecuaciones que se plantean para P y A , resolver el sistema de
ecuaciones, se determinara b y y .
8. Agregar un borde libre adecuado, tener en cuenta la información básica
prever crecidas, y modificar las dimensiones para que sean prácticas.
2.1.10.7.2 Método de la fuerza tractiva, como se observo el diseño de canales
erosionables por velocidad máxima permisible es sencillo pero la inexactitud de
sus resultados lo deja como un método de prediseño, existe otro método de
diseño que esta basado en el análisis de las fuerzas que provocan la erosión.
La erosión perimetral del canal ocurre cuando las partículas del perímetro son
sometidas a fuerzas de magnitud considerable para producir el movimiento de la
partícula.
Cuando una partícula descansa en el fondo del canal, la fuerza actuante que
causa su movimiento es el resultado del flujo de agua sobre la partícula. Sobre
una partícula que descansa sobre el talud del canal no solo actúa la fuerza
generada por el flujo, sino también la componente de gravedad que tiende a hacer
que la partícula ruede o deslice por el talud.
Si la resultante de estas dos fuerzas es mayor que las fuerzas que resisten el
movimiento, fricción y cohesión, entonces se presenta la erosión perimetral del
canal.
Siempre que fluye un líquido a través de un canal, se genera una fuerza que actúa
en la dirección del flujo sobre el fondo del canal. Esta fuerza, la cual es
simplemente el jalar del agua sobre el área con agua, es conocida como la fuerza
tractiva. Se define generalmente la fuerza tractiva o (fuerza cortante o de arrastre
o tangencial), como fuerza que actúa sobre las partículas que componen el
perímetro del canal y es producida por el flujo del agua sobre estas partículas. En
la práctica, la fuerza tractiva no es la fuerza sobre una partícula individual, sino la
fuerza ejercida sobre un área perimetral del canal.
Se cree que este concepto fue planteado por primera vez por P. du Boys en1879 y
replanteado por E. W. Lane en1955. En un flujo uniforme en un canal como el de
la figura 39 la fuerza tractiva es igual a la componente efectiva de la fuerza de
gravedad actuando sobre el cuerpo de liquido, paralela al fondo del canal e igual a
g × A× L × S 0 .
El valor medio de la fuerza tractiva por unidad de área mojada, o la llamada fuerza
tractiva unitaria, es igual a:
g × A × L × S 0
= g × R × S 0
PL
Donde se tiene que, P es el perímetro mojado y R es el radio hidráulico; es decir:
t = g × A× L × S 0
t = g × R × S 0
Las cuales son las ecuaciones para el esfuerzo cortante en el fondo de canal, o
ecuación 84. Si se tiene un canal muy ancho es decir b > 10 × y , el radio hidráulico
R es igual a la profundidad del flujo y , según esto la anterior ecuación será:
Ecuación 114 Esfuerzo cortante en el fondo de un canal muy ancho
t = g × y × S 0
La distribución de fuerza tractiva unitaria es uniforme a lo largo del perímetro
mojado en los canales anchos b > 10 × y , mientras que en canales con dimensiones
b £ 10 × y la distribución es no uniforme.
Una distribución típica de fuerza tractiva para un canal trapezoidal se muestra en
la siguiente figura, figura 43, la seccion trapezoidal es la sección la más común en
canales no revestidos, el esfuerzo tractivo se presenta en el fondo con una
magnitud aproximada de g × A× S 0 y en los taludes con 0 . 75 × g × A× S 0 .
Figura 43 Distribución típica de fuerza tractiva en un canal trapezoidal. Tomado de
hidráulica de canales abiertos de Chow V.T. 2000.
La fuerza tractiva máxima que se permite, es aquella fuerza tractiva unitaria que
no genere erosión del material que constituye el fondo del canal sobre una
superficie a nivel.
La fuerza tractiva critica es aquella fuerza tractiva unitaria que es determinada en
ensayos y practica controladas en laboratorios.
En condiciones reales los canales presentan valores altos de resistencia a la
acción de la fuerza tractiva critica, esto se explica por la acción conjunta de
material orgánico, coloides y fitoplantas que proporcionan una fuerza de ligadura,
entre las partículas que constituyen el fondo del canal.
Para la determinación de la fuerza tractiva permitida se tiene en cuebta como
criterios de análisis:
· El tamaño de la partícula para material no cohesivo
· La relación de vacíos para el material cohesivo.
· El índice de plasticidad
· La acción química
En un canal como el que se muestra a continuación, figura 43, se muestran las
fuerzas que actúan en una partícula que se resiste al movimiento en el perímetro
mojado de una canal.
El análisis se inicia a partir de momento cuando una partícula en el perímetro
mojado de un canal está a punto de moverse, las fuerzas que producen el
movimiento están en equilibrio con las que resisten el movimiento.
Una partícula cualquiera en el fondo nivelado del canal está sujeta a la fuerza
tractiva a ×t L , donde t L es el esfuerzo tractivo sobre la superficie nivelada y a es
el área efectiva. El movimiento es resistido por la fuerza gravitacional W S
multiplicada por un factor o coeficiente de fricción que se aproxima por tan a ,
donde W S es el peso de la partícula sumergida y a es el ángulo de reposo de la
partícula.
Cuando el movimiento está a punto de iniciarse, se tiene:
a × t L = W S × tan a
W S × tan a
t L =
a
Una partícula que se encuentra en el talud del canal está sujeta a una fuerza
tractiva a × t S y a una componente hacia abajo del talud W S × Sen f donde t S es
cortante del talud y f es ángulo del talud. Donde su resultante es
f
W at
en
S
s
e s
s S
n
f
W
W Cos
s
f at
s at
W s L
2 2 2 2
W Sen
s f + a ts
2 2 2
W Sen
s f + a t
y
f
La fuerza que va ha resistir el movimiento de la partícula es la componente
gravitacional multiplicada por el coeficiente de fricción W S × (Cos f × Tan a ) . Al igualar
las fuerzas que producen el movimiento con las que lo resisten, se obtiene:
2
2 2 (Cos a × Sen f - Sen a × Cos 2 f )
t S = W S ×
a 2 × Cos 2 a × Cos 2 f
2
2 W 2 S (Cos a × Sen f - Sen a × Cos 2 f )
t S = 2 ×
a Cos 2 a × Cos 2 f
Ecuación 115 Fuerza tractiva unitaria en el talud de un canal
W S Tan 2 f
t S = × Cos f × Tan a × 1 -
a Tan 2 a
La fuerza tractiva sobre una superficie plana t L , es la responsable del movimiento
sobre una superficie plana, se describe con la ecuación 104, que es igual a la
ecuación anterior con f = 0 .
Ecuación 116 Fuerza tractiva unitaria en el fondo de un canal
W
t L = S Tan a
a
La razón de la fuerza tractiva, es el cociente entre, la fuerza tractiva unitaria en el
talud del canal y la fuerza tractiva unitaria en el fondo del canal, esta es una
relación que se debe tener en cuenta durante el diseño de canales. Dicha relación
se escribe de la siguiente manera, tal como se muestra en la ecuación 105.
Ecuación 117 Razón de la fuerza tractiva
W S Tan 2 f
× Cos f × Tan a × 1 -
t a Tan 2 a Tan 2 f Sen 2 f
K = S = = Cos f 1 - = 1 -
t L W S Tan 2 a Sen 2 a
Tan a
a
La razón de fuerza tractiva está en función del ángulo del talud f y del ángulo de
reposo del material perimetral a . Para el caso de los materiales cohesivos o finos
no cohesivos, el ángulo de reposo es muy pequeño por lo que se puede tomar
como cero.
En la siguiente figura o figura 45 se muestran los valores de los esfuerzos
tractivos máximos en los taludes y en el fondo del canal, estos valores
preliminares fueron determinados por análisis y estudios matemáticos, que se
elaboraron como una función de la razón del ancho de fondo y de la profundidad o
tirante.
Figura 45 Esfuerzos tractivos Esfuerzo cortante tractivo máximo en función de
g × y × S o . a) Para los taludes y b) para el fondo del canal. Tomado de Hidráulica de
canales abiertos de French. R. H. 1988.
Para materiales cohesivos o finos no cohesivos las fuerzas de cohesión son
significativamente mayores que la componente gravitacional que tiende a hacer
rodar las partículas por el talud. Varios investigadores como Emory W. Lane en el
año de 1955 encontró que el ángulo de reposo tiene una relación entre las
propiedades de la partícula, esta relación establece que el ángulo de reposo es
directamente proporcional al tamaño y angulosidad de la partícula.
Con los resultados experimentales de Emory W. Lane se construyo una grafica,
figura 46, donde el tamaño de la partícula está dado por el diámetro en el cual
25% de todas las partículas, medidas por peso, son mayores a éste. Esta grafica
se utiliza durante el proceso de diseño motivo por el cual se debe de tener en
cuenta las siguientes recomendaciones y anotaciones respecto a su uso y a la
incertidumbre de sus datos.
· En esta figura, el tamaño de la partícula está dado por el diámetro en el
cual 25% de todas las partículas, medidas por peso, son mayores a éste
· No se llevo a cabo un número suficiente de experimentos; esto produjo una
gran dispersión de los datos.
· Los ángulos de reposo están limitados por 41° para material angular y por
39° para material muy redondeado debido a la dispersión de los datos en el
material más grande.
Figura 46 Ángulos de reposo para materiales no cohesivos. Tomado de Hidráulica
de canales abiertos de French. R. H.1988
Para material grueso, no cohesivo, los datos de laboratorio de Emory W. Lane (1955) indican que
el esfuerzo tractivo permisible máximo en libras por ft2 es de 0.4 veces el 25% del diámetro de las
partículas en pulgadas.
Los canales en situaciones reales o no controladas pueden soportar fuerzas tractivas con
magnitudes mayores que las calculadas o proyectadas por los experimentos, Emory W. Lane
(1955) durante su investigación recolectó información sobre canales reales, estos datos de campo
se encontraban en la forma de velocidades máximas permisibles y tuvieron que ser transformados
a datos de cortantes, para realizar esta transformación se hizo un procedimiento
en el cual se hicieron numerosas suposiciones sobre las propiedades del canal, el
tamaño del canal y la profundidad de flujo.
Los resultados de los datos de campo de Lane se resumen en la figura 47 la cual
esta para el material fino no cohesivo, un ejemplo de estos son materiales cuyos
diámetros medios son menores de 5 mm. (0.254 in), el tamaño especificado es el
diámetro mediano de una partícula de la cual 50% fue mayor en peso.
Para canales construidos con material cohesivo, los datos acerca de el esfuerzo
tractivo permisible fueron elaborados por V.T.Chow en 1959 estos datos se
encuentran consignados y resumidos en la figura 48.
Para el uso de estas figuras se debe de tener en cuenta que sus resultados son
conservadores para el diseño, pues traen incorporados un factor de seguridad que
de ejercen un efecto de sobreestimación la fuerza tractiva para el diseño.
Figura 47 Esfuerzos tractivos permisibles recomendados para canales construidos
en material no cohesivo, Lane (1955). Tomado de Hidráulica de canales abiertos
de French. R. H 1988
Figura 48 Esfuerzos tractivos permisibles recomendados para canales construidos
en material cohesivo, Chow (1959). Tomado de Hidráulica de canales abiertos de
French. R. H 1988
Otro factor que afecta la magnitud de la fuerza tractiva, es la sinuosidad que
presenta el canal en su alineamiento horizontal, Emory W. Lane (1955) concluye
en su investigación que los canales que tienen una alineamiento horizontal
sinuosos socavan más fácilmente que los canales que son mas alineados.
Esto conlleva a que en el método de fuerza tractiva se tenga en cuenta la
sinuosidad del canal, Emory W. Lane en su trabajo desarrolló las siguientes
definiciones referentes a la sinuosidad de un canal:
· Los canales rectos, tienen alineaciones rectas o ligeramente curvas y por lo
común son canales construidos en planicies horizontales.
· Los canales ligeramente sinuosos tienen grados de curvatura típicos de
canales sobre topografía ligeramente ondulante.
· Los canales moderadamente sinuosos tienen un grado de curvatura típico
de topografía moderadamente ondulosa.
· Los canales muy sinuosos tienen un grado de curvatura típico de canales al
pie de cerros o en montañas.
Según estas definiciones se desarrollaron unos factores de corrección en función
de la sinuosidad, estos factores de corrección se encuentran consignados en la
siguiente tabla.
Tabla 10 Factores de corrección para las fuerzas tractivas máximas para canales
con diversos grados de sinuosidad. Tomado de Hidráulica de canales abiertos de
French. R. H. 1988.
GRADOS DE SINUOSIDAD FUERZA TRACTIVA LIMITANTE RELATIVA
Canales rectos 1.00
Canales poco sinuosos 0.90
Canales moderadamente sinuosos 0.75
Canales muy sinuosos 0.60
METODOLOGIA DE DISEÑO
En el método basado en la fuerza tractiva se puede seguir el siguiente
procedimiento:
1. Definir una sección aproximada del canal, bien sea por la experiencia o de
los cuadros de diseño que tienen entidades como el USBR (United States
Bureau of Reclamation).
2. Para la clase de material que forma el cuerpo del canal, coleccionar
muestras del material que forma el fondo del canal, y determinar las
propiedades requeridas de las muestras.
3. El diseñador investiga y determinara, la sección para aplicar el análisis de la
fuerza tractiva a cierta probable estabilidad por tramos y determinar la
sección mínima que aparezca estable.
4. En canales en materiales no cohesivos el efecto del movimiento de las
partículas, debiera considerarse en adición al efecto de la distribución de
fuerzas tractivas.
5. En canales en material cohesivo el efecto del movimiento de las partículas
es despreciable, y el efecto de la distribución de la fuerza tractiva sola es un
criterio suficiente para el diseño.
6. Determinar la pendiente del canal de la información topográfica, es decir de
la información básica que se dispone.
7. Determinar n o C para el material perimetral dado.
9. Determinar la sinuosidad del canal según la topografía (paso 6) que debe
atravesar y determínese el factor de corrección de la fuerza tractiva según
la tabla 10.
10. Supóngase un valor del para el talud (ángulo de los taludes) y el ancho del
fondo/profundidad de agua.
11. Supóngase que los taludes son lo que limita el ancho del canal.
12. Calcular la fuerza tractiva máxima permisible en los taludes en función del
esfuerzo cortante. Se debe utilizar el factor de corrección de la Figura 45.a
y el factor de corrección por 0sinuosidad del canal, del paso 9.
14. Estímese la fuerza tractiva permisible en el fondo con la figura 47 y figura
48 de corrige la sinuosidad del canal según paso 9.
15. Se determina la profundidad normal y = y N , esta se determina fácilmente
combinando los resultados de los pasos 12 y 14.
16. Determínese el ancho del fondo con los resultados de los pasos 10 y 15.
18. Se comparan las magnitudes de la fuerza tractiva permisible en el fondo
(paso 12) con la actuante calculada por g × y × S O , se debe corregir por
forma con la figura 45.a del paso 10.
19. Se chequea: a) La velocidad mínima permisible para agua que lleve finos y
para vegetación. b) El número de Froude.
20. Determinar el borde libre requerido.
21. Realizar un grafico donde se visualicen los resultados.
2.1.10.7.3 Método de la sección hidráulicamente estable, este método de diseño
tiene como principio rector la sección hidráulicamente estable, se define la sección
hidráulica estable como aquella sección de un canal no revestido en el cual no
ocurrirá erosión para un área mojada mínima, para un caudal dado.
Las secciones empíricas que en la práctica son consideradas como secciones
hidráulicas estables son la elipse y la parábola, esto según muchos autores e
investigadores de la hidráulica.
Para el desarrollo de este método de diseño, se tubo en cuenta que los métodos
de diseño existentes, métodos basados en la fuerza tractiva, estos métodos
igualaban la fuerza tractiva al valor permitido solo sobre una parte del perímetro
mojado total, específicamente donde las fuerzas están cerca de los valores críticos
es decir al máximo, los cuales generalmente se presentan en los taludes del canal.
Esto quiere decir, que la inestabilidad que mantiene la suspensión ocurre solo
sobre una pequeña parte del perímetro mojado.
Entonces una sección hidráulicamente estable con máxima eficiencia satisface la
condición de que el movimiento que mantiene la suspensión prevalecerá en
cualquier lugar sobre el fondo o lecho del canal.
Las expresiones matemáticas que definen esta sección fueron desarrolladas por
una entidad gubernamental de los Estados Unidos de América, el USBR (United
States Bureau of Reclamation) por los investigadores Glover y Florey en 1951,
estas expresiones se desarrollaron para canales con la siguiente característica:
El desarrollo analítico y las suposiciones que se siguió para obtener las
expresiones y ecuaciones que definen la sección hidráulicamente estable son las
siguientes:
1. Se tiene un material del lecho de un canal, este material tiene un
ángulo de reposo dado para un caudal determinado, la sección
óptima debe ser aquella en la cual se tenga el canal de mínima área
mojada, el canal de mínimo ancho superior, máxima velocidad media
y excavación mínima.
2. Las partículas de suelo se mantienen contra el fondo y las paredes
del canal, es decir distribuidas a lo largo del lecho del canal, esta
estabilidad se logra debido a la acción de la componente normal al
fondo del canal del peso sumergido de las partículas.
3. En las pendientes laterales o taludes del canal el ángulo de
inclinación respecto a la horizontal es similar al ángulo del material
que se encuentra en reposo (material no cohesivo) bajo la acción de
la gravedad.
4. En el centro del canal la pendiente lateral o talud es cero y la fuerza
tractiva sola es lo suficientemente grande para mantener las
partículas en el punto de inestabilidad incipiente.
5. En la región comprendida entre el centro y las márgenes del canal se
presenta que las partículas del lecho del canal son mantenidas en un
estado de movimiento incipiente por la resultante de la componente
de la gravedad del peso sumergido de la partícula actuando sobre la
pendiente lateral y la fuerza tractiva del agua fluyendo.
6. La fuerza tractiva que actúa sobre un área del lecho del canal es
igual a la componente del peso del agua directamente sobre el área
actuando en la dirección del flujo. Esta componente del peso es igual
al peso por la pendiente longitudinal del canal. Según esto no hay
transferencia lateral de fuerza tractiva.
Teniendo en cuenta las anteriores hipótesis, y la figura que se muestra a
continuación, en la cual se tiene un canal con una pendiente S , taludes que están
definidos por coordenadas ( x , y ) y por el ángulo a .
Figura 49 Sección hidráulica estable para Q < QD
T
dx
f
x
y
B a
A
y
Se concluye de la suposición 6, el esfuerzo tractivo critico que se esta ejerciendo
sobre el área AB , por unidad de longitud del canal esta expresada por la siguiente
ecuación.
Ecuación 118 Esfuerzo tractivo critico
g × y × S × dx
t s = = g × y × S × Cos a
( dx ) 2 + ( dy ) 2
El esfuerzo tractivo crítico que esta actuando sobre los taludes del canal será:
Ecuación 119 Esfuerzo tractivo critico sobre los taludes del canal.
Tan 2 a
t s = K × t b = g × y × S × Cos a × 1 -
Tan 2 f
Ecuación 120 Esfuerzo tractivo en el centro del canal con profundidad yN
t s = g × y × S × a
Igualando las ecuaciones 117 y 118, y despejando la profundidad del flujo y , se
obtiene la siguiente expresión:
Ecuación 121 Profundidad del flujo en función de la profundidad normal, del
ángulo del talud y del ángulo de la partícula de reposo.
y N
y = × Tan 2f - Tan 2 a
Tan f
La ecuación que describe la forma de la sección transversal, es una ecuación
diferencial, la cual se obtiene a partir de la ecuación 109 en la cual se sustituye
dy .
dx = Tan a
2
y æ dy ö
y = N × Tan 2f - ç ÷
Tan f è dx ø
2
2 y 2 N é æ dy ö ù
y = ×
2 ê
Tan 2 f - ç ÷ ú
(Tan
f ) êë è dx ø úû
2
2 y 2 N é 2 æ dy ö ù
y = × êTan f - ç ÷ ú
f ) 2 ëê
(Tan è dx ø ûú
2
y 2 æ dy ö
2
× (Tan f ) 2 = Tan 2 f - ç ÷
y N è dx ø
Ecuación 122 Ecuación diferencial de la sección transversal de un canal con
sección hidráulicamente estable
2 2
æ dy ö æç y ö÷
ç ÷ +ç ÷ × ( Tan f ) 2 - Tan 2 f = 0
è dx ø è y N ø
Las condiciones de frontera son:
1. x = 0 , y = y N entonces la solución será;
Ecuación 123 Profundidad del flujo en un canal con sección hidráulicamente
estable, en función de la profundidad normal.
æ x × Tan f ö
y = y N × Cos çç ÷÷
è y N ø
Ecuación 124 Profundidad del flujo en un canal con sección hidráulicamente
estable, en función de la profundidad normal.
æ p × x ö
y = y N × Cos ç ÷
è T ø
Con las ecuaciones 122 y 123, se define la sección de un canal no revestido que
para un área determinada se obtendrá el menor ancho con el mayor radio
hidráulico, esta sección corresponde al canal de mayor eficiencia hidráulica de
todos los canales no revestidos estables que sean construidos en tierra con
material no cohesivo, con características definidas como son el coeficiente de
rugosidad n , una pendiente S y que transporte agua que no contenga
sedimentos.
Los elementos geométricos que caracterizan esta sección de mayor eficiencia
hidráulica, están en función de las ecuaciones 122 y 123, es decir de la
profundidad normal y N .
T
A = 2 ò 2 y × dx
0
T æ x × Tan f ö
A = 2 × y N ò 2 Cos çç ÷÷ × dx
è y N ø
0
Ecuación 125 Área mojada de la sección de mayor eficiencia hidráulica
2 × T × y N
A =
p
2
T
2 æ dy ö
P = 2 ò 1 + ç ÷ × dx
0
è dx ø
Ecuación 126 Perímetro mojado de la sección de mayor eficiencia hidráulica
2 × y N
P = × E (Sen f )
Sen f
Para el perímetro mojado se tiene que E ( Sen a ) , es una integral elíptica de
segundo tipo esta integral se calcula por medio de la siguiente expresión.
Ecuación 127 Solución de la integral elíptica de segundo tipo
2 2 2
p é æ 1 ö 6 4
æ 1 × 3 ö Sen f æ 1 × 3 × 5 ö Sen f ù
E (Sen f ) = × ê1 - ç ÷ × Sen f - ç
2
÷ × -ç ÷ × - × × × × × ×ú
2 êë è 2 ø è 2 × 4 ø 3 è 2 × 4 × 6 ø 5 úû
Los elementos hidráulicos se calculan con la ecuación de Manning, el caudal se
determinara entonces utilizando la ecuación 79
2
A 1
Q = × R 3 × S 0 2
n
2 5
0. 30 × Sen 3 × T 3 × y N × S 0
Q = 2
n × (E (Sen f )) 3
Ecuación 128 Caudal para un canal no revestido con de la sección de mayor
eficiencia hidráulica
5 8
2. 1 × Cos 3 f × y N3 × S 0
Q = 2
n × (E (Sen f )) 3
halla incremento de fuerza tractiva e inestabilidad. Se incorpora a la sección
transversal del canal, una sección rectangular en el centro de la sección
teórica del canal, tal como se ve en la figura 50. La magnitud del área a
incorporar se define con tanteos de la siguiente ecuación:
2
A 3 1 2
Q= × R × S 0
n
Ecuación 129 Caudal para un canal no revestido con de la sección hidráulica
estable cuando Q D > Q
5
ì 2
ü
ï çéæ 2 × y
N ö ù 3
ï
÷
ï êêç Tan f ÷ + T ' × y N úú ï
S ï ëè ø û ï
Q = ×í 2 ý
n ï
é 2 × y N × E (Sen f ) ù 3 ï
ïê ú ï
ïî ë T ' û ïþ
Figura 50 Sección hidráulica estable cuando Q D > Q
T
T´
2. Si Q D < Q , teniendo en cuenta los criterios de economía y eficiencia se
debe de remover una parte del canal tal como se ve en la figura 51, las
dimensiones se determinaran por tanteos de la siguiente ecuación
generada a partir de la ecuación de Manning.
2
A 3 1 2
Q= × R × S 0
n
Ecuación 130 Caudal para un canal no revestido con de la sección hidráulica
estable cuando Q D < Q .
5
ì ü
ï é æç 2 × y N ù
2
ö æ æ f öö æ æ f ö ö÷ 3 ï
÷ × Sen ç T × Tan ç ÷ ç
ï çê ÷ ç ç 2 × y ÷÷ ÷ - Sen ç T ' ' ×Tan çç ÷ ú
2 × y N ÷ø ÷ø ûú ïï
S ï ëê è Tan f ø è è N ø ø è è
Q = ×í ý
n ï é 2 × y N æ æ p öæ T ' ' ö ö ù ï
ê × E çç Sen f , ç ÷ ç 1 - ÷ ÷ú
ï
ë Tan f è è 2 ø è T ø ÷ø û ï
ï ï
î þ
æ æ p öæ T ' ' ö ö
En esta ecuación se tiene que E çç Sen f , ç ÷ç1 - ÷ ÷ , es una integral elíptica
è è 2 øè T ø ÷ø
incompleta del tercer tipo esta integral se puede determinar suponiendo que la
velocidad media en la sección teórica y en la sección ajustada son iguales, en este
orden de ideas los caudales serán proporcionales al área hidráulica entonces se
tiene que:
Ecuación 131 Caudal teórico en la sección hidráulicamente óptima, en función del
área hidráulica
2 × y N2
Q = × V
Tan f
2 × T 2 × Tan f
Q = × V
p 2
Ecuación 132 Caudal de diseño en la sección hidráulicamente óptima, en función
del área hidráulica
Q D = × V
p 2
Figura 51 Sección hidráulica estable cuando Q D < Q
Para determinar el ancho superficial, se combinan las ecuaciones 130 y 131, y se
obtiene una expresión para T ' ' .
Q = Q D
æ Q D ö÷
T ' ' = T × çç1 -
è Q ÷ø
METODOLOGIA DE DISEÑO
En el método basado en la sección hidráulicamente estable se puede seguir el
siguiente procedimiento:
1. Determinar la pendiente del canal de la información topográfica, es decir de
la información básica que se dispone.
2. Determinar n para el material del canal a diseñar.
3. Determinar el ángulo de reposo para el material perimetral con la figura 46,
en esta figura a es f de las ecuaciones 117 a 132.
4. Determinar la fuerza tractiva, t 0 que corresponde al material del canal a
diseñar.
5. Determinar el caudal de diseño, en base a las necesidades del proyecto.
6. Determinar la profundidad normal con la ecuación 104, esfuerzo
tractivo t 0 = g × y N × S 0 .
7. Determinar la forma del canal con la ecuación 114, profundidad del flujo en
un canal con sección hidráulicamente estable en función de la profundidad
é x × Tan f ù
normal o y1 = y N × Cos ê ú .
ë y N û
p × y N
8. Determinar el ancho superficial con la ecuación T = .
Tan f
2 × T × y N
9. Determinar el área mojada con la ecuación 115 A = , área mojada
p
de la sección de mayor eficiencia hidráulica.
10. Determinar el caudal en el canal, utilizando la ecuación de Manning o
5 8
2. 1 × Cos 3 f × y N3 × S 0
ecuación 118, Q = 2
caudal para un canal no revestido
n × (E (Sen f )) 3
con la sección de mayor eficiencia hidráulica.
11. Chequear el caudal de diseño Q D , con respecto al caudal Q el cual se
determina con la ecuación 118. Verificar en que caso se encuentra Q D Ù Q ,
y utilizar las ecuaciones 127, 128 y 131.
12. Resumir los resultados obtenidos en un grafico.
2.1.10.8 Pérdidas por infiltración en canales, las pérdidas por infiltración son la
principal razón por la cual se deba revestir un canal, la pérdida de agua debe ser
un criterio que se debe de tener conocido y en lo posible controlado.
Esta pérdida en canales no revestidos depende de varios factores entre los cuales
sobresalen:
· Las dimensiones del canal.
· La gradación del material perimetral.
· Las condiciones del agua subterránea o nivel freático.
Para la valoración cuantitativa de las pérdidas por infiltración, se reconocen varios
métodos, los cuales son de origen empírico se basan en observaciones directas y
en registros históricos de infiltraciones presentes en canales no revestidos que se
encuentran bajo la acción del nivel freático. Estos métodos son descritos a
continuación:
1. Balance de masa, este método consiste en suspender
temporalmente el canal y dividirlo en secciones con volúmenes
conocidos para luego aislarlos, se hacen lecturas correspondientes a
las pérdidas debidas a la infiltración teniendo como criterio el balance
de masa. Se recomienda este método para canales revestidos y no
revestidos, hay que tener en cuenta los factores climatológicos para
así lograr una buena lectura de la infiltración.
2. Aforo del caudal, este método consiste en tomar una sección del
canal en la cual se realizan lecturas de entrada y salida del flujo, se
tienen dos puntos de referencia. Este método tiene la ventaja que no
hay que suspender el funcionamiento del canal pero su precisión
esta limitada al numero de ensayos y al rigor con que se hagan.
3. Balance de masa inicial, este método tiene como principio el balance
de masa es decir el primer método, se utiliza en proyectos es decir
cuando no se ha realizado el canal se hace un tramo característico el
cual se llena y se mide su pérdida de masa con respecto al tiempo.
4. Registro histórico, este método fue desarrollado en base al trabajo
desarrollado por Etcheverry y Harding en 1933, y luego completado
posteriormente por Davis y Sorenson en 1969. Este método consiste
en valores recopilados y complementados por los investigadores
anteriormente mencionados, esta tabla posee los valores de las
pérdidas por infiltración en canales que no se ven afectados por el
nivel freático. Estos valores se muestran en la tabla que se muestra
a continuación.
Tabla 11 Pérdidas por infiltración en canales en diversos materiales, sin tener en
cuenta el nivel freático. Tomado de Hidráulica de canales abiertos de CHOW. V. T
2000 y de Hidráulica de canales abiertos de FRENCH .R. H 1998.
Pérdida por infiltración Pérdida por infiltración
ft 3 AGUA m 3 AGUA
para un para un periodo
Material perimetral ft 2 PERIMETRO m 2 PERIMETRO
periodo de 24 horas. de 24 horas
Fondo del canal arcilloso 0.25 – 0.35 0.0762 – 0.1069
Arcillas debajo de suelos a una
profundidad menor de (0.61 – 0.35 – 0.50 0.1069 0.1524
0.91) m. (2 – 3) ft.
Fondo arcilloso de suelo fino o
ceniza de origen volcánica 0.50 – 0.75 0.1524 – 0.2286
Fondo arcilloso de suelo grueso o
fondo arcillo arenoso, grava
cementada, arena y arcilla 0.75 – 1.00 0.2286 – 0.3048
Fondo arenoso 1.00 – 1.50 0.3048 – 0.4572
Suelos arenosos sueltos 1.50 – 1.75 0.4572 – 0.5334
Suelos con gravas y arenas 2.00 – 2.50 0.6096 – 0.7620
Suelos porosos con gravas 2.50 – 3.00 0.7620 – 0.9144
Suelo con mucha grava 3.00 – 6.00 0.9144 – 1.829
2.1.10.9 Diseño de transiciones, las transiciones son estructuras hidráulicas que
se utilizan para empalmar, empatar, unir o conectar tramos de canales que tengan
secciones transversales diferentes en forma, tamaño o en dimensión, o entre un
canal y otra estructura hidráulica como un sifón o una galería. Se tienen como
criterios para el predimensionamiento hidráulico los siguientes criterios:
1. Las pérdidas de energía deben ser mínimas, a través de estructuras
económicas e hidráulicamente óptimas.
2. Suprimir las ondulaciones y los vórtices.
3. Eliminar las zonas con agua tranquila o flujo muy retardado, pues se corre
el riesgo de que se presente acumulación excesiva de material en
suspensión.
4. Se produce flujo variado, el cual debe confinarse en la estructura de
transición.
5. Debe evitarse la separación del flujo de las paredes del canal.
Los anteriores criterios son aplicables en transiciones cuando los tramos que se
van a empalmar son de baja pendiente, con régimen subcrítico; bajo estas
condiciones las pérdidas hidráulicas por el cambio de sección son relativamente
pequeñas.
Para el diseño de transiciones con el criterio económico presente, se han realizado
varias investigaciones de las cuales sobresalen las realizadas por el U.S.
Department of Agriculture bajo la dirección de Scobey en 1933; las desarrolladas
por el U.S. Bureau of Reclamation en 1952 y las hechas por Vittal, Chiranjeevi en
1983.
En el cálculo hidráulico de una estructura de transición con flujo subcrítico se
tienen las siguientes hipótesis:
1. La línea de energía tiene la misma pendiente en el tramo de la transición,
no hay pérdidas locales de energía, se puede calcularse por tramos
utilizando la ecuación de Manning o ecuación 79.
2. La velocidad varía en función de la distancia, de esta forma los coeficientes
de energía y de momemtum, ecuaciones 23 y 24, serán iguales a uno es
decir a = b = 1 .
3. La distribución de presiones es hidrostática, de esta manera se omiten los
efectos de la curvatura.
4. No se tiene en cuenta las zonas de separación de flujo.
Además de las anteriores hipótesis las transiciones poseen las siguientes
características para su correspondiente cálculo:
1. Proporcionamiento, esta característica fue mencionada por CHOW. V.T, en
la cual plantea que el máximo ángulo óptimo entre el eje del canal y una
línea virtual que conecta los lados del canal entre las secciones de entrada
y salida del canal es de 12.5°. Tal como lo muestra la figura 52, como se
menciono en los criterios de diseño los ángulos agudos producen
turbulencia motivo por el cual se deben evitar.
Figura 52 Máximo ángulo óptimo entre el eje de un canal y la sección correspondiente a una
transición
Lt
2. Separación del flujo, para minimizar la separación del flujo en la transición,
se requiere un ángulo, que según el principio de proporcionamiento es entre
el eje del canal y una línea virtual que conecta los lados del canal entre las
secciones de entrada y salida del canal, este ángulo será de 12.5°.
3. Pérdidas, haciendo uso del criterio de pérdidas de energía, se reconocen
dos tipos de pérdida en una transición las pérdidas por fricción y las
pérdidas por transición. Las pérdidas por fricción se pueden determinar con
la ecuación de Manning o ecuación 79; y las pérdidas por transición, las
cuales son expresadas en términos del cambio de la cabeza de velocidad
entre las dos secciones de la transición, la entrada y la salida. Estas
pérdidas por transición presentan dos casos según sea el flujo acelerado o
retardado.
4. Pérdidas por transición en flujo acelerado, se presentan en la estructura de
entrada, se dice que el flujo es acelerado si tiene que la velocidad de
entrada es menor que la velocidad de salida, entonces la velocidad del flujo
aumenta y la superficie del agua debe de caer. La siguiente ecuación
expresa esta pérdida por transición:
Donde se tiene que:
Dy = Caída en la superficie del agua
Dh
v = Diferencia de energía cinética
C e = Coeficiente de pérdida por entrada
Los valores correspondientes al coeficiente de pérdida por entrada C e , se
muestran en la tabla 12.
5. Pérdidas por transición en flujo retardado, se presentan en la estructura de
salida, se dice que el flujo es retardado si tiene que la velocidad de entrada
es mayor que la velocidad de salida, entonces la velocidad del flujo
disminuye y la superficie del agua se levanta. La siguiente ecuación
expresa esta pérdida por transición:
.
Ecuación 135 Pérdidas por transición en flujo retardado, V1 < V 2
Donde se tiene que:
Dy = Caída en la superficie del agua
Dh
v = Diferencia de energía cinética
C s = Coeficiente de pérdida por salida
Los valores correspondientes al coeficiente de pérdida por salida C s , se muestran
en la tabla 12.
Tabla 12 Coeficientes de pérdida por transición. Tomado de Hidráulica de canales abiertos de
CHOW. V. T 2000 y de Hidráulica de canales abiertos de FRENCH .R. H 1998
Tipo de transición C e (Entrada o contracción) C s (Salida o expansión)
Tipo curvado 0.10 0.20
Tipo de cuadrante 0.15 0.25
cilíndrico
Tipo simplificado en línea 0.20 0.30
recta
Tipo en línea recta 0.30 0.50
Tipo de extremos 0.30 0.75
cuadrados
Cuando se inicia el proceso de cálculo se suponen conocidas las siguientes
variables; las secciones transversales de los canales a unir con la estructura de
transición aguas arriba y aguas abajo, el caudal, la rugosidad es decir el tipo de
material, la profundidad de agua, la altura de energía en la sección transversal
final.
En la solución de este tipo de problemas hacemos uso de la primera hipótesis,
donde la línea de energía mantiene constante su pendiente, del uso de esta
hipótesis determinamos la profundidad inicial.
2.2 MARCO CONCEPTUAL
2.2.1 Canal, es la conducción o conducto en el cual fluye un líquido, con una
superficie libre o con contacto con la atmósfera.
2.2.2 Diseño de canales, el diseño de un canal consiste en elegir la forma y las
dimensiones de la sección transversal de tal manera que cumplan con requisitos
hidráulicos y económicos.
2.3 MARCO LEGAL
2.3.1 Normas
Reglamento Técnico del Sector de Agua Potable Y Saneamiento Básico RAS
2000
Titulo A “ASPECTOS GENERALES DE LOS SISTEMAS DE AGUA POTABLE Y
SANEAMIENTO BÁSICO”:
· A.11.3.24 Parámetros de diseño para canales de aguas lluvias
Titulo B “SISTEMAS DE ACUEDUCTO”:
· B.4.4.3 Canales de aducción
· B.4.5.1 Canales
· B.4.6.3 Canales
· B.4.7.4 Dragado de canales
· B.6.4.3 Canales a flujo libre
· B.6.5.1 Canales a flujo libre
· B.6.6.3 Capacidad hidráulica de los canales
· B.6.7.7 Limpieza de canales
Titulo D “SISTEMAS DE RECOLECCIÓN Y EVACUACIÓN DE AGUAS
RESIDUALES DOMÉSTICAS Y PLUVIALES”:
· D.6.8 CANALES
Titulo G “ASPECTOS COMPLEMENTARIOS”:
· G.2.5.4.2 Relleno para estructuras y zanjas
2.3.2 Normas técnicas Colombianas
1
Roger S. Presuman: Ingeniería de Software: Un enfoque practico: Mc Graw Hill, 2002; p.92
NTC 3705 Gestión Ambiental. Agua. Medición de flujo de agua en canal abierto
con vertederos de placa fina.
NTC 3933 Agua. Método estándar para medición del flujo de agua en canal
abierto, con canaletas Parshall.
NTC 3945 Agua. Método estándar para medición del flujo en canal abierto
mediante elementos rotativos molinetes.
2.3.3 Normas técnicas ISO
ISO 4633 Juntas de estanqueidad de caucho Guarniciones de juntas de
canalizaciones de alimentación y evacuación de aguas (Alcantarillados incluidos
Especificación de materiales)
3. METODOLOGÍA
3.1 DISEÑO DE LA INVESTIGACIÓN
En el desarrollo del proyecto “Software con herramientas hidráulicas para el
diseño de canales” la investigación es de tipo investigación experimental (Tamayo,
1995, 56); “se presenta mediante la manipulación de una variable experimental no
comprobada, en condiciones rigurosamente controladas, con el fin de describir de
qué modo o porqué causa se produce una situación o acontecimiento particular. El
experimento es una situación provocada por el investigador para introducir
determinadas variables de estudio manipuladas por él, para controlar el aumento o
disminución de esas variables y su efecto en las conductas observadas. En el
experimental y luego observa lo que ocurre en condiciones controladas”.
FASES DE LA INVESTIGACIÓN
FASE 1:
Diseño de canales, métodos utilizados.
· Se recolecto la información existente al respecto.
especialistas en diseño de canales.
FASE 2:
Software utilizado en la hidráulica de canales.
· Se organizar la información recolectada.
· Se busco la orientación de peritos o especialistas en los temas a desarrollar.
FASE 3:
Se determino el lenguaje de programación, los modelos matemáticos, las
correlaciones físicas, las teorías e hipótesis aplicables al diseño de canales y a la
hidráulica de canales.
· Se Identificaron los tipos de canales mas utilizados en las obras civiles; bien
sea por motivos económicos, técnicos.
· Se Identificaron las variables mas incidentes y repetitivas en el diseño de
canales.
· Se realizar bases de datos aplicables al diseño de canales y a la hidráulica de
canales.
donde se hará variar de manera independiente las variables que intervengan
en el diseño de canales.
FASE 4:
Analizar y procesar los datos obtenidos, para brindar respuesta.
· Se elaboraron, con los datos de las visitas, modelaciones, bases de datos, los
algoritmos que serán el pilar donde se edificara el software para el diseño de
canales.
· Se realizaron pruebas piloto con el software para el diseño de canales y la
pruebas. Estas pruebas se realizaron con estudiantes que estaban tomando la
cátedra de hidráulica canales.
· Se brindo el software como herramienta en la hidráulica de canales.
3.2 Objeto de Estudio
El proyecto realizado consistió en desarrollar un software que diseña canales no
principales secciones transversales de un canal, determina el borde libre de un
canal en función del caudal, determina la fuerza especifica en las principales
geométricas de un canal en flujo uniforme y flujo critico. El software sirve para el
aprendizaje de la hidráulica de canales bien sea como fuente bibliografiíta,
enciclopedia virtual de definiciones, y como ayuda en el desarrollo de las practicas
de laboratorio de hidráulica de canales. El proyecto tiene como anexo un
documento escrito donde se hace un recuento de los principales temas tratados
en la hidráulica de canales, este documento sirve como fuente de consulta para
los interesados en la materia.
3.3 VARIABLES
Cuadro 1. Análisis de las variables
CATEGORÍA DE
VARIABLE INDICADORES
ANÁLISIS
Energía especifica
Fuerza especifica
Propiedades del flujo
El flujo Distribución de presiones
abierto
Distribución de velocidades
Propiedades de las Área mojada
secciones transversales de La profundidad Radio hidráulico
los canales Perímetro mojado
Flujo normal
Flujo critico
Tipos de flujo La profundidad
Flujo variado
Fuerza tractiva
Velocidad permisible
Diseño de canales La profundidad Sección hidráulica optima
Sección hidráulica estable
Borde libre
Las perdidas de energía
Diseño de transiciones La profundidad Perdidas por transición
El proporcionamiento
4. TRABAJO INGENIERIL
4.1 DESARROLLO
4.1.1 Identificación del lenguaje de programación
Se identificó el lenguaje de programación para el proyecto, teniendo en cuenta,
cuales son las necesidades ingenieriles que se utilizan en el diseño, la
construcción de los canales abiertos, tomando como lenguaje de programación el
VISUAL BASIC 6.0, por ser un lenguaje libre y para las necesidades del proyecto
de fácil uso y manejo.
4.1.2 Identificación de los principios físicos y definiciones que intervienen en el
diseño.
Los principios físicos que intervienen en el diseño de canales son:
· Continuidad del flujo
· Energía especifica
· Distribución de velocidades en la sección de un canal
· Energía cinética de un flujo
· Momemtum
· Distribución de presiones en la sección de un canal
· Fuerza hidrostática
· Fuerza tractiva
· Esfuerzo tractivo
Estos principios y sus correspondientes demostraciones se encuentran en el
numeral 2.1 de este documento, marco referencial, se demostró:
· El coeficiente de energía o coeficiente de Coriolis, ecuación 23.
· El coeficiente de momentum o coeficiente de Boussinesq, ecuación 24.
· La ecuación de energía especifica, ecuación 36.
· La ecuación de energía especifica para canales rectangulares, ecuaciones
36, 37, 38, 39 y 40.
· La ecuación general del flujo critico, ecuación 43.
· Estado critico de flujo, ecuación 44.
· La profundidad crítica en un canal de sección rectangular, ecuación 47.
· La energía mínima en un canal de sección rectangular, ecuación 48.
ecuación 50.
· La ecuación de fuerza específica se demuestra en el numeral 2.1.8.5.2,
ecuación 55.
en el numeral 2.1.8.5.3, ecuación 58.
· La ecuación Profundidad critica de flujo de un canal, en función del caudal
unitario, ecuación 60; y la ecuación de fuerza específica mínima, ecuación
61. Se demuestran de forma simultanea en el numeral 2.1.8.5.4.
2.1.8.5.5 de este documento, ecuación 63.
· La perdida de energía en un resalto se demuestra en el numeral 2.1.8.6 del
presente documento, ecuación 64.
· La fuerza sobre una estructura se demuestra en el numeral 2.1.8.7 del
presente documento, ecuación 70.
· La ecuación de Chezy se demuestra en el numeral 2.1.9.3 del presente
documento, ecuación 72.
Las definiciones que se trataron están recopiladas en el capitulo 2 del presente
escrito, se tubo como parámetro para la selección de los conceptos adecuados,
los conocimientos mínimos en hidráulica de canales y el plan de estudios seguido
en la facultad de Ingeniería Civil de la Universidad De La Salle.
4.1.3 Identificación de los principales métodos de diseño de canales
Se citaron los métodos para el diseño de canales según el tipo de canal a diseñar,
estos métodos se nombraron en los numerales 2.1.10.6 y 2.1.10.7 del presente
escrito, se tiene en cuenta las especificaciones necesarias para su buen uso. Se
tuvo en cuenta los siguientes métodos:
· Sección hidráulicamente optima
· Método de la velocidad máxima permisible
· Método de la fuerza tractiva
· Método de la sección hidráulicamente estable
4.2 Software
El software tiene las siguientes características, es decir sus aplicaciones son:
· Calcula los elementos geométricos de las principales secciones de canales.
· Calcula el flujo crítico para las secciones de los canales más usuales.
· Calcula el flujo normal para las secciones de los canales más usuales.
· Calcula el borde libre para el diseño de canales.
· Diseña canales revestidos y erosionables para la sección trapezoidal.
· Posee bases de datos con parámetros para el diseño de canales,
definiciones relevantes para el aprendizaje de la hidráulica de canales.
· Aplicación directa para el desarrollo de las practicas de laboratorio de
hidráulica de canales en la facultad de ingeniería civil de La Universidad De
La Salle.
· Genera gráficos donde se visualizan los resultados.
· Genera simulaciones de los resultados en 3D, donde se puede apreciar los
resultados
· Se maneja en ambiente Windows, lo cual genera una mayor facilidad de
uso y manejo del paquete.
Para un análisis más detallado Ver anexo 1 “Software Open Flor Unisalle”.
4.2.1 Ejemplo para el calculo de la fuerza especifica en una sección
rectangular.
Imagen 6 Cálculo de la fuerza especifica para una sección rectangular en el software Open Flow
Unisalle.
Imagen 7 Cálculo de la fuerza especifica para una sección rectangular en el software Open Flow
Unisalle, datos de entrada.
Imagen 8 Cálculo de la fuerza especifica para una sección rectangular en el software Open Flow
Unisalle, datos de salida.
4.2.2 Ejemplo para el desarrollo de una practica de laboratorio.
Imagen 9 Aplicación para el laboratorio de hidráulica de canales, practica “Geometría de la sección,
curva de energía y fuerza especifica” en el software Open Flow Unisalle, preliminares.
Imagen 10 Aplicación para el laboratorio de hidráulica de canales, practica “Geometría de la
sección, curva de energía y fuerza especifica” en el software Open Flow Unisalle, datos de entrada.
Imagen 11 Aplicación para el laboratorio de hidráulica de canales, practica “Geometría de la
sección, curva de energía y fuerza especifica” en el software Open Flow Unisalle, datos de salida 1.
Imagen 12 Aplicación para el laboratorio de hidráulica de canales, practica “Geometría de la
sección, curva de energía y fuerza especifica” en el software Open Flow Unisalle, datos de salida 2.
Imagen 13 Aplicación para el laboratorio de hidráulica de canales, practica “Geometría de la
sección, curva de energía y fuerza especifica” en el software Open Flow Unisalle, datos de salida 3.
Imagen 14 Aplicación para el laboratorio de hidráulica de canales, practica “Geometría de la
sección, curva de energía y fuerza especifica” en el software Open Flow Unisalle, gráficos 1.
Imagen 15 Aplicación para el laboratorio de hidráulica de canales, practica “Geometría de la
sección, curva de energía y fuerza especifica” en el software Open Flow Unisalle, gráficos 2.
4.3 MANUAL DE USUARIO OPEN FLOW UNISALLE
Es un documento escrito donde se describen los procedimientos de uso, la
manera de instalar el software y ejemplos numéricos de cada aplicación que
contiene el paquete. Para un análisis más detallado Ver anexo 2 “Manual del
usuario”.
4.4 DOCUMENTO ESCRITO DIGITALIZADO
El documento escrito esta en formato .PDF, este documento se visualiza toda la
programa. Para un análisis más detallado Ver anexo 3 “Documento escrito digital”.
4.5 CODIGO FUENTE
Se presenta el código fuente, el cual reúne todos los procedimientos y palabras
reservadas en el lenguaje de programación, Visual Basic 6.0. Para un análisis más
detallado Ver anexo 4 “Código Fuente”.
.
5. COSTOS TOTALES DE LA INVESTIGACIÓN
5.1 RECURSOS MATERIALES
Tabla 13 Recursos materiales.
VALOR
CONCEPTO UNIDAD CANTIDAD VALOR UNITARIO ($)
TOTAL ($)
TOTAL
$ 2.452.800
5.2 RECURSOS INSTITUCIONALES
Tabla 14 Recursos institucionales.
INSTITUCIÓN
UNIVERSIDAD DE LA SALLE
UNIVERSIDAD NACIONAL DE COLOMBIA
UNIVERSIDAD DE LOS ANDES
PONTIFICIA UNIVERSIDAD JAVERIANA
UNIVERSIDAD CATOLICA DE COLOMBIA
TUXSTONE Technologies
5.3 RECURSOS TECNOLÓGICOS
Tabla 15 Recursos tecnológicos.
TOTAL $ 700.000
5.4 RECURSOS HUMANOS
Tabla 16 Recursos humanos
Director
4 16 64 1712.5 $109.600
temático
Asesor
4 16 64 $21.000 $640.000
metodológico
TOTAL $749.600
.
5.5 RECURSOS FINANCIEROS
Tabla 17 Recursos financieros
FUENTES DE FINANCIACIÓN
APORTES DE LA UNIVERSIDAD DE
FACULTAD DE INGENIERÍA CIVIL
Recursos $
$ 2.452.800
Materiales 2.452.800
Recursos
$ 700.000 $ 700.000
Tecnológicos
$
TOTAL
4.097.520
6. CONCLUSIONES
1. Los canales abiertos han estado presentes en las grandes culturas y
civilizaciones a lo largo de la historia misma de la humanidad. Desde los
Egipcios, Persas hasta los Incas y Muiscas; motivo por el cual su estudio es
de gran importancia par las generaciones futuras no solo de ingenieros si
no además de personas interesadas en conocer el desarrollo y grandeza de
cada cultura.
2. El flujo a superficie libre o flujo libre se presenta cuando los líquidos fluyen
por la acción de la gravedad y solo están parcialmente contenidos por un
contorno sólido.
3. Se define a un canal como la conducción o conducto en el cual fluye un
líquido, con una superficie libre o con contacto con la atmósfera.
4. Un canal se puede clasificar teniendo en cuenta varios criterios entre ellos
su origen, sección transversal; y a su vez según el origen los clasificaremos
teniendo en cuenta la sección transversal se habla de canales prismáticos y
de canales no prismáticos.
principalmente en cultivos para transporte de agua.
6. Los elementos geométricos de un canal son parámetros indispensables
para el diseño y conocimiento de los canales como estructuras hidráulicas.
Estos elementos geométricos entregan información de primer orden acerca
de las características mismas del canal.
7. En un canal circular de diámetro do, la descarga máxima ocurre
velocidad máxima esta ubicada a una profundidad de flujo igual y = 0.81do..
8. En un canal generalmente la velocidad máxima ocurre debajo de la
superficie libre del agua a una distancia que varia entre los 0.05 a 0.25 de la
profundidad y .
9. El coeficiente de Coriolis para un flujo libre varia entre 1.1 y 2.0, datos
experimentales hablan de valores que se mueven entre 1.03 y 1.36 para
canales prismáticos casi rectos, en general el valor es alto para canales
pequeños y bajo para corrientes grandes con profundidad constante. Aguas
pronunciadas en el alineamiento se han observado valores de α>2.
10. El coeficiente de Momemtum toma valores que van desde 1.01 hasta 1.12
en canales prismáticos aproximadamente rectos, en flujo libre el coeficiente
varia entre 1.03 y 1.33.
11. Si se presenta un canal donde la pendiente del fondo sea pequeña, menor
que el 10%, el factor de corrección de presión por efecto de la pendiente, se
puede despreciar.
12. Los canales no se debe diseñar canales con flujo critico, pues este flujo es
inestable y produce oscilaciones del flujo que pueden ser perjudiciales para
la estructura.
un gran número de aproximaciones o soluciones que han contado con el
trabajo de notables investigadores de la hidráulica, de los cuales resaltan
Weisbach.
14. La elección del coeficiente C de resistencia al flujo en la ecuación de
Chézy, depende del diseñador o ingeniero, y esta se cuantifica en el nivel
de conocimiento del mismo.
15. Los canales se diseñan en flujo uniforme, y la ecuación de mayor
aceptación es la ecuación de Manning.
16. Durante el diseño de un canal abierto la sección transversal del canal, la
rugosidad y la pendiente del fondo del canal son conocidas, el objetivo
primordial del diseño es determinar la magnitud de la velocidad media del
flujo, la profundidad y el caudal sea conocido cualquiera de ellos.
17. En el diseño de canales se debe tener en cuenta, algunos de los siguientes
criterios, tales como:
· EL canal se diseña por tramos con flujo uniforme
· En canales de transporte se prefieren zonas de baja pendiente
· La velocidad debe ser lo suficientemente alta como para impedir la
sedimentación de las partículas que se transportan en el agua, bien
sea en el fondo o en suspensión.
· La velocidad debe ser lo suficientemente baja con lo cual se debe
impedir la erosión de las paredes y el fondo del canal.
· En primera instancia se definen las dimensiones del canal bajo los
parámetros establecidos en el flujo uniforme y luego se ajustan las
proyecto esto con el fin de hacerlas practicas constructivamente.
profundidades cercanas a la critica.
· Información básica de diseño, es aquella información con la cual se
información relativa del área de influenza del canal así como de la
población a beneficiar.
· Parámetros básicos de diseño, son aquellas características del canal
permisible, pendientes de fondo y laterales en el caso de canales
canales revestidos.
· Valoración de efecto del canal sobre el medio ambiente, esta
información es referente al impacto del canal sobre los factores
abióticos y bióticos del ecosistema.
18. La información básica del diseñó se agrupan los datos que permiten
predefinir características del diseñó como son el caudal de diseñó, la
pendiente del canal y capacidad de transporte, tal como se muestra a
continuación:
de los tramos de canal.
· Hidrología, define las variables hidrológicas como precipitación para
conocer el caudal disponible en la fuente o fuentes de agua que se
van a aprovechar.
· Suelos, definen las características del suelo a excavar como son la
coeficientes de rugosidad del cause presiones activas. Con el fin de
prever la necesidad de un recubrimiento.
· Estudios de la demanda, definen el caudal de diseño para las
hidroeléctricas, drenaje, recreación, transporte.
· Estudios ambientales, definen el riesgo para el ambiente; usos del
agua, riesgo para seres vivos, calidad del agua.
19. Los parámetros de diseño son aquellas características que el canal debe de
cumplir para que este sea estable e hidráulicamente óptimo, algunos de
estos parámetros son:
· Forma de la sección transversal: se escoge en función del tipo de
suelo, si el canal es revestido o no, del método constructivo, del uso
del canal, de la normatividad ambiental, del aspecto financiero y la
economía. Por ejemplo, en la roca o con el concreto se pueden
los canales en suelos arcillosos, finos u otros materiales tienen forma
contaminación del agua, para permitir el paso de un lado a otro, etc.
· Taludes laterales: están en función del suelo de excavación. El
ángulo que forma el talud lateral del canal con la horizontal debe ser
menor que el ángulo de fricción interna del material.
· Coeficiente de rugosidad: depende del tipo de material y del acabado
del revestimiento del canal.
· Coeficiente de permeabilidad: se determina para el suelo natural en
que se excava el canal haciendo pruebas "in situ" o en laboratorio.
· Velocidad admisible del flujo: está limitada por la erosión y la
sedimentación en el canal. En un diseño con la velocidad máxima no
erosionable que se logran diseños mas económicos y se garantiza la
estabilidad de la estructura. Esta velocidad máxima no erosionable
es la velocidad media más grande que no causa erosión al cuerpo
evacuación de aguas de exceso), casos en que las velocidades
máximas están del orden de 4.0 m/s y de 15 m/s, respectivamente.
Velocidad mínima: 0.75 m/s para prevenir el crecimiento de la
vegetación.
del agua hasta la parte superior de la estructura. Se debe considerar
el efecto de inexactitudes en la información disponible, imprecisiones
en el diseño, cambios del nivel del agua.
20. El lenguaje de programación Visual Basic 6.0, es un medio óptimo para
generar las soluciones a problemas de programación, su manejo es sencillo
y el ambiente de manejo es agradable pues se maneja en ambiente
Windows lo cual permite el uso de ventanas e iconos, para insertar objetos.
21. El uso de este paquete queda bajo la limitación de los conocimientos del
usuario, de allí la importancia de que maneje plenamente los conceptos que
en este trabajo se expusieron.
22. Este proyecto deja las bases y los precedentes necesarios para su
ampliación, pues se observo que aun hay procesos del diseño que
pasadas y que no se describen bajo ninguna relación matemática.
23. Una poderosa herramienta para el aprendizaje y el estudio de la hidráulica
de canales son los paquetes informáticos, como son los programas de
que permanecían remanentes en cada integrante del equipo.
7. RECOMENDACIONES
1. Se recomienda para un buen desarrollo y funcionamiento del software, un
equipo con las siguientes especificaciones; un equipo cuya plataforma sea
Microsoft Windows XP, 400Mb de espacio en el disco duro para su correcta
instalación, procesador Pentium 3 o superior, resolución de pantalla a 800 x
600, para mayor comodidad de los usuarios.
2. Para canales revestidos, la velocidad máxima del agua no debe ser mayor
que 8 m/s.
3. Debe hacerse para el diseño y construcción de un canal, una valoración al
efecto o impacto ambiental dicha obra hidráulica.
4. Debe hacerse para el diseño y construcción de un canal, un análisis
decisión para la ejecución de dicha obra hidráulica.
5. Se recomienda como sección más viable para un proyecto de canales sin
recubrimiento la sección trapezoidal, por estabilidad y eficiencia.
6. Si se posee un canal de sección rectangular, el cual es muy ancho en
comparación con su profundidad de flujo (es decir que el ancho sea casi
diez veces la profundidad), el radio hidráulico de dicha sección será el
mismo valor numérico de la profundidad de flujo
7. No se debe diseñar canales con flujo critico sino con flujo subcrítico o
supercrítico, esto en función de la pendiente que se tenga en el canal, en el
diseño se deben buscar profundidades en un rango de 1. 1 y c < y < 0 . 9 y c con
y ¹ y C .
8. Antes de diseñar un canal por cual quiera de los métodos que se
presentaron, se debe hacer una evaluación de los requisitos y las variables
de diseño conocidas, así como de las seleccionadas.
9. Para la utilización adecuada del software se requiere un conocimiento
básico de la hidráulica de canales, por este motivo se desarrollo en este
proyecto de forma paralela el documento escrito donde se reúnen los
conceptos básicos para su estudio y posterior utilización, que seria el
diseño de canales.
BIBLIOGRAFÍA
AZUELA, Matilde. Fundamentos de programación, McGrawHill, 2002.
CEBALLOS, Francisco Javier. Curso de programación de Visual Basic 6,
primera edición. México : Alfaomega. 2000.
primera edición. México; Alfaomega. 2000.
CEBALLOS, Francisco Javier. Microsoft Visual C++6 aplicaciones para Win32 ,
segunda edición. México; Alfaomega. 2000.
CHANSON, Hubert. Hidráulica del flujo en canales abiertos, primera edición.
Colombia; McGrawHill, 2002.
COHEN, Alan: Estructura, lógica y diseño de programas. Paraninfo, 1986
CHOW, Ven Te. Hidráulica de Canales Abiertos. McGraw Hill. 2000
FRENCH H, Richard. Hidráulica de canales abiertos, primera edición. México;
McGraw Hill. 1988.
HERNANDEZ SAMPIERI, Roberto. FERNANDEZ COLLADO, Carlos. BATISTA
McGraw Hill. 1998.
McGraw Hill. 1987.
geometría analítica, quinta edición. México; McGraw Hill. 1998.
MERRITT S, Frederick. Guía del ingeniero civil, primera edición. México;
McGraw Hill. 1990.
NAUDASCHER, Eduard. Hidráulica de canales, segunda reimpresión. México;
editorial limusa.
PRESSMMAN ROGER, S. Ingeniería del software. Un enfoque práctico, quinta
edición. McGrawHill, 2002.
SOMMERVILLE, I. Ingeniería de Software, sexta edición. AddisonWesley
Iberoamericana, 2002.
Iberoamericana, 1989.
TAMAYO Y TAMAYO, Mario. El proceso de la investigación científica. México:
Limusa, 1986. p. 41
UNISALLE, Manual de laboratorio de hidráulica de canales. 2006.
URRUTIA COBO N. Hidráulica de Canales. Universidad del Valle
Séptima edición. México: Thomson learning, 2002.
ANEXOS
ANEXO 1 SOFTWARE OPEN FLOW UNISALLE
ANEXO 2 MANUAL DE USUARIO OPEN FLOW UNISALLE
ANEXO 3 DOCUMENTO ESCRITO DIGITAL
ANEXO 4 CODIGO FUENTE
Ni la Universidad, ni el director temático, ni la asesora metodológica, ni el jurado calificador son responsables
de las ideas expuestas por los autores.
1. FLUJO CRÍTICO 3
2
1. FLUJO CRÍTICO
1.1 SECCION RECTANGULAR
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form10.Show
Else
If B = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form10.Show
Else
If G = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form10.Show
Else
Y = Round((CCur(Q) ^ 2 / (CCur(G) * CCur(B) ^ 2)) ^ (1 / 3), 3)
A = Round(CCur(B) * CCur(Y), 3)
V = Round(CCur(Q) / CCur(A), 3)
E = Round(CCur(Y) + CCur(V) ^ 2 / (2 * CCur(G) * CCur(A) ^ 2), 3)
Y1 = Y
A1 = A
Frame8.Visible = True
Frame9.Visible = True
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
Image1.Visible = False
Image2.Visible = True
Label5.Visible = True
Y.Visible = True
Y1.Visible = True
A.Visible = True
A1.Visible = True
V.Visible = True
E.Visible = True
End If
3
End If
End If
End Sub
Private Sub G_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub HJDHSDHJSHDJ_Click()
End
End Sub
Private Sub HJDHSHDSD_Click()
Form10.PrintForm
End Sub
Private Sub IJIFJDIFJID_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub IJIJIJISDSDJD_Click()
Q = ""
B = ""
G = ""
Y.Visible = False
Y1.Visible = False
A.Visible = False
A1.Visible = False
V.Visible = False
E.Visible = False
Frame8.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
Image1.Visible = True
Image2.Visible = False
Label5.Visible = False
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
4
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub SKLKLDKFL_Click()
Form19.Show
Unload Me
End Sub
1.2 SECCION TRAPEZOIDAL
Private Sub B_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form12.Show
Else
If B = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form12.Show
Else
If G = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form12.Show
Else
If Z = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form12.Show
Else
Y = (Q) + (100)
K = ((Q ^ 2)) / (G)
5
FY = 3 * (B * Y + Z * Y ^ 2) ^ 2 * (B + 2 * Y * Z) (2 * Z * K)
XN = Y (FX / FY)
For I = 1 To 100
Next I
RTA = Round(XN, 3)
A = Round((B + Z * XN) * XN, 3)
T = Round(B + 2 * Z * XN, 3)
V = Round(Q / A, 3)
E = Round(XN + V ^ 2 / (2 * G * A ^ 2), 3)
Y2 = RTA
A2 = A
Frame8.Visible = True
Frame9.Visible = True
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
Image1.Visible = False
Image2.Visible = True
Label5.Visible = False
Label10.Visible = False
Label11.Visible = False
Label12.Visible = True
RTA.Visible = True
A.Visible = True
V.Visible = True
E.Visible = True
Y2.Visible = True
A2.Visible = True
End If
End If
End If
End If
End Sub
Private Sub G_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
6
End If
End If
End Sub
Private Sub JHJHDHJHDD_Click()
Form12.PrintForm
End Sub
Private Sub JKKKLKLK_Click()
Q = ""
B = ""
G = ""
Z = ""
Frame8.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
Image1.Visible = True
Image2.Visible = False
Label5.Visible = True
Label10.Visible = True
Label11.Visible = True
Label12.Visible = False
RTA.Visible = False
A.Visible = False
V.Visible = False
E.Visible = False
Y2.Visible = False
A2.Visible = False
End Sub
Private Sub LSKDLKSLDK_Click()
End
End Sub
Private Sub OKOKOKO_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
7
Private Sub SLKDLSKLSK_Click()
Form19.Show
Unload Me
End Sub
Private Sub Z_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
1.3 SECCION TRIANGULAR
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form13.Show
Else
If Z = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form13.Show
Else
If G = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form13.Show
Else
Y = Round(Q ^ (2 / 5) * 2 ^ (1 / 5) / (G ^ (1 / 5) * Z ^ (2 / 5)), 3)
A = Round(Z * Y ^ 2, 3)
V = Round(Q / A, 3)
E = Round(Y + (V ^ 2 / (2 * G * A ^ 2)), 3)
A2 = A
Y2 = Y
Image1.Visible = False
Image2.Visible = True
Label3.Visible = False
Label5.Visible = False
Label10.Visible = True
Frame8.Visible = True
Frame9.Visible = True
8
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
Y.Visible = True
A.Visible = True
A2.Visible = True
Y2.Visible = True
V.Visible = True
E.Visible = True
End If
End If
End If
End Sub
Private Sub FDKJKFLDKLFSDK_Click()
Q = ""
G = ""
Z = ""
Image1.Visible = True
Image2.Visible = False
Label3.Visible = True
Label5.Visible = True
Label10.Visible = False
Frame8.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
Y.Visible = False
A.Visible = False
A2.Visible = False
Y2.Visible = False
V.Visible = False
E.Visible = False
End Sub
Private Sub G_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub JKSJKSJ_Click()
Form19.Show
Unload Me
9
End Sub
Private Sub KDFJKLDJSFKLJSDKL_Click()
End
End Sub
Private Sub LSÑDKSLDÑSL_Click()
Form13.PrintForm
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub SKJDKSJDKSJ_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Z_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
10
2. FUERZA ESPECÍFICA
2.1 SECCION RECTANGULAR
Private Sub B_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form2.Show
Else
If Y = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form2.Show
Else
If B = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form2.Show
Else
RTA = Round(Q ^ 2 / (B * Y * 9.81) + B * Y ^ 2 / 2, 3)
Frame5.Visible = True
RTA.Visible = True
End If
End If
End If
End Sub
Private Sub GHGFHGHG_Click()
Q = ""
B = ""
Y = ""
RTA = ""
Frame5.Visible = False
11
RTA.Visible = False
End Sub
Private Sub LLKLK_Click()
Form19.Show
Unload Me
End Sub
Private Sub MJKJKJK_Click()
End
End Sub
Private Sub MJKJKKJK_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub NMNMNM_Click()
Form2.PrintForm
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Y_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
2.2 SECCION TRAPEZOIDAL
Private Sub B_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
12
End Sub
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form3.Show
Else
If Y = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form3.Show
Else
If B = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form3.Show
Else
If Z = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16,
"ERROR DE COMPLETACION"
Form3.Show
Else
RTA = Round(Q ^ 2 / ((2 * Z * Y + B + B) / 2 * Y * 9.81) + 1 / 3 * Y * ((2 * (2 * Z * Y + B) + B) / (2 *
Z * Y + B + B)) * (2 * Z * Y + B + B) / 2 * Y, 3)
Frame6.Visible = True
Frame7.Visible = True
RTA.Visible = True
End If
End If
End If
End If
End Sub
Private Sub JJHJHJHJ_Click()
End
End Sub
Private Sub JKJKJKJKJ_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub JKSJJDSJDSD_Click()
13
Form19.Show
Unload Me
End Sub
Private Sub KDFNKDJFKJDKF_Click()
Form3.PrintForm
End Sub
Private Sub LKLKKLKL_Click()
RTA = ""
Q = ""
B = ""
Y = ""
Z = ""
Frame6.Visible = False
RTA.Visible = False
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Y_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Z_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
2.3 SECCION TRIANGULAR
Private Sub Command1_Click()
14
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form4.Show
Else
If Y = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form4.Show
Else
If Z = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form4.Show
Else
RTA = Round(Q ^ 2 / (Z * Y ^ 2 * 9.81) + 2 * Z * Y ^ 3 / 3, 3)
Frame7.Visible = True
Frame6.Visible = True
RTA.Visible = True
End If
End If
End If
End Sub
Private Sub JDKJSDJSK_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KKOKOKOK_Click()
End
End Sub
Private Sub MKDJCKDJKF_Click()
Form19.Show
Unload Me
End Sub
Private Sub MKSKJDKF_Click()
Form4.PrintForm
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
15
KeyAscii = 0
End If
End If
End Sub
Private Sub SKJDSJD_Click()
RTA = ""
Q = ""
Y = ""
Z = ""
Frame7.Visible = False
Frame6.Visible = False
RTA.Visible = False
End Sub
Private Sub Y_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Z_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
2.4 SECCION CIRCULAR
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form5.Show
Else
If Y = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form5.Show
16
Else
If D = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form5.Show
Else
x = (1 (2 * Y / D))
PI = 3.14159265358979
Z = (x + 0.5 * (x ^ 3 / 3) + (3 * x ^ 5 / 40) + (15 * x ^ 7 / 336))
Z = (PI / 2) Z
TE = Z * 2
If TE > PI Then
TE = (TE * 180) / PI
RTA = Round(Q ^ 2 / (1 / 8 * (TE * PI / 180 Sin(TE * (PI / 180))) * D ^ 2 * 9.81) + 1 / 8 * (TE * PI /
180 Sin(TE * (PI / 180))) * D ^ 2 * (D ((D / 2 D * Sin((360 TE) * (PI / 180) / 2) / (3 * ((360 TE) *
PI / 180) / 2)) * ((360 TE) * PI / 180 / 2 * D ^ 2 / 4) (D / 2 Cos((360 TE) * (PI / 180) / 2) * D / 2 + 1
/ 3 * (Cos((360 TE) * (PI / 180) / 2) * D / 2)) * (Sin((360 TE) * (PI / 180) / 2) * D * (Cos((360 TE) *
(PI / 180) / 2) * D / 2) / 2)) / ((360 TE) * PI / 180 / 2 * D ^ 2 / 4 Sin((360 TE) * (PI / 180) / 2) * D *
(Cos((360 TE) * (PI / 180) / 2) * D / 2) / 2)), 3)
Frame6.Visible = True
Frame7.Visible = True
RTA.Visible = True
Else
TE = (TE * 180) / PI
RTA = Round((Q) ^ 2 / (1 / 8 * (TE * PI / 180 Sin(TE * (PI / 180))) * (D) ^ 2 * 9.81) + 1 / 8 * (TE * PI /
180 Sin(TE * (PI / 180))) * (D) ^ 2 * (((D) / 2 (D) * Sin((TE * (PI / 180)) / 2) / (3 * (TE * PI / 180) /
2)) * (TE * PI / 180 / 2 * (D) ^ 2 / 4) ((D) / 2 Cos((TE * (PI / 180)) / 2) * (D) / 2 + 1 / 3 * (Cos((TE *
(PI / 180)) / 2) * (D) / 2)) * (Sin((TE * (PI / 180)) / 2) * (D) * (Cos((TE * (PI / 180)) / 2) * (D) / 2) / 2)) /
(TE * PI / 180 / 2 * (D) ^ 2 / 4 Sin((TE * (PI / 180)) / 2) * (D) * (Cos((TE * (PI / 180)) / 2) * (D) / 2) /
2), 3)
Frame6.Visible = True
Frame7.Visible = True
RTA.Visible = True
End If
End If
End If
End If
End Sub
Private Sub D_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
17
End Sub
Private Sub DKKOKOKOK_Click()
End
End Sub
Private Sub JIJIJIJIIJIJI_Click()
Form5.PrintForm
End Sub
Private Sub JUIIJJIJIJI_Click()
Form19.Show
Unload Me
End Sub
Private Sub MKMKKMKMK_Click()
Q = ""
Y = ""
D = ""
RTA = ""
Frame6.Visible = False
Frame7.Visible = False
RTA.Visible = False
End Sub
Private Sub ÑÑÑLÑLÑL_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Y_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
18
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
19
3. FLUJO UNIFORME
3.1 SECCION RECTANGULAR
Private Sub B_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form6.Show
Else
If B = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form6.Show
Else
If S = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form6.Show
Else
If N = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form6.Show
Else
Y = Q + 10000
K = ((Q * N) / (S ^ (0.5))) ^ (1.5)
FX = (B * Y) ^ (2.5) K * (B + 2 * Y)
FY = 2.5 * B ^ (2.5) * Y ^ (1.5) K 2 * K
XN = Y (FX / FY)
If XN = Y Then
RTA = XN
20
End If
For I = 1 To 200
FX = (B * XN) ^ (2.5) K * (B + 2 * XN)
FY = 2.5 * B ^ (2.5) * XN ^ (1.5) K 2 * K
XN = XN (FX / FY)
Next I
RTA = Round(XN, 3)
Y1 = RTA
P = Round(B + 2 * RTA, 3)
P1 = P
A = Round(B * RTA, 3)
A1 = A
R = Round(A / P, 3)
V = Round(Q / A, 3)
Command1.Visible = False
Frame8.Visible = True
Frame9.Visible = True
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
Frame13.Visible = True
Image1.Visible = False
Image2.Visible = True
Label11.Visible = True
RTA.Visible = True
Y1.Visible = True
A.Visible = True
A1.Visible = True
P.Visible = True
P1.Visible = True
R.Visible = True
V.Visible = True
End If
End If
End If
End If
End Sub
Private Sub Text1_Change()
End Sub
21
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text2_Change()
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
End Sub
Private Sub DLSKFLDLFK_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KJKJKJKJKD_Click()
End
End Sub
Private Sub KLDFDFKLDFJ_Click()
Q = ""
S = ""
N = ""
B = ""
Command1.Visible = True
Frame8.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
Frame13.Visible = False
Image1.Visible = True
Image2.Visible = False
Label11.Visible = False
RTA.Visible = False
Y1.Visible = False
A.Visible = False
A1.Visible = False
P.Visible = False
P1.Visible = False
22
R.Visible = False
V.Visible = False
End Sub
Private Sub KSMKSJDKJSK_Click()
Form19.Show
Unload Me
End Sub
Private Sub LJDKFLKKL_Click()
Form6.PrintForm
End Sub
Private Sub N_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub S_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
3.2 SECCION TRAPEZOIDAL
Private Sub B_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
23
KeyAscii = 0
End If
End If
End Sub
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form7.Show
Else
If B = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form7.Show
Else
If S = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form7.Show
Else
If N = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form7.Show
Else
If Z = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16,
"ERROR DE COMPLETACION"
Form7.Show
Else
Y = Q + 10000
K = ((Q * N) / (S ^ (0.5))) ^ (1.5)
FY = (2.5 * (B * Y + Z * Y ^ 2) ^ 1.5 * (B + 2 * Z * Y)) 2 * K * (1 + Z ^ 2) ^ 0.5
XN = Y (FX / FY)
If XN = Y Then
RTA = XN
End If
For I = 1 To 200
24
FX = ((B * XN + Z * XN ^ 2) ^ (2.5)) (K * B) (2 * K * XN * (1 + Z ^ 2) ^ (0.5))
FY = (2.5 * (B * XN + Z * XN ^ 2) ^ 1.5 * (B + 2 * Z * XN)) 2 * K * (1 + Z ^ 2) ^ 0.5
XN = XN (FX / FY)
Next I
RTA = Round(XN, 3)
Y1 = RTA
A = Round((B + Z * RTA) * RTA, 3)
A1 = A
P = Round(B + 2 * RTA * (1 + Z ^ 2) ^ (0.5), 3)
P1 = P
R = Round(A / P, 3)
V = Round(Q / A, 3)
Command1.Visible = False
Frame8.Visible = True
Frame9.Visible = True
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
Frame6.Visible = True
RTA.Visible = True
A.Visible = True
P.Visible = True
R.Visible = True
V.Visible = True
Image1.Visible = False
Image2.Visible = True
Label13.Visible = True
A1.Visible = True
Y1.Visible = True
P1.Visible = True
End If
End If
End If
End If
End If
End Sub
Private Sub JKJKJKJK_Click()
Form19.Show
Unload Me
End Sub
25
Private Sub KJKJKJKJK_Click()
Form7.PrintForm
End Sub
Private Sub KJKJKJXCCD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub N_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub OKOKOKOKOKD_Click()
Q = ""
S = ""
N = ""
B = ""
Z = ""
Command1.Visible = True
Frame8.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
Frame6.Visible = False
RTA.Visible = False
A.Visible = False
P.Visible = False
R.Visible = False
V.Visible = False
Image1.Visible = True
Image2.Visible = False
Label13.Visible = False
A1.Visible = False
Y1.Visible = False
P1.Visible = False
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
26
KeyAscii = 0
End If
End If
End Sub
Private Sub S_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub SDSDSDSDSD_Click()
End
End Sub
Private Sub Z_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
3.3 SECCION TRIANGULAR
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form8.Show
Else
If Z = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form8.Show
Else
If S = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form.Show
Else
27
If N = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form8.Show
Else
Y = Q + 10000
K = ((Q * N) / (S ^ (0.5))) ^ (1.5)
FX = (Z ^ 2.5 * Y ^ 5) (2 * Y * K * (1 + Z ^ 2) ^ (0.5))
XN = Y (FX / FY)
If XN = Y Then
RTA = XN
End If
For I = 1 To 200
FX = (Z ^ 2.5 * XN ^ 5) (2 * XN * K * (1 + Z ^ 2) ^ (0.5))
FY = 5 * Z ^ 2.5 * XN ^ 4 2 * K * (1 + Z ^ 2) ^ 0.5
XN = XN (FX / FY)
Next I
RTA = Round(XN, 3)
Y1 = Round(RTA, 2)
A = Round(Z * RTA ^ 2, 3)
A1 = Round(A, 2)
P = Round(2 * RTA * (1 + Z ^ 2) ^ 0.5, 3)
P1 = Round(P, 2)
R = Round(A / P, 3)
V = Round(Q / A, 3)
Frame8.Visible = True
Frame9.Visible = True
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
Frame13.Visible = True
RTA.Visible = True
A.Visible = True
P.Visible = True
R.Visible = True
V.Visible = True
28
Image1.Visible = False
Image2.Visible = True
P1.Visible = True
Y1.Visible = True
A1.Visible = True
Label12.Visible = True
Command1.Visible = False
End If
End If
End If
End If
End Sub
Private Sub JIJIJIIJI_Click()
Form8.PrintForm
End Sub
Private Sub JKJKJKJ_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KJKJSKDSD_Click()
Form19.Show
Unload Me
End Sub
Private Sub LKKLKLK_Click()
End
End Sub
Private Sub MKJKJKJK_Click()
Q = ""
S = ""
N = ""
Z = ""
Frame8.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
Frame13.Visible = False
RTA.Visible = False
A.Visible = False
P.Visible = False
R.Visible = False
V.Visible = False
29
Image1.Visible = True
Image2.Visible = False
P1.Visible = False
Y1.Visible = False
A1.Visible = False
Label12.Visible = False
Command1.Visible = True
End Sub
Private Sub N_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub S_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Z_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
30
4. BORDE LIBRE
4.1 BORDE LIBRE
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form11.Show
Else
If Y = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form11.Show
Else
RTAC = Round((CCur(Q) * 35.314667 20) / 2980 + 1.5, 4)
F = Round((CCur(RTAC) * CCur(Y) * 3.2808) ^ (0.5) * 0.3048, 3)
YT = Round(CCur(Y) + CCur(F), 3)
F1 = F
YT1 = YT
Y1 = Y
Frame8.Visible = True
Frame11.Visible = True
Frame12.Visible = True
F.Visible = True
YT.Visible = True
F1.Visible = True
YT1.Visible = True
Y1.Visible = True
Image1.Visible = True
Image2.Visible = False
Label3.Visible = False
End If
End If
End Sub
Private Sub DLKLDFKLDKF_Click()
Form11.PrintForm
End Sub
Private Sub JKJDLLOL_Click()
Q = ""
Y = ""
Frame8.Visible = False
Frame11.Visible = False
Frame12.Visible = False
Image1.Visible = False
Image2.Visible = True
31
F1.Visible = False
YT1.Visible = False
Y1.Visible = False
Label3.Visible = True
End Sub
Private Sub JKSJKDJSK_Click()
Form19.Show
Unload Me
End Sub
Private Sub LKLKKL_Click()
End
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub SFGGHGHJ_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Y_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
32
5. ELEMENTOS GEOMETRICOS
5.1 SECCION RECTANGULAR
Private Sub B_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Command1_Click()
If B = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form15.Show
Else
If Y = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form15.Show
Else
A = Round(B * Y, 3)
A11 = A
P = Round(B + 2 * Y, 3)
P1 = P
R = Round((B * Y) / (B + 2 * Y), 3)
T = Round(B, 3)
T1 = T
D = Round(Y, 3)
D1 = D
Z = Round(B * Y ^ 1.5, 3)
Frame8.Visible = True
Frame5.Visible = True
Frame6.Visible = True
Frame9.Visible = True
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
A.Visible = True
A11.Visible = True
P.Visible = True
P1.Visible = True
R.Visible = True
33
T.Visible = True
T1.Visible = True
D.Visible = True
D1.Visible = True
Z.Visible = True
Image1.Visible = False
Image2.Visible = True
Label5.Visible = False
Label3.Visible = False
Label10.Visible = True
End If
End If
End Sub
Private Sub GTYTYTYTYT_Click()
End
End Sub
Private Sub JKDFJKDJFKDJ_Click()
B = ""
Y = ""
Frame8.Visible = False
Frame5.Visible = False
Frame6.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
A.Visible = False
A11.Visible = False
P.Visible = False
P1.Visible = False
R.Visible = False
T.Visible = False
T1.Visible = False
D.Visible = False
D1.Visible = False
Z.Visible = False
Image1.Visible = True
Image2.Visible = False
Label5.Visible = True
Label3.Visible = True
Label10.Visible = False
End Sub
Private Sub LKFLDKFLDKLF_Click()
Form19.Show
Unload Me
End Sub
34
Private Sub LSDKDFLDÑKFLDK_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub XKFJDKLFJKLSDJFKL_Click()
Form15.PrintForm
End Sub
Private Sub Y_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
5.2 SECCION TRAPEZOIDAL
Private Sub B_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Command1_Click()
If B = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form16.Show
Else
If Y = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form16.Show
Else
If Z = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form16.Show
Else
35
A = Round((B + Z * Y) * Y, 3)
A3 = A
P = Round(B + 2 * Y * Sqr(1 + Z ^ 2) * B + 2 * Y, 3)
P2 = P
R = Round((B + Z * Y) * Y / (B + 2 * Y * ((1 + Z ^ 2) ^ (0.5))), 3)
T = Round(B + (2 * Z * Y), 3)
T2 = Round(T, 3)
D = Round(((B + Z * Y) * Y) / (B + 2 * Z * Y), 3)
D2 = D
Z1 = Round(((B + Z * Y) * Y) ^ 1.5 / (B + (2 * Z * Y)) ^ (0.5), 3)
Z2 = Z1
Frame8.Visible = True
Frame9.Visible = True
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
Frame5.Visible = True
Frame6.Visible = True
A.Visible = True
A3.Visible = True
P.Visible = True
P2.Visible = True
R.Visible = True
T.Visible = True
T2.Visible = True
D.Visible = True
D2.Visible = True
Z1.Visible = True
Image1.Visible = False
Image2.Visible = True
Label3.Visible = False
Label10.Visible = False
Label13.Visible = False
Label5.Visible = False
Label14.Visible = True
End If
End If
End If
End Sub
Private Sub JKJSUYYYY_Click()
End
End Sub
Private Sub KDJFDJKFJDK_Click()
Form19.Show
Unload Me
End Sub
Private Sub KLDKDFKSDFKDLF_Click()
36
MDIForm1.Show
Unload Me
End Sub
Private Sub KSJSKKSKSKSKSSSS_Click()
B = ""
Y = ""
Z = ""
Frame8.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
Frame5.Visible = False
Frame6.Visible = False
A.Visible = False
A3.Visible = False
P.Visible = False
P2.Visible = False
R.Visible = False
T.Visible = False
T2.Visible = False
D.Visible = False
D2.Visible = False
Z1.Visible = False
Image1.Visible = True
Image2.Visible = False
Label3.Visible = True
Label10.Visible = True
Label13.Visible = True
Label5.Visible = True
Label14.Visible = False
End Sub
Private Sub KSKSDKSDSD_Click()
Form16.PrintForm
End Sub
Private Sub Y_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Z_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
37
Beep
KeyAscii = 0
End If
End If
End Sub
5.3 SECCION TRIANGULAR
Private Sub Command1_Click()
If K = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form17.Show
Else
If Y = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form17.Show
Else
A = Round(K * Y ^ 2, 3)
A3 = A
P = Round(2 * Y * (1 + K ^ 2) ^ (0.5), 3)
P2 = P
R = Round((K * Y) / (2 * (1 + K ^ 2) ^ (0.5)), 3)
T = Round(2 * K * Y, 3)
T2 = T
D = Round((1 / 2) * (Y), 3)
Z = Round(((2) ^ (0.5) / 2) * (K * Y ^ 2.5), 3)
Label3.Visible = False
Label5.Visible = False
Label10.Visible = False
Label15.Visible = True
Frame5.Visible = True
Frame6.Visible = True
Frame8.Visible = True
Frame9.Visible = True
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
A.Visible = True
A3.Visible = True
P.Visible = True
P2.Visible = True
R.Visible = True
T.Visible = True
T2.Visible = True
D.Visible = True
38
Z.Visible = True
Image1.Visible = False
Image2.Visible = True
End If
End If
End Sub
Private Sub JKSJDSJDJSJKSJD_Click()
K = ""
Y = ""
Label3.Visible = True
Label5.Visible = True
Label10.Visible = True
Label15.Visible = False
Frame5.Visible = False
Frame6.Visible = False
Frame8.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
A.Visible = False
A3.Visible = False
P.Visible = False
P2.Visible = False
R.Visible = False
T.Visible = False
T2.Visible = False
D.Visible = False
Z.Visible = False
Image1.Visible = True
Image2.Visible = False
End Sub
Private Sub JSKLJDSJDKSJDS_Click()
Form17.PrintForm
End Sub
Private Sub K_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
39
End Sub
Private Sub KJKCDJKJKDJK_Click()
Form19.Show
Unload Me
End Sub
Private Sub KSKDJSJDJDJJJJJ_Click()
End
End Sub
Private Sub LKKLKLKLKLK_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Y_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
5.4 SECCION CIRCULAR
Private Sub Command1_Click()
If D = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form18.Show
Else
If Y = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form18.Show
Else
If Y > D Then
MsgBox "EL (Y) DEBE SER MENOR QUE EL DIAMETRO", 16,
"ERROR DE COMPLETACION"
Form18.Show
Else
40
If Y = D Then
MsgBox "EL (Y) DEBE SER MENOR QUE EL DIAMETRO", 16,
"ERROR DE COMPLETACION"
Form18.Show
Else
x = 1 ((2 * Y) / D)
PI = 3.14159265359
TE = Atn(x / ((1 x ^ 2) ^ 0.5))
TE = (PI / 2) TE
TE = 2 * TE
A = Round((1 / 8) * (TE Sin(TE)) * D ^ 2, 3)
A1 = A
P = Round((1 / 2) * TE * D, 3)
P2 = P
R = Round((1 / 4) * (1 (Sin(TE) / TE)) * (D), 3)
T = Round(2 * (Y * (D Y)) ^ (0.5), 3)
T1 = T
D1 = Round(A / T, 3)
Z = Round(A * (D1) ^ 0.5, 3)
Frame5.Visible = True
Frame6.Visible = True
Frame8.Visible = True
Frame9.Visible = True
Frame10.Visible = True
Frame11.Visible = True
Frame12.Visible = True
A.Visible = True
A1.Visible = True
P.Visible = True
P2.Visible = True
R.Visible = True
T.Visible = True
T1.Visible = True
D1.Visible = True
Z.Visible = True
Image1.Visible = False
Image2.Visible = True
Label3.Visible = False
Label5.Visible = False
Label13.Visible = True
End If
End If
End If
End If
End Sub
Private Sub D_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
41
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub HHHFFFF_Click()
End
End Sub
Private Sub KSLKDSKLDK_Click()
D = ""
Y = ""
Frame5.Visible = False
Frame6.Visible = False
Frame8.Visible = False
Frame9.Visible = False
Frame10.Visible = False
Frame11.Visible = False
Frame12.Visible = False
A.Visible = False
A1.Visible = False
P.Visible = False
P2.Visible = False
R.Visible = False
T.Visible = False
T1.Visible = False
D1.Visible = False
Z.Visible = False
Image1.Visible = True
Image2.Visible = False
Label3.Visible = True
Label5.Visible = True
Label13.Visible = False
End Sub
Private Sub LKLKBNBBBB_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LLSLDSLSSSS_Click()
Form18.PrintForm
End Sub
Private Sub Y_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
42
KeyAscii = 0
End If
End If
End Sub
Private Sub YHHHHHH_Click()
Form19.Show
Unload Me
End Sub
43
6. DISEÑO DE CANALES
6.1 DISEÑO DE CANALES REVESTIDOS
6.1.1 SECCION HIDRAULICA ÓPTIMA
FORMULARIO NUMERO 1.
Private Sub Command1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form20.Show
Else
If V = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form20.Show
Else
If L = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form20.Show
Else
If E = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form20.Show
Else
If Z = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form20.Show
Else
A = Round((Q / V), 3)
Form21.A = Round((Q / V), 3)
Y = Round((A / (Z + 2 * (1 + Z ^ 2) ^ 0.5)) ^ 0.5, 3)
44
Form21.Y = Round((A / (Z + 2 * (1 + Z ^ 2) ^ 0.5)) ^ 0.5, 3)
B = Round((A / Y) (Z * Y), 3)
Form21.B = Round((A / Y) (Z * Y), 3)
BPP = Round(B + 2 * E * Tan((Atn(1 / Z)) / 2), 3)
Form21.BPP = Round(B + 2 * E * Tan((Atn(1 / Z)) / 2), 3)
BP = Round((CCur(BPP) + CCur(B)) / 2, 3)
Form21.BP = Round((CCur(BPP) + CCur(B)) / 2, 3)
RTAC = Round((CCur(Q) * 35.314667 20) / 2980 + 1.5, 3)
F = Round((CCur(RTAC) * CCur(Y) * 3.2808) ^ (0.5) * 0.3048, 3)
Form21.F = Round((CCur(RTAC) * CCur(Y) * 3.2808) ^ (0.5) * 0.3048, 3)
LRE = Round(F 0.3048, 3)
Form21.LRE = Round(F 0.3048, 3)
VEX = Round((CCur(BPP) + CCur(Z) * (CCur(E) + CCur(Y) + CCur(F))) * ((CCur(E) + CCur(Y) +
CCur(F))), 3)
Form21.VEX = Round((CCur(BPP) + CCur(Z) * (CCur(E) + CCur(Y) + CCur(F))) * ((CCur(E) +
CCur(Y) + CCur(F))), 3)
VRE = Round((CCur(BP) + 2 * ((E / 2) + Y + CCur(LRE)) * Sqr(1 + Z ^ 2)) * E * L, 3)
Form21.VRE = Round((CCur(BP) + 2 * ((E / 2) + Y + CCur(LRE)) * Sqr(1 + Z ^ 2)) * E * L, 3)
Form21.Label12 = Round(L, 3)
Form21.Label12.Visible = True
Form21.Label7 = Round(B, 3)
Form21.Label7.Visible = True
Form21.Label11 = Round(F, 3)
Form21.Label11.Visible = True
Form21.Label14 = Round(LRE, 3)
Form21.Label14.Visible = True
Form21.Label19 = Round(Y, 3)
Form21.Label19.Visible = True
Form21.Label17 = Round(E, 3)
Form21.Label17.Visible = True
Form21.Label15 = Round(BP, 3)
Form21.Label15.Visible = True
Form21.Label16 = Round(BPP, 3)
Form21.Label16.Visible = True
Form21.Label13 = Round((CCur(Y) + CCur(F) + CCur(E)), 3)
Form21.Label13.Visible = True
Form21.Label18 = Round((E / 2), 3)
Form21.Label18.Visible = True
Form23.L = Form20.L
45
Form21.Show
Unload Me
End If
End If
End If
End If
End If
End Sub
Private Sub DFSDFSDFEEE_Click()
End
End Sub
Private Sub DLKFLKFKSDL_Click()
Q = ""
V = ""
L = ""
E.Visible = False
Z.Visible = False
End Sub
Private Sub E_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub FDSDFSDFDSFSD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KLSDKFDLSKFLÑDS_Click()
Form20.PrintForm
End Sub
Private Sub L_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
46
Private Sub Label13_Click()
Form21.Show
End Sub
Private Sub LDKSLFKLÑSKFÑSDL_Click()
Form19.Show
Unload Me
End Sub
Private Sub Option1_Click()
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form20.Show
Else
E = ""
E.Visible = True
End If
End Sub
Private Sub Option10_Click()
If Option10 = True Then
Z = 3
End If
Z.Visible = True
End Sub
Private Sub Option11_Click()
Z = ""
Z.Visible = True
End Sub
Private Sub Option2_Click()
If Option2 = True Then
Z = 0.25
End If
Z.Visible = True
End Sub
Private Sub Option3_Click()
If Option3 = True Then
Z = 0.5
End If
Z.Visible = True
End Sub
Private Sub Option4_Click()
47
If Option4 = True Then
Z = 0.5
End If
Z.Visible = True
End Sub
Private Sub Option5_Click()
If Option5 = True Then
Z = 1
End If
Z.Visible = True
End Sub
Private Sub Option6_Click()
If Option6 = True Then
Z = 1
End If
Z.Visible = True
End Sub
Private Sub Option7_Click()
If Option7 = True Then
Z = 1.5
End If
Z.Visible = True
End Sub
Private Sub Option8_Click()
If Option8 = True Then
Z = 2
End If
Z.Visible = True
End Sub
Private Sub Option9_Click()
If Option9 = True Then
Z = 3
End If
Z.Visible = True
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub REFORZADO_Click()
If Q = "" Then
48
MsgBox "FALTA CAUDAL (Q) POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form20.Show
Else
If REFORZADO = True Then
If Q >= 0 And Q <= 14.2 Then
E = 0.089
End If
If Q > 14.2 And Q <= 56.7 Then
E = 0.102
End If
If Q > 56.7 Then
E = 0.114
End If
E.Visible = True
End If
End If
End Sub
Private Sub SIMPLE_Click()
If Q = "" Then
MsgBox "FALTA CAUDAL (Q) POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form20.Show
Else
If SIMPLE = True Then
If Q >= 0 And Q <= 5.7 Then
E = 0.051
End If
If Q > 5.7 And Q <= 14.2 Then
E = 0.064
End If
If Q > 14.2 And Q <= 42.6 Then
E = 0.076
End If
If Q > 42.6 And Q <= 99.3 Then
E = 0.089
End If
If Q > 99.3 Then
E = 0.102
End If
E.Visible = True
End If
End If
49
End Sub
Private Sub V_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Z_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
FORMULARIO NÚMERO 2
Private Sub Command1_Click()
Form23.Command4.Visible = False
Form23.VEX = VEX
Form23.VRE = VRE
Form24.Frame27.Visible = False
Form24.Image2.Visible = False
Form23.Show
Unload Me
End Sub
Private Sub Command2_Click()
MDIForm1.Show
Unload Me
End Sub
FORMULARIO NUMERO 3
Private Sub CAP1_Click()
EXP3.Visible = False
TEX3.Visible = False
REN3.Visible = False
TEX2.Visible = False
REN2.Visible = False
50
EXP2.Visible = False
EXC2.Visible = False
EXC3.Visible = False
If CAP1 = True Then
TEX1.Visible = True
REN1.Visible = True
EXP1.Visible = True
EXC1.Visible = True
End If
End Sub
Private Sub CAP2_Click()
TEX1.Visible = False
REN1.Visible = False
TEX3.Visible = False
REN3.Visible = False
EXP3.Visible = False
EXP1.Visible = False
EXC1.Visible = False
EXC3.Visible = False
If CAP2 = True Then
TEX1.Visible = True
REN1.Visible = True
TEX2.Visible = True
REN2.Visible = True
EXP1.Visible = True
EXP2.Visible = True
EXC1.Visible = True
EXC2.Visible = True
End If
End Sub
Private Sub CAP3_Click()
If CAP3 = True Then
TEX1.Visible = True
REN1.Visible = True
TEX2.Visible = True
REN2.Visible = True
TEX3.Visible = True
REN3.Visible = True
EXP1.Visible = True
EXP2.Visible = True
EXP3.Visible = True
51
EXC1.Visible = True
EXC2.Visible = True
EXC3.Visible = True
End If
End Sub
Private Sub Command1_Click()
End
Unload Me
End Sub
Private Sub Command2_Click()
'Form21.Show
'Unload Me
End Sub
Private Sub Command3_Click()
If COSEX = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If COSTRANS = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If VOLVIA = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If COSREV = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If CAP1 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
Form24.COS1EXC = Round(CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100)), 3)
Form24.COSTOEXC = Round(CCur(Form24.COS1EXC), 3)
52
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = Round(CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L)
* CCur((EXC1 / 100)), 3)
Form24.COSTOTRA = Round(CCur(Form24.COS1TRA), 3)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1), 3)
Form24.COSREVT = Round(CCur(VRE) * CCur(COSREV), 3)
Form24.TOTAL = Round(CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA) +
CCur(Form24.COSREVT), 3)
End If
If CAP2 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
UNI2 = (CCur(COSEX) / CCur(REN2))
Form24.COS1EXC = CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100))
Form24.COS2EXC = CCur(VEX) * CCur(UNI2) * CCur(L) * CCur((EXC2 / 100))
Form24.COSTOEXC = CCur(Form24.COS1EXC) + CCur(Form24.COS2EXC)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC1 / 100))
Form24.COS2TRA = CCur(VEX) * (1 + CCur((EXP2 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC2 / 100))
Form24.COSTOTRA = CCur(Form24.COS1TRA) + CCur(Form24.COS2TRA)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIA2 = Round(VEX * L * (EXC2 / 100) * (1 + (EXP2 / 100)) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1) + CCur(Form24.VIA2), 3)
Form24.COSREVT = CCur(VRE) * CCur(COSREV)
Form24.TOTAL = CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA) +
CCur(Form24.COSREVT)
End If
If CAP3 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
UNI2 = (CCur(COSEX) / CCur(REN2))
UNI3 = (CCur(COSEX) / CCur(REN3))
Form24.COS1EXC = CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100))
Form24.COS2EXC = CCur(VEX) * CCur(UNI2) * CCur(L) * CCur((EXC2 / 100))
53
Form24.COS3EXC = CCur(VEX) * CCur(UNI3) * CCur(L) * CCur((EXC3 / 100))
Form24.COSTOEXC = CCur(Form24.COS1EXC) + CCur(Form24.COS2EXC) +
CCur(Form24.COS3EXC)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC1 / 100))
Form24.COS2TRA = CCur(VEX) * (1 + CCur((EXP2 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC2 / 100))
Form24.COS3TRA = CCur(VEX) * (1 + CCur((EXP3 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC3 / 100))
Form24.COSTOTRA = CCur(Form24.COS1TRA) + CCur(Form24.COS2TRA) +
CCur(Form24.COS3TRA)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIA2 = Round(VEX * L * (EXC2 / 100) * (1 + (EXP2 / 100)) / CCur(VOLVIA), 3)
Form24.VIA3 = Round(VEX * L * (EXC3 / 100) * (1 + (EXP3 / 100)) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1) + CCur(Form24.VIA2) + CCur(Form24.VIA3), 3)
Form24.COSREVT = CCur(VRE) * CCur(COSREV)
Form24.TOTAL = CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA) +
CCur(Form24.COSREVT)
End If
If CAP1 = True Then
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
End If
If CAP2 = True Then
Form24.Frame12.Visible = True
Form24.Frame4.Visible = True
Form24.Frame6.Visible = True
Form24.COS2EXC.Visible = True
Form24.COS2TRA.Visible = True
Form24.VIA2.Visible = True
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
54
End If
If CAP3 = True Then
Form24.Frame12.Visible = True
Form24.Frame4.Visible = True
Form24.Frame6.Visible = True
Form24.COS2EXC.Visible = True
Form24.COS2TRA.Visible = True
Form24.VIA2.Visible = True
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
Form24.Frame10.Visible = True
Form24.Frame2.Visible = True
Form24.Frame9.Visible = True
Form24.COS3EXC.Visible = True
Form24.COS3TRA.Visible = True
Form24.VIA3.Visible = True
End If
Form24.Show
Unload Me
End If
End If
End If
End If
End Sub
Private Sub Command4_Click()
If COSEX = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If COSTRANS = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If VOLVIA = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
55
If CAP1 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
Form24.COS1EXC = Round(CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100)), 3)
Form24.COSTOEXC = Round(CCur(Form24.COS1EXC), 3)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = Round(CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L)
* CCur((EXC1 / 100)), 3)
Form24.COSTOTRA = Round(CCur(Form24.COS1TRA), 3)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1), 3)
Form24.TOTAL = Round(CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA), 3)
End If
If CAP2 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
UNI2 = (CCur(COSEX) / CCur(REN2))
Form24.COS1EXC = CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100))
Form24.COS2EXC = CCur(VEX) * CCur(UNI2) * CCur(L) * CCur((EXC2 / 100))
Form24.COSTOEXC = CCur(Form24.COS1EXC) + CCur(Form24.COS2EXC)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC1 / 100))
Form24.COS2TRA = CCur(VEX) * (1 + CCur((EXP2 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC2 / 100))
Form24.COSTOTRA = CCur(Form24.COS1TRA) + CCur(Form24.COS2TRA)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIA2 = Round(VEX * L * (EXC2 / 100) * (1 + (EXP2 / 100)) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1) + CCur(Form24.VIA2), 3)
Form24.TOTAL = CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA)
End If
If CAP3 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
56
UNI2 = (CCur(COSEX) / CCur(REN2))
UNI3 = (CCur(COSEX) / CCur(REN3))
Form24.COS1EXC = CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100))
Form24.COS2EXC = CCur(VEX) * CCur(UNI2) * CCur(L) * CCur((EXC2 / 100))
Form24.COS3EXC = CCur(VEX) * CCur(UNI3) * CCur(L) * CCur((EXC3 / 100))
Form24.COSTOEXC = CCur(Form24.COS1EXC) + CCur(Form24.COS2EXC) +
CCur(Form24.COS3EXC)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC1 / 100))
Form24.COS2TRA = CCur(VEX) * (1 + CCur((EXP2 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC2 / 100))
Form24.COS3TRA = CCur(VEX) * (1 + CCur((EXP3 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC3 / 100))
Form24.COSTOTRA = CCur(Form24.COS1TRA) + CCur(Form24.COS2TRA) +
CCur(Form24.COS3TRA)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIA2 = Round(VEX * L * (EXC2 / 100) * (1 + (EXP2 / 100)) / CCur(VOLVIA), 3)
Form24.VIA3 = Round(VEX * L * (EXC3 / 100) * (1 + (EXP3 / 100)) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1) + CCur(Form24.VIA2) + CCur(Form24.VIA3), 3)
Form24.TOTAL = CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA)
End If
If CAP1 = True Then
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
End If
If CAP2 = True Then
Form24.Frame12.Visible = True
Form24.Frame4.Visible = True
Form24.Frame6.Visible = True
Form24.COS2EXC.Visible = True
Form24.COS2TRA.Visible = True
Form24.VIA2.Visible = True
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
57
End If
If CAP3 = True Then
Form24.Frame12.Visible = True
Form24.Frame4.Visible = True
Form24.Frame6.Visible = True
Form24.COS2EXC.Visible = True
Form24.COS2TRA.Visible = True
Form24.VIA2.Visible = True
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
Form24.Frame10.Visible = True
Form24.Frame2.Visible = True
Form24.Frame9.Visible = True
Form24.COS3EXC.Visible = True
Form24.COS3TRA.Visible = True
Form24.VIA3.Visible = True
End If
Form24.Show
Unload Me
End If
End If
End If
End Sub
Private Sub COSEX_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub COSREV_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
58
Private Sub COSTRANS_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXC1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXC2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXC3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXP1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXP2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
59
Private Sub EXP3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub REN1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub REN2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub REN3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub VOLVIA_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
FORMULARIO NUMERO 4
Private Sub Command1_Click()
MDIForm1.Show
Unload Me
End Sub
60
Private Sub Command2_Click()
COSTOEXC = CCur(COS1EXC) + CCur(COS2EXC)
COSTOTRA = CCur(COS1TRA) + CCur(COS2TRA)
End Sub
Private Sub Image1_Click()
Form25.Show
Unload Me
End Sub
Private Sub Image2_Click()
Form28.Show
Unload Me
End Sub
FORMULARIO NUMERO 5
Private Sub Command1_Click()
End Sub
Private Sub Label1_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
End Sub
6.2 DISEÑO DE CANALES NO REVESTIDOS
6.2.1 VELOCIDAD MAXIMA PERMISIBLE
FORMULARIO NUMERO 1
Private Sub Comborugosidad_Click()
Set base = OpenDatabase("C:\Archivos de programa\DISCAN\CRAK\manning.mdb")
Set tabla = base.OpenRecordset("select * from manning where [Tipo de Canal y descripcion]='" &
Comborugosidad.Text & "'")
rugosidad = tabla("Valor del coeficiente de Rugosidad n")
TEXTRUGOSIDAD.Text = rugosidad
End Sub
61
Private Sub Comborugosidad_DropDown()
Set base = OpenDatabase("C:\Archivos de programa\DISCAN\CRAK\manning.mdb")
Set tabla = base.OpenRecordset("manning")
Comborugosidad.Clear
For B = 1 To tabla.RecordCount
Comborugosidad.AddItem tabla("Tipo de Canal y descripcion")
tabla.MoveNext
Next B
End Sub
Private Sub Command1_Click()
If TEXTRUGOSIDAD = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form26.Show
Else
If Q = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form26.Show
Else
If S = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form26.Show
Else
If L = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form26.Show
Else
If Z = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form26.Show
Else
If V = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form26.Show
Else
Form27.R = Round(((V * CCur(TEXTRUGOSIDAD)) / S ^ 0.5) ^ (1.5), 5)
62
Form27.A = Round(Q / V, 5)
Form27.P = Round(Form27.A / Form27.R, 5)
P = CCur(Form27.P)
A = CCur(Form27.A)
If Form27.Y1 < 0 Then
MsgBox "PROFUNDIDAD Y1 NEGATIVA, HAY UNA SOLA OPCION PARA LA
PROFUNDIDAD", 16, "ERROR DE COMPLETACION"
Form26.Show
Form27.Y1 = Form27.Y2
Else
If Form27.Y2 < 0 Then
MsgBox "PROFUNDIDAD Y2 NEGATIVA, HAY UNA SOLA OPCION PARA LA
PROFUNDIDAD", 16, "ERROR DE COMPLETACION"
Form26.Show
Form27.Y2 = Form27.Y1
End If
End If
If Form27.Y1 > 0 Then
Form27.FR1 = CCur(Round(CCur(V) / ((9.81 * CCur(Form27.Y1)) ^ 0.5), 4))
End If
If Form27.Y2 > 0 Then
Form27.FR2 = CCur(Round(CCur(V) / ((9.81 * CCur(Form27.Y2)) ^ 0.5), 4))
End If
If Form27.FR1 > 1 Then
Form27.FRO1 = "SUPER CRITICO"
End If
If Form27.FR1 < 1 Then
Form27.FRO1 = "SUB CRITICO"
End If
If Form27.FR1 = 1 Then
Form27.FRO1 = "CRITICO"
End If
If Form27.FR2 > 1 Then
Form27.FRO2 = "SUPER CRITICO"
End If
63
If Form27.FR2 < 1 Then
Form27.FRO2 = "SUB CRITICO"
End If
If Form27.FR2 = 1 Then
Form27.FRO2 = "CRITICO"
End If
Form27.Show
End If
End If
End If
End If
End If
End If
End Sub
Private Sub Command2_Click()
R = Round(((V * TEXTRUGOSIDAD) / S ^ 0.5) ^ 1.5, 5)
A = Round(Q / V, 5)
P = Round(A / R, 5)
End Sub
Private Sub DDDDDDDD_Click()
V = ""
Q = ""
S = ""
L = ""
Z = ""
TEXTRUGOSIDAD = ""
End Sub
Private Sub GHJGHJGHJGHJ_Click()
Form26.PrintForm
End Sub
Private Sub KLCVMBKBKGKL_Click()
End
End Sub
Private Sub KLDKLFKSDFKSDÑL_Click()
Form19.Show
Unload Me
End Sub
64
Private Sub KLJFKJFDKLGF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Option1_Click()
V = ""
V1 = ""
End Sub
Private Sub Label13_Click()
End Sub
Private Sub L_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Option10_Click()
If Option10 = True Then
Z = 3
End If
Z.Visible = True
End Sub
Private Sub Option11_Click()
Z = ""
Z.Visible = True
End Sub
Private Sub Option12_Click()
If Option12 = True Then
V1 = "0.02 0.533"
End If
End Sub
Private Sub Option13_Click()
If Option13 = True Then
V1 = "0.02 0.610"
End If
65
End Sub
Private Sub Option14_Click()
If Option14 = True Then
V1 = "0.02 0.457"
End If
End Sub
Private Sub Option15_Click()
If Option15 = True Then
V1 = "0.02 0.762"
End If
End Sub
Private Sub Option16_Click()
If Option16 = True Then
V1 = "0.025 1.140"
End If
End Sub
Private Sub Option17_Click()
If Option17 = True Then
V1 = "0.02 0.762"
End If
End Sub
Private Sub Option18_Click()
If Option18 = True Then
V1 = "0.03 1.140"
End If
End Sub
Private Sub Option19_Click()
If Option19 = True Then
V1 = "0.02 0.533"
End If
End Sub
Private Sub Option2_Click()
If Option2 = True Then
Z = 0.25
End If
Z.Visible = True
66
End Sub
Private Sub Option20_Click()
If Option20 = True Then
V1 = "0.035 1.22"
End If
End Sub
Private Sub Option21_Click()
If Option21 = True Then
V1 = "0.02 0.610"
End If
End Sub
Private Sub Option26_Click()
If Option26 = True Then
V1 = "0.035 1.22"
End If
End Sub
Private Sub Option28_Click()
If Option28 = True Then
V1 = " 0.02 0.457 "
End If
End Sub
Private Sub Option29_Click()
If Option29 = True Then
VI = "0.025 1.22"
End If
End Sub
Private Sub Option3_Click()
If Option3 = True Then
Z = 0.5
End If
Z.Visible = True
End Sub
Private Sub Option30_Click()
If Option30 = True Then
67
V1 = "0.02 0.610"
End If
End Sub
Private Sub Option31_Click()
If Option31 = True Then
V1 = "0.02 0.533"
End If
End Sub
Private Sub Option32_Click()
If Option32 = True Then
V1 = "0.02 0.610"
End If
End Sub
Private Sub Option33_Click()
If Option33 = True Then
V1 = "0.02 0.762"
End If
End Sub
Private Sub Option34_Click()
If Option34 = True Then
V1 = "0.025 1.22"
End If
End Sub
Private Sub Option35_Click()
If Option35 = True Then
V1 = "0.025 1.140"
End If
End Sub
Private Sub Option36_Click()
If Option36 = True Then
V1 = "0.02 0.762"
End If
End Sub
Private Sub Option37_Click()
If Option37 = True Then
V1 = "0.030 1.140"
End If
End Sub
Private Sub Option38_Click()
If Option38 = True Then
V1 = "0.035 1.22"
End If
68
End Sub
Private Sub Option4_Click()
If Option4 = True Then
Z = 0.5
End If
Z.Visible = True
End Sub
Private Sub Option40_Click()
V = ""
V1 = ""
End Sub
Private Sub Option5_Click()
If Option5 = True Then
Z = 1
End If
Z.Visible = True
End Sub
Private Sub Option6_Click()
If Option6 = True Then
Z = 1
End If
Z.Visible = True
End Sub
Private Sub Option7_Click()
If Option7 = True Then
Z = 1.5
End If
Z.Visible = True
End Sub
Private Sub Option8_Click()
If Option8 = True Then
Z = 2
End If
Z.Visible = True
End Sub
Private Sub Option9_Click()
If Option9 = True Then
Z = 3
End If
Z.Visible = True
End Sub
Private Sub Q_KeyPress(KeyAscii As Integer)
69
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub S_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub TEXTRUGOSIDAD_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub V_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Z_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
70
FORMULARIO NUMERO 2
Private Sub Command1_Click()
Form23.Show
Form23.Frame13.Visible = False
Form23.Frame15.Visible = False
Form23.COSREV.Visible = False
Form23.Command3.Visible = False
Form23.VEX = (u / Form26.L)
Form23.L = Form26.L
Form24.Frame21.Visible = False
Form24.Frame22.Visible = False
Form24.COSREVT.Visible = False
Form24.Frame26.Visible = False
Form24.Image1.Visible = False
Unload Me
End Sub
Private Sub Command2_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub FFGFGFGF_Click()
End
End Sub
Private Sub KLDKLJKLJFJGKFD_Click()
Form27.PrintForm
End Sub
Private Sub LLKFLÑKGF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LÑDKDLFKLDS_Click()
Form19.Show
Unload Me
End Sub
Private Sub Option1_Click()
If Option1 = True Then
R = Round(((Form26.V * Form26.TEXTRUGOSIDAD) / Form26.S ^ 0.5) ^ 1.5,
3)
A = Round(Form26.Q / Form26.V, 3)
71
P = Round(A / R, 3)
B = Round((A / Y1) (2 * Y1), 3)
If B < 0 Then
MsgBox "EL CANAL NO PUEDE SER TRAPEZOIDAL,
SERA UN CANAL TRIANGULAR DE TALUD (z) Y PROFUNDIDAD DE FLUJO (y1)", 16,
"AYUDA DE DISEÑO"
Form27.Show
End If
Frame12.Visible = False
Y2.Visible = False
FRO2.Visible = False
Frame11.Visible = False
FR2.Visible = False
Frame4.Visible = True
B.Visible = True
P.Visible = True
Frame9.Visible = True
A.Visible = True
Frame2.Visible = True
R.Visible = True
Frame5.Visible = True
Frame3.Visible = True
Y1.Visible = True
FRO1.Visible = True
Frame10.Visible = True
FR1.Visible = True
D = Round(((B + Form26.Z * Y1) * Y1) / (B + 2 * Form26.Z * Y1), 3)
D.Visible = True
Frame14.Visible = True
c = (Form26.Q * 35.314667 20) / 2980 + 1.5
F = Round((c * Y1 * 3.2808) ^ (0.5) * 0.3048, 3)
F.Visible = True
Frame6.Visible = True
T = Round(B + (2 * Form26.Z * Y1), 3)
Frame8.Visible = True
T.Visible = True
Frame7.Visible = True
m = CCur(Form26.Z)
u = Round((CCur(B) + 2 * CCur(m) * (CCur(Y1) + CCur(F)) + CCur(B)) / 2 *
(CCur(Y1) + CCur(F)) * CCur(Form26.L), 3)
End If
End Sub
Private Sub Option2_Click()
72
If Option2 = True Then
R = Round(((Form26.V * Form26.TEXTRUGOSIDAD) / Form26.S ^ 0.5) ^ 1.5,
3)
A = Round(Form26.Q / Form26.V, 3)
P = Round(A / R, 3)
B = Round((A / Y2) (2 * Y2), 3)
If B < 0 Then
MsgBox "EL CANAL NO PUEDE SER TRAPEZOIDAL, SERA UN
CANAL TRIANGULAR DE TALUD (z) Y PROFUNDIDAD DE FLUJO (y2)", 16, "AYUDA DE
DISEÑO"
Form27.Show
End If
Frame3.Visible = False
Y1.Visible = False
FRO1.Visible = False
Frame10.Visible = False
FR1.Visible = False
Frame12.Visible = True
Y2.Visible = True
FRO2.Visible = True
Frame11.Visible = True
FR2.Visible = True
R.Visible = True
Frame5.Visible = True
Frame4.Visible = True
B.Visible = True
P.Visible = True
Frame9.Visible = True
A.Visible = True
Frame2.Visible = True
D = Round(((B + Form26.Z * Y2) * Y2) / (B + 2 * Form26.Z * Y2), 3)
D.Visible = True
Frame14.Visible = True
c = (Form26.Q * 35.314667 20) / 2980 + 1.5
F = Round((c * Y2 * 3.2808) ^ (0.5) * 0.3048, 3)
F.Visible = True
Frame6.Visible = True
T = Round(B + (2 * Form26.Z * Y2), 3)
Frame8.Visible = True
T.Visible = True
Frame7.Visible = True
m = CCur(Form26.Z)
73
u = Round((CCur(B) + 2 * CCur(m) * (CCur(Y2) + CCur(F)) + CCur(B)) / 2 *
(CCur(Y2) + CCur(F)) * CCur(Form26.L), 3)
End If
End Sub
Private Sub Option3_Click()
Form26.Show
End Sub
FORMULARIO NUMERO 3
Private Sub CAP1_Click()
EXP3.Visible = False
TEX3.Visible = False
REN3.Visible = False
TEX2.Visible = False
REN2.Visible = False
EXP2.Visible = False
EXC2.Visible = False
EXC3.Visible = False
If CAP1 = True Then
TEX1.Visible = True
REN1.Visible = True
EXP1.Visible = True
EXC1.Visible = True
End If
End Sub
Private Sub CAP2_Click()
TEX1.Visible = False
REN1.Visible = False
TEX3.Visible = False
REN3.Visible = False
EXP3.Visible = False
EXP1.Visible = False
EXC1.Visible = False
EXC3.Visible = False
If CAP2 = True Then
TEX1.Visible = True
REN1.Visible = True
TEX2.Visible = True
74
REN2.Visible = True
EXP1.Visible = True
EXP2.Visible = True
EXC1.Visible = True
EXC2.Visible = True
End If
End Sub
Private Sub CAP3_Click()
If CAP3 = True Then
TEX1.Visible = True
REN1.Visible = True
TEX2.Visible = True
REN2.Visible = True
TEX3.Visible = True
REN3.Visible = True
EXP1.Visible = True
EXP2.Visible = True
EXP3.Visible = True
EXC1.Visible = True
EXC2.Visible = True
EXC3.Visible = True
End If
End Sub
Private Sub Command1_Click()
End
Unload Me
End Sub
Private Sub Command2_Click()
'Form21.Show
'Unload Me
End Sub
Private Sub Command3_Click()
If COSEX = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If COSTRANS = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
75
If VOLVIA = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If COSREV = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If CAP1 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
Form24.COS1EXC = Round(CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100)), 3)
Form24.COSTOEXC = Round(CCur(Form24.COS1EXC), 3)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = Round(CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L)
* CCur((EXC1 / 100)), 3)
Form24.COSTOTRA = Round(CCur(Form24.COS1TRA), 3)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1), 3)
Form24.COSREVT = Round(CCur(VRE) * CCur(COSREV), 3)
Form24.TOTAL = Round(CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA) +
CCur(Form24.COSREVT), 3)
End If
If CAP2 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
UNI2 = (CCur(COSEX) / CCur(REN2))
Form24.COS1EXC = CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100))
Form24.COS2EXC = CCur(VEX) * CCur(UNI2) * CCur(L) * CCur((EXC2 / 100))
Form24.COSTOEXC = CCur(Form24.COS1EXC) + CCur(Form24.COS2EXC)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC1 / 100))
76
Form24.COS2TRA = CCur(VEX) * (1 + CCur((EXP2 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC2 / 100))
Form24.COSTOTRA = CCur(Form24.COS1TRA) + CCur(Form24.COS2TRA)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIA2 = Round(VEX * L * (EXC2 / 100) * (1 + (EXP2 / 100)) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1) + CCur(Form24.VIA2), 3)
Form24.COSREVT = CCur(VRE) * CCur(COSREV)
Form24.TOTAL = CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA) +
CCur(Form24.COSREVT)
End If
If CAP3 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
UNI2 = (CCur(COSEX) / CCur(REN2))
UNI3 = (CCur(COSEX) / CCur(REN3))
Form24.COS1EXC = CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100))
Form24.COS2EXC = CCur(VEX) * CCur(UNI2) * CCur(L) * CCur((EXC2 / 100))
Form24.COS3EXC = CCur(VEX) * CCur(UNI3) * CCur(L) * CCur((EXC3 / 100))
Form24.COSTOEXC = CCur(Form24.COS1EXC) + CCur(Form24.COS2EXC) +
CCur(Form24.COS3EXC)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC1 / 100))
Form24.COS2TRA = CCur(VEX) * (1 + CCur((EXP2 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC2 / 100))
Form24.COS3TRA = CCur(VEX) * (1 + CCur((EXP3 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC3 / 100))
Form24.COSTOTRA = CCur(Form24.COS1TRA) + CCur(Form24.COS2TRA) +
CCur(Form24.COS3TRA)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIA2 = Round(VEX * L * (EXC2 / 100) * (1 + (EXP2 / 100)) / CCur(VOLVIA), 3)
Form24.VIA3 = Round(VEX * L * (EXC3 / 100) * (1 + (EXP3 / 100)) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1) + CCur(Form24.VIA2) + CCur(Form24.VIA3), 3)
Form24.COSREVT = CCur(VRE) * CCur(COSREV)
Form24.TOTAL = CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA) +
CCur(Form24.COSREVT)
End If
If CAP1 = True Then
Form24.Frame11.Visible = True
77
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
End If
If CAP2 = True Then
Form24.Frame12.Visible = True
Form24.Frame4.Visible = True
Form24.Frame6.Visible = True
Form24.COS2EXC.Visible = True
Form24.COS2TRA.Visible = True
Form24.VIA2.Visible = True
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
End If
If CAP3 = True Then
Form24.Frame12.Visible = True
Form24.Frame4.Visible = True
Form24.Frame6.Visible = True
Form24.COS2EXC.Visible = True
Form24.COS2TRA.Visible = True
Form24.VIA2.Visible = True
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
Form24.Frame10.Visible = True
Form24.Frame2.Visible = True
Form24.Frame9.Visible = True
Form24.COS3EXC.Visible = True
Form24.COS3TRA.Visible = True
Form24.VIA3.Visible = True
End If
Form24.Show
Unload Me
End If
End If
78
End If
End If
End Sub
Private Sub Command4_Click()
If COSEX = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If COSTRANS = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If VOLVIA = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
Form23.Show
Else
If CAP1 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
Form24.COS1EXC = Round(CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100)), 3)
Form24.COSTOEXC = Round(CCur(Form24.COS1EXC), 3)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = Round(CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L)
* CCur((EXC1 / 100)), 3)
Form24.COSTOTRA = Round(CCur(Form24.COS1TRA), 3)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1), 3)
Form24.TOTAL = Round(CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA), 3)
End If
If CAP2 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
UNI2 = (CCur(COSEX) / CCur(REN2))
Form24.COS1EXC = CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100))
Form24.COS2EXC = CCur(VEX) * CCur(UNI2) * CCur(L) * CCur((EXC2 / 100))
79
Form24.COSTOEXC = CCur(Form24.COS1EXC) + CCur(Form24.COS2EXC)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC1 / 100))
Form24.COS2TRA = CCur(VEX) * (1 + CCur((EXP2 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC2 / 100))
Form24.COSTOTRA = CCur(Form24.COS1TRA) + CCur(Form24.COS2TRA)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIA2 = Round(VEX * L * (EXC2 / 100) * (1 + (EXP2 / 100)) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1) + CCur(Form24.VIA2), 3)
Form24.TOTAL = CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA)
End If
If CAP3 = True Then
UNI1 = (CCur(COSEX) / CCur(REN1))
UNI2 = (CCur(COSEX) / CCur(REN2))
UNI3 = (CCur(COSEX) / CCur(REN3))
Form24.COS1EXC = CCur(VEX) * CCur(UNI1) * CCur(L) * CCur((EXC1 / 100))
Form24.COS2EXC = CCur(VEX) * CCur(UNI2) * CCur(L) * CCur((EXC2 / 100))
Form24.COS3EXC = CCur(VEX) * CCur(UNI3) * CCur(L) * CCur((EXC3 / 100))
Form24.COSTOEXC = CCur(Form24.COS1EXC) + CCur(Form24.COS2EXC) +
CCur(Form24.COS3EXC)
UNITRANS = CCur(COSTRANS) / CCur(VOLVIA)
Form24.COS1TRA = CCur(VEX) * (1 + CCur((EXP1 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC1 / 100))
Form24.COS2TRA = CCur(VEX) * (1 + CCur((EXP2 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC2 / 100))
Form24.COS3TRA = CCur(VEX) * (1 + CCur((EXP3 / 100))) * CCur((UNITRANS)) * CCur(L) *
CCur((EXC3 / 100))
Form24.COSTOTRA = CCur(Form24.COS1TRA) + CCur(Form24.COS2TRA) +
CCur(Form24.COS3TRA)
Form24.VIA1 = Round((VEX * L * (EXC1 / 100) * (1 + (EXP1 / 100))) / CCur(VOLVIA), 3)
Form24.VIA2 = Round(VEX * L * (EXC2 / 100) * (1 + (EXP2 / 100)) / CCur(VOLVIA), 3)
Form24.VIA3 = Round(VEX * L * (EXC3 / 100) * (1 + (EXP3 / 100)) / CCur(VOLVIA), 3)
Form24.VIATO = Round(CCur(Form24.VIA1) + CCur(Form24.VIA2) + CCur(Form24.VIA3), 3)
Form24.TOTAL = CCur(Form24.COSTOEXC) + CCur(Form24.COSTOTRA)
End If
If CAP1 = True Then
80
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
End If
If CAP2 = True Then
Form24.Frame12.Visible = True
Form24.Frame4.Visible = True
Form24.Frame6.Visible = True
Form24.COS2EXC.Visible = True
Form24.COS2TRA.Visible = True
Form24.VIA2.Visible = True
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
End If
If CAP3 = True Then
Form24.Frame12.Visible = True
Form24.Frame4.Visible = True
Form24.Frame6.Visible = True
Form24.COS2EXC.Visible = True
Form24.COS2TRA.Visible = True
Form24.VIA2.Visible = True
Form24.Frame11.Visible = True
Form24.Frame7.Visible = True
Form24.Frame3.Visible = True
Form24.COS1EXC.Visible = True
Form24.COS1TRA.Visible = True
Form24.VIA1.Visible = True
Form24.Frame10.Visible = True
Form24.Frame2.Visible = True
Form24.Frame9.Visible = True
Form24.COS3EXC.Visible = True
Form24.COS3TRA.Visible = True
Form24.VIA3.Visible = True
End If
Form24.Show
Unload Me
End If
81
End If
End If
End Sub
Private Sub COSEX_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub COSREV_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub COSTRANS_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXC1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXC2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXC3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
82
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXP1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXP2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub EXP3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub REN1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub REN2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub REN3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
83
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub VOLVIA_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
FORMULARIO NUMERO 4
Private Sub Command1_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Command2_Click()
COSTOEXC = CCur(COS1EXC) + CCur(COS2EXC)
COSTOTRA = CCur(COS1TRA) + CCur(COS2TRA)
End Sub
Private Sub Image1_Click()
Form25.Show
Unload Me
End Sub
Private Sub Image2_Click()
Form28.Show
Unload Me
End Sub
FORMULARIO NUMERO 5
Private Sub Label1_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
End Sub
84
7. LABORATORIOS
7.1 GEOMETRIA DE LA SECCION
7.1.1 INTRODUCCION
Private Sub Command1_Click()
PRAC1.Show
Unload Me
MsgBox "Introducir las lecturas de los niveles, de Mayor a Menor en (mm)", 16, "AYUDAS DE
CALCULO"
PRAC1.Show
End Sub
Private Sub DKKLDSKFKLDS_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub JFGFKGKFLGKLF_Click()
Form19.Show
Unload Me
End Sub
Private Sub Label8_Click()
End Sub
Private Sub LDKFDKFLKDKFLDKF_Click()
GENER.PrintForm
End Sub
Private Sub SDFDFDFDFDF_Click()
End
End Sub
FORMULARIO NUMERO 2
85
Private Sub Command1_Click()
If Text1 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text2 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If True And Text3 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text4 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text5 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text6 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text7 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text8 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text9 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
86
PRAC1.Show
Else
If Text10 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text11 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text12 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text13 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text14 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text15 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text16 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text17 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
87
If Text18 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text19 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text20 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text21 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text22 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text23 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text24 = "" Then
MsgBox "FALTA DATO POR INTRODUCIR", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text23 = 0 Then
MsgBox "EL CANAL ES RECTANGULAR TIENE BASE B, INTRODUZCA
UN VALOR", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text1 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
88
PRAC1.Show
Else
If Text2 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16, "ERROR
DE COMPLETACION"
PRAC1.Show
Else
If Text3 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16,
"ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text4 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text5 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16, "ERROR
DE COMPLETACION"
PRAC1.Show
Else
If Text6 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16,
"ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text7 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text8 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16, "ERROR
DE COMPLETACION"
PRAC1.Show
Else
If Text9 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16,
"ERROR DE COMPLETACION"
PRAC1.Show
Else
89
If Text10 = 0 Then
MsgBox "LA PROFUNDIDAD NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text11 = "" Then
MsgBox "INGRESE EL PESO DEL VALDE", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text15 = 0 Then
MsgBox "INGRESE, EL PESO DEL VALDE + EL PESO DEL AGUA = PESO
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text22 = 0 Then
MsgBox "INGRESE EL TIEMPO DE LA PRIMERA LECTURA", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text12 = "" Then
MsgBox "INGRESE EL PESO DEL VALDE", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text16 = 0 Then
MsgBox "INGRESE, EL PESO DEL VALDE + EL PESO DEL AGUA = PESO
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text21 = 0 Then
MsgBox "INGRESE EL TIEMPO DE LA PRIMERA LECTURA", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text13 = "" Then
MsgBox "INGRESE EL PESO DEL VALDE", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text17 = 0 Then
MsgBox "INGRESE, EL PESO DEL VALDE + EL PESO DEL AGUA = PESO
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text20 = 0 Then
MsgBox "INGRESE EL TIEMPO DE LA PRIMERA LECTURA", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text14 = "" Then
MsgBox "INGRESE EL PESO DEL VALDE", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text18 = 0 Then
90
MsgBox "INGRESE, EL PESO DEL VALDE + EL PESO DEL AGUA = PESO
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text19 = 0 Then
MsgBox "INGRESE EL TIEMPO DE LA PRIMERA LECTURA", 16, "ERROR DE
COMPLETACION"
PRAC1.Show
Else
If Text11 = Text15 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER IGUAL AL PESO DEL CONJUNTO",
16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text12 = Text16 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER IGUAL AL PESO DEL CONJUNTO",
16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text13 = Text17 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER IGUAL AL PESO DEL
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text14 = Text18 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER IGUAL AL PESO DEL
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text15 Text11 < 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER SUPERIOR AL PESO DEL
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text16 Text12 < 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER SUPERIOR AL PESO DEL
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text17 Text13 < 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER SUPERIOR AL PESO DEL
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
If Text18 Text14 < 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER SUPERIOR AL PESO DEL
CONJUNTO", 16, "ERROR DE COMPLETACION"
PRAC1.Show
Else
Dim tt As Single
Dim k1 As Single
Dim k2 As Single
Dim k3 As Single
Dim k4 As Single
91
Dim k5 As Single
Dim k6 As Single
Dim k7 As Single
Dim k8 As Single
Dim g1 As Single
Dim g2 As Single
Dim g3 As Single
Dim g4 As Single
Dim j1 As Single
Dim j2 As Single
Dim j3 As Single
Dim j4 As Single
Dim j5 As Single
Dim j6 As Single
Dim j7 As Single
Dim j8 As Single
Dim j9 As Single
Dim j10 As Single
Dim A1 As Single
Dim A2 As Single
Dim A3 As Single
Dim A4 As Single
Dim A5 As Single
Dim A6 As Single
Dim A7 As Single
Dim A8 As Single
Dim A9 As Single
Dim A10 As Single
Dim VM1 As Single
Dim VM2 As Single
Dim VM3 As Single
Dim VM4 As Single
Dim VM5 As Single
Dim VM6 As Single
Dim VM7 As Single
Dim VM8 As Single
Dim VM9 As Single
Dim VM10 As Single
Dim D1 As Single
Dim D2 As Single
Dim D3 As Single
Dim D4 As Single
Dim D5 As Single
Dim D6 As Single
Dim D7 As Single
Dim D8 As Single
Dim D9 As Single
Dim D10 As Single
Dim QM As Single
Dim QUN As Single
Dim QL As Single
92
Dim JA As Single
Dim F1 As Single
Dim F2 As Single
Dim F3 As Single
Dim F4 As Single
Dim F5 As Single
Dim F6 As Single
Dim F7 As Single
Dim F8 As Single
Dim F9 As Single
Dim F10 As Single
Dim E1 As Single
Dim E2 As Single
Dim E3 As Single
Dim E4 As Single
Dim E5 As Single
Dim E6 As Single
Dim E7 As Single
Dim E8 As Single
Dim E9 As Single
Dim E10 As Single
Dim R1 As Single
Dim R2 As Single
Dim R3 As Single
Dim R4 As Single
Dim R5 As Single
Dim R6 As Single
Dim R7 As Single
Dim R8 As Single
Dim R9 As Single
Dim R10 As Single
Dim YC1 As Single
Dim YC2 As Single
Dim YC3 As Single
Dim YC4 As Single
Dim YC5 As Single
Dim YC6 As Single
Dim YC7 As Single
Dim YC8 As Single
Dim YC9 As Single
Dim YC10 As Single
Dim EMI As Single
Dim FE1 As Single
Dim FE2 As Single
Dim FE3 As Single
Dim FE4 As Single
Dim FE5 As Single
Dim FE6 As Single
Dim FE7 As Single
Dim FE8 As Single
Dim FE9 As Single
Dim FE10 As Single
93
Dim P1 As Single
Dim P2 As Single
Dim P3 As Single
Dim P4 As Single
Dim P5 As Single
Dim P6 As Single
Dim P7 As Single
Dim P8 As Single
Dim P9 As Single
Dim P10 As Single
Dim Z1 As Single
Dim Z2 As Single
Dim Z3 As Single
Dim Z4 As Single
Dim Z5 As Single
Dim Z6 As Single
Dim Z7 As Single
Dim Z8 As Single
Dim Z9 As Single
Dim Z10 As Single
Dim S1 As Single
Dim S2 As Single
Dim S3 As Single
Dim S4 As Single
Dim S5 As Single
Dim O6 As Single
Dim O7 As Single
Dim O8 As Single
Dim O9 As Single
Dim O10 As Single
tt = Text24
u = 0.000003 * tt ^ 2 0.0008 * tt + 10
k1 = Text15
k2 = Text11
k3 = Text16
k4 = Text12
k5 = Text17
k6 = Text13
k7 = Text18
k8 = Text14
w1 = k1 k2
w2 = k3 k4
w3 = k5 k6
w4 = k7 k8
g1 = Text22
g2 = Text21
g3 = Text20
g4 = Text19
94
If Option9 = True Then
V1 = ((((w1 * 9.81) / 1000) / 1000) / u)
qm1 = V1 / g1
QM = qm1
End If
If Option10 = True Then
V1 = ((((w1 * 9.81) / 1000) / 1000) / u)
qm1 = V1 / g1
v2 = ((((w2 * 9.81) / 1000) / 1000) / u)
qm2 = v2 / g2
QM = (qm1 + qm2) / 2
End If
If Option11 = True Then
V1 = ((((w1 * 9.81) / 1000) / 1000) / u)
qm1 = V1 / g1
v2 = ((((w2 * 9.81) / 1000) / 1000) / u)
qm2 = v2 / g2
v3 = ((((w3 * 9.81) / 1000) / 1000) / u)
qm3 = v3 / g3
QM = (qm1 + qm2 + qm3) / 3
End If
If Option12 = True Then
V1 = ((((w1 * 9.81) / 1000) / 1000) / u)
qm1 = V1 / g1
v2 = ((((w2 * 9.81) / 1000) / 1000) / u)
qm2 = v2 / g2
v3 = ((((w3 * 9.81) / 1000) / 1000) / u)
qm3 = v3 / g3
v4 = ((((w4 * 9.81) / 1000) / 1000) / u)
qm4 = v4 / g4
QM = (qm1 + qm2 + qm3 + qm4) / 4
End If
RESP2.Text51 = Round(CCur(QM), 5)
RESP3.Text1 = Round(CCur(QM), 5)
QL = 1000 * QM
RESP2.Text52 = Round(QL, 5)
j1 = Text1
j2 = Text2
j3 = Text3
j4 = Text4
j5 = Text5
j6 = Text6
j7 = Text7
j8 = Text8
j9 = Text9
j10 = Text10
Y1 = CCur(j1 / 1000)
RESP1.Text1 = Round(Y1, 3)
RESP3.Text5 = Round(Y1, 3)
95
RESP3.Text64 = Round(Y1, 3)
Y2 = CCur(j2 / 1000)
RESP1.Text2 = Round(Y2, 3)
RESP3.Text6 = Round(Y2, 3)
RESP3.Text63 = Round(Y2, 3)
Y3 = CCur(j3 / 1000)
RESP1.Text3 = Round(Y3, 3)
RESP3.Text7 = Round(Y3, 3)
RESP3.Text62 = Round(Y3, 3)
Y4 = CCur(j4 / 1000)
RESP1.Text4 = Round(Y4, 3)
RESP3.Text8 = Round(Y4, 3)
RESP3.Text61 = Round(Y4, 3)
Y5 = CCur(j5 / 1000)
RESP1.Text5 = Round(Y5, 3)
RESP3.Text9 = Round(Y5, 3)
RESP3.Text60 = Round(Y5, 3)
Y6 = CCur(j6 / 1000)
RESP1.Text6 = Round(Y6, 3)
RESP3.Text10 = Round(Y6, 3)
RESP3.Text59 = Round(Y6, 3)
Y7 = CCur(j7 / 1000)
RESP1.Text7 = Round(Y7, 3)
RESP3.Text11 = Round(Y7, 3)
RESP3.Text58 = Round(Y7, 3)
Y8 = CCur(j8 / 1000)
RESP1.Text8 = Round(Y8, 3)
RESP3.Text12 = Round(Y8, 3)
RESP3.Text57 = Round(Y8, 3)
Y9 = CCur(j9 / 1000)
RESP1.Text9 = Round(Y9, 3)
RESP3.Text13 = Round(Y9, 3)
RESP3.Text56 = Round(Y9, 3)
Y10 = CCur(j10 / 1000)
RESP1.Text10 = Round(Y10, 3)
RESP3.Text14 = Round(Y10, 3)
RESP3.Text55 = Round(Y10, 3)
h1 = Text23
B = h1 / 100
QUN = QM / B
JA = (QM ^ 2 / 9.81) ^ (1 / 3)
RESP3.Text1 = Round(CCur(QM), 5)
RESP3.Text2 = Round(QUN, 5)
RESP3.Text3 = Round(JA, 5)
RESP3.Text15 = Round(CCur(B), 3)
96
A1 = Y1 * B
RESP1.Text11 = Round(A1, 3)
A2 = Y2 * B
RESP1.Text12 = Round(A2, 3)
A3 = Y3 * B
RESP1.Text13 = Round(A3, 3)
A4 = Y4 * B
RESP1.Text14 = Round(A4, 3)
A5 = Y5 * B
RESP1.Text15 = Round(A5, 3)
A6 = Y6 * B
RESP1.Text16 = Round(A6, 3)
A7 = Y7 * B
RESP1.Text17 = Round(A7, 3)
A8 = Y8 * B
RESP1.Text18 = Round(A8, 3)
A9 = Y9 * B
RESP1.Text19 = Round(A9, 3)
A10 = Y10 * B
RESP1.Text20 = Round(A10, 3)
VM1 = QM / A1
RESP2.Text1 = Round(VM1, 3)
VM2 = QM / A2
RESP2.Text2 = Round(VM2, 3)
VM3 = QM / A3
RESP2.Text3 = Round(VM3, 3)
VM4 = QM / A4
RESP2.Text4 = Round(VM4, 3)
VM5 = QM / A5
RESP2.Text5 = Round(VM5, 3)
VM6 = QM / A6
RESP2.Text6 = Round(VM6, 3)
VM7 = QM / A7
RESP2.Text7 = Round(VM7, 3)
VM8 = QM / A8
RESP2.Text8 = Round(VM8, 3)
VM9 = QM / A9
RESP2.Text9 = Round(VM9, 3)
VM10 = QM / A10
97
RESP2.Text10 = Round(VM10, 3)
D1 = A1 / B
RESP1.Text41 = Round(D1, 3)
D2 = A2 / B
RESP1.Text42 = Round(D2, 3)
D3 = A3 / B
RESP1.Text43 = Round(D3, 3)
D4 = A4 / B
RESP1.Text44 = Round(D4, 3)
D5 = A5 / B
RESP1.Text45 = Round(D5, 3)
D6 = A6 / B
RESP1.Text46 = Round(D6, 3)
D7 = A7 / B
RESP1.Text47 = Round(D7, 3)
D8 = A8 / B
RESP1.Text48 = Round(D8, 3)
D9 = A9 / B
RESP1.Text49 = Round(D9, 3)
D10 = A10 / B
RESP1.Text50 = Round(D10, 3)
F1 = VM1 / (9.81 * D1) ^ (0.5)
RESP2.Text20 = Round(F1, 3)
F2 = VM2 / (9.81 * D2) ^ (0.5)
RESP2.Text19 = Round(F2, 3)
F3 = VM3 / (9.81 * D3) ^ (0.5)
RESP2.Text18 = Round(F3, 3)
F4 = VM4 / (9.81 * D4) ^ (0.5)
RESP2.Text17 = Round(F4, 3)
F5 = VM5 / (9.81 * D5) ^ (0.5)
RESP2.Text16 = Round(F5, 3)
F6 = VM6 / (9.81 * D6) ^ (0.5)
RESP2.Text15 = Round(F6, 3)
F7 = VM7 / (9.81 * D7) ^ (0.5)
RESP2.Text14 = Round(F7, 3)
F8 = VM8 / (9.81 * D8) ^ (0.5)
RESP2.Text13 = Round(F8, 3)
F9 = VM9 / (9.81 * D9) ^ (0.5)
RESP2.Text12 = Round(F9, 3)
98
F10 = VM10 / (9.81 * D10) ^ (0.5)
RESP2.Text11 = Round(F10, 3)
If F1 < 1 Then
RESP2.Text53 = "SubCritico"
End If
If F1 = 1 Then
RESP2.Text53 = "critico"
End If
If F1 > 1 Then
RESP2.Text53 = "Supecritico"
End If
If F2 < 1 Then
RESP2.Text54 = "SubCritico"
End If
If F2 = 1 Then
RESP2.Text54 = "critico"
End If
If F2 > 1 Then
RESP2.Text54 = "Supecritico"
End If
If F3 < 1 Then
RESP2.Text55 = "SubCritico"
End If
If F3 = 1 Then
RESP2.Text55 = "critico"
End If
If F3 > 1 Then
RESP2.Text55 = "Supecritico"
End If
If F4 < 1 Then
RESP2.Text56 = "SubCritico"
End If
If F4 = 1 Then
RESP2.Text56 = "critico"
End If
If F4 > 1 Then
RESP2.Text56 = "Supecritico"
End If
If F5 < 1 Then
RESP2.Text57 = "SubCritico"
End If
If F5 = 1 Then
RESP2.Text57 = "critico"
99
End If
If F5 > 1 Then
RESP2.Text57 = "Supecritico"
End If
If F6 < 1 Then
RESP2.Text58 = "SubCritico"
End If
If F6 = 1 Then
RESP2.Text58 = "critico"
End If
If F6 > 1 Then
RESP2.Text58 = "Supecritico"
End If
If F7 < 1 Then
RESP2.Text59 = "SubCritico"
End If
If F7 = 1 Then
RESP2.Text59 = "critico"
End If
If F7 > 1 Then
RESP2.Text59 = "Supecritico"
End If
If F8 < 1 Then
RESP2.Text60 = "SubCritico"
End If
If F8 = 1 Then
RESP2.Text60 = "critico"
End If
If F8 > 1 Then
RESP2.Text60 = "Supecritico"
End If
If F9 < 1 Then
RESP2.Text61 = "SubCritico"
End If
If F9 = 1 Then
RESP2.Text61 = "critico"
End If
If F9 > 1 Then
RESP2.Text61 = "Supecritico"
End If
If F10 < 1 Then
RESP2.Text62 = "SubCritico"
End If
100
If F10 = 1 Then
RESP2.Text62 = "critico"
End If
If F10 > 1 Then
RESP2.Text62 = "Supecritico"
End If
E1 = Y1 + (VM1 ^ 2) / (19.62)
RESP2.Text30 = Round(E1, 3)
RESP3.Text49 = Round(E1, 3)
E2 = Y2 + (VM2 ^ 2) / (19.62)
RESP2.Text29 = Round(E2, 3)
RESP3.Text48 = Round(E2, 3)
E3 = Y3 + (VM3 ^ 2) / (19.62)
RESP2.Text28 = Round(E3, 3)
RESP3.Text47 = Round(E3, 3)
E4 = Y4 + (VM4 ^ 2) / (19.62)
RESP2.Text27 = Round(E4, 3)
RESP3.Text46 = Round(E4, 3)
E5 = Y5 + (VM5 ^ 2) / (19.62)
RESP2.Text26 = Round(E5, 3)
RESP3.Text45 = Round(E5, 3)
E6 = Y6 + (VM6 ^ 2) / (19.62)
RESP2.Text25 = Round(E6, 3)
RESP3.Text44 = Round(E6, 3)
E7 = Y7 + (VM7 ^ 2) / (19.62)
RESP2.Text24 = Round(E7, 3)
RESP3.Text43 = Round(E7, 3)
E8 = Y8 + (VM8 ^ 2) / (19.62)
RESP2.Text23 = Round(E8, 3)
RESP3.Text42 = Round(E8, 3)
E9 = Y9 + (VM9 ^ 2) / (19.62)
RESP2.Text22 = Round(E9, 3)
RESP3.Text41 = Round(E9, 3)
E10 = Y10 + (VM10 ^ 2) / (19.62)
RESP2.Text21 = Round(E10, 3)
RESP3.Text40 = Round(E10, 3)
YC1 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text31 = Round(YC1, 3)
YC2 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text32 = Round(YC2, 3)
YC3 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text33 = Round(YC3, 3)
YC4 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text34 = Round(YC4, 3)
101
YC5 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text35 = Round(YC5, 3)
YC6 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text36 = Round(YC6, 3)
YC7 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text37 = Round(YC7, 3)
YC8 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text38 = Round(YC8, 3)
YC9 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text39 = Round(YC9, 3)
YC10 = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP2.Text40 = Round(YC10, 3)
EMI = ((((QM) / (B))) ^ 2 / (9.81)) ^ (1 / 3)
RESP3.Text4 = Round(EMI, 3)
YM1 = Y1 / 2
YM2 = Y2 / 2
YM3 = Y3 / 2
YM4 = Y4 / 2
YM5 = Y5 / 2
YM6 = Y6 / 2
YM7 = Y7 / 2
YM8 = Y8 / 2
YM9 = Y9 / 2
YM10 = Y10 / 2
FE1 = ((Y1) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y1)
RESP2.Text50 = Round(FE1, 3)
RESP3.Text20 = Round(FE1, 3)
FE2 = ((Y2) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y2)
RESP2.Text49 = Round(FE2, 3)
RESP3.Text21 = Round(FE2, 3)
FE3 = ((Y3) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y3)
RESP2.Text48 = Round(FE3, 3)
RESP3.Text22 = Round(FE3, 3)
FE4 = ((Y4) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y4)
RESP2.Text47 = Round(FE4, 3)
RESP3.Text23 = Round(FE4, 3)
FE5 = ((Y5) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y5)
RESP2.Text46 = Round(FE5, 3)
RESP3.Text24 = Round(FE5, 3)
FE6 = ((Y6) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y6)
RESP2.Text45 = Round(FE6, 3)
RESP3.Text25 = Round(FE6, 3)
FE7 = ((Y7) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y7)
RESP2.Text44 = Round(FE7, 3)
102
RESP3.Text26 = Round(FE7, 3)
FE8 = ((Y8) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y8)
RESP2.Text43 = Round(FE8, 3)
RESP3.Text27 = Round(FE8, 3)
FE9 = ((Y9) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y9)
RESP2.Text42 = Round(FE9, 3)
RESP3.Text28 = Round(FE9, 3)
FE10 = ((Y10) ^ 2) / 2 + ((QM / B) ^ 2) / (9.81 * Y10)
RESP2.Text41 = Round(FE10, 3)
RESP3.Text29 = Round(FE10, 3)
P1 = 2 * Y1 + B
RESP1.Text21 = Round(P1, 3)
P2 = 2 * Y2 + B
RESP1.Text22 = Round(P2, 3)
P3 = 2 * Y3 + B
RESP1.Text23 = Round(P3, 3)
P4 = 2 * Y4 + B
RESP1.Text24 = Round(P4, 3)
P5 = 2 * Y5 + B
RESP1.Text25 = Round(P5, 3)
P6 = 2 * Y6 + B
RESP1.Text26 = Round(P6, 3)
P7 = 2 * Y7 + B
RESP1.Text27 = Round(P7, 3)
P8 = 2 * Y8 + B
RESP1.Text28 = Round(P8, 3)
P9 = 2 * Y9 + B
RESP1.Text29 = Round(P9, 3)
P10 = 2 * Y10 + B
RESP1.Text30 = Round(P10, 3)
R1 = A1 / P1
RESP1.Text31 = Round(R1, 3)
R2 = A2 / P2
RESP1.Text32 = Round(R2, 3)
R3 = A3 / P3
RESP1.Text33 = Round(R3, 3)
R4 = A4 / P4
RESP1.Text34 = Round(R4, 3)
R5 = A5 / P5
RESP1.Text35 = Round(R5, 3)
103
R6 = A6 / P6
RESP1.Text36 = Round(R6, 3)
R7 = A7 / P7
RESP1.Text37 = Round(R7, 3)
R8 = A8 / P8
RESP1.Text38 = Round(R8, 3)
R9 = A9 / P9
RESP1.Text39 = Round(R9, 3)
R10 = A10 / P10
RESP1.Text40 = Round(R10, 3)
Z1 = A1 * (D1) ^ 0.5
RESP1.Text51 = Round(Z1, 3)
Z2 = A2 * (D2) ^ 0.5
RESP1.Text52 = Round(Z2, 3)
Z3 = A3 * (D3) ^ 0.5
RESP1.Text53 = Round(Z3, 3)
Z4 = A4 * (D4) ^ 0.5
RESP1.Text54 = Round(Z4, 3)
Z5 = A5 * (D5) ^ 0.5
RESP1.Text55 = Round(Z5, 3)
Z6 = A6 * (D6) ^ 0.5
RESP1.Text56 = Round(Z6, 3)
Z7 = A7 * (D7) ^ 0.5
RESP1.Text57 = Round(Z7, 3)
Z8 = A8 * (D8) ^ 0.5
RESP1.Text58 = Round(Z8, 3)
Z9 = A9 * (D9) ^ 0.5
RESP1.Text59 = Round(Z9, 3)
Z10 = A10 * (D10) ^ 0.5
RESP1.Text60 = Round(Z10, 3)
RESP1.Show
Unload Me
End If
End If
End If
End If
End If
End If
104
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
105
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End Sub
Private Sub DKFKLFKLKLFGGFD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub FFGFHGFHGFHTT_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text5 = ""
Text6 = ""
Text7 = ""
Text8 = ""
Text9 = ""
Text10 = ""
Text11 = ""
Text12 = ""
Text13 = ""
Text14 = ""
Text15 = ""
Text16 = ""
Text17 = ""
Text18 = ""
Text19 = ""
Text20 = ""
Text21 = ""
Text22 = ""
Text23 = ""
Text24 = ""
End Sub
Private Sub KLDKFKLFKFLKGLF_Click()
106
PRAC1.PrintForm
End Sub
Private Sub LDKKDKLKDFG_Click()
Form19.Show
Unload Me
End Sub
Private Sub LFKGLGLGKHLGHG_Click()
End
End Sub
Private Sub Option1_Click()
If Option1 = True Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4 = ""
Text4.Visible = False
Text5 = ""
Text5.Visible = False
Text6 = ""
Text6.Visible = False
Text7 = ""
Text7.Visible = False
Text8 = ""
Text8.Visible = False
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
End Sub
Private Sub Option10_Click()
If Option10 = True Then
Label15.Visible = True
Label11.Visible = True
Label12.Visible = False
Label13.Visible = False
107
Text11.Visible = True
Text12.Visible = True
Text13.Visible = False
Text14.Visible = False
Text15.Visible = True
Text16.Visible = True
Text17.Visible = False
Text18.Visible = False
Text22.Visible = True
Text21.Visible = True
Text20.Visible = False
Text19.Visible = False
End If
End Sub
Private Sub Option11_Click()
If Option11 = True Then
Label15.Visible = True
Label11.Visible = True
Label12.Visible = True
Label13.Visible = False
Text11.Visible = True
Text12.Visible = True
Text13.Visible = True
Text14.Visible = False
Text15.Visible = True
Text16.Visible = True
Text17.Visible = True
Text18.Visible = False
Text22.Visible = True
Text21.Visible = True
Text20.Visible = True
Text19.Visible = False
End If
End Sub
Private Sub Option12_Click()
If Option12 = True Then
Label15.Visible = True
Label11.Visible = True
Label12.Visible = True
Label13.Visible = True
Text11.Visible = True
Text12.Visible = True
Text13.Visible = True
108
Text14.Visible = True
Text15.Visible = True
Text16.Visible = True
Text17.Visible = True
Text18.Visible = True
Text22.Visible = True
Text21.Visible = True
Text20.Visible = True
Text19.Visible = True
End If
End Sub
Private Sub Option2_Click()
If Option2 = True Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5 = ""
Text5.Visible = False
Text6 = ""
Text6.Visible = False
Text7 = ""
Text7.Visible = False
Text8 = ""
Text8.Visible = False
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = False
Label6.Visible = False
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
End Sub
Private Sub Option3_Click()
If Option3 = True Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6 = ""
Text6.Visible = False
Text7 = ""
109
Text7.Visible = False
Text8 = ""
Text8.Visible = False
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = False
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
End Sub
Private Sub Option4_Click()
If Option4 = True Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
Text7 = ""
Text7.Visible = False
Text8 = ""
Text8.Visible = False
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
End Sub
Private Sub Option5_Click()
If Option5 = True Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
110
Text7.Visible = True
Text8 = ""
Text8.Visible = False
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = True
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
End Sub
Private Sub Option6_Click()
If Option6 = True Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
Text7.Visible = True
Text8.Visible = True
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = True
Label8.Visible = True
Label9.Visible = False
Label10.Visible = False
End If
End Sub
Private Sub Option7_Click()
If Option7 = True Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
Text7.Visible = True
Text8.Visible = True
111
Text9.Visible = True
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = True
Label8.Visible = True
Label9.Visible = True
Label10.Visible = False
End If
End Sub
Private Sub Option8_Click()
If Option8 = True Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
Text7.Visible = True
Text8.Visible = True
Text9.Visible = True
Text10.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = True
Label8.Visible = True
Label9.Visible = True
Label10.Visible = True
End If
End Sub
Private Sub Option9_Click()
If Option9 = True Then
Label15.Visible = True
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Text11.Visible = True
Text12.Visible = False
Text13.Visible = False
Text14.Visible = False
Text15.Visible = True
Text16.Visible = False
112
Text17.Visible = False
Text18.Visible = False
Text22.Visible = True
Text21.Visible = False
Text20.Visible = False
Text19.Visible = False
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text10_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text11_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text12_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text13_KeyPress(KeyAscii As Integer)
113
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text14_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text15_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text16_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text17_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text18_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
114
KeyAscii = 0
End If
End If
End Sub
Private Sub Text19_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text20_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text21_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text22_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
115
Private Sub Text23_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text24_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text25_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text25_Change()
If Text25 < 3 Then
MsgBox "MINIMO 3 DATOS, INGRESE UN NUMERO DE DATOS ENTRE 3 Y 10", 16, "ERROR
DE COMPLETACION"
PRAC1.Show
End If
If Text25 > 10 Then
MsgBox "MAXIMO 10 DATOS, INGRESE UN NUMERO DE DATOS ENTRE 3 Y 10", 16, "ERROR
DE COMPLETACION"
PRAC1.Show
End If
If Text25 = 3 Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4 = ""
Text4.Visible = False
Text5 = ""
Text5.Visible = False
Text6 = ""
Text6.Visible = False
Text7 = ""
Text7.Visible = False
Text8 = ""
Text8.Visible = False
Text9 = ""
116
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
If Text25 = 4 Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5 = ""
Text5.Visible = False
Text6 = ""
Text6.Visible = False
Text7 = ""
Text7.Visible = False
Text8 = ""
Text8.Visible = False
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = False
Label6.Visible = False
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
If Text25 = 5 Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6 = ""
Text6.Visible = False
Text7 = ""
Text7.Visible = False
117
Text8 = ""
Text8.Visible = False
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = False
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
If Text25 = 6 Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
Text7 = ""
Text7.Visible = False
Text8 = ""
Text8.Visible = False
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = False
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
If Text25 = 7 Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
118
Text7.Visible = True
Text8 = ""
Text8.Visible = False
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = True
Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
End If
If Text25 = 8 Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
Text7.Visible = True
Text8.Visible = True
Text9 = ""
Text9.Visible = False
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = True
Label8.Visible = True
Label9.Visible = False
Label10.Visible = False
End If
If Text25 = 9 Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
Text7.Visible = True
119
Text8.Visible = True
Text9.Visible = True
Text10 = ""
Text10.Visible = False
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = True
Label8.Visible = True
Label9.Visible = True
Label10.Visible = False
End If
If Text25 = 10 Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
Text7.Visible = True
Text8.Visible = True
Text9.Visible = True
Text10.Visible = True
Text10.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
Label5.Visible = True
Label6.Visible = True
Label7.Visible = True
Label8.Visible = True
Label9.Visible = True
Label10.Visible = True
End If
If Text25 = "" Then
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
120
Private Sub Text4_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text9_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
121
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
FORMULARIO NUMERO 3
Private Sub File1_Click()
End Sub
Private Sub Command1_Click()
RESP2.Show
Unload Me
End Sub
Private Sub DLÑLFDLÑFÑDFLÑLD_Click()
Form19.Show
Unload Me
End Sub
Private Sub DÑLFÑLDÑFLÑD_Click()
RESP1.PrintForm
End Sub
Private Sub KSDJDSKFDKFDLKF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LDKLKLFKDLKFD_Click()
End
End Sub
Private Sub SDKFÑDDFKJFKHHFJD_Click()
PRAC1.Show
Unload Me
End Sub
FORMULARIO NUMERO 4
Private Sub Command1_Click()
RESP3.Show
Unload Me
End Sub
122
FORMULARIO NUMERO 5
Private Sub Image1_Click()
Unload Me
End Sub
Private Sub Command1_Click()
Dim DONDE, RANGO As String
Dim RES As Long
Dim EXCEL As Object
Dim LIBRO As Object
Set EXCEL = CreateObject("excel.Application")
DONDE = "C:\Archivos de programa\DISCAN\CRAK\LAB_HIDRAULICA_1.xls"
Set CALCULOS = EXCEL.Workbooks.Open(DONDE)
CALCULOS.Worksheets(1).Cells(3, 17) = Text64
CALCULOS.Worksheets(1).Cells(4, 17) = Text63
CALCULOS.Worksheets(1).Cells(5, 17) = Text62
CALCULOS.Worksheets(1).Cells(6, 17) = Text61
CALCULOS.Worksheets(1).Cells(7, 17) = Text60
CALCULOS.Worksheets(1).Cells(8, 17) = Text59
CALCULOS.Worksheets(1).Cells(9, 17) = Text58
CALCULOS.Worksheets(1).Cells(10, 17) = Text57
CALCULOS.Worksheets(1).Cells(11, 17) = Text56
CALCULOS.Worksheets(1).Cells(12, 17) = Text55
CALCULOS.Worksheets(1).Cells(5, 13) = Text1
CALCULOS.Worksheets(1).Cells(9, 13) = Text15
EXCEL.Visible = True
Set LIBRO = Nothing
Set EXCEL = Nothing
End Sub
Private Sub Command2_Click()
Dim DONDE, RANGO As String
Dim RES As Long
Dim EXCEL As Object
Dim LIBRO As Object
Set EXCEL = CreateObject("excel.Application")
DONDE = "C:\Archivos de programa\DISCAN\CRAK\LAB_HIDRAULICA_1.xls"
Set CALCULOS = EXCEL.Workbooks.Open(DONDE)
CALCULOS.Worksheets(1).Cells(3, 17) = Text64
CALCULOS.Worksheets(1).Cells(4, 17) = Text63
CALCULOS.Worksheets(1).Cells(5, 17) = Text62
CALCULOS.Worksheets(1).Cells(6, 17) = Text61
CALCULOS.Worksheets(1).Cells(7, 17) = Text60
CALCULOS.Worksheets(1).Cells(8, 17) = Text59
CALCULOS.Worksheets(1).Cells(9, 17) = Text58
CALCULOS.Worksheets(1).Cells(10, 17) = Text57
CALCULOS.Worksheets(1).Cells(11, 17) = Text56
CALCULOS.Worksheets(1).Cells(12, 17) = Text55
CALCULOS.Worksheets(1).Cells(5, 13) = Text1
CALCULOS.Worksheets(1).Cells(9, 13) = Text15
EXCEL.Visible = True
123
Set LIBRO = Nothing
Set EXCEL = Nothing
End Sub
Private Sub Command3_Click()
End
Unload Me
End Sub
Private Sub Command4_Click()
LAB1_ERROR.Show
End Sub
Private Sub Command5_Click()
LAB1_ECUA.Show
End Sub
Private Sub JKLSDJKJKFKD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub JKSDJJDKFDF_Click()
End
End Sub
Private Sub KLDKFDKFDKLF_Click()
RESP3.PrintForm
End Sub
Private Sub LDFKLFDSLFÑDLSF_Click()
Form19.Show
Unload Me
End Sub
Private Sub LSLDKSLDKSLD_Click()
RESP2.Show
Unload Me
End Sub
7.1.2 ECUACIONES USADAS
Private Sub FLÑGLÑDFLGÑLFDG_Click()
End
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
124
End Sub
Private Sub KSJKSAKJKSD_Click()
Form19.Show
Unload Me
End Sub
Private Sub NDJKJDSKFJDSJK_Click()
LAB1_ECUA.PrintForm
End Sub
Private Sub NMKDFJKFJDSKF_Click()
MDIForm1.Show
Unload Me
End Sub
7.2 RESALTO HIDRAULICO
7.2.1 INTRODUCCION
Private Sub Command1_Click()
PRAC2.Show
Unload Me
MsgBox "SELECCIONE EL NUMERO DE LECTURAS Y DE AFOROS", 16, "AYUDAS DE
CALCULO"
PRAC2.Show
MsgBox "INGRESE LAS LECTURAS ANTES DE LA COMPUERTA EN ORDEN DESENDENTE,
ES DECIR DE LA MAYOR A LA MENOR", 16, "AYUDAS DE CALCULO"
PRAC2.Show
End Sub
Private Sub DKFKDKFDLKFL_Click()
End
End Sub
Private Sub DSDLKFLDSKFLDSF_Click()
Form19.Show
Unload Me
End Sub
Private Sub KLSDKSDFLKFDLKG_Click()
GENER2.PrintForm
End Sub
Private Sub Label4_Click()
125
End Sub
Private Sub MKDMKDLFKDKSFLD_Click()
MDIForm1.Show
Unload Me
End Sub
7.2.2 REALIZAR CALCULOS
Private Sub SubWizard1_GotFocus()
End Sub
Private Sub Command1_Click()
If Text1 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 1°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text2 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 2°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text3 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 3°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text4 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 4°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text5 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 5°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text6 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 6°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text7 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 7°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text8 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 8°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
126
Else
If Text9 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 9°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text10 = "" Then
MsgBox "FALTA H ANTES DE LA COMPUERTA PARA LA 10°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text11 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 1°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text12 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 2°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text13 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 3°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text14 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 4°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text15 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 5°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text16 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 6°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text17 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 7°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text18 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 8°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text19 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 9°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text20 = "" Then
MsgBox "FALTA H ANTES DEL RESALTO PARA LA 10°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
127
PRAC2.Show
Else
If Text21 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 1°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text22 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 2°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text23 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 3°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text24 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 4°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text25 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 5°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text26 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 6°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text27 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 7°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text28 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 8°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text29 = "" And Text29 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 9°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text30 = "" Then
MsgBox "FALTA H DESPUES DEL RESALTO PARA LA 10°LECTURA, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text31 = "" Then
MsgBox "FALTA EL PESO DEL VALDE PARA EL PRIMER AFORO, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text32 = "" Then
128
MsgBox "FALTA EL PESO DEL VALDE PARA EL SEGUNDO AFORO, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text33 = "" Then
MsgBox "FALTA EL PESO DEL VALDE PARA EL TERCER AFORO, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text34 = "" Then
MsgBox "FALTA EL PESO DEL VALDE PARA EL CUARTO AFORO, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text35 = "" Then
MsgBox "FALTA EL PESO DEL CONJUNTO PARA EL PRIMER AFORO, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text36 = "" Then
MsgBox "FALTA EL PESO DEL CONJUNTO PARA EL SEGUNDO AFORO, INTRODUCIR
UN VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text37 = "" Then
MsgBox "FALTA EL PESO DEL CONJUNTO PARA EL TERCER AFORO, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text38 = "" Then
MsgBox "FALTA EL PESO DEL CONJUNTO PARA EL CUARTO AFORO, INTRODUCIR UN
VALOR", 16, "ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text39 = "" Then
MsgBox "FALTA EL TIEMPO DEL PRIMER AFORO, INTRODUCIR UN VALOR", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text40 = "" Then
MsgBox "FALTA EL TIEMPO DEL SEGUNDO AFORO, INTRODUCIR UN VALOR", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text41 = "" Then
MsgBox "FALTA EL TIEMPO DEL TERCER AFORO, INTRODUCIR UN VALOR", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text42 = "" Then
MsgBox "FALTA EL TIEMPO DEL CUARTO AFORO, INTRODUCIR UN VALOR", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text43 = "" Then
MsgBox "FALTA LA TEMPERATURA DEL FLUJO, INTRODUCIR UN VALOR", 16, "ERROR
DE COMPLETACION"
129
PRAC2.Show
Else
If Text44 = "" Then
MsgBox "EL CANAL ES RECTANGULAR Y TIENE BASE B, INTRODUCIR UN VALOR", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text44 = 0 Then
MsgBox "EL CANAL ES RECTANGULAR Y TIENE BASE B, INTRODUCIR UN VALOR", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text35 Text31 < 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER MAYOR AL PESO DEL CONJUNTO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text36 Text32 < 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER MAYOR AL PESO DEL CONJUNTO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text37 Text33 < 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER MAYOR AL PESO DEL CONJUNTO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text38 Text34 < 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER MAYOR AL PESO DEL CONJUNTO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text35 Text31 = 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER IGUAL AL PESO DEL CONJUNTO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text36 Text32 = 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER IGUAL AL PESO DEL CONJUNTO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text37 Text33 = 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER IGUAL AL PESO DEL CONJUNTO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text38 Text34 = 0 Then
MsgBox "EL PESO DEL VALDE NO PUEDE SER IGUAL AL PESO DEL CONJUNTO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
130
If Text35 = 0 Then
MsgBox "EL PESO DEL CONJUNTO NO PUEDE SER MENOR O IGUAL A CERO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text36 = 0 Then
MsgBox "EL PESO DEL CONJUNTO NO PUEDE SER MENOR O IGUAL A CERO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text37 = 0 Then
MsgBox "EL PESO DEL CONJUNTO NO PUEDE SER MENOR O IGUAL A CERO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text38 = 0 Then
MsgBox "EL PESO DEL CONJUNTO NO PUEDE SER MENOR O IGUAL A CERO", 16,
"ERROR DE COMPLETACION"
PRAC2.Show
Else
If Text39 = 0 Or Text39 < 0 Then
MsgBox "EL TIEMPO NO PUEDE SER MENOR O IGUAL A CERO", 16, "ERROR DE
COMPLETACION"
PRAC2.Show
Else
If Text40 = 0 Or Text40 < 0 Then
MsgBox "EL TIEMPO NO PUEDE SER MENOR O IGUAL A CERO", 16, "ERROR DE
COMPLETACION"
PRAC2.Show
Else
If Text41 = 0 Or Text41 < 0 Then
MsgBox "EL TIEMPO NO PUEDE SER MENOR O IGUAL A CERO", 16, "ERROR DE
COMPLETACION"
PRAC2.Show
Else
If Text42 = 0 Or Text42 < 0 Then
MsgBox "EL TIEMPO NO PUEDE SER MENOR O IGUAL A CERO", 16, "ERROR DE
COMPLETACION"
PRAC2.Show
Else
Dim HAC1 As Single
Dim HAC2 As Single
Dim HAC3 As Single
Dim HAC4 As Single
Dim HAC5 As Single
Dim HAC6 As Single
Dim HAC7 As Single
Dim HAC8 As Single
Dim HAC9 As Single
Dim HAC10 As Single
Dim HAR1 As Single
Dim HAR2 As Single
Dim HAR3 As Single
131
Dim HAR4 As Single
Dim HAR5 As Single
Dim HAR6 As Single
Dim HAR7 As Single
Dim HAR8 As Single
Dim HAR9 As Single
Dim HAR10 As Single
Dim HDR1 As Single
Dim HDR2 As Single
Dim HDR3 As Single
Dim HDR4 As Single
Dim HDR5 As Single
Dim HDR6 As Single
Dim HDR7 As Single
Dim HDR8 As Single
Dim HDR9 As Single
Dim HDR10 As Single
Dim T As Single
Dim BL As Single
Dim PV1 As Single
Dim PV2 As Single
Dim PV3 As Single
Dim PV4 As Single
Dim PC1 As Single
Dim PC2 As Single
Dim PC3 As Single
Dim PC4 As Single
Dim T1 As Single
Dim T2 As Single
Dim t3 As Single
Dim t4 As Single
Dim u As Single
Dim w1 As Single
Dim w2 As Single
Dim w3 As Single
Dim w4 As Single
Dim V1 As Single
Dim v2 As Single
Dim v3 As Single
Dim v4 As Single
Dim qm1 As Single
Dim qm2 As Single
Dim qm3 As Single
Dim qm4 As Single
Dim QM As Single
Dim QL As Single
132
HAC1 = Text1 / 1000
HAC2 = Text2 / 1000
HAC3 = Text3 / 1000
HAC4 = Text4 / 1000
HAC5 = Text5 / 1000
HAC6 = Text6 / 1000
HAC7 = Text7 / 1000
HAC8 = Text8 / 1000
HAC9 = Text9 / 1000
HAC10 = Text10 / 1000
HAR1 = Text11 / 1000
HAR2 = Text12 / 1000
HAR3 = Text13 / 1000
HAR4 = Text14 / 1000
HAR5 = Text15 / 1000
HAR6 = Text16 / 1000
HAR7 = Text17 / 1000
HAR8 = Text18 / 1000
HAR9 = Text19 / 1000
HAR10 = Text20 / 1000
HDR1 = Text21 / 1000
HDR2 = Text22 / 1000
HDR3 = Text23 / 1000
HDR4 = Text24 / 1000
HDR5 = Text25 / 1000
HDR6 = Text26 / 1000
HDR7 = Text27 / 1000
HDR8 = Text28 / 1000
HDR9 = Text29 / 1000
HDR10 = Text30 / 1000
PV1 = Text31
PV2 = Text32
PV3 = Text33
PV4 = Text34
PC1 = Text35
PC2 = Text36
PC3 = Text37
PC4 = Text38
T1 = Text39
T2 = Text40
t3 = Text41
t4 = Text42
T = Text43
BL = Text44
w1 = CCur(PC1) CCur(PV1)
w2 = CCur(PC2) CCur(PV2)
w3 = CCur(PC3) CCur(PV3)
w4 = CCur(PC4) CCur(PV4)
V1 = ((((CCur(w1) * 9.81) / 1000) / 1000) / CCur(u))
133
qm1 = CCur(V1) / CCur(T1)
v2 = ((((CCur(w2) * 9.81) / 1000) / 1000) / CCur(u))
qm2 = CCur(v2) / CCur(T2)
v3 = ((((CCur(w3) * 9.81) / 1000) / 1000) / CCur(u))
qm3 = CCur(v3) / CCur(t3)
v4 = ((((CCur(w4) * 9.81) / 1000) / 1000) / CCur(u))
qm4 = CCur(v4) / CCur(t4)
QM = (qm1 + qm2 + qm3 + qm4) / 4
'CAUDALM3/S
QL = 1000 * QM
'CAUDALLTS
QB = QM / ((BL / 100))
'QUNITARIO
LAB2_SOL1.Text1 = Round(w1, 4)
LAB2_SOL1.Text2 = Round(w2, 4)
LAB2_SOL1.Text3 = Round(w3, 4)
LAB2_SOL1.Text4 = Round(w4, 4)
LAB2_SOL1.Text5 = Round(T1, 3)
LAB2_SOL1.Text6 = Round(T2, 3)
LAB2_SOL1.Text7 = Round(t3, 3)
LAB2_SOL1.Text8 = Round(t4, 3)
LAB2_SOL1.Text9 = Round(V1, 4)
LAB2_SOL1.Text10 = Round(v2, 4)
LAB2_SOL1.Text11 = Round(v3, 4)
LAB2_SOL1.Text12 = Round(v4, 4)
LAB2_SOL1.Text13 = Round(qm1, 4)
LAB2_SOL1.Text14 = Round(qm2, 4)
LAB2_SOL1.Text15 = Round(qm3, 4)
LAB2_SOL1.Text16 = Round(qm4, 4)
LAB2_SOL1.Text17 = Round(1000 * qm1, 4)
LAB2_SOL1.Text18 = Round(1000 * qm2, 4)
LAB2_SOL1.Text19 = Round(1000 * qm3, 4)
LAB2_SOL1.Text20 = Round(1000 * qm4, 4)
LAB2_SOL1.Text21 = Round(QM, 4)
LAB2_SOL2.Text96 = Round(QM, 4)
LAB2_SOL1.Text22 = Round(QL, 4)
LAB2_SOL2.Text94 = Round(QL, 4)
LAB2_SOL2.Text97 = Round(CCur(QB), 4)
LAB2_SOL2.Text95 = Round(CCur(BL / 100), 4)
E1 = HAC1 + QB ^ 2 / (19.62 + HAC1 ^ 2)
E2 = HAC2 + QB ^ 2 / (19.62 + HAC2 ^ 2)
134
E3 = HAC3 + QB ^ 2 / (19.62 + HAC3 ^ 2)
E4 = HAC4 + QB ^ 2 / (19.62 + HAC4 ^ 2)
E5 = HAC5 + QB ^ 2 / (19.62 + HAC5 ^ 2)
E6 = HAC6 + QB ^ 2 / (19.62 + HAC6 ^ 2)
E7 = HAC7 + QB ^ 2 / (19.62 + HAC7 ^ 2)
E8 = HAC8 + QB ^ 2 / (19.62 + HAC8 ^ 2)
E9 = HAC9 + QB ^ 2 / (19.62 + HAC9 ^ 2)
E10 = HAC10 + QB ^ 2 / (19.62 + HAC10 ^ 2)
LAB2_SOL2.Text1 = Round(CCur(E1), 4)
LAB2_SOL2.Text2 = Round(CCur(E2), 4)
LAB2_SOL2.Text3 = Round(CCur(E3), 4)
LAB2_SOL2.Text4 = Round(CCur(E4), 4)
LAB2_SOL2.Text5 = Round(CCur(E5), 4)
LAB2_SOL2.Text6 = Round(CCur(E6), 4)
LAB2_SOL2.Text7 = Round(CCur(E7), 4)
LAB2_SOL2.Text8 = Round(CCur(E8), 4)
LAB2_SOL2.Text9 = Round(CCur(E9), 4)
LAB2_SOL2.Text10 = Round(CCur(E10), 4)
X1 = 0
For I = 1 To 100
X1 = CCur((QB ^ 2 / (19.62 * Abs((E1 X1)))) ^ (0.5))
Next I
YA1 = CCur(Round(X1, 4))
X2 = 0
For I = 1 To 100
X2 = CCur((QB ^ 2 / (19.62 * Abs((E2 X2)))) ^ (0.5))
Next I
YA2 = CCur(Round(X2, 4))
X3 = 0
For I = 1 To 100
X3 = CCur((QB ^ 2 / (19.62 * Abs((E3 X3)))) ^ (0.5))
Next I
YA3 = CCur(Round(X3, 4))
X4 = 0
For I = 1 To 100
X4 = CCur((QB ^ 2 / (19.62 * Abs((E4 X4)))) ^ (0.5))
Next I
YA4 = CCur(Round(X4, 4))
X5 = 0
For I = 1 To 100
X5 = CCur((QB ^ 2 / (19.62 * Abs((E5 X5)))) ^ (0.5))
Next I
YA5 = CCur(Round(X5, 4))
X6 = 0
For I = 1 To 100
X6 = CCur((QB ^ 2 / (19.62 * Abs((E6 X6)))) ^ (0.5))
Next I
YA6 = CCur(Round(X6, 4))
X7 = 0
For I = 1 To 100
X7 = CCur((QB ^ 2 / (19.62 * Abs((E7 X7)))) ^ (0.5))
135
Next I
YA7 = CCur(Round(X7, 4))
X8 = 0
For I = 1 To 100
X8 = CCur((QB ^ 2 / (19.62 * Abs((E8 X8)))) ^ (0.5))
Next I
YA8 = CCur(Round(X8, 4))
X9 = 0
For I = 1 To 100
X9 = CCur((QB ^ 2 / (19.62 * Abs((E9 X9)))) ^ (0.5))
Next I
YA9 = CCur(Round(X9, 4))
X10 = 0
For I = 1 To 100
X10 = CCur((QB ^ 2 / (19.62 * Abs((E10 X10)))) ^ (0.5))
Next I
YA10 = CCur(Round(X10, 4))
F1 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA1 ^ 3)), 3))
F2 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA2 ^ 3)), 3))
F3 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA3 ^ 3)), 3))
F4 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA4 ^ 3)), 3))
F5 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA5 ^ 3)), 3))
F6 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA6 ^ 3)), 3))
F7 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA7 ^ 3)), 3))
F8 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA8 ^ 3)), 3))
F9 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA9 ^ 3)), 3))
F10 = CCur(Round(Sqr(QB ^ 2 / (9.81 * YA10 ^ 3)), 3))
LAB2_SOL2.Text11 = Round(CCur(F1), 3)
LAB2_SOL2.Text12 = Round(CCur(F2), 3)
LAB2_SOL2.Text13 = Round(CCur(F3), 3)
LAB2_SOL2.Text14 = Round(CCur(F4), 3)
LAB2_SOL2.Text15 = Round(CCur(F5), 3)
LAB2_SOL2.Text16 = Round(CCur(F6), 3)
LAB2_SOL2.Text17 = Round(CCur(F7), 3)
LAB2_SOL2.Text18 = Round(CCur(F8), 3)
LAB2_SOL2.Text19 = Round(CCur(F9), 3)
LAB2_SOL2.Text20 = Round(CCur(F10), 3)
If F1 < 1 Then
LAB2_SOL2.Text21 = "SubCritico"
End If
If F1 = 1 Then
LAB2_SOL2.Text21 = "critico"
End If
If F1 > 1 Then
LAB2_SOL2.Text21 = "Supecritico"
End If
If F2 < 1 Then
LAB2_SOL2.Text22 = "SubCritico"
End If
136
If F2 = 1 Then
LAB2_SOL2.Text22 = "critico"
End If
If F2 > 1 Then
LAB2_SOL2.Text22 = "Supecritico"
End If
If F3 < 1 Then
LAB2_SOL2.Text23 = "SubCritico"
End If
If F3 = 1 Then
LAB2_SOL2.Text23 = "critico"
End If
If F3 > 1 Then
LAB2_SOL2.Text23 = "Supecritico"
End If
If F4 < 1 Then
LAB2_SOL2.Text24 = "SubCritico"
End If
If F4 = 1 Then
LAB2_SOL2.Text24 = "critico"
End If
If F4 > 1 Then
LAB2_SOL2.Text24 = "Supecritico"
End If
If F5 < 1 Then
LAB2_SOL2.Text25 = "SubCritico"
End If
If F5 = 1 Then
LAB2_SOL2.Text25 = "critico"
End If
If F5 > 1 Then
LAB2_SOL2.Text25 = "Supecritico"
End If
If F6 < 1 Then
LAB2_SOL2.Text26 = "SubCritico"
End If
If F6 = 1 Then
LAB2_SOL2.Text26 = "critico"
End If
If F6 > 1 Then
LAB2_SOL2.Text26 = "Supecritico"
End If
If F7 < 1 Then
LAB2_SOL2.Text27 = "SubCritico"
137
End If
If F7 = 1 Then
LAB2_SOL2.Text27 = "critico"
End If
If F7 > 1 Then
LAB2_SOL2.Text27 = "Supecritico"
End If
If F8 < 1 Then
LAB2_SOL2.Text28 = "SubCritico"
End If
If F8 = 1 Then
LAB2_SOL2.Text28 = "critico"
End If
If F8 > 1 Then
LAB2_SOL2.Text28 = "Supecritico"
End If
If F9 < 1 Then
LAB2_SOL2.Text29 = "SubCritico"
End If
If F9 = 1 Then
LAB2_SOL2.Text29 = "critico"
End If
If F9 > 1 Then
LAB2_SOL2.Text29 = "Supecritico"
End If
If F10 < 1 Then
LAB2_SOL2.Text30 = "SubCritico"
End If
If F10 = 1 Then
LAB2_SOL2.Text30 = "critico"
End If
If F10 > 1 Then
LAB2_SOL2.Text30 = "Supecritico"
End If
Y21 = CCur((YA1 / 2) * (1 + (1 + 8 * (F1) ^ 2) ^ (0.5)))
Y22 = CCur((YA2 / 2) * (1 + (1 + 8 * (F2) ^ 2) ^ (0.5)))
Y23 = CCur((YA3 / 2) * (1 + (1 + 8 * (F3) ^ 2) ^ (0.5)))
Y24 = CCur((YA4 / 2) * (1 + (1 + 8 * (F4) ^ 2) ^ (0.5)))
Y25 = CCur((YA5 / 2) * (1 + (1 + 8 * (F5) ^ 2) ^ (0.5)))
Y26 = CCur((YA6 / 2) * (1 + (1 + 8 * (F6) ^ 2) ^ (0.5)))
Y27 = CCur((YA7 / 2) * (1 + (1 + 8 * (F7) ^ 2) ^ (0.5)))
138
Y28 = CCur((YA8 / 2) * (1 + (1 + 8 * (F8) ^ 2) ^ (0.5)))
Y29 = CCur((YA9 / 2) * (1 + (1 + 8 * (F9) ^ 2) ^ (0.5)))
Y30 = CCur((YA10 / 2) * (1 + (1 + 8 * (F10) ^ 2) ^ (0.5)))
LAB2_SOL2.Text31 = CCur(Round(Y21, 4))
LAB2_SOL2.Text32 = CCur(Round(Y22, 4))
LAB2_SOL2.Text33 = CCur(Round(Y23, 4))
LAB2_SOL2.Text34 = CCur(Round(Y24, 4))
LAB2_SOL2.Text35 = CCur(Round(Y25, 4))
LAB2_SOL2.Text36 = CCur(Round(Y26, 4))
LAB2_SOL2.Text37 = CCur(Round(Y27, 4))
LAB2_SOL2.Text38 = CCur(Round(Y28, 4))
LAB2_SOL2.Text39 = CCur(Round(Y29, 4))
LAB2_SOL2.Text40 = CCur(Round(Y30, 4))
LAB2_SOL2.Text41 = CCur(Round(D1, 4))
LAB2_SOL2.Text42 = CCur(Round(D2, 4))
LAB2_SOL2.Text43 = CCur(Round(D3, 4))
LAB2_SOL2.Text44 = CCur(Round(D4, 4))
LAB2_SOL2.Text45 = CCur(Round(D5, 4))
LAB2_SOL2.Text46 = CCur(Round(D6, 4))
LAB2_SOL2.Text47 = CCur(Round(D7, 4))
LAB2_SOL2.Text48 = CCur(Round(D8, 4))
LAB2_SOL2.Text49 = CCur(Round(D9, 4))
LAB2_SOL2.Text50 = CCur(Round(D10, 4))
P1 = CCur(9790 * D1 * QM)
P2 = CCur(9790 * D2 * QM)
P3 = CCur(9790 * D3 * QM)
P4 = CCur(9790 * D4 * QM)
P5 = CCur(9790 * D5 * QM)
P6 = CCur(9790 * D6 * QM)
P7 = CCur(9790 * D7 * QM)
P8 = CCur(9790 * D8 * QM)
P9 = CCur(9790 * D9 * QM)
P10 = CCur(9790 * D10 * QM)
LAB2_SOL2.Text51 = CCur(Round(P1, 3))
LAB2_SOL2.Text52 = CCur(Round(P2, 3))
LAB2_SOL2.Text53 = CCur(Round(P3, 3))
LAB2_SOL2.Text54 = CCur(Round(P4, 3))
LAB2_SOL2.Text55 = CCur(Round(P5, 3))
LAB2_SOL2.Text56 = CCur(Round(P6, 3))
LAB2_SOL2.Text57 = CCur(Round(P7, 3))
LAB2_SOL2.Text58 = CCur(Round(P8, 3))
LAB2_SOL2.Text59 = CCur(Round(P9, 3))
LAB2_SOL2.Text60 = CCur(Round(P10, 3))
139
LAB2_SOL3.Text1 = CCur(Round(HAC1, 4))
LAB2_SOL3.Text2 = CCur(Round(HAC2, 4))
LAB2_SOL3.Text3 = CCur(Round(HAC3, 4))
LAB2_SOL3.Text4 = CCur(Round(HAC4, 4))
LAB2_SOL3.Text5 = CCur(Round(HAC5, 4))
LAB2_SOL3.Text6 = CCur(Round(HAC6, 4))
LAB2_SOL3.Text7 = CCur(Round(HAC7, 4))
LAB2_SOL3.Text8 = CCur(Round(HAC8, 4))
LAB2_SOL3.Text9 = CCur(Round(HAC9, 4))
LAB2_SOL3.Text10 = CCur(Round(HAC10, 4))
LAB2_SOL3.Text11 = CCur(Round(YA1, 4))
LAB2_SOL3.Text12 = CCur(Round(YA2, 4))
LAB2_SOL3.Text13 = CCur(Round(YA3, 4))
LAB2_SOL3.Text14 = CCur(Round(YA4, 4))
LAB2_SOL3.Text15 = CCur(Round(YA5, 4))
LAB2_SOL3.Text16 = CCur(Round(YA6, 4))
LAB2_SOL3.Text17 = CCur(Round(YA7, 4))
LAB2_SOL3.Text18 = CCur(Round(YA8, 4))
LAB2_SOL3.Text19 = CCur(Round(YA9, 4))
LAB2_SOL3.Text20 = CCur(Round(YA10, 4))
LAB2_SOL3.Text21 = CCur(Round(Y21, 4))
LAB2_SOL3.Text22 = CCur(Round(Y22, 4))
LAB2_SOL3.Text23 = CCur(Round(Y23, 4))
LAB2_SOL3.Text24 = CCur(Round(Y24, 4))
LAB2_SOL3.Text25 = CCur(Round(Y25, 4))
LAB2_SOL3.Text26 = CCur(Round(Y26, 4))
LAB2_SOL3.Text27 = CCur(Round(Y27, 4))
LAB2_SOL3.Text28 = CCur(Round(Y28, 4))
LAB2_SOL3.Text29 = CCur(Round(Y29, 4))
LAB2_SOL3.Text30 = CCur(Round(Y30, 4))
FEO1 = CCur((((HAC1) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC1) ^ 2))))
FEO2 = CCur((((HAC2) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC2) ^ 2))))
FEO3 = CCur((((HAC3) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC3) ^ 2))))
FEO4 = CCur((((HAC4) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC4) ^ 2))))
FEO5 = CCur((((HAC5) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC5) ^ 2))))
FEO6 = CCur((((HAC6) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC6) ^ 2))))
FEO7 = CCur((((HAC7) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC7) ^ 2))))
FEO8 = CCur((((HAC8) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC8) ^ 2))))
FEO9 = CCur((((HAC9) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC9) ^ 2))))
FEO10 = CCur((((HAC10) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((HAC10) ^ 2))))
FE11 = CCur((((YA1) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA1) ^ 2))))
FE12 = CCur((((YA2) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA2) ^ 2))))
FE13 = CCur((((YA3) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA3) ^ 2))))
FE14 = CCur((((YA4) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA4) ^ 2))))
FE15 = CCur((((YA5) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA5) ^ 2))))
FE16 = CCur((((YA6) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA6) ^ 2))))
FE17 = CCur((((YA7) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA7) ^ 2))))
FE18 = CCur((((YA8) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA8) ^ 2))))
FE19 = CCur((((YA9) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA9) ^ 2))))
FE110 = CCur((((YA10) ^ 2) / 2) + (((QB) ^ 2) / (9.81 * ((YA10) ^ 2))))
140
FB1 = CCur(u * QB * (FEO1 FE11))
FB2 = CCur(u * QB * (FEO2 FE12))
FB3 = CCur(u * QB * (FEO3 FE13))
FB4 = CCur(u * QB * (FEO4 FE14))
FB5 = CCur(u * QB * (FEO5 FE15))
FB6 = CCur(u * QB * (FEO6 FE16))
FB7 = CCur(u * QB * (FEO7 FE17))
FB8 = CCur(u * QB * (FEO8 FE18))
FB9 = CCur(u * QB * (FEO9 FE19))
FB10 = CCur(u * QB * (FEO10 FE110))
LAB2_SOL3.Text31 = CCur(Round(FEO1, 4))
LAB2_SOL3.Text32 = CCur(Round(FEO2, 4))
LAB2_SOL3.Text33 = CCur(Round(FEO3, 4))
LAB2_SOL3.Text34 = CCur(Round(FEO4, 4))
LAB2_SOL3.Text35 = CCur(Round(FEO5, 4))
LAB2_SOL3.Text36 = CCur(Round(FEO6, 4))
LAB2_SOL3.Text37 = CCur(Round(FEO7, 4))
LAB2_SOL3.Text38 = CCur(Round(FEO8, 4))
LAB2_SOL3.Text39 = CCur(Round(FEO9, 4))
LAB2_SOL3.Text40 = CCur(Round(FEO10, 4))
LAB2_SOL3.Text41 = CCur(Round(FE11, 4))
LAB2_SOL3.Text42 = CCur(Round(FE12, 4))
LAB2_SOL3.Text43 = CCur(Round(FE13, 4))
LAB2_SOL3.Text44 = CCur(Round(FE14, 4))
LAB2_SOL3.Text45 = CCur(Round(FE15, 4))
LAB2_SOL3.Text46 = CCur(Round(FE16, 4))
LAB2_SOL3.Text47 = CCur(Round(FE17, 4))
LAB2_SOL3.Text48 = CCur(Round(FE18, 4))
LAB2_SOL3.Text49 = CCur(Round(FE19, 4))
LAB2_SOL3.Text50 = CCur(Round(FE110, 4))
LAB2_SOL3.Text51 = CCur(Round(FB1, 4))
LAB2_SOL3.Text52 = CCur(Round(FB2, 4))
LAB2_SOL3.Text53 = CCur(Round(FB3, 4))
LAB2_SOL3.Text54 = CCur(Round(FB4, 4))
LAB2_SOL3.Text55 = CCur(Round(FB5, 4))
LAB2_SOL3.Text56 = CCur(Round(FB6, 4))
LAB2_SOL3.Text57 = CCur(Round(FB7, 4))
LAB2_SOL3.Text58 = CCur(Round(FB8, 4))
LAB2_SOL3.Text59 = CCur(Round(FB9, 4))
LAB2_SOL3.Text60 = CCur(Round(FB10, 4))
LAB2_SOL3.Text61 = Round(CCur(QB), 4)
LAB2_ERROR.Text1 = CCur(Round(HAC1, 4))
LAB2_ERROR.Text2 = CCur(Round(HAC2, 4))
LAB2_ERROR.Text3 = CCur(Round(HAC3, 4))
LAB2_ERROR.Text4 = CCur(Round(HAC4, 4))
LAB2_ERROR.Text5 = CCur(Round(HAC5, 4))
LAB2_ERROR.Text6 = CCur(Round(HAC6, 4))
LAB2_ERROR.Text7 = CCur(Round(HAC7, 4))
LAB2_ERROR.Text8 = CCur(Round(HAC8, 4))
LAB2_ERROR.Text9 = CCur(Round(HAC9, 4))
LAB2_ERROR.Text10 = CCur(Round(HAC10, 4))
141
LAB2_ERROR.Text11 = CCur(Round(HAR1, 4))
LAB2_ERROR.Text12 = CCur(Round(HAR2, 4))
LAB2_ERROR.Text13 = CCur(Round(HAR3, 4))
LAB2_ERROR.Text14 = CCur(Round(HAR4, 4))
LAB2_ERROR.Text15 = CCur(Round(HAR5, 4))
LAB2_ERROR.Text16 = CCur(Round(HAR6, 4))
LAB2_ERROR.Text17 = CCur(Round(HAR7, 4))
LAB2_ERROR.Text18 = CCur(Round(HAR8, 4))
LAB2_ERROR.Text19 = CCur(Round(HAR9, 4))
LAB2_ERROR.Text20 = CCur(Round(HAR10, 4))
LAB2_ERROR.Text21 = CCur(Round(HDR1, 4))
LAB2_ERROR.Text22 = CCur(Round(HDR2, 4))
LAB2_ERROR.Text23 = CCur(Round(HDR3, 4))
LAB2_ERROR.Text24 = CCur(Round(HDR4, 4))
LAB2_ERROR.Text25 = CCur(Round(HDR5, 4))
LAB2_ERROR.Text26 = CCur(Round(HDR6, 4))
LAB2_ERROR.Text27 = CCur(Round(HDR7, 4))
LAB2_ERROR.Text28 = CCur(Round(HDR8, 4))
LAB2_ERROR.Text29 = CCur(Round(HDR9, 4))
LAB2_ERROR.Text30 = CCur(Round(HDR10, 4))
LAB2_ERROR.Text31 = CCur(Round(YA1, 4))
LAB2_ERROR.Text32 = CCur(Round(YA2, 4))
LAB2_ERROR.Text33 = CCur(Round(YA3, 4))
LAB2_ERROR.Text34 = CCur(Round(YA4, 4))
LAB2_ERROR.Text35 = CCur(Round(YA5, 4))
LAB2_ERROR.Text36 = CCur(Round(YA6, 4))
LAB2_ERROR.Text37 = CCur(Round(YA7, 4))
LAB2_ERROR.Text38 = CCur(Round(YA8, 4))
LAB2_ERROR.Text39 = CCur(Round(YA9, 4))
LAB2_ERROR.Text40 = CCur(Round(YA10, 4))
LAB2_ERROR.Text41 = CCur(Round(Y21, 4))
LAB2_ERROR.Text42 = CCur(Round(Y22, 4))
LAB2_ERROR.Text43 = CCur(Round(Y23, 4))
LAB2_ERROR.Text44 = CCur(Round(Y24, 4))
LAB2_ERROR.Text45 = CCur(Round(Y25, 4))
LAB2_ERROR.Text46 = CCur(Round(Y26, 4))
LAB2_ERROR.Text47 = CCur(Round(Y27, 4))
LAB2_ERROR.Text48 = CCur(Round(Y28, 4))
LAB2_ERROR.Text49 = CCur(Round(Y29, 4))
LAB2_ERROR.Text50 = CCur(Round(Y30, 4))
LAB2_ERROR.Text51 = CCur(Round(Abs((YA1 HAR1) / YA1) * 100, 1))
LAB2_ERROR.Text52 = CCur(Round(Abs((YA2 HAR2) / YA2) * 100, 1))
LAB2_ERROR.Text53 = CCur(Round(Abs((YA3 HAR3) / YA3) * 100, 1))
LAB2_ERROR.Text54 = CCur(Round(Abs((YA4 HAR4) / YA4) * 100, 1))
LAB2_ERROR.Text55 = CCur(Round(Abs((YA5 HAR5) / YA5) * 100, 1))
LAB2_ERROR.Text56 = CCur(Round(Abs((YA6 HAR6) / YA6) * 100, 1))
LAB2_ERROR.Text57 = CCur(Round(Abs((YA7 HAR7) / YA7) * 100, 1))
LAB2_ERROR.Text58 = CCur(Round(Abs((YA8 HAR8) / YA8) * 100, 1))
LAB2_ERROR.Text59 = CCur(Round(Abs((YA9 HAR9) / YA9) * 100, 1))
LAB2_ERROR.Text60 = CCur(Round(Abs((YA10 HAR10) / YA10) * 100, 1))
142
LAB2_ERROR.Text61 = CCur(Round(Abs((Y21 HDR1) / Y21) * 100, 1))
LAB2_ERROR.Text62 = CCur(Round(Abs((Y22 HDR2) / Y22) * 100, 1))
LAB2_ERROR.Text63 = CCur(Round(Abs((Y23 HDR3) / Y23) * 100, 1))
LAB2_ERROR.Text64 = CCur(Round(Abs((Y24 HDR4) / Y24) * 100, 1))
LAB2_ERROR.Text65 = CCur(Round(Abs((Y25 HDR5) / Y25) * 100, 1))
LAB2_ERROR.Text66 = CCur(Round(Abs((Y26 HDR6) / Y26) * 100, 1))
LAB2_ERROR.Text67 = CCur(Round(Abs((Y27 HDR7) / Y27) * 100, 1))
LAB2_ERROR.Text68 = CCur(Round(Abs((Y28 HDR8) / Y28) * 100, 1))
LAB2_ERROR.Text69 = CCur(Round(Abs((Y29 HDR9) / Y29) * 100, 1))
LAB2_ERROR.Text70 = CCur(Round(Abs(Y30 HDR10 / Y30) * 100, 1))
E1 = CCur(Round(Abs((YA1 HAR1) / YA1) * 100, 1))
E2 = CCur(Round(Abs((YA2 HAR2) / YA2) * 100, 1))
E3 = CCur(Round(Abs((YA3 HAR3) / YA3) * 100, 1))
E4 = CCur(Round(Abs((YA4 HAR4) / YA4) * 100, 1))
E5 = CCur(Round(Abs((YA5 HAR5) / YA5) * 100, 1))
E6 = CCur(Round(Abs((YA6 HAR6) / YA6) * 100, 1))
E7 = CCur(Round(Abs((YA7 HAR7) / YA7) * 100, 1))
E8 = CCur(Round(Abs((YA8 HAR8) / YA8) * 100, 1))
E9 = CCur(Round(Abs((YA9 HAR9) / YA9) * 100, 1))
E10 = CCur(Round(Abs((YA10 HAR10) / YA10) * 100, 1))
E11 = CCur(Round(Abs((Y21 HDR1) / Y21) * 100, 1))
E12 = CCur(Round(Abs((Y22 HDR2) / Y22) * 100, 1))
E13 = CCur(Round(Abs((Y23 HDR3) / Y23) * 100, 1))
E14 = CCur(Round(Abs((Y24 HDR4) / Y24) * 100, 1))
E15 = CCur(Round(Abs((Y25 HDR5) / Y25) * 100, 1))
E16 = CCur(Round(Abs((Y26 HDR6) / Y26) * 100, 1))
E17 = CCur(Round(Abs((Y27 HDR7) / Y27) * 100, 1))
E18 = CCur(Round(Abs((Y28 HDR8) / Y28) * 100, 1))
E19 = CCur(Round(Abs((Y29 HDR9) / Y29) * 100, 1))
E10 = CCur(Round(Abs((Y30 HDR10) / Y30) * 100, 1))
ER = (E1 + E2 + E3 + E4 + E5 + E6 + E7 + E8 + E9 + E10 + E11 + E12 + E13 + E14 + E15E + 16 +
E17 + E18 + E19 + E20) / 20
LAB2_ERROR.Text71 = CCur(Round(ER, 1))
LAB2_SOL1.Show
Unload Me
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
143
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End Sub
Private Sub Option1_Click()
If Option1 = True Then
144
Text4.Visible = False
Text4 = ""
End If
If Option1 = True Then
Text5.Visible = False
Text5 = ""
End If
If Option1 = True Then
Text6.Visible = False
Text6 = ""
End If
If Option1 = True Then
Text7.Visible = False
Text7 = ""
End If
If Option1 = True Then
Text8.Visible = False
Text8 = ""
End If
If Option1 = True Then
Text9.Visible = False
Text9 = ""
End If
If Option1 = True Then
Text10.Visible = False
Text10 = ""
End If
If Option1 = True Then
Text14.Visible = False
Text14 = ""
End If
If Option1 = True Then
Text15.Visible = False
Text15 = ""
End If
If Option1 = True Then
Text16.Visible = False
Text16 = ""
End If
If Option1 = True Then
Text17.Visible = False
Text17 = ""
End If
If Option1 = True Then
Text18.Visible = False
Text18 = ""
End If
If Option1 = True Then
Text19.Visible = False
Text19 = ""
End If
If Option1 = True Then
Text20.Visible = False
Text20 = ""
End If
If Option1 = True Then
Text24.Visible = False
Text24 = ""
End If
145
If Option1 = True Then
Text25.Visible = False
Text25 = ""
End If
If Option1 = True Then
Text26.Visible = False
Text26 = ""
End If
If Option1 = True Then
Text27.Visible = False
Text27 = ""
End If
If Option1 = True Then
Text28.Visible = False
Text28 = ""
End If
If Option1 = True Then
Text29.Visible = False
Text29 = ""
End If
If Option1 = True Then
Text30.Visible = False
Text30 = ""
End If
If Option1 = True Then
Label4.Visible = False
End If
If Option1 = True Then
Label5.Visible = False
End If
If Option1 = True Then
Label6.Visible = False
End If
If Option1 = True Then
Label7.Visible = False
End If
If Option1 = True Then
Label8.Visible = False
End If
If Option1 = True Then
Label9.Visible = False
End If
If Option1 = True Then
Label10.Visible = False
End If
If Option1 = True Then
Text1.Visible = True
End If
If Option1 = True Then
Text2.Visible = True
End If
If Option1 = True Then
Text3.Visible = True
End If
If Option1 = True Then
Text11.Visible = True
End If
If Option1 = True Then
146
Text12.Visible = True
End If
If Option1 = True Then
Text13.Visible = True
End If
If Option1 = True Then
Text21.Visible = True
End If
If Option1 = True Then
Text22.Visible = True
End If
If Option1 = True Then
Text23.Visible = True
End If
If Option1 = True Then
Label1.Visible = True
End If
If Option1 = True Then
Label1.Visible = True
End If
If Option1 = True Then
Label2.Visible = True
End If
If Option1 = True Then
Label3.Visible = True
End If
End Sub
Private Sub Option10_Click()
If Option10 = True Then
Text33.Visible = False
Text33 = ""
End If
If Option10 = True Then
Text34.Visible = False
Text34 = ""
End If
If Option10 = True Then
Text37.Visible = False
Text37 = ""
End If
If Option10 = True Then
Text38.Visible = False
Text38 = ""
End If
If Option10 = True Then
Text41.Visible = False
Text41 = ""
End If
If Option10 = True Then
Text42.Visible = False
Text42 = ""
End If
If Option10 = True Then
147
Label12.Visible = False
End If
If Option10 = True Then
Label13.Visible = False
End If
If Option10 = True Then
Text31.Visible = True
End If
If Option10 = True Then
Text32.Visible = True
End If
If Option10 = True Then
Text35.Visible = True
End If
If Option10 = True Then
Text36.Visible = True
End If
If Option10 = True Then
Text39.Visible = True
End If
If Option10 = True Then
Text40.Visible = True
End If
If Option10 = True Then
Label15.Visible = True
End If
If Option10 = True Then
Label11.Visible = True
End If
End Sub
Private Sub Option11_Click()
If Option11 = True Then
Text34.Visible = False
Text34 = ""
End If
If Option11 = True Then
Text38.Visible = False
Text38 = ""
End If
If Option11 = True Then
Text42.Visible = False
Text42 = ""
End If
If Option11 = True Then
Label13.Visible = False
End If
If Option11 = True Then
Text31.Visible = True
End If
If Option11 = True Then
Text32.Visible = True
End If
148
If Option11 = True Then
Text33.Visible = True
End If
If Option11 = True Then
Text35.Visible = True
End If
If Option11 = True Then
Text36.Visible = True
End If
If Option11 = True Then
Text37.Visible = True
End If
If Option11 = True Then
Text39.Visible = True
End If
If Option11 = True Then
Text40.Visible = True
End If
If Option11 = True Then
Text41.Visible = True
End If
If Option11 = True Then
Label15.Visible = True
End If
If Option11 = True Then
Label11.Visible = True
End If
If Option11 = True Then
Label12.Visible = True
End If
End Sub
Private Sub Option12_Click()
If Option12 = True Then
Text31.Visible = True
End If
If Option12 = True Then
Text32.Visible = True
End If
If Option12 = True Then
Text33.Visible = True
End If
If Option12 = True Then
Text34.Visible = True
End If
If Option12 = True Then
Text35.Visible = True
End If
If Option12 = True Then
Text36.Visible = True
End If
If Option12 = True Then
Text37.Visible = True
End If
If Option12 = True Then
Text38.Visible = True
End If
149
If Option12 = True Then
Text39.Visible = True
End If
If Option12 = True Then
Text40.Visible = True
End If
If Option12 = True Then
Text41.Visible = True
End If
If Option12 = True Then
Text42.Visible = True
End If
If Option12 = True Then
Label15.Visible = True
End If
If Option12 = True Then
Label11.Visible = True
End If
If Option12 = True Then
Label12.Visible = True
End If
If Option12 = True Then
Label13.Visible = True
End If
End Sub
Private Sub Option2_Click()
If Option2 = True Then
Text5.Visible = False
Text5 = ""
End If
If Option2 = True Then
Text6.Visible = False
Text6 = ""
End If
If Option2 = True Then
Text7.Visible = False
Text7 = ""
End If
If Option2 = True Then
Text8.Visible = False
Text8 = ""
End If
If Option2 = True Then
Text9.Visible = False
Text9 = ""
End If
If Option2 = True Then
Text10.Visible = False
Text10 = ""
End If
If Option2 = True Then
Text15.Visible = False
Text15 = ""
End If
If Option2 = True Then
Text16.Visible = False
150
Text16 = ""
End If
If Option2 = True Then
Text17.Visible = False
Text17 = ""
End If
If Option2 = True Then
Text18.Visible = False
Text18 = ""
End If
If Option2 = True Then
Text19.Visible = False
Text19 = ""
End If
If Option2 = True Then
Text20.Visible = False
Text20 = ""
End If
If Option2 = True Then
Text25.Visible = False
Text25 = ""
End If
If Option2 = True Then
Text26.Visible = False
Text26 = ""
End If
If Option2 = True Then
Text27.Visible = False
Text27 = ""
End If
If Option2 = True Then
Text28.Visible = False
Text28 = ""
End If
If Option2 = True Then
Text29.Visible = False
Text29 = ""
End If
If Option2 = True Then
Text30.Visible = False
Text30 = ""
End If
If Option2 = True Then
Label5.Visible = False
End If
If Option2 = True Then
Label6.Visible = False
End If
If Option2 = True Then
Label7.Visible = False
End If
If Option2 = True Then
Label8.Visible = False
End If
If Option2 = True Then
Label9.Visible = False
End If
If Option2 = True Then
Label10.Visible = False
151
End If
If Option2 = True Then
Text1.Visible = True
End If
If Option2 = True Then
Text2.Visible = True
End If
If Option2 = True Then
Text3.Visible = True
End If
If Option2 = True Then
Text4.Visible = True
End If
If Option2 = True Then
Text11.Visible = True
End If
If Option2 = True Then
Text12.Visible = True
End If
If Option2 = True Then
Text13.Visible = True
End If
If Option2 = True Then
Text14.Visible = True
End If
If Option2 = True Then
Text21.Visible = True
End If
If Option2 = True Then
Text22.Visible = True
End If
If Option2 = True Then
Text23.Visible = True
End If
If Option2 = True Then
Text24.Visible = True
End If
If Option2 = True Then
Label1.Visible = True
End If
If Option2 = True Then
Label2.Visible = True
End If
If Option2 = True Then
Label3.Visible = True
End If
If Option2 = True Then
Label4.Visible = True
End If
End Sub
Private Sub Option3_Click()
If Option3 = True Then
Text5.Visible = False
Text6 = ""
152
End If
If Option3 = True Then
Text6.Visible = False
Text6 = ""
End If
If Option3 = True Then
Text7.Visible = False
Text7 = ""
End If
If Option3 = True Then
Text8.Visible = False
Text8 = ""
End If
If Option3 = True Then
Text9.Visible = False
Text9 = ""
End If
If Option3 = True Then
Text10.Visible = False
Text10 = ""
End If
If Option3 = True Then
Text15.Visible = False
Text15 = ""
End If
If Option3 = True Then
Text16.Visible = False
Text16 = ""
End If
If Option3 = True Then
Text17.Visible = False
Text17 = ""
End If
If Option3 = True Then
Text18.Visible = False
Text18 = ""
End If
If Option3 = True Then
Text19.Visible = False
Text19 = ""
End If
If Option3 = True Then
Text20.Visible = False
Text20 = ""
End If
If Option3 = True Then
Text25.Visible = False
Text25 = ""
End If
If Option3 = True Then
Text26.Visible = False
Text26 = ""
End If
If Option3 = True Then
Text27.Visible = False
Text27 = ""
End If
If Option3 = True Then
Text28.Visible = False
153
Text28 = ""
End If
If Option3 = True Then
Text29.Visible = False
Text29 = ""
End If
If Option3 = True Then
Text30.Visible = False
Text30 = ""
End If
If Option3 = True Then
Label5.Visible = False
End If
If Option3 = True Then
Label6.Visible = False
End If
If Option3 = True Then
Label7.Visible = False
End If
If Option3 = True Then
Label8.Visible = False
End If
If Option3 = True Then
Label9.Visible = False
End If
If Option3 = True Then
Label10.Visible = False
End If
If Option3 = True Then
Text1.Visible = True
End If
If Option3 = True Then
Text2.Visible = True
End If
If Option3 = True Then
Text3.Visible = True
End If
If Option3 = True Then
Text4.Visible = True
End If
If Option3 = True Then
Text5.Visible = True
End If
If Option3 = True Then
Text11.Visible = True
End If
If Option3 = True Then
Text12.Visible = True
End If
If Option3 = True Then
Text13.Visible = True
End If
If Option3 = True Then
Text14.Visible = True
End If
If Option3 = True Then
Text15.Visible = True
End If
154
If Option3 = True Then
Text21.Visible = True
End If
If Option3 = True Then
Text22.Visible = True
End If
If Option3 = True Then
Text23.Visible = True
End If
If Option3 = True Then
Text24.Visible = True
End If
If Option3 = True Then
Text25.Visible = True
End If
If Option3 = True Then
Label1.Visible = True
End If
If Option3 = True Then
Label2.Visible = True
End If
If Option3 = True Then
Label3.Visible = True
End If
If Option3 = True Then
Label4.Visible = True
End If
If Option3 = True Then
Label5.Visible = True
End If
End Sub
Private Sub Option4_Click()
If Option4 = True Then
Text6.Visible = False
Text6 = ""
End If
If Option4 = True Then
Text7.Visible = False
Text7 = ""
End If
If Option4 = True Then
Text8.Visible = False
Text8 = ""
End If
If Option4 = True Then
Text9.Visible = False
Text9 = ""
End If
If Option4 = True Then
Text10.Visible = False
Text10 = ""
End If
If Option4 = True Then
Text16.Visible = False
155
Text16 = ""
End If
If Option4 = True Then
Text17.Visible = False
Text17 = ""
End If
If Option4 = True Then
Text18.Visible = False
Text18 = ""
End If
If Option4 = True Then
Text19.Visible = False
Text19 = ""
End If
If Option4 = True Then
Text20.Visible = False
Text20 = ""
End If
If Option4 = True Then
Text26.Visible = False
Text26 = ""
End If
If Option4 = True Then
Text27.Visible = False
Text27 = ""
End If
If Option4 = True Then
Text28.Visible = False
Text28 = ""
End If
If Option4 = True Then
Text29.Visible = False
Text29 = ""
End If
If Option4 = True Then
Text30.Visible = False
Text30 = ""
End If
If Option4 = True Then
Label6.Visible = False
End If
If Option4 = True Then
Label7.Visible = False
End If
If Option4 = True Then
Label8.Visible = False
End If
If Option4 = True Then
Label9.Visible = False
End If
If Option4 = True Then
Label10.Visible = False
End If
If Option4 = True Then
Text1.Visible = True
End If
If Option4 = True Then
Text2.Visible = True
156
End If
If Option4 = True Then
Text3.Visible = True
End If
If Option4 = True Then
Text4.Visible = True
End If
If Option4 = True Then
Text5.Visible = True
End If
If Option4 = True Then
Text6.Visible = True
End If
If Option4 = True Then
Text11.Visible = True
End If
If Option4 = True Then
Text12.Visible = True
End If
If Option4 = True Then
Text13.Visible = True
End If
If Option4 = True Then
Text14.Visible = True
End If
If Option4 = True Then
Text15.Visible = True
End If
If Option4 = True Then
Text16.Visible = True
End If
If Option4 = True Then
Text21.Visible = True
End If
If Option4 = True Then
Text22.Visible = True
End If
If Option4 = True Then
Text23.Visible = True
End If
If Option4 = True Then
Text24.Visible = True
End If
If Option4 = True Then
Text25.Visible = True
End If
If Option4 = True Then
Text26.Visible = True
End If
If Option4 = True Then
Label1.Visible = True
End If
If Option4 = True Then
Label2.Visible = True
End If
If Option4 = True Then
Label3.Visible = True
End If
If Option4 = True Then
157
Label4.Visible = True
End If
If Option4 = True Then
Label5.Visible = True
End If
If Option4 = True Then
Label6.Visible = True
End If
End Sub
Private Sub Option5_Click()
If Option5 = True Then
Text7.Visible = False
Text7 = ""
End If
If Option5 = True Then
Text8.Visible = False
Text8 = ""
End If
If Option5 = True Then
Text9.Visible = False
Text9 = ""
End If
If Option5 = True Then
Text10.Visible = False
Text10 = ""
End If
If Option5 = True Then
Text17.Visible = False
Text17 = ""
End If
If Option5 = True Then
Text18.Visible = False
Text18 = ""
End If
If Option5 = True Then
Text19.Visible = False
Text19 = ""
End If
If Option5 = True Then
Text20.Visible = False
Text20 = ""
End If
If Option5 = True Then
Text27.Visible = False
Text27 = ""
End If
If Option5 = True Then
Text28.Visible = False
Text28 = ""
End If
If Option5 = True Then
Text29.Visible = False
Text29 = ""
End If
If Option5 = True Then
Text30.Visible = False
158
Text30 = ""
End If
If Option5 = True Then
Label7.Visible = False
End If
If Option5 = True Then
Label8.Visible = False
End If
If Option5 = True Then
Label9.Visible = False
End If
If Option5 = True Then
Label10.Visible = False
End If
If Option5 = True Then
Text1.Visible = True
End If
If Option5 = True Then
Text2.Visible = True
End If
If Option5 = True Then
Text3.Visible = True
End If
If Option5 = True Then
Text4.Visible = True
End If
If Option5 = True Then
Text5.Visible = True
End If
If Option5 = True Then
Text6.Visible = True
End If
If Option5 = True Then
Text7.Visible = True
End If
If Option5 = True Then
Text11.Visible = True
End If
If Option5 = True Then
Text12.Visible = True
End If
If Option5 = True Then
Text13.Visible = True
End If
If Option5 = True Then
Text14.Visible = True
End If
If Option5 = True Then
Text15.Visible = True
End If
If Option5 = True Then
Text16.Visible = True
End If
If Option5 = True Then
Text17.Visible = True
End If
If Option5 = True Then
Text21.Visible = True
159
End If
If Option5 = True Then
Text22.Visible = True
End If
If Option5 = True Then
Text23.Visible = True
End If
If Option5 = True Then
Text24.Visible = True
End If
If Option5 = True Then
Text25.Visible = True
End If
If Option5 = True Then
Text26.Visible = True
End If
If Option5 = True Then
Text27.Visible = True
End If
If Option5 = True Then
Label1.Visible = True
End If
If Option5 = True Then
Label2.Visible = True
End If
If Option5 = True Then
Label3.Visible = True
End If
If Option5 = True Then
Label4.Visible = True
End If
If Option5 = True Then
Label5.Visible = True
End If
If Option5 = True Then
Label6.Visible = True
End If
If Option5 = True Then
Label7.Visible = True
End If
End Sub
Private Sub Option6_Click()
If Option6 = True Then
Text8.Visible = False
Text8 = ""
End If
If Option6 = True Then
Text9.Visible = False
Text9 = ""
End If
If Option6 = True Then
Text10.Visible = False
Text10 = ""
End If
If Option6 = True Then
Text18.Visible = False
160
Text18 = ""
End If
If Option6 = True Then
Text19.Visible = False
Text19 = ""
End If
If Option6 = True Then
Text20.Visible = False
Text20 = ""
End If
If Option6 = True Then
Text28.Visible = False
Text28 = ""
End If
If Option6 = True Then
Text29.Visible = False
Text29 = ""
End If
If Option6 = True Then
Text30.Visible = False
Text30 = ""
End If
If Option6 = True Then
Label8.Visible = False
End If
If Option6 = True Then
Label9.Visible = False
End If
If Option6 = True Then
Label10.Visible = False
End If
If Option6 = True Then
Text1.Visible = True
End If
If Option6 = True Then
Text2.Visible = True
End If
If Option6 = True Then
Text3.Visible = True
End If
If Option6 = True Then
Text4.Visible = True
End If
If Option6 = True Then
Text5.Visible = True
End If
If Option6 = True Then
Text6.Visible = True
End If
If Option6 = True Then
Text7.Visible = True
End If
If Option6 = True Then
Text8.Visible = True
End If
If Option6 = True Then
Text11.Visible = True
End If
161
If Option6 = True Then
Text12.Visible = True
End If
If Option6 = True Then
Text13.Visible = True
End If
If Option6 = True Then
Text14.Visible = True
End If
If Option6 = True Then
Text15.Visible = True
End If
If Option6 = True Then
Text16.Visible = True
End If
If Option6 = True Then
Text17.Visible = True
End If
If Option6 = True Then
Text18.Visible = True
End If
If Option6 = True Then
Text21.Visible = True
End If
If Option6 = True Then
Text22.Visible = True
End If
If Option6 = True Then
Text23.Visible = True
End If
If Option6 = True Then
Text24.Visible = True
End If
If Option6 = True Then
Text25.Visible = True
End If
If Option6 = True Then
Text26.Visible = True
End If
If Option6 = True Then
Text27.Visible = True
End If
If Option6 = True Then
Text28.Visible = True
End If
If Option6 = True Then
Label1.Visible = True
End If
If Option6 = True Then
Label2.Visible = True
End If
If Option6 = True Then
Label3.Visible = True
End If
If Option6 = True Then
Label4.Visible = True
End If
If Option6 = True Then
Label5.Visible = True
162
End If
If Option6 = True Then
Label6.Visible = True
End If
If Option6 = True Then
Label7.Visible = True
End If
If Option6 = True Then
Label8.Visible = True
End If
End Sub
Private Sub Option7_Click()
If Option7 = True Then
Text9.Visible = False
Text9 = ""
End If
If Option7 = True Then
Text10.Visible = False
Text10 = ""
End If
If Option7 = True Then
Text19.Visible = False
Text19 = ""
End If
If Option7 = True Then
Text20.Visible = False
Text20 = ""
End If
If Option7 = True Then
Text29.Visible = False
Text29 = ""
End If
If Option7 = True Then
Text30.Visible = False
Text30 = ""
End If
If Option7 = True Then
Label9.Visible = False
End If
If Option7 = True Then
Label10.Visible = False
End If
If Option7 = True Then
Text1.Visible = True
End If
If Option7 = True Then
Text2.Visible = True
End If
If Option7 = True Then
Text3.Visible = True
End If
If Option7 = True Then
Text4.Visible = True
End If
163
If Option7 = True Then
Text5.Visible = True
End If
If Option7 = True Then
Text6.Visible = True
End If
If Option7 = True Then
Text7.Visible = True
End If
If Option7 = True Then
Text8.Visible = True
End If
If Option7 = True Then
Text9.Visible = True
End If
If Option7 = True Then
Text11.Visible = True
End If
If Option7 = True Then
Text12.Visible = True
End If
If Option7 = True Then
Text13.Visible = True
End If
If Option7 = True Then
Text14.Visible = True
End If
If Option7 = True Then
Text15.Visible = True
End If
If Option7 = True Then
Text16.Visible = True
End If
If Option7 = True Then
Text17.Visible = True
End If
If Option7 = True Then
Text18.Visible = True
End If
If Option7 = True Then
Text19.Visible = True
End If
If Option7 = True Then
Text21.Visible = True
End If
If Option7 = True Then
Text22.Visible = True
End If
If Option7 = True Then
Text23.Visible = True
End If
If Option7 = True Then
Text24.Visible = True
End If
If Option7 = True Then
Text25.Visible = True
End If
If Option7 = True Then
Text26.Visible = True
164
End If
If Option7 = True Then
Text27.Visible = True
End If
If Option7 = True Then
Text28.Visible = True
End If
If Option7 = True Then
Text29.Visible = True
End If
If Option7 = True Then
Label1.Visible = True
End If
If Option7 = True Then
Label2.Visible = True
End If
If Option7 = True Then
Label3.Visible = True
End If
If Option7 = True Then
Label4.Visible = True
End If
If Option7 = True Then
Label5.Visible = True
End If
If Option7 = True Then
Label6.Visible = True
End If
If Option7 = True Then
Label7.Visible = True
End If
If Option7 = True Then
Label8.Visible = True
End If
If Option7 = True Then
Label9.Visible = True
End If
End Sub
Private Sub Option8_Click()
If Option8 = True Then
Text10.Visible = False
Text10 = ""
End If
If Option8 = True Then
Text20.Visible = False
Text20 = ""
End If
If Option8 = True Then
Text30.Visible = False
Text30 = ""
End If
If Option8 = True Then
Label10.Visible = False
End If
If Option8 = True Then
Text1.Visible = True
165
End If
If Option8 = True Then
Text2.Visible = True
End If
If Option8 = True Then
Text3.Visible = True
End If
If Option8 = True Then
Text4.Visible = True
End If
If Option8 = True Then
Text5.Visible = True
End If
If Option8 = True Then
Text6.Visible = True
End If
If Option8 = True Then
Text7.Visible = True
End If
If Option8 = True Then
Text8.Visible = True
End If
If Option8 = True Then
Text9.Visible = True
End If
If Option8 = True Then
Text10.Visible = True
End If
If Option8 = True Then
Text11.Visible = True
End If
If Option8 = True Then
Text12.Visible = True
End If
If Option8 = True Then
Text13.Visible = True
End If
If Option8 = True Then
Text14.Visible = True
End If
If Option8 = True Then
Text15.Visible = True
End If
If Option8 = True Then
Text16.Visible = True
End If
If Option8 = True Then
Text17.Visible = True
End If
If Option8 = True Then
Text18.Visible = True
End If
If Option8 = True Then
Text19.Visible = True
End If
If Option8 = True Then
Text20.Visible = True
End If
If Option8 = True Then
166
Text21.Visible = True
End If
If Option8 = True Then
Text22.Visible = True
End If
If Option8 = True Then
Text23.Visible = True
End If
If Option8 = True Then
Text24.Visible = True
End If
If Option8 = True Then
Text25.Visible = True
End If
If Option8 = True Then
Text26.Visible = True
End If
If Option8 = True Then
Text27.Visible = True
End If
If Option8 = True Then
Text28.Visible = True
End If
If Option8 = True Then
Text29.Visible = True
End If
If Option8 = True Then
Text30.Visible = True
End If
If Option8 = True Then
Label1.Visible = True
End If
If Option8 = True Then
Label2.Visible = True
End If
If Option8 = True Then
Label3.Visible = True
End If
If Option8 = True Then
Label4.Visible = True
End If
If Option8 = True Then
Label5.Visible = True
End If
If Option8 = True Then
Label6.Visible = True
End If
If Option8 = True Then
Label7.Visible = True
End If
If Option8 = True Then
Label8.Visible = True
End If
If Option8 = True Then
Label9.Visible = True
End If
If Option8 = True Then
Label10.Visible = True
End If
167
End Sub
Private Sub Option9_Click()
If Option9 = True Then
Text32.Visible = False
Text32 = ""
End If
If Option9 = True Then
Text33.Visible = False
Text33 = ""
End If
If Option9 = True Then
Text34.Visible = False
Text34 = ""
End If
If Option9 = True Then
Text36.Visible = False
Text36 = ""
End If
If Option9 = True Then
Text37.Visible = False
Text37 = ""
End If
If Option9 = True Then
Text38.Visible = False
Text38 = ""
End If
If Option9 = True Then
Text40.Visible = False
Text40 = ""
End If
If Option9 = True Then
Text41.Visible = False
Text41 = ""
End If
If Option9 = True Then
Text42.Visible = False
Text42 = ""
End If
If Option9 = True Then
Label11.Visible = False
End If
If Option9 = True Then
Label12.Visible = False
End If
If Option9 = True Then
Label13.Visible = False
End If
If Option9 = True Then
Text31.Visible = True
End If
If Option9 = True Then
Text35.Visible = True
End If
If Option9 = True Then
Text39.Visible = True
End If
If Option9 = True Then
168
Label15.Visible = True
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text10_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text11_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text12_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text13_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
169
End If
End Sub
Private Sub Text14_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text15_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text16_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text17_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text18_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text19_KeyPress(KeyAscii As Integer)
170
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text20_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text21_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text22_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text23_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
171
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text24_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text25_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text26_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text27_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text28_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
172
Private Sub Text29_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text30_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text31_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text32_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text33_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
173
End If
End Sub
Private Sub Text34_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text35_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text36_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text37_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text38_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text39_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
174
Private Sub Text4_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text40_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text41_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text42_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text43_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text44_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
175
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text9_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
176
End If
End If
End Sub
FORMULARIO 2
Private Sub Command1_Click()
LAB2_SOL2.Show
Unload Me
End Sub
Private Sub dlfkslfklkfl_Click()
End
End Sub
Private Sub KJFSDJKDJSFK_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KLDKFLKSDLFKSD_Click()
Form19.Show
Unload Me
End Sub
Private Sub KLKCXLÑKKLBF_Click()
LAB2_SOL1.PrintForm
End Sub
Private Sub MLDKFLDSKLF_Click()
PRAC2.Show
Unload Me
End Sub
FORMULARIO NUMERO 3
Private Sub Command1_Click()
LAB2_SOL3.Show
Unload Me
End Sub
Private Sub Command2_Click()
LAB2_ECUA.Show
End Sub
Private Sub JKLDKLFKSDLFKSDLF_Click()
LAB2_SOL2.PrintForm
End Sub
177
Private Sub KDJSDJKFJDFKL_Click()
LAB2_SOL1.Show
Unload Me
End Sub
Private Sub KLDJFKDSFKLSD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KLDJFKSDJFKLS_Click()
Form19.Show
Unload Me
End Sub
Private Sub KLKDLKFLSDKF_Click()
End
End Sub
FORMULARIO NUMERO 4
Private Sub Command1_Click()
Dim DONDE, RANGO As String
Dim RES As Long
Dim EXCEL As Object
Dim LIBRO As Object
Set EXCEL = CreateObject("excel.Application")
'DONDE = "C:\unisalle\LAB_HIDRAULICA_2.xls"
DONDE = "C:\Archivos de programa\DISCAN\CRAK\LAB_HIDRAULICA_2.xls"
Set CALCULOS = EXCEL.Workbooks.Open(DONDE)
CALCULOS.Worksheets(1).Cells(31, 2) = Text1
CALCULOS.Worksheets(1).Cells(32, 2) = Text2
CALCULOS.Worksheets(1).Cells(33, 2) = Text3
CALCULOS.Worksheets(1).Cells(34, 2) = Text4
CALCULOS.Worksheets(1).Cells(35, 2) = Text5
CALCULOS.Worksheets(1).Cells(36, 2) = Text6
CALCULOS.Worksheets(1).Cells(37, 2) = Text7
CALCULOS.Worksheets(1).Cells(38, 2) = Text8
CALCULOS.Worksheets(1).Cells(39, 2) = Text9
CALCULOS.Worksheets(1).Cells(40, 2) = Text10
CALCULOS.Worksheets(1).Cells(31, 3) = Text11
CALCULOS.Worksheets(1).Cells(32, 3) = Text12
CALCULOS.Worksheets(1).Cells(33, 3) = Text13
CALCULOS.Worksheets(1).Cells(34, 3) = Text14
CALCULOS.Worksheets(1).Cells(35, 3) = Text15
CALCULOS.Worksheets(1).Cells(36, 3) = Text16
CALCULOS.Worksheets(1).Cells(37, 3) = Text17
178
CALCULOS.Worksheets(1).Cells(38, 3) = Text18
CALCULOS.Worksheets(1).Cells(39, 3) = Text29
CALCULOS.Worksheets(1).Cells(40, 3) = Text20
CALCULOS.Worksheets(1).Cells(31, 4) = Text21
CALCULOS.Worksheets(1).Cells(32, 4) = Text22
CALCULOS.Worksheets(1).Cells(33, 4) = Text23
CALCULOS.Worksheets(1).Cells(34, 4) = Text24
CALCULOS.Worksheets(1).Cells(35, 4) = Text25
CALCULOS.Worksheets(1).Cells(36, 4) = Text26
CALCULOS.Worksheets(1).Cells(37, 4) = Text27
CALCULOS.Worksheets(1).Cells(38, 4) = Text28
CALCULOS.Worksheets(1).Cells(39, 4) = Text29
CALCULOS.Worksheets(1).Cells(40, 4) = Text30
CALCULOS.Worksheets(1).Cells(30, 5) = Text61
EXCEL.Visible = True
Set LIBRO = Nothing
Set EXCEL = Nothing
End Sub
Private Sub Command2_Click()
LAB2_IMAGEN.Show
End Sub
Private Sub Command3_Click()
End
Unload Me
End Sub
Private Sub Command4_Click()
LAB2_ERROR.Show
End Sub
Private Sub DFJKDJFKLDKSFL_Click()
End
End Sub
Private Sub DFKLGKLDFKGKDFL_Click()
Form19.Show
Unload Me
End Sub
Private Sub JKFJVKFKDKLF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KLDFKKFDSFLDKS_Click()
LAB2_SOL3.PrintForm
End Sub
179
Private Sub LDKLÑKFLDSKFL_Click()
LAB2_SOL2.Show
Unload Me
End Sub
FORMULARIO NUMERO 5
Private Sub DFGFDERRRR_Click()
End
End Sub
Private Sub DKKFLDKFLDKLF_Click()
LAB2_ERROR.PrintForm
End Sub
Private Sub FrameXp1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
End Sub
Private Sub JDKFLKDSLFKSD_Click()
LAB2_SOL3.Show
Unload Me
End Sub
Private Sub KJSDKJDSKFJKSD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LKDKLKDKFLD_Click()
Form19.Show
Unload Me
End Sub
7.2.3 IMAGENES
Private Sub Command1_Click()
LAB2_ECUA.Show
End Sub
7.2.4 ECUACIONES USADAS
Private Sub Label10_Click()
End Sub
180
Private Sub DFLKGÑFKLGÑKLF_Click()
Form19.Show
Unload Me
End Sub
Private Sub FKGKDFKG_Click()
LAB2_ECUA.PrintForm
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub KDKLFDKLF_Click()
End
End Sub
Private Sub LÑSDLFKDKFLDS_Click()
MDIForm1.Show
Unload Me
End Sub
181
8. CRITERIOS DE DISEÑO
8.1 TODO SOBRE….
Private Sub Command1_Click()
Frame2.Visible = True
Label1.Visible = True
Frame6.Visible = False
Label5.Visible = False
Frame4.Visible = False
Label3.Visible = False
Frame8.Visible = False
Label7.Visible = False
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command10_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
182
Label3.Visible = False
Frame8.Visible = True
Label7.Visible = True
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Frame13.Visible = True
Label14.Visible = True
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command11_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
Label3.Visible = False
Frame8.Visible = False
Label7.Visible = False
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
183
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = True
Label15.Visible = True
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command12_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
Label3.Visible = False
Frame8.Visible = False
Label7.Visible = False
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = True
Label16.Visible = True
End Sub
Private Sub Command2_Click()
Frame6.Visible = True
Label5.Visible = True
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
184
Label3.Visible = False
Frame8.Visible = False
Label7.Visible = False
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command3_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame8.Visible = False
Label7.Visible = False
Frame4.Visible = True
Label3.Visible = True
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Frame13.Visible = False
185
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command4_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
Label3.Visible = False
Frame8.Visible = True
Label7.Visible = True
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command5_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
Label3.Visible = False
186
Frame8.Visible = True
Label7.Visible = True
Frame9.Visible = True
Label8.Visible = True
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command6_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
Label3.Visible = False
Frame8.Visible = True
Label7.Visible = True
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = True
Label9.Visible = True
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
187
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command7_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
Label3.Visible = False
Frame8.Visible = True
Label7.Visible = True
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = True
Label10.Visible = True
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command8_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
188
Frame4.Visible = False
Label3.Visible = False
Frame8.Visible = True
Label7.Visible = True
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = True
Label10.Visible = True
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
Label13.Visible = False
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub Command9_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
Label3.Visible = False
Frame8.Visible = True
Label7.Visible = True
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = True
Label11.Visible = True
Label12.Visible = True
Label13.Visible = True
189
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub DFLKSLDÑFKLÑSDKFS_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub FrameXp1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
End Sub
Private Sub KSDFKLFL_Click()
End
End Sub
Private Sub LKFGKLFKGLÑFK_Click()
CRITERIO_DIS_1.PrintForm
End Sub
Private Sub LKFLGKFDLÑKDFLÑ_Click()
Frame6.Visible = False
Label5.Visible = False
Frame2.Visible = False
Label1.Visible = False
Frame4.Visible = False
Label3.Visible = False
Frame8.Visible = False
Label7.Visible = False
Frame9.Visible = False
Label8.Visible = False
Frame10.Visible = False
Label9.Visible = False
Frame11.Visible = False
Label10.Visible = False
Frame12.Visible = False
Label11.Visible = False
Label12.Visible = False
190
Label13.Visible = False
Frame13.Visible = False
Label14.Visible = False
Frame15.Visible = False
Label15.Visible = False
Frame16.Visible = False
Label16.Visible = False
End Sub
Private Sub LÑDKSFKSLÑKFL_Click()
Form19.Show
Unload Me
End Sub
191
9. ANIMACIONES
9.1 SECCION RECTANGULAR
Private Sub Label1_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
End Sub
9.2 SECCION TRAPEZOIDAL
Private Sub Command1_Click()
End Sub
Private Sub Label1_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
End Sub
9.3 SECCION TRIANGULAR
Private Sub Label1_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
End Sub
9.4 SECCION CIRCULAR
192
Private Sub Label1_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
End Sub
193
10. EJERCICIOS DE APLICACION
10.1 PROFUNDIDADES ALTERNAS
Private Sub Command1_Click()
If Text1 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL CAUDAL Q(m^3/s)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text2 = "" Then
MsgBox "NTRODUZCA UN VALOR PARA LA ENERGIA E(m)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text1 = 0 Then
MsgBox "EL CAUDAL UNITARIO q(m^3/s)*m NO PUEDE SER CERO(0)",
16, "ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text2 = 0 Then
MsgBox "LA ENERGIA E(m) NO PUEDE SER CERO(0)", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If (Text2 / Text1) < 0.9 Then
MsgBox "LOS DATOS ESTAN FUERA DEL RANGO DEL MODELO
HIDRAULICO Y MATEMATICO, SE HA PRODUCIDO UN DESBORDAMIENTO EN LAS
ITERACIONES, MODIFICAR EL CAUDAL UNITARIO O LA ENERGIA", 16, "DATOS
ERRONEOS"
APLICAC_1.Show
Text1 = ""
Text2 = ""
Else
Q = CCur(Text1)
E = CCur(Text2)
APLICA_2.Text1 = Q
APLICA_2.Text11 = CCur(Round((Q ^ 2 / 9.81) ^ (1 / 3), 3))
194
x = 0
For I = 1 To 100
x = CCur(Sqr(Q ^ 2 / (19.62 * (E x))))
Next I
Y0 = x
X1 = Y0 + E / 3
For I = 1 To 100
X1 = E Q ^ 2 / (19.62 * X1 ^ 2)
Next I
Y1 = X1
F0 = Sqr(Q ^ 2 / (9.81 * Y0 ^ 3))
F1 = Sqr(Q ^ 2 / (9.81 * Y1 ^ 3))
If F0 < 1 Then
APLICA_2.Text4 = "SubCritico"
End If
If F0 = 1 Then
APLICA_2.Text4 = "critico"
End If
If F0 > 1 Then
APLICA_2.Text4 = "Supecritico"
End If
If F1 < 1 Then
APLICA_2.Text7 = "SubCritico"
End If
If F1 = 1 Then
APLICA_2.Text7 = "critico"
End If
If F1 > 1 Then
APLICA_2.Text7 = "Supecritico"
End If
APLICA_2.Text2 = Round(Y0, 3)
APLICA_2.Text5 = Round(Y1, 3)
APLICA_2.Text3 = Round(F0, 3)
APLICA_2.Text6 = Round(F1, 3)
APLICA_2.Text8 = Round(Y0, 3)
APLICA_2.Text9 = Round(Y1, 3)
APLICA_2.Show
Unload Me
End If
195
End If
End If
End If
End If
End Sub
Private Sub Command2_Click()
If Text3 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL CAUDAL Q(m^3/s)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text4 = "" Then
MsgBox "NTRODUZCA UN VALOR PARA LA BASE b(m)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text5 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL TALUD z", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If Text3 = 0 Then
MsgBox "EL CAUDAL Q(m^3/s) NO PUEDE SER CERO(0)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text4 = 0 Then
MsgBox "LA BASE b(m) NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If Text5 = 0 Then
MsgBox "SI EL TALUD z ES CERO EL CANAL SERA RECTANGULAR",
16, "ERROR DE COMPLETACION"
APLICAC_1.Show
Else
QM = CCur(Text3)
bc = CCur(Text4)
zc = CCur(Text5)
X2 = 0
For I = 1 To 100
X2 = CCur(((QM) ^ 2 / (9.81 * (bc + zc * X2) ^ 2)) ^ (1 / 3))
Next I
196
YC = CCur(X2)
AC = CCur((bc + zc * YC) * YC)
vc = CCur(QM / AC)
APLICA_3.Text1 = Round(YC, 3)
APLICA_3.Text4 = Round(YC, 3)
APLICA_3.Text2 = Round(AC, 3)
APLICA_3.Text3 = Round(vc, 3)
APLICA_3.Show
Unload Me
End If
End If
End If
End If
End If
End If
End Sub
Private Sub Command3_Click()
If Text7 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL CAUDAL Q(m^3/s)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text6 = "" Then
MsgBox "NTRODUZCA UN VALOR PARA LA BASE b(m)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text8 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA LA PROFUNDIDAD Yo(m)",
16, "ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text7 = 0 Then
MsgBox "EL CAUDAL Q(m^3/s) NO PUEDE SER CERO(0)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text6 = 0 Then
MsgBox "LA BASE b(m) NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
197
Else
If Text8 = 0 Then
MsgBox "LA PROFUNDIDAD Yo(m) NO PUEDE SER CERO", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
B = CCur(Text6)
Q = CCur(Text7)
Y0 = CCur(Text8)
QU = CCur(Q / B)
E0 = CCur(Y0 + Q ^ 2 / (2 * 9.81 * B ^ 2 * Y0 ^ 2))
x = 0
For I = 1 To 100
x = (QU ^ 2 / (2 * 9.81 * (E0 x))) ^ 0.5
Next I
Y1 = CCur(x)
YC = CCur((QU ^ 2 / 9.81) ^ 0.5)
F1 = CCur(QU / (Y1 * (9.81 * Y1) ^ 0.5))
Y2 = CCur((Y1 / 2) * (1 + (1 + 8 * F1 ^ 2) ^ 0.5))
DE = (1) * CCur((Y1 Y2) ^ 3 / (4 * Y1 * Y2))
P = CCur(9810 * Q * DE)
FE0 = CCur((Y0 ^ 2 / 2) + (QU ^ 2 / (9.81 * Y0)))
FE1 = CCur((Y1 ^ 2 / 2) + (QU ^ 2 / (9.81 * Y1)))
F = CCur(9810 * B * (FE0 FE1))
If F1 < 1 Then
APLCA_4Text14 = "SubCritico"
End If
If F1 = 1 Then
APLCA_4.Text14 = "critico"
End If
If F1 > 1 Then
APLCA_4.Text14 = "Supecritico"
End If
APLCA_4.Text1 = Round(QU, 3)
APLCA_4.Text2 = Round(E0, 3)
APLCA_4.Text3 = Round(Y1, 3)
APLCA_4.Text4 = Round(YC, 3)
APLCA_4.Text5 = Round(Y0, 3)
APLCA_4.Text6 = Round(Y1, 3)
APLCA_4.Text7 = Round(F1, 3)
198
APLCA_4.Text8 = Round(Y2, 3)
APLCA_4.Text9 = Round(DE, 3)
APLCA_4.Text10 = Round(P, 3)
APLCA_4.Text11 = Round(FE0, 3)
APLCA_4.Text12 = Round(FE1, 3)
APLCA_4.Text13 = Round(F, 3)
APLCA_4.Show
Unload Me
End If
End If
End If
End If
End If
End If
End Sub
Private Sub DLKFLÑDKFLKDLFKL_Click()
APLICAC_1.PrintForm
End Sub
Private Sub LDKFKDLSFLSDKLÑ_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LKLFKDLÑFKÑDKFLÑ_Click()
End
End Sub
Private Sub ÑDFÑDLFÑLDÑ_Click()
Form19.Show
Unload Me
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
199
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
200
End If
End If
End Sub
FORMULARIO NUMERO 2
Private Sub ERTERTERT_Click()
End
End Sub
Private Sub FDGFDGFDGDF_Click()
APLICA_2.PrintForm
End Sub
Private Sub FGFDGDFGDF_Click()
Form19.Show
Unload Me
End Sub
Private Sub Label1_Click()
End Sub
Private Sub RETRTRET_Click()
APLICAC_1.Show
APLICAC_1.Frame1.Visible = True
APLICAC_1.Frame3.Visible = False
APLICAC_1.Frame5.Visible = False
Unload Me
End Sub
Private Sub RTERRT_Click()
MDIForm1.Show
Unload Me
End Sub
10.2 PROFUNDIDAD CRÍTICA
Private Sub Command1_Click()
If Text1 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL CAUDAL Q(m^3/s)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text2 = "" Then
201
MsgBox "NTRODUZCA UN VALOR PARA LA ENERGIA E(m)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text1 = 0 Then
MsgBox "EL CAUDAL UNITARIO q(m^3/s)*m NO PUEDE SER CERO(0)",
16, "ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text2 = 0 Then
MsgBox "LA ENERGIA E(m) NO PUEDE SER CERO(0)", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If (Text2 / Text1) < 0.9 Then
MsgBox "LOS DATOS ESTAN FUERA DEL RANGO DEL MODELO
HIDRAULICO Y MATEMATICO, SE HA PRODUCIDO UN DESBORDAMIENTO EN LAS
ITERACIONES, MODIFICAR EL CAUDAL UNITARIO O LA ENERGIA", 16, "DATOS
ERRONEOS"
APLICAC_1.Show
Text1 = ""
Text2 = ""
Else
Q = CCur(Text1)
E = CCur(Text2)
APLICA_2.Text1 = Q
APLICA_2.Text11 = CCur(Round((Q ^ 2 / 9.81) ^ (1 / 3), 3))
x = 0
For I = 1 To 100
x = CCur(Sqr(Q ^ 2 / (19.62 * (E x))))
Next I
Y0 = x
X1 = Y0 + E / 3
For I = 1 To 100
X1 = E Q ^ 2 / (19.62 * X1 ^ 2)
Next I
Y1 = X1
F0 = Sqr(Q ^ 2 / (9.81 * Y0 ^ 3))
202
F1 = Sqr(Q ^ 2 / (9.81 * Y1 ^ 3))
If F0 < 1 Then
APLICA_2.Text4 = "SubCritico"
End If
If F0 = 1 Then
APLICA_2.Text4 = "critico"
End If
If F0 > 1 Then
APLICA_2.Text4 = "Supecritico"
End If
If F1 < 1 Then
APLICA_2.Text7 = "SubCritico"
End If
If F1 = 1 Then
APLICA_2.Text7 = "critico"
End If
If F1 > 1 Then
APLICA_2.Text7 = "Supecritico"
End If
APLICA_2.Text2 = Round(Y0, 3)
APLICA_2.Text5 = Round(Y1, 3)
APLICA_2.Text3 = Round(F0, 3)
APLICA_2.Text6 = Round(F1, 3)
APLICA_2.Text8 = Round(Y0, 3)
APLICA_2.Text9 = Round(Y1, 3)
APLICA_2.Show
Unload Me
End If
End If
End If
End If
End If
End Sub
Private Sub Command2_Click()
If Text3 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL CAUDAL Q(m^3/s)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text4 = "" Then
MsgBox "NTRODUZCA UN VALOR PARA LA BASE b(m)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
203
Else
If Text5 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL TALUD z", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If Text3 = 0 Then
MsgBox "EL CAUDAL Q(m^3/s) NO PUEDE SER CERO(0)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text4 = 0 Then
MsgBox "LA BASE b(m) NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If Text5 = 0 Then
MsgBox "SI EL TALUD z ES CERO EL CANAL SERA RECTANGULAR",
16, "ERROR DE COMPLETACION"
APLICAC_1.Show
Else
QM = CCur(Text3)
bc = CCur(Text4)
zc = CCur(Text5)
X2 = 0
For I = 1 To 100
X2 = CCur(((QM) ^ 2 / (9.81 * (bc + zc * X2) ^ 2)) ^ (1 / 3))
Next I
YC = CCur(X2)
AC = CCur((bc + zc * YC) * YC)
vc = CCur(QM / AC)
APLICA_3.Text1 = Round(YC, 3)
APLICA_3.Text4 = Round(YC, 3)
APLICA_3.Text2 = Round(AC, 3)
APLICA_3.Text3 = Round(vc, 3)
APLICA_3.Show
Unload Me
End If
End If
End If
End If
End If
204
End If
End Sub
Private Sub Command3_Click()
If Text7 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL CAUDAL Q(m^3/s)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text6 = "" Then
MsgBox "NTRODUZCA UN VALOR PARA LA BASE b(m)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text8 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA LA PROFUNDIDAD Yo(m)",
16, "ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text7 = 0 Then
MsgBox "EL CAUDAL Q(m^3/s) NO PUEDE SER CERO(0)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text6 = 0 Then
MsgBox "LA BASE b(m) NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If Text8 = 0 Then
MsgBox "LA PROFUNDIDAD Yo(m) NO PUEDE SER CERO", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
B = CCur(Text6)
Q = CCur(Text7)
Y0 = CCur(Text8)
QU = CCur(Q / B)
E0 = CCur(Y0 + Q ^ 2 / (2 * 9.81 * B ^ 2 * Y0 ^ 2))
x = 0
For I = 1 To 100
x = (QU ^ 2 / (2 * 9.81 * (E0 x))) ^ 0.5
205
Next I
Y1 = CCur(x)
YC = CCur((QU ^ 2 / 9.81) ^ 0.5)
F1 = CCur(QU / (Y1 * (9.81 * Y1) ^ 0.5))
Y2 = CCur((Y1 / 2) * (1 + (1 + 8 * F1 ^ 2) ^ 0.5))
DE = (1) * CCur((Y1 Y2) ^ 3 / (4 * Y1 * Y2))
P = CCur(9810 * Q * DE)
FE0 = CCur((Y0 ^ 2 / 2) + (QU ^ 2 / (9.81 * Y0)))
FE1 = CCur((Y1 ^ 2 / 2) + (QU ^ 2 / (9.81 * Y1)))
F = CCur(9810 * B * (FE0 FE1))
If F1 < 1 Then
APLCA_4Text14 = "SubCritico"
End If
If F1 = 1 Then
APLCA_4.Text14 = "critico"
End If
If F1 > 1 Then
APLCA_4.Text14 = "Supecritico"
End If
APLCA_4.Text1 = Round(QU, 3)
APLCA_4.Text2 = Round(E0, 3)
APLCA_4.Text3 = Round(Y1, 3)
APLCA_4.Text4 = Round(YC, 3)
APLCA_4.Text5 = Round(Y0, 3)
APLCA_4.Text6 = Round(Y1, 3)
APLCA_4.Text7 = Round(F1, 3)
APLCA_4.Text8 = Round(Y2, 3)
APLCA_4.Text9 = Round(DE, 3)
APLCA_4.Text10 = Round(P, 3)
APLCA_4.Text11 = Round(FE0, 3)
APLCA_4.Text12 = Round(FE1, 3)
APLCA_4.Text13 = Round(F, 3)
APLCA_4.Show
Unload Me
End If
End If
End If
End If
End If
End If
End Sub
Private Sub DLKFLÑDKFLKDLFKL_Click()
206
APLICAC_1.PrintForm
End Sub
Private Sub LDKFKDLSFLSDKLÑ_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LKLFKDLÑFKÑDKFLÑ_Click()
End
End Sub
Private Sub ÑDFÑDLFÑLDÑ_Click()
Form19.Show
Unload Me
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
207
End If
End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
FORMULARIO NUMERO 2
Private Sub DFKLDKFFG_Click()
Form19.Show
Unload Me
End Sub
Private Sub DFLDFKFKLGF_Click()
APLICAC_1.Show
APLICAC_1.Frame1.Visible = False
APLICAC_1.Frame3.Visible = True
APLICAC_1.Frame5.Visible = False
Unload Me
End Sub
208
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub GFHFFHGFH_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub GHGFHGFH_Click()
End
End Sub
Private Sub KLKDFKSDKFLF_Click()
APLICA_3.PrintForm
End Sub
10.3 RESALTO HIDRAULICO
Private Sub Command1_Click()
If Text1 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL CAUDAL Q(m^3/s)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text2 = "" Then
MsgBox "NTRODUZCA UN VALOR PARA LA ENERGIA E(m)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text1 = 0 Then
MsgBox "EL CAUDAL UNITARIO q(m^3/s)*m NO PUEDE SER CERO(0)",
16, "ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text2 = 0 Then
MsgBox "LA ENERGIA E(m) NO PUEDE SER CERO(0)", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If (Text2 / Text1) < 0.9 Then
209
MsgBox "LOS DATOS ESTAN FUERA DEL RANGO DEL MODELO
HIDRAULICO Y MATEMATICO, SE HA PRODUCIDO UN DESBORDAMIENTO EN LAS
ITERACIONES, MODIFICAR EL CAUDAL UNITARIO O LA ENERGIA", 16, "DATOS
ERRONEOS"
APLICAC_1.Show
Text1 = ""
Text2 = ""
Else
Q = CCur(Text1)
E = CCur(Text2)
APLICA_2.Text1 = Q
APLICA_2.Text11 = CCur(Round((Q ^ 2 / 9.81) ^ (1 / 3), 3))
X = 0
For I = 1 To 100
X = CCur(Sqr(Q ^ 2 / (19.62 * (E X))))
Next I
Y0 = X
X1 = Y0 + E / 3
For I = 1 To 100
X1 = E Q ^ 2 / (19.62 * X1 ^ 2)
Next I
Y1 = X1
F0 = Sqr(Q ^ 2 / (9.81 * Y0 ^ 3))
F1 = Sqr(Q ^ 2 / (9.81 * Y1 ^ 3))
If F0 < 1 Then
APLICA_2.Text4 = "SubCritico"
End If
If F0 = 1 Then
APLICA_2.Text4 = "critico"
End If
If F0 > 1 Then
APLICA_2.Text4 = "Supecritico"
End If
If F1 < 1 Then
APLICA_2.Text7 = "SubCritico"
End If
If F1 = 1 Then
APLICA_2.Text7 = "critico"
End If
210
If F1 > 1 Then
APLICA_2.Text7 = "Supecritico"
End If
APLICA_2.Text2 = Round(Y0, 3)
APLICA_2.Text5 = Round(Y1, 3)
APLICA_2.Text3 = Round(F0, 3)
APLICA_2.Text6 = Round(F1, 3)
APLICA_2.Text8 = Round(Y0, 3)
APLICA_2.Text9 = Round(Y1, 3)
APLICA_2.Show
Unload Me
End If
End If
End If
End If
End If
End Sub
Private Sub Command2_Click()
If Text3 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL CAUDAL Q(m^3/s)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text4 = "" Then
MsgBox "NTRODUZCA UN VALOR PARA LA BASE b(m)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text5 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL TALUD z", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If Text3 = 0 Then
MsgBox "EL CAUDAL Q(m^3/s) NO PUEDE SER CERO(0)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text4 = 0 Then
MsgBox "LA BASE b(m) NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If Text5 = 0 Then
211
MsgBox "SI EL TALUD z ES CERO EL CANAL SERA RECTANGULAR",
16, "ERROR DE COMPLETACION"
APLICAC_1.Show
Else
QM = CCur(Text3)
bc = CCur(Text4)
zc = CCur(Text5)
X2 = 0
For I = 1 To 100
X2 = CCur(((QM) ^ 2 / (9.81 * (bc + zc * X2) ^ 2)) ^ (1 / 3))
Next I
YC = CCur(X2)
AC = CCur((bc + zc * YC) * YC)
vc = CCur(QM / AC)
APLICA_3.Text1 = Round(YC, 3)
APLICA_3.Text4 = Round(YC, 3)
APLICA_3.Text2 = Round(AC, 3)
APLICA_3.Text3 = Round(vc, 3)
APLICA_3.Show
Unload Me
End If
End If
End If
End If
End If
End If
End Sub
Private Sub Command3_Click()
If Text7 = "" Then
MsgBox "INTRODUZCA UN VALOR PARA EL CAUDAL Q(m^3/s)", 16,
"ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text6 = "" Then
MsgBox "NTRODUZCA UN VALOR PARA LA BASE b(m)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text8 = "" Then
212
MsgBox "INTRODUZCA UN VALOR PARA LA PROFUNDIDAD Yo(m)",
16, "ERROR DE COMPLETACION"
APLICAC_1.Show
Else
If Text7 = 0 Then
MsgBox "EL CAUDAL Q(m^3/s) NO PUEDE SER CERO(0)", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
If Text6 = 0 Then
MsgBox "LA BASE b(m) NO PUEDE SER CERO", 16, "ERROR DE
COMPLETACION"
APLICAC_1.Show
Else
If Text8 = 0 Then
MsgBox "LA PROFUNDIDAD Yo(m) NO PUEDE SER CERO", 16, "ERROR
DE COMPLETACION"
APLICAC_1.Show
Else
B = CCur(Text6)
Q = CCur(Text7)
Y0 = CCur(Text8)
QU = CCur(Q / B)
E0 = CCur(Y0 + Q ^ 2 / (2 * 9.81 * B ^ 2 * Y0 ^ 2))
X = 0
For I = 1 To 100
X = (QU ^ 2 / (2 * 9.81 * (E0 X))) ^ 0.5
Next I
Y1 = CCur(X)
YC = CCur((QU ^ 2 / 9.81) ^ 0.5)
F1 = CCur(QU / (Y1 * (9.81 * Y1) ^ 0.5))
Y2 = CCur((Y1 / 2) * (1 + (1 + 8 * F1 ^ 2) ^ 0.5))
DE = (1) * CCur((Y1 Y2) ^ 3 / (4 * Y1 * Y2))
P = CCur(9810 * Q * DE)
FE0 = CCur((Y0 ^ 2 / 2) + (QU ^ 2 / (9.81 * Y0)))
FE1 = CCur((Y1 ^ 2 / 2) + (QU ^ 2 / (9.81 * Y1)))
F = CCur(9810 * B * (FE0 FE1))
If F1 < 1 Then
APLCA_4Text14 = "SubCritico"
213
End If
If F1 = 1 Then
APLCA_4.Text14 = "critico"
End If
If F1 > 1 Then
APLCA_4.Text14 = "Supecritico"
End If
APLCA_4.Text1 = Round(QU, 3)
APLCA_4.Text2 = Round(E0, 3)
APLCA_4.Text3 = Round(Y1, 3)
APLCA_4.Text4 = Round(YC, 3)
APLCA_4.Text5 = Round(Y0, 3)
APLCA_4.Text6 = Round(Y1, 3)
APLCA_4.Text7 = Round(F1, 3)
APLCA_4.Text8 = Round(Y2, 3)
APLCA_4.Text9 = Round(DE, 3)
APLCA_4.Text10 = Round(P, 3)
APLCA_4.Text11 = Round(FE0, 3)
APLCA_4.Text12 = Round(FE1, 3)
APLCA_4.Text13 = Round(F, 3)
APLCA_4.Show
Unload Me
End If
End If
End If
End If
End If
End If
End Sub
Private Sub DLKFLÑDKFLKDLFKL_Click()
APLICAC_1.PrintForm
End Sub
Private Sub LDKFKDLSFLSDKLÑ_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LKLFKDLÑFKÑDKFLÑ_Click()
End
End Sub
Private Sub ÑDFÑDLFÑLDÑ_Click()
Form19.Show
Unload Me
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
214
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
215
Private Sub Text7_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)
Dim VALOR As Integer
If KeyAscii <> 8 Then
If InStr(1, "0123456789,.", Chr(KeyAscii)) = 0 Then
Beep
KeyAscii = 0
End If
End If
End Sub
FORMULARIO NUMERO 2
Private Sub DFKLFKDLÑFKLÑDF_Click()
APLICAC_1.Show
APLICAC_1.Frame1.Visible = False
APLICAC_1.Frame3.Visible = False
APLICAC_1.Frame5.Visible = True
Unload Me
End Sub
Private Sub DLFKDKLFKLÑDFL_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub FFFGFGFDG_Click()
End
End Sub
Private Sub FKLGKFLGKLFFG_Click()
APLCA_4.PrintForm
End Sub
Private Sub Label15_Click()
End Sub
Private Sub LFDLÑGLFÑ_Click()
Form19.Show
Unload Me
End Sub
216
11. GLOSARIO
11.1 HIDRAULICA DE CANALES
Private Sub Command1_Click()
GLO_A.Show
End Sub
Private Sub Command10_Click()
GLO_M.Show
End Sub
Private Sub Command11_Click()
GLO_N.Show
End Sub
Private Sub Command12_Click()
GLO_P.Show
End Sub
Private Sub Command13_Click()
GLO_R.Show
End Sub
Private Sub Command14_Click()
GLO_S.Show
End Sub
Private Sub Command15_Click()
GLO_T.Show
End Sub
Private Sub Command16_Click()
GLO_V.Show
End Sub
Private Sub Command17_Click()
GLO_W.Show
End Sub
Private Sub Command18_Click()
GLO_Z.Show
End Sub
Private Sub Command19_Click()
GLO_BIBLI.Show
End Sub
Private Sub Command2_Click()
GLO_B.Show
End Sub
217
Private Sub Command3_Click()
GLO_C.Show
End Sub
Private Sub Command4_Click()
GLO_D.Show
End Sub
Private Sub Command5_Click()
GLO_E.Show
End Sub
Private Sub Command6_Click()
GLO_F.Show
End Sub
Private Sub Command7_Click()
GLO_G.Show
End Sub
Private Sub Command8_Click()
GLO_I.Show
End Sub
Private Sub Command9_Click()
GLO_L.Show
End Sub
Private Sub FrameXp1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
End Sub
Private Sub JKSDJFKSDLJF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KLDFLÑGFDKLÑK_Click()
End
End Sub
Private Sub LKÑKSDLKFSDKLFS_Click()
Form19.Show
Unload Me
End Sub
Private Sub LÑKSLDFLKLGF_Click()
GLOSARIO.PrintForm
End Sub
FORMULARIO NUMERO 1
Private Sub DFGDFGDFGF_Click()
218
End
End Sub
Private Sub JKSDJKFJKLF_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub Label1_Click()
End Sub
Private Sub LÑSDKLSDKFLSD_Click()
Form19.Show
Unload Me
End Sub
Private Sub LPDSDFLKDLKF_Click()
GLO_A.PrintForm
End Sub
Private Sub SDKLKFSDLÑFK_Click()
MDIForm1.Show
Unload Me
End Sub
FORMULARIO NUMERO 2
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub KDJFKDSKLFKKLFSDDS_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KDKFKLGLDFLÑ_Click()
End
End Sub
Private Sub KLDFKLDKFKDLF_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub KLSDJFKJKLFJSD_Click()
219
GLO_B.PrintForm
End Sub
Private Sub LDSKFKLF_Click()
Form19.Show
Unload Me
End Sub
FORMULARIO NUMERO 3
Private Sub KLDFLKSDKFKLFSD_Click()
GLO_BIBLI.PrintForm
End Sub
Private Sub KSDKLFKDFKLSD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KSKLKFLSDKLÑF_Click()
End
End Sub
Private Sub Label1_Click()
End Sub
Private Sub LDKLFDKLFKLSDF_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub LSDKLFSDLLÑSDF_Click()
Form19.Show
Unload Me
End Sub
FORMULARIO NUMERO 4
Private Sub DFFDFDDDDDDD_Click()
End
End Sub
Private Sub JKLDJKLFKLKFSD_Click()
MDIForm1.Show
Unload Me
220
End Sub
Private Sub KDKLFKDFLK_Click()
GLO_C.PrintForm
End Sub
Private Sub KLFKLGFDKLÑGF_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub KLKFDLFKFKLÑDF_Click()
Form19.Show
Unload Me
End Sub
Private Sub Label1_Click()
End Sub
FORMULARIO NUMERO 5
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub KDLKSFLDSKFLÑSD_Click()
End
End Sub
Private Sub LKDLKLDSKLFD_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub LÑLDSÑLÑSLDLÑF_Click()
Form19.Show
Unload Me
End Sub
Private Sub PAGINA_Click()
GLO_D.PrintForm
End Sub
Private Sub TTRRTRRRRRR_Click()
MDIForm1.Show
Unload Me
End Sub
221
FORMULARIO NUMERO 5
Private Sub FGÑDFLÑGLÑDF_Click()
End
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub GHGHGH_Click()
Form19.Show
Unload Me
End Sub
Private Sub JDKSJFKJKFF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub JKDJKJFDKSFJKLSD_Click()
GLO_E.PrintForm
End Sub
Private Sub LÑDLÑKFLÑKF_Click()
GLOSARIO.Show
Unload Me
End Sub
FORMULARIO NUMERO 6
Private Sub KJSKDJKFKLKSJDF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KLDJKFLJDKLSF_Click()
End
End Sub
Private Sub KLDKJKFLKLDSFÑ_Click()
GLO_F.PrintForm
End Sub
Private Sub Label1_Click()
End Sub
222
Private Sub LKDFLDLÑFKL_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub LÑDKLKSDFLFKLFD_Click()
Form19.Show
Unload Me
End Sub
FORMULARIO NUMERO 7
Private Sub DFLKFLDÑKLÑFDKGLÑ_Click()
End
End Sub
Private Sub FGKFDLGKFDG_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub JKDJFKLJKFJKSD_Click()
GLO_G.PrintForm
End Sub
Private Sub KLDJKLSDJKLFSD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub MGKDFLKGDFKGLDF_Click()
Form19.Show
Unload Me
End Sub
FORMULARIO NUMERO 8
Private Sub DKFLDKFD_Click()
GLOSARIO.Show
Unload Me
End Sub
223
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub JKDKLFSDJKFKFJKL_Click()
End
End Sub
Private Sub KDJKJSKLF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KKSDKLFÑDKLFF_Click()
Form19.Show
Unload Me
End Sub
Private Sub LKFLKLÑDFKLÑGF_Click()
GLO_I.PrintForm
End Sub
FORMULARIO NUMERO 9
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub JKSDJKFSDJKF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KFDKLDFKLGDF_Click()
GLO_L.PrintForm
End Sub
Private Sub KLDKLFJSDKLF_Click()
End
End Sub
Private Sub LDFKLÑFDLGLF_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub LÑDSKLFKSDLÑF_Click()
Form19.Show
224
Unload Me
End Sub
FORMULARIO NUMERO 10
Private Sub DFJKJGKLDFG_Click()
End
End Sub
Private Sub FLÑLGFKLDÑG_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub KLDSKLFSDF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LÑDKLKFDLÑFDS_Click()
Form19.Show
Unload Me
End Sub
Private Sub LÑDSKLKFLÑF_Click()
GLO_M.PrintForm
End Sub
FORMULARIO NUMERO 11
Private Sub DLÑKLÑSDKFL_Click()
GLO_N.PrintForm
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
225
Private Sub JKDJFKLSDJKDF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KLSDLKSDLKDFS_Click()
Form19.Show
Unload Me
End Sub
Private Sub LÑDFLÑFLÑGKLDFÑ_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub LÑDLÑKFSDLÑKF_Click()
End
End Sub
FORMULARIO NUMERO 12
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub JKJDFKLJFD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LÑDFDF_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub LÑDKFLÑKLÑFD_Click()
Form19.Show
Unload Me
End Sub
Private Sub LÑSDLÑFLSDÑLFÑ_Click()
End
End Sub
Private Sub LSDKLKLDKFDSF_Click()
GLO_P.PrintForm
End Sub
226
FORMULARIO NUMERO 13
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub KLDKFKLÑSDFSF_Click()
Form19.Show
Unload Me
End Sub
Private Sub KLDSFKLÑKDLF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LKLÑKLÑGFGF_Click()
End
End Sub
Private Sub LÑKLDFKLFÑDF_Click()
GLO_R.PrintForm
End Sub
Private Sub ÑLFÑFLÑFSF_Click()
GLOSARIO.Show
Unload Me
End Sub
FORMULARIO NUMERO 14
Private Sub DJKJFKLJFDKSL_Click()
Form19.Show
Unload Me
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub LGKFLÑGKÑDFG_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub LKDFLKLÑDFSDDF_Click()
MDIForm1.Show
Unload Me
227
End Sub
Private Sub LÑKDLFKDKFD_Click()
GLO_S.PrintForm
End Sub
Private Sub ÑDSLÑFLÑFL_Click()
End
End Sub
FORMULARIO NUMERO 15
Private Sub DKFKLSDKFKDSF_Click()
GLO_T.PrintForm
End Sub
Private Sub DÑFÑDFSDFSDL_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub JSDJKFKSDJFSD_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub LDKÑKLKLÑFSDF_Click()
Form19.Show
Unload Me
End Sub
Private Sub LKLFKLSDÑFSD_Click()
End
End Sub
FORMULARIO NUMERO 16
Private Sub DFSDLFLDÑS_Click()
Form19.Show
Unload Me
228
End Sub
Private Sub Frame1_DragDrop(Index As Integer, Source As Control, X As Single, Y As Single)
End Sub
Private Sub LFDLKFLÑSDKDÑSDF_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub LSKFKLSDFDSF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub SDFKLKSDFKLÑS_Click()
GLO_V.PrintForm
End Sub
Private Sub TRTRTERTER_Click()
End
End Sub
FORMULARIO NUMERO 17
Private Sub Frame1_DragDrop(Index As Integer, Source As Control, X As Single, Y As Single)
End Sub
Private Sub JKLSDLFKLDKSF_Click()
End
End Sub
Private Sub KLFKGKGGF_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub KLKSDLKFLÑSDKF_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub KSDLKFLÑSDKFLÑD_Click()
GLO_W.PrintForm
End Sub
Private Sub LSDKLFKDSLFK_Click()
229
Form19.Show
Unload Me
End Sub
FORMULARIO NUMERO 18
Private Sub ASDLÑASÑLDSA_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Frame1_DragDrop(Index As Integer, Source As Control, X As Single, Y As Single)
End Sub
Private Sub LÑKLADÑKFSDFSDFS_Click()
End
End Sub
Private Sub LÑKSDFKFLSDF_Click()
GLO_Z.PrintForm
End Sub
Private Sub MKDFKFLDSFSD_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub ÑDASÑFLSDFLFSDÑ_Click()
Form19.Show
Unload Me
End Sub
230
12. ACERCA DE…..
12.1 AYUDA
12.1.1 DEL PROGRAMA
Private Sub Command1_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Command2_Click()
GLO_BIBLI.Show
Unload Me
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
12.2 AGRADECIMIENTOS
Private Sub cmdOK_Click()
MDIForm1.Show
Unload Me
End Sub
Private Sub Command1_Click()
Form33.Show
Unload Me
End Sub
Private Sub Command2_Click()
Form32.Show
Unload Me
End Sub
Private Sub Command3_Click()
231
Form22.Show
Unload Me
End Sub
Private Sub Command4_Click()
Form35.Show
Unload Me
End Sub
Private Sub FrameXp1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
End Sub
FORMULARIO NUMERO 1
Private Sub cmdOK_Click()
Form34.Show
Unload Me
End Sub
Private Sub Form_Load()
Timer1.Interval = 60
VScroll1.Max = Picture1.Height
VScroll1.Min = 0 Text3.Height
VScroll1.Value = VScroll1.Max
End Sub
Private Sub Image1_Click()
End Sub
Private Sub Text3_Change()
End Sub
Private Sub Timer1_Timer()
If VScroll1.Value >= VScroll1.Min + 80 Then
VScroll1.Value = VScroll1.Value 35
Else
VScroll1.Value = VScroll1.Max
DoEvents
End If
Text3.Top = VScroll1.Value
Text3.Visible = True
DoEvents
232
End Sub
Private Sub Timer3_Timer()
End Sub
Private Sub Timer2_Timer()
End Sub
FORMULARI NUMERO 2
Private Sub cmdOK_Click()
Form34.Show
Unload Me
End Sub
Private Sub Form_Load()
Timer1.Interval = 60
VScroll1.Max = Picture1.Height
VScroll1.Min = 0 Text3.Height
VScroll1.Value = VScroll1.Max
End Sub
Private Sub Picture1_Click()
End Sub
Private Sub Timer1_Timer()
If VScroll1.Value >= VScroll1.Min + 80 Then
VScroll1.Value = VScroll1.Value 35
Else
VScroll1.Value = VScroll1.Max
DoEvents
End If
Text3.Top = VScroll1.Value
Text3.Visible = True
DoEvents
End Sub
FORMULARIO NUMERO 3
Private Sub cmdOK_Click()
Form34.Show
Unload Me
233
End Sub
Private Sub Form_Load()
Timer1.Interval = 60
VScroll1.Max = Picture1.Height
VScroll1.Min = 0 Text3.Height
VScroll1.Value = VScroll1.Max
End Sub
Private Sub Picture1_Click()
End Sub
Private Sub Timer1_Timer()
If VScroll1.Value >= VScroll1.Min + 80 Then
VScroll1.Value = VScroll1.Value 35
Else
VScroll1.Value = VScroll1.Max
DoEvents
End If
Text3.Top = VScroll1.Value
Text3.Visible = True
DoEvents
End Sub
FORMULARIO NUMERO 4
Private Sub cmdOK_Click()
Form34.Show
Unload Me
End Sub
Private Sub Form_Load()
Timer1.Interval = 10
VScroll1.Max = Picture1.Height
VScroll1.Min = 0 Text3.Height
VScroll1.Value = VScroll1.Max
End Sub
Private Sub Picture1_Click()
End Sub
Private Sub Timer2_Timer()
If VScroll1.Value >= VScroll1.Min + 80 Then
VScroll1.Value = VScroll1.Value 35
Else
VScroll1.Value = VScroll1.Max
DoEvents
End If
Text3.Top = VScroll1.Value
Text3.Visible = True
DoEvents
End Sub
234
13. SALIR
13.1 ESTA SEGURO DE SALIR?
b Timer1_Timer()
End Sub
Private Sub ASDS_Click()
Form2.Show
Unload Me
End Sub
Private Sub CIRCU_Click()
Form5.Show
Unload Me
End Sub
Private Sub CVMCVKJCVK_Click()
Form11.Show
Unload Me
End Sub
Private Sub DLKFDFKFLGLF_Click()
GENER2.Show
Unload Me
End Sub
Private Sub DSFFGFGFGFD_Click()
Form26.TEXTRUGOSIDAD = ""
Form26.Q = ""
Form26.S = ""
Form26.L = ""
Form26.Z = ""
Form26.V = ""
Form26.Show
Unload Me
End Sub
Private Sub FDFDFDFDS_Click()
Form3.Show
Unload Me
End Sub
Private Sub JIJIJIJIJI_Click()
FORM14.Show
Unload Me
235
End Sub
Private Sub FFGFDGFG_Click()
PRAC2.Show
Unload Me
End Sub
Private Sub JDJKSDFJFJFK_Click()
LAB2_ECUA.Show
Unload Me
End Sub
Private Sub JDKJKJDJFKDK_Click()
GENER.Show
Unload Me
End Sub
Private Sub JJIJKKKOKO_Click()
Form13.Show
Unload Me
End Sub
Private Sub JKJKJKCDCDF_Click()
Form12.Show
Unload Me
End Sub
Private Sub JSDJSDFKLSDKLFKSDLÑ_Click()
LAB1_ECUA.Show
Unload Me
End Sub
Private Sub KDKKVKCVCK_Click()
Form16.Show
Unload Me
End Sub
Private Sub KFJKDFJKLDJFKLKFKL_Click()
Form18.Show
Unload Me
End Sub
Private Sub KIJIJJIJIJI_Click()
Form4.Show
Unload Me
End Sub
Private Sub KJDKFJKSDJFKLSD_Click()
Form30.Show
Unload Me
236
End Sub
Private Sub KJKFJFKGJKFGJKLFG_Click()
Form29.Show
Unload Me
End Sub
Private Sub KLSDJKFJKFJKRL_Click()
Form34.Show
Unload Me
End Sub
Private Sub KOKDFJDFIDJF_Click()
Dim byt_Salir As Byte
byt_Salir = MsgBox(" ¿Desea Salir de Open Flow?", vbYesNo + vbQuestion, " SALIR DEL
PROGRAMA ")
If byt_Salir = vbYes Then End
End Sub
Private Sub MJFDKFLLFKGLFKG_Click()
Form9.Show
Unload Me
End Sub
Private Sub KSDJFKLJFJDSFJKLSF_Click()
Form31.Show
Unload Me
End Sub
Private Sub KSJSDKLFJKDLSFJKSD_Click()
Form20.Show
Unload Me
End Sub
Private Sub LKSDFLKLKFLG_Click()
CRITERIO_DIS_1.Show
Unload Me
End Sub
Private Sub LÑFLDSLFD_Click()
APLICAC_1.Show
APLICAC_1.Frame1.Visible = False
APLICAC_1.Frame3.Visible = True
APLICAC_1.Frame5.Visible = False
Unload Me
End Sub
Private Sub LÑKDLÑFKGLÑFKGÑFL_Click()
APLICAC_1.Show
APLICAC_1.Frame1.Visible = False
237
APLICAC_1.Frame3.Visible = False
APLICAC_1.Frame5.Visible = True
Unload Me
End Sub
Private Sub LÑKFKLDFKGLÑF_Click()
GLOSARIO.Show
Unload Me
End Sub
Private Sub LÑSDKFLKSDLÑFK_Click()
APLICAC_1.Show
APLICAC_1.Frame1.Visible = True
APLICAC_1.Frame3.Visible = False
APLICAC_1.Frame5.Visible = False
Unload Me
End Sub
Private Sub LSDKFLKLFKSDLFKS_Click()
Form25.Show
Unload Me
End Sub
Private Sub lskdlskdlkdfklf_Click()
LAB2_IMAGEN.Show
Unload Me
End Sub
Private Sub OIOIOIOIO_Click()
Form10.Show
Unload Me
End Sub
Private Sub PLSDFNDJKFJDK_Click()
Form17.Show
Unload Me
End Sub
Private Sub SECCIONRECTANGULAR_Click()
Form6.Show
Unload Me
End Sub
Private Sub SECCIONTRAPEZOIDAL_Click()
Form7.Show
Unload Me
End Sub
Private Sub SECCIONTRIANGULAR_Click()
238
Form8.Show
Unload Me
End Sub
Private Sub SJDKSJDKS_Click()
Form15.Show
Unload Me
End Sub
Private Sub SKJDKSJDKSJ_Click()
Form19.Show
Unload Me
End Sub
Private Sub SKSDJSJKJFG_Click()
PRAC1.Show
Unload Me
MsgBox "Introducir las lecturas de los niveles, de Mayor a Menor en (mm)", 16,
"AYUDAS DE CALCULO"
PRAC1.Show
End Sub
239
CONTENIDO
GENERALIDADES 6
INTRODUCCIÓN 6
REQUERIMIENTOS DEL SISTEMA 6
DERECHOS DE AUTOR 7
RESPONSABILIDADES 7
AUTORES 7
ALCANCE GENERAL DEL PROGRAMA OPEN FLOW UNISALLE 8
REQUISITOS MINIMOS DE EQUIPO 9
2.0 PANTALLAS E IMÁGENES DEL SOFTWARE OPEN FLOW UNISALLE 13
1
LISTA DE IMÁGENES
2
IMAGEN 22 PANTALLA DE RESULTADOS GENERALES POR EL CALCULO DE LOS ELEMENTOS
GEOMÉTRICOS EN CANALES ABIERTOS. 31
IMAGEN 23 MENÚ PARA EL DISEÑO DE CANALES ABIERTOS DESDE LA PANTALLA
PRINCIPAL. 33
IMAGEN 24 MENÚ PARA EL DISEÑO DE CANALES ABIERTOS REVESTIDOS DESDE LA
PANTALLA PRINCIPAL. 34
IMAGEN 25 PANTALLA DE INGRESO DATOS GENERALES PARA EL DISEÑO DE CANALES
ABIEROS REVESTIDOS CON SECCIÓN HIDRÁULICAMENTE OPTIMA. 37
IMAGEN 26 PANTALLA DE RESULTADOS PRIMARIOS GENERALES PARA EL DISEÑO DE
CANALES REVESTIDOS CON SECCIÓN HIDRÁULICAMENTE OPTIMA. 38
IMAGEN 27 PANTALLA DATOS PARA EL CALCULO DE LOS COSTOS POR EXCAVACIÓN,
TRANSPORTE Y REVESTIMIENTO PARA EL DISEÑO DE CANALES REVESTIDOS CON
SECCIÓN HIDRÁULICAMENTE OPTIMA. 40
IMAGEN 28 PANTALLA DE RESULTADOS DE COSTOS GENERALES PARA EL DISEÑO DE
CANALES REVESTIDOS CON SECCIÓN HIDRÁULICAMENTE OPTIMA 41
IMAGEN 29 MENÚ PARA EL DISEÑO DE CANALES ABIERTOS NO REVESTIDOS DESDE LA
PANTALLA PRINCIPAL. 42
IMAGEN 30 PANTALLA DE INGRESO DATOS GENERALES PARA EL DISEÑO DE CANALES
ABIERTOS NO REVESTIDOS CON VELOCIDAD MÁXIMA PERMISIBLE. 45
IMAGEN 31 PANTALLA DE RESULTADOS PRIMARIOS GENERALES EN EL DISEÑO DE
CANALES ABIERTOS NO REVESTIDOS CON VELOCIDAD MÁXIMA PERMISIBLE. 46
IMAGEN 32 PANTALLA DE RESULTADOS PRIMARIOS GENERALES EN EL DISEÑO DE
CANALES ABIERTOS NO REVESTIDOS CON VELOCIDAD MÁXIMA PERMISIBLE, CUADRO
DE ADVERTENCIA. 47
IMAGEN 33 PANTALLA DE RESULTADOS GENERALES EN EL DISEÑO DE CANALES ABIERTOS
NO REVESTIDOS CON VELOCIDAD MÁXIMA PERMISIBLE. 48
IMAGEN 34 PANTALLA DE RESULTADOS GENERALES EN EL DISEÑO DE CANALES ABIERTOS
NO REVESTIDOS CON VELOCIDAD MÁXIMA PERMISIBLE. 49
IMAGEN 35 PANTALLA DATOS PARA EL CALCULO DE LOS COSTOS POR EXCAVACIÓN Y
TRANSPORTE PARA EL DISEÑO DE CANALES NO REVESTIDOS CON VELOCIDAD
PERMISIBLE. 50
IMAGEN 36 MENÚ PARA LABORATORIOS DE HIDRÁULICA DE CANALES EN LA UNIVERSIDAD
DE LA SALLE. 53
IMAGEN 37 MENÚ DE LABORATORIO “GEOMETRÍA DE LA SECCION” DESDE LA PANTALLA
PRINCIPAL. 54
IMAGEN 38 PANTALLA DE INTRODUCCIÓN PARA EL LABORATORIO “GEOMETRÍA DE LA
SECCION” . 55
3
IMAGEN 39 PANTALLA INTRODUCCIÓN DATOS CON VENTANA DE DIALOGO PARA EL
LABORATORIO “GEOMETRÍA DE LA SECCION” . 56
IMAGEN 40 PANTALLA DE ENTRADA DE DATOS CON OPCIONES DE DATOS. 57
IMAGEN 41 PANTALLA PARA ENTRADA DE LECTURAS DE NIVELES. 58
IMAGEN 42 PANTALLA PARA EL INGRESO DE LOS DATOS DE AFORO DE CAUDAL. 59
IMAGEN 43 PANTALLA CON DATOS INGRESADOS. 60
IMAGEN 44 PANTALLA DE RESULTADOS PRIMARIOS. 61
IMAGEN 45 PANTALLA DE RESULTADOS SECUNDARIOS. 62
IMAGEN 46 PANTALLA DE RESULTADOS FINALES. 63
IMAGEN 47 GRAFICA DE LA ENERGÍA ESPECIFICA. 64
IMAGEN 48 GRAFICA DE LA FUERZA ESPECIFICA. 65
IMAGEN 49 INGRESO AL MENÚ "ECUACIONES USADAS" 66
IMAGEN 50 PANTALLA DE ECUACIONES. 67
IMAGEN 51 PANTALLA DE INTRODUCCIÓN. 68
IMAGEN 52 INGRESO PARA LA REALIZACIÓN DE LOS CÁLCULOS. 69
IMAGEN 53 PANTALLA DE ENTRADA. 70
IMAGEN 54 INGRESO DE DATOS. 71
IMAGEN 55 PUESTA DE DATOS. 72
IMAGEN 56 PANTALLA DE RESULTADOS INICIALES DE LA PRACTICA DE LABORATORIO,
RESULTADOS GENERALES. 73
IMAGEN 57 PANTALLA DE RESULTADOS DE LA PRACTICA DE LABORATORIO, RESULTADOS
DE LA PRACTICAS. 74
IMAGEN 58 PANTALLA DE RESULTADOS DE LA PRACTICA DE LABORATORIO, RESULTADOS
DE LA PRACTICAS 75
IMAGEN 59 PANTALLA DE RESULTADOS DE LA PRACTICA DE LABORATORIO, ERROR DE LA
PRACTICA DEBIDO AL DESARROLLO DE LA PRACTICA. 76
IMAGEN 60 PANTALLA DE RESULTADOS DE LA PRACTICA DE LABORATORIO, GRAFICAS DE
ENERGÍA ESPECIFICA PARA DADA DATO. 77
IMAGEN 62 PANTALLA DE RESULTADOS DE LA PRACTICA DE LABORATORIO, GRAFICAS DE
FUERZA ESPECIFICA PARA DADA DATO. 78
IMAGEN 63 PANTALLA DE IMAGEN DE LABORATORIO. 79
IMAGEN 64 IMÁGENES DE LAS APLICACIONES DEL RESALTO HIDRÁULICO. 80
IMAGEN 65 PANTALLA PRINCIPAL 81
IMAGEN 66 PANTALLA DE RESULTADOS. 82
IMAGEN 67 INGRESO A CRITERIOS DE DISEÑO. 83
IMAGEN 68 SUBMENÚ "CRITERIOS DE DISEÑO" 84
IMAGEN 69 MENÚ "DISEÑO DE CANALES" 85
4
IMAGEN 70 INGRESO A LAS ANIMACIONES. 86
IMAGEN 71 ACCESO A LA ANIMACIÓN. 87
IMAGEN 72 PANTALLA DE VISUALIZACION DE LA ANIMACION. 88
IMAGEN 73 INGRESO A LOS EJERCICIOS DE APLICACIÓN DESDE LA PANTALLA PREINCIPAL
89
5
MANUAL DE USUARIO OPEN FLOW UNISALLE
GENERALIDADES
INTRODUCCIÓN
El presente programa fue creado para el diseño de canales abiertos, canales
revestidos bajo el método de la sección hidráulicamente óptima y canales no
revestidos con el método de la velocidad permisible.
El programa además calcula los elementos geométricos de las principales
secciones geométricas; calculas los estados de flujo critico y uniforme, determina
el borde libre para un canal, calcula la fuerza especifica en un canal para las
diferentes secciones transversales, permite el desarrollo de las practicas de
laboratorio de hidráulica de canales, permite ejecutar aplicaciones didácticas como
es la determinación de las profundidades alternas, secuentes y criticas en canales
rectangulares y trapezoidales, análisis del resalto hidráulico.
Posee bases de datos con criterios para el diseño de canales, coeficientes de
Manning, terminología referente a la hidráulica de canales y se muestra una
bibliografía técnica para los interesados en ampliar el tema.
REQUERIMIENTOS DEL SISTEMA
Para que el programa funcione correctamente, se necesita:
1. PC con procesador Pentium III o superior
2. 128 Megas de memoria Ram.
4. Espacio disponible en disco duro de 1.5Gb.
5. Unidad de CD o DVD.
6. Resolución mínima de 600 * 800 píxeles.
6
7. Periféricos de audio.
DERECHOS DE AUTOR
El presente programa está protegido por las leyes nacionales e internacionales de
derechos de autor.
RESPONSABILIDADES
Ni los diseñadores, ni la Universidad De La Salle son responsables de los errores
e inconsistencias del presente software. Aunque el programa ha sido sometido a
pruebas de calidad, todos los resultados deben ser estudiados y verificados por el
usuario.
AUTORES
El programa fue creado por los ingenieros Jairo Alexander Barragán Mendoza,
Andrés Ricardo Reyes Carrillo, y Luís E. Acosta Velásquez; bajo la asesoría y
supervisión técnica de los ingenieros Roberto Vázquez Madero de la Universidad
De La Salle y Juan Fajardo de Tuxstone soluciones y del Departamento técnico de
C.O.E.C Ltda.
Bogotá, D.C. Noviembre del año 2001
7
ALCANCE GENERAL DEL PROGRAMA OPEN FLOW UNISALLE
NOTA: El usuario del programa OPEN FLOW UNISALLE, debe suponer que lo
que no se indique explícitamente es una LIMITACIÓN.
La utilización de estos programas es para los interesados en la hidráulica de
canales, estudiantes, docentes, profesionales y todos aquellos que se sientan
atraídos por el tema, se hace mención especial de los estudiantes de Ingeniería
Civil de la Universidad de La Salle.
Las siguientes son algunas limitaciones que el diseñador o usuario deben tener en
cuenta.
1. Para los modelos matemáticos e hidráulicos que requieren iteraciones se
utilizan condicionales de cien (100) iteraciones.
2. Para el desarrollo de las prácticas de laboratorio de hidráulica de canales, se
debe ingresar todos los datos, se requieren diez lecturas para cada una de las
prácticas modeladas.
3. En la solución de sistemas de ecuaciones lineales se utilizo el método de
aproximaciones sucesivas de Newton.
4. No se incluye el análisis del flujo crítico para la sección circular.
5. No se incluye el análisis del flujo uniforme para la sección circular.
6. En el diseño de canales no se tiene en cuenta el efecto de la curvatura ni la
sinuosidad del canal.
7. En el diseño de canales no revestidos se tienen en cuenta ciento diez y ocho,
coeficientes de Manning cargados en una base de datos .mdb que se encuentra
adjunta ala carpeta de archivos del programa. Este archivo puede ser actualizado
por el usuario de ser necesario.
8
REQUISITOS MINIMOS DE EQUIPO
MUY IMPORTANTE:
Para un buen desempeño del programa de diseño OPEN FLOW UNISALLE, debe
disponerse mínimo del siguiente equipo:
1. PC con procesador Pentium III o superior
2. 128 Megas de memoria Ram.
4. Espacio disponible en disco duro de 1.5Gb.
5. Unidad de CD o DVD.
6. Resolución mínima de 600 * 800 píxeles.
7. Periféricos de audio.
9
1.0 INSTALACION DE OPEN FLOW UNISALLE
Para la instalación de Open Flow Unisalle en su computador, siga la siguiente
secuencia de imágenes, no modifique ni redirecciones los archivos de instalación.
En general se debe aceptar a cada ventana de dialogo durante la instalación.
Imagen 1 Instalador del software Open Flow Unisalle.
10
Imagen 2 Instalación del software Open Flow Unisalle, primera pantalla.
11
Imagen 3 Instalación del software Open Flow Unisalle, segunda pantalla.
Imagen 4 Instalación del software Open Flow Unisalle, tercera pantalla.
12
Imagen 5 Instalación del software Open Flow Unisalle, cuarta pantalla.
2.0 PANTALLAS E IMÁGENES DEL SOFTWARE OPEN FLOW UNISALLE
2.1 PANTALLA INICIAL
La pantalla inicial es una presentación del programa dura 6 segundos tiene la
propiedad de ir variando la tonalidad de la ella en el rango del azul, además el
titulo correspondiente al nombre del programa tiene movimiento cíclico sobre la
pantalla; si se desea omitir esta presentación se debe dar clic sobre la pantalla.
13
Imagen 6 Pantalla inicial del software Open Flor Unisalle.
2.2 PANTALLA PRINCIPAL
En la pantalla principal se encuentran las funciones principales del programa las
cuales se encuentran como menús desplegables. Desde esta primera pantalla se
invocan las rutinas para el cálculo y desarrollo de:
· Flujo critico
· Fuerza especifica
· Flujo uniforme
· Borde libre
· Elementos geométricos
· Diseño de canales
· Laboratorios
· Criterios de diseño
14
· Animaciones
· Ejercicios de aplicaciones
· Glosario
· Acerca de
· Salir
Imagen 7 Pantalla principal de Open Flor Unisalle.
2.3 PANTALLAS DE CÁLCULO
El acceso de estas pantallas se efectúa por medio de la pantalla principal, en
estas pantallas se ingresan valores numéricos que corresponden a los datos
necesarios para efectuar los cálculos y diseños correspondientes.
15
2.3.1 Calculo de elementos hidráulicos y geométricos en flujo crítico
Para el cálculo del flujo critico, el software Open Flow Unisalle dispone de tres
opciones, que corresponden a las secciones transversales de canales mas
utilizadas.
Imagen 8 Menú para el cálculo del flujo critico desde la pantalla principal
Para el cálculo del flujo crítico en cualquiera de las secciones se debe de dar
doble clic sobre la sección elegida, a continuación aparecerá la pantalla de ingreso
para los datos generales. Según la sección transversal seleccionada se tiene que
para la:
· Sección rectangular: Se debe de ingresar el caudal “Q” en (m 3 /s), la base
“b” en (m) y la aceleración debida a la gravedad “g” en (m/s 2 ).
16
· Sección Trapezoidal: Se debe de ingresar el caudal “Q” en (m 3 /s), la base
“b” en (m), la aceleración debida a la gravedad “g” en (m/s 2 ) y el talud “z”.
· Sección Triangular: Se debe de ingresar el caudal “Q” en (m 3 /s), el talud “z”
y la aceleración debida a la gravedad “g” en (m/s 2 ).
Cada pantalla para el ingreso de datos tiene incorporada una imagen donde ubica
los datos que deberá incorporar el usuario. Los datos se ingresan tecleando sobre
cada casilla el valor correspondiente, se puede utilizar la tecla “tab” para usuarios
que omitan utilizar el “mouse”, para iniciar los cálculos se debe dar “enter” o doble
“Clic” sobre el boton “REALIZAR CALCULOS”.
Imagen 9 Pantalla de ingreso datos generales para el calculo del flujo critico en la sección
rectangular
En la pantalla de respuestas se visualizan los resultados numéricos
correspondientes, los cálculos generados en esta rutina son:
· La profundidad crítica (m).
· Área crítica (m 2 ).
17
· Velocidad crítica (m).
· Energía crítica (m).
Se dispone de una imagen donde se ubican los resultados.
Imagen 10 Pantalla de resultados en el flujo critico de la sección rectangular.
Para imprimir resultados se debe ir a la barra de menú superior y seleccionar la
opción “IMPRIMIR”; esta barra tiene las opciones de “AYUDA” la cual muestra
información correspondiente al funcionamiento del programa, la opción de
“VOLVER A” esta opción borra los datos ingresados y permite reiniciar los
cálculos, la opción “SALIR” permite al usuario salir de la subrutina y volver a la
pantalla principal por medio de la opción “A MENU PRINCIPAL” o salir del
programa con la opción “DEL PROGRAMA”.
18
2.3.2 Calculo de la fuerza específica en canales abiertos
Para el cálculo de la fuerza especifica en canales abiertos, el software Open Flow
Unisalle dispone de cuatro opciones, que corresponden a las secciones
transversales de canales abiertos mas utilizadas.
Imagen 11 Menú para el cálculo de la fuerza especifica desde la pantalla principal
Para el cálculo de la fuerza específica cualquiera de las secciones se debe de dar
doble clic sobre la sección elegida, a continuación aparecerá la pantalla de ingreso
para los datos generales. Según la sección transversal seleccionada se tiene que
para la:
· Sección rectangular: Se debe de ingresar el caudal “Q” en (m 3 /s), la
profundidad del flujo “y” en (m) y la base “b” en (m).
19
· Sección Trapezoidal: Se debe de ingresar el caudal “Q” en (m 3 /s), la
profundidad del flujo “y” en (m), la base “b” en (m) y el talud “z”.
· Sección Triangular: Se debe de ingresar el caudal “Q” en (m 3 /s), la
profundidad del flujo “y” en (m) y el talud “z”.
· Sección circular: Se debe de ingresar el caudal “Q” en (m 3 /s), la profundidad
del flujo “y” en (m) y el diámetro “D” en (m).
Cada pantalla para el ingreso de datos tiene incorporada una imagen donde ubica
los datos que deberá incorporar el usuario. Los datos se ingresan tecleando sobre
cada casilla el valor correspondiente, se puede utilizar la tecla “tab” para usuarios
que omitan utilizar el “mouse”, para iniciar los cálculos se debe dar “enter” o doble
“Clic” sobre el boton “REALIZAR CALCULOS”.
Imagen 12 Pantalla de ingreso datos generales para el calculo la fuerza especifica en la
sección triangular.
20
En la pantalla de respuestas se visualizan los resultados numéricos
correspondientes, esta rutina entrega el siguiente resultado:
· La energía específica (m).
Se dispone de una imagen donde se ubican los resultados.
Imagen 13 Pantalla de resultados de la fuerza especifica para una sección triangular.
Para imprimir resultados se debe ir a la barra de menú superior y seleccionar la
opción “IMPRIMIR”; esta barra tiene las opciones de “AYUDA” la cual muestra
información correspondiente al funcionamiento del programa, la opción de
“VOLVER A” esta opción borra los datos ingresados y permite reiniciar los
cálculos, la opción “SALIR” permite al usuario salir de la subrutina y volver a la
pantalla principal por medio de la opción “A MENU PRINCIPAL” o salir del
programa con la opción “DEL PROGRAMA”.
21
2.3.3 Calculo de elementos hidráulicos y geométricos en flujo uniforme
Para el cálculo de la fuerza especifica en canales abiertos, el software Open Flow
Unisalle dispone de tres opciones, que corresponden a las secciones
transversales de canales abiertos mas utilizadas.
Imagen 14 Menú para el cálculo del flujo uniforme desde la pantalla principal
Para el cálculo de los elementos geométricos e hidráulicos bajo un régimen de
flujo uniforme en cualquiera de las secciones se debe de dar doble clic sobre la
sección elegida, a continuación aparecerá la pantalla de ingreso para los datos
generales. Según la sección transversal seleccionada se tiene que para la:
· Sección rectangular: Se debe de ingresar el caudal “Q” en (m 3 /s), la base
“b” en (m), la pendiente “S” y el coeficiente de Manning “n”.
22
· Sección Trapezoidal: : Se debe de ingresar el caudal “Q” en (m 3 /s), la base
“b” en (m), la pendiente “S”, el coeficiente de Manning “n” y el talud “z”.
· Sección Triangular: Se debe de ingresar el caudal “Q” en (m 3 /s), la
pendiente “S”, el coeficiente de Manning “n” y el talud “z”.
Imagen 15 Pantalla de ingreso datos generales para el calculo del flujo uniforme en la
sección rectangular.
Cada pantalla para el ingreso de datos tiene incorporada una imagen donde ubica
los datos que deberá incorporar el usuario.
Los datos se ingresan tecleando sobre cada casilla el valor correspondiente, se
puede utilizar la tecla “tab” para usuarios que omitan utilizar el “mouse”, para
iniciar los cálculos se debe dar “enter” o doble “Clic” sobre el boton “REALIZAR
CALCULOS”.
23
En la pantalla de respuestas se visualizan los resultados numéricos
correspondientes, los cálculos generados en esta rutina son:
· La profundidad normal (m).
· Área normal (m 2 ).
· Perímetro normal (m).
· Radio hidráulico normal (m).
· Velocidad normal (m/s)
Se dispone de una imagen donde se ubican los resultados.
Imagen 16 Pantalla de resultados en el flujo uniforme en la sección rectangular.
Para imprimir resultados se debe ir a la barra de menú superior y seleccionar la
opción “IMPRIMIR”; esta barra tiene las opciones de “AYUDA” la cual muestra
información correspondiente al funcionamiento del programa, la opción de
“VOLVER A” esta opción borra los datos ingresados y permite reiniciar los
cálculos, la opción “SALIR” permite al usuario salir de la subrutina y volver a la
24
pantalla principal por medio de la opción “A MENU PRINCIPAL” o salir del
programa con la opción “DEL PROGRAMA”.
2.3.4 Calculo del borde libre en canales abiertos
Para el cálculo del borde libre en canales abiertos, el software Open Flow Unisalle
lo determina mediante una correlación que esta en función de una constante “C” y
de profundidad “y” del flujo, la constante “C” esta relacionada con el caudal “Q”.
Imagen 17 Menú para el cálculo del borde libre desde la pantalla principal
La pantalla para el ingreso de datos tiene incorporada una imagen donde ubica los
datos que deberá incorporar el usuario.
25
Los datos se ingresan tecleando sobre cada casilla el valor correspondiente, se
puede utilizar la tecla “tab” para usuarios que omitan utilizar el “mouse”, para
iniciar los cálculos se debe dar “enter” o doble “Clic” sobre el boton “REALIZAR
CALCULOS”.
Los datos que se deben ingresar son:
· El caudal “Q” en (m 3 /s)
· La profundidad del flujo “y” en (m)
Imagen 18 Pantalla de ingreso datos generales para el calculo del borde libre en un canal
abierto.
En la pantalla de respuestas se visualizan los resultados numéricos
correspondientes, los cálculos generados en esta rutina son:
· El borde libre en (m).
· La altura total del canal (m).
26
Se dispone de una imagen donde se ubican los resultados
Imagen 19 Pantalla de resultados en el borde libre en canales abiertos.
Para imprimir resultados se debe ir a la barra de menú superior y seleccionar la
opción “IMPRIMIR”; esta barra tiene las opciones de “AYUDA” la cual muestra
información correspondiente al funcionamiento del programa, la opción de
“VOLVER A” esta opción borra los datos ingresados y permite reiniciar los
cálculos, la opción “SALIR” permite al usuario salir de la subrutina y volver a la
pantalla principal por medio de la opción “A MENU PRINCIPAL” o salir del
programa con la opción “DEL PROGRAMA”.
2.3.5 Calculo de elementos geométricos
Para el cálculo de los elementos geométricos en canales abiertos, el software
Open Flow Unisalle dispone de cuatro opciones, que corresponden a las
secciones transversales de canales abiertos mas utilizadas.
27
Las secciones que se trabajan en el programa son las secciones rectangular,
trapezoidal, triangular y circular. El calculo de las secciones esta fundamentado en
las relaciones matemáticas y geométricas existentes en la literatura tecnica.
Para el cálculo de los elementos geométricos en cualquiera de las secciones se
debe de dar doble clic sobre la sección elegida, a continuación aparecerá la
pantalla de ingreso para los datos generales.
Imagen 20 Menú para el cálculo de los elementos geométricos en canales abiertos desde la
pantalla principal.
28
Los datos se ingresan tecleando sobre cada casilla el valor correspondiente, se
puede utilizar la tecla “tab” para usuarios que omitan utilizar el “mouse”, para
iniciar los cálculos se debe dar “enter” o doble “Clic” sobre el boton “REALIZAR
CALCULOS”.
Los datos que se deben ingresar difieren dependiendo el tipo de sección a
calcular, según esto se tiene que para:
· Sección rectangular: La profundidad del flujo “y” en (m) y la base “b” en (m).
· Sección Trapezoidal: La profundidad del flujo “y” en (m), la base “b” en (m)
y el talud “z”.
· Sección Triangular: La profundidad del flujo “y” en (m) y el talud “z”.
· Sección circular: La profundidad del flujo “y” en (m) y el diámetro “D” en (m).
La pantalla para el ingreso de datos tiene incorporada una imagen donde ubica los
datos que deberá incorporar el usuario.
29
Imagen 21 Pantalla de ingreso datos generales para el calculo de los elementos geométricos
en canales abiertos.
En la pantalla de respuestas se visualizan los resultados numéricos
correspondientes, los cálculos generados en esta rutina son para cada una de las
secciones:
· El área mojada “A” (m).
· El perímetro mojado “P” (m).
· El radio hidráulico “R” (m).
· El ancho superficial “T” (m).
· El perímetro mojado (m).
· La profundidad hidráulica “D” (m).
· El factor de sección “Z” (m).
30
Imagen 22 Pantalla de resultados generales por el calculo de los elementos geométricos en
canales abiertos.
Para imprimir resultados se debe ir a la barra de menú superior y seleccionar la
opción “IMPRIMIR”; esta barra tiene las opciones de “AYUDA” la cual muestra
información correspondiente al funcionamiento del programa, la opción de
“VOLVER A” esta opción borra los datos ingresados y permite reiniciar los
cálculos, la opción “SALIR” permite al usuario salir de la subrutina y volver a la
pantalla principal por medio de la opción “A MENU PRINCIPAL” o salir del
programa con la opción “DEL PROGRAMA”.
2.3.6 Diseño de canales abiertos
31
Para el diseño de canales abiertos el software Open Flow Unisalle, contiene dos
tipos de diseño según el tipo de canal. Se tiene el diseño de canales abiertos
revestidos y el diseño de canales no revestidos.
El diseño de canales revestidos esta orientado según el método de la sección
hidráulicamente optima, para cada diseño se propone un espesor de recubrimiento
según el tipo de material a usar, también se propone un valor del talud según el
materia a excavar. El diseño hidráulico se complementa con un análisis de costos
correspondientes a excavación, transporte y recubrimiento, se manejan precios
unitarios y se da la libertad al usuario para definir el tipo de material o materiales a
excavar.
El diseño de canales no revestidos esta orientado con el método de las
velocidades permisibles, para el diseño se propone las velocidades máximas y
mínimas según el tipo de material en el cual este conformado el canal, de igual
manera se sugiere valores congruentes para los taludes del canal. Se cuenta
además con una base de datos de los coeficientes de Manning para cada caso
particular. El diseño hidráulico se complementa con un análisis de costos
correspondientes a excavación y transporte, se manejan precios unitarios y se da
la libertad al usuario para definir el tipo de material o materiales a excavar.
32
Imagen 23 Menú para el diseño de canales abiertos desde la pantalla principal.
El diseño de canales para las dos metodologías seguidas, esta elaborado de
manera exclusiva para canales de sección trapezoidal.
2.3.6.1 Diseño de canales revestidos con el método de la sección hidráulicamente
optima
El diseño de canales revestidos con sección hidráulicamente optima es aplicable
de manera exclusiva para canales trapezoidales, el software Open Flow Unisalle
realiza un predimensionamiento del canal y realiza un estudio de los costos que
con lleva la realización de dicha estructura. Se tiene en cuenta para el caso de
concreto simple y de concreto reforzado los espesores correspondientes según el
caudal a transportar.
33
Imagen 24 Menú para el diseño de canales abiertos revestidos desde la pantalla principal.
Los datos se ingresan tecleando sobre cada casilla el valor correspondiente, se
puede utilizar la tecla “tab” para usuarios que omitan utilizar el “mouse”, para
iniciar los cálculos se debe dar “enter” o doble “Clic” sobre el boton “REALIZAR
CALCULOS”.
Los datos que se deben ingresar son:
· El caudal “Q” en (m 3 /s)
· La velocidad de diseño “v” en (m/s)
· La longitud del canal “L” en (m), el diseño puede requerir únicamente las
dimensiones de la sección trapezoidal, en este caso ingrese “1” como
longitud del canal.
· El espesor del recubrimiento (m), este dato tiene tres posibilidades:
A) Que el recubrimiento sea en concreto simple, en este caso el programa
de manera automáticamente asigna el valor correspondiente el cual es
34
sugerido y podrá ser modificado si el usuario lo desea.
B) Que el recubrimiento sea en concreto reforzado, en este caso el
programa de manera automáticamente asigna el valor correspondiente el
cual es sugerido y podrá ser modificado si el usuario lo desea.
C) Otros materiales, el usuario definirá cual es el valor que considere
adecuado.
· El talud (z), para ingresar este dato se tienen diez posibilidades de canales
construidos en distintos materiales, o excavados en suelos con distintas
topologías, estos datos se adquirieron de Chow V.T y French. R.H a saber:
A) Talud recomendado para canales construidos en roca, en este caso el
programa de manera automáticamente asigna el valor correspondiente el
cual es sugerido y podrá ser modificado si el usuario lo desea.
B) Talud recomendado para canales construidos en suelo orgánico, en este
caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
C) Talud recomendado para canales construidos en suelo de turba, en este
caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
D) Talud recomendado para canales construidos en arcilla dura, en este
caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
E) Talud recomendado para canales construidos en tierra dura con
revestimiento en concreto, en este caso el programa de manera
automáticamente asigna el valor correspondiente el cual es sugerido y
podrá ser modificado si el usuario lo desea.
F) Talud recomendado para canales construidos en tierra revestidos en
roca, en este caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
35
desea.
G) Talud recomendado para canales construidos en tierra arenosa suelta,
en este caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
H) Talud recomendado para canales construidos en limos arenosos sueltos,
en este caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
I) Talud recomendado para canales construidos en arcilla porosa, en este
caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
J) Otros materiales, el usuario definirá cual es el valor que considere
adecuado para el talud.
Los datos que se ingresan en esta rutina del programa generan el diseño
geométrico según el principio de la sección hidráulicamente optima.
36
Imagen 25 Pantalla de ingreso datos generales para el diseño de canales abieros revestidos
con sección hidráulicamente optima.
En la pantalla de respuestas iniciales o primarios se visualizan los resultados
numéricos que corresponden al diseño geométrico de la sección transversal del
canal, estos resultados son:
· El área mojada “A” (m).
· La profundidad del flujo “y” (m).
· La base “b” (m).
· La base “b’ ” (m).
· La base “b’’ ” (m).
· El borde libre “F” (m).
· La altura sobre el revestimiento “l” (m).
· Volumen de excavación ((m 3 /s)/ml)
· Volumen de revestimiento (m 3 /s)
37
Para imprimir resultados se debe ir a la barra de menú superior y seleccionar la
opción “IMPRIMIR”; esta barra tiene las opciones de “AYUDA” la cual muestra
información correspondiente al funcionamiento del programa, la opción de
“VOLVER A” esta opción borra los datos ingresados y permite reiniciar los
cálculos, la opción “SALIR” permite al usuario salir de la subrutina y volver a la
pantalla principal por medio de la opción “A MENU PRINCIPAL” o salir del
programa con la opción “DEL PROGRAMA
Imagen 26 Pantalla de resultados primarios generales para el diseño de canales revestidos
con sección hidráulicamente optima.
Al finalizar esta rutina el programa le ofrece la posibilidad de calcular los costos del
canal debido a la excavación, al transporte y al revestimiento; o de salir de la
rutina de cálculos. Para acceder a cada una de las opciones se debe de oprimir o
teclear sobre las teclas “CALCULAR COSTOS DE EXCAVACION, TRANSPORTE
Y REVESTIMIENTO” o “FINALIZAR” según sea el caso.
38
Para el cálculo de los costos del canal debido a la excavación, al transporte y al
revestimiento, se teclea sobre la tecla “CALCULAR COSTOS DE EXCAVACION,
TRANSPORTE Y REVESTIMIENTO”. Se deben de ingresar los siguientes datos:
· Datos para la excavación, son aquellos cuyas variables determinaran el
costo de la excavación, se manejan en el programa las siguientes variables:
A) Costo de la excavación ($/hr), hace referencia al costo del alquiler de
maquinaria o similares para efectuar la excavación, se atizan precios
unitarios.
B) Cantidad de materiales a excavar, se tienen tres posibilidades es decir
se puede seleccionar hasta tres tipos de material para excavar si el usuario
desea puede seleccionar uno o dos según las necesidades propias.
C) Rendimiento de la excavación según cada material (m 3 /hr). .
D) Porcentaje de expansión de cada material (%). .
E) Porcentaje de cada material a excavar (%).
· Datos para el transporte, son aquellos cuyas variables determinaran el
costo del transporte, se manejan en el programa las siguientes variables:
A) Costo transporte materia de excavación ($/viaje). .
B) Capacidad de transporte (m 3 /viaje, capacidad del vehículo que
transportara el material.
· Datos del revestimiento ($/m 3 ), es el costo que tiene el revestimiento por
metro cúbico.
39
Imagen 27 Pantalla datos para el calculo de los costos por excavación, transporte y
revestimiento para el diseño de canales revestidos con sección hidráulicamente optima.
En la pantalla de cálculo de costos se tienen los siguientes resultados son:
· Costo de excavación por cada tipo de material seleccionado ($).
· Costo de transporte por cada tipo de material seleccionado ($).
· Numero de viajes a realizar (n).
· Costo total de la excavación ($).
· Costo total del transporte ($).
· Numero total de viajes a realizar (n).
· Costo del revestimiento ($).
· Costo total del proyecto ($).
Se tiene la opción de ver una simulación de un canal trapezoidal revestido, donde
se idealiza el diseño del canal. Esta simulación es animada y para acceder a ella
se debe de dar clic sobre el recuadro de imagen que aparece en la pantalla.
40
Imagen 28 Pantalla de resultados de costos generales para el diseño de canales revestidos
con sección hidráulicamente optima
Para imprimir resultados se debe ir a la barra de menú superior y seleccionar la
opción “IMPRIMIR”; esta barra tiene las opciones de “AYUDA” la cual muestra
información correspondiente al funcionamiento del programa, la opción de
“VOLVER A” esta opción borra los datos ingresados y permite reiniciar los
cálculos, la opción “SALIR” permite al usuario salir de la subrutina y volver a la
pantalla principal por medio de la opción “A MENU PRINCIPAL” o salir del
programa con la opción “DEL PROGRAMA”.
2.3.6.2 Diseño de canales no revestidos con el método de las velocidades
permisibles.
41
El diseño de canales no revestidos con el método de las velocidades permisibles
es aplicable de manera exclusiva para canales trapezoidales, el software Open
Flow Unisalle realiza un predimensionamiento del canal y realiza un estudio de los
costos que con lleva la realización de dicha estructura.
Imagen 29 Menú para el diseño de canales abiertos no revestidos desde la pantalla principal.
Los datos se ingresan tecleando sobre cada casilla el valor correspondiente, se
puede utilizar la tecla “tab” para usuarios que omitan utilizar el “mouse”, para
iniciar los cálculos se debe dar “enter” o doble “Clic” sobre el boton “REALIZAR
CALCULOS”.
Los datos que se deben ingresar son:
· El coeficiente de Manning “n”, este coeficiente se puede seleccionar según
el tipo de canal y material. Para seleccionarlo se debe de seleccionar la
solicitación y el valor del coeficiente de Manning será cargado
42
automáticamente, si el usuario requiere otro coeficiente lo podrá ingresar
sobre la casilla correspondiente.
· El caudal “Q” en (m 3 /s).
· La pendiente “So”.
· La velocidad de diseño “v” en (m/s), este valor se puede ingresar sobre la
casilla correspondiente, el programa le sugiere al diseñador las velocidades
máximas o mínimas según el tipo de material en el cual este conformado el
canal.
· La longitud del canal “L” en (m), el diseño puede requerir únicamente las
dimensiones de la sección trapezoidal, en este caso ingrese “1” como
longitud del canal.
· El talud (z), para ingresar este dato se tienen diez posibilidades de canales
construidos en distintos materiales, o excavados en suelos con distintas
topologías, estos datos se adquirieron de Chow V.T y French. R.H a saber:
A) Talud recomendado para canales construidos en roca, en este caso el
programa de manera automáticamente asigna el valor correspondiente el
cual es sugerido y podrá ser modificado si el usuario lo desea.
B) Talud recomendado para canales construidos en suelo orgánico, en este
caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
· C) Talud recomendado para canales construidos en suelo de turba, en este
caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
D) Talud recomendado para canales construidos en arcilla dura, en este
caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
E) Talud recomendado para canales construidos en tierra dura con
revestimiento en concreto, en este caso el programa de manera
43
automáticamente asigna el valor correspondiente el cual es sugerido y
podrá ser modificado si el usuario lo desea.
F) Talud recomendado para canales construidos en tierra revestidos en
roca, en este caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
G) Talud recomendado para canales construidos en tierra arenosa suelta,
en este caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
H) Talud recomendado para canales construidos en limos arenosos sueltos,
en este caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
I) Talud recomendado para canales construidos en arcilla porosa, en este
caso el programa de manera automáticamente asigna el valor
correspondiente el cual es sugerido y podrá ser modificado si el usuario lo
desea.
J) Otros materiales, el usuario definirá cual es el valor que considere
adecuado para el talud.
Para iniciar los cálculos se debe de teclear el botón “REALIZAR CÁLCULOS”.
44
Imagen 30 Pantalla de ingreso datos generales para el diseño de canales abiertos no
revestidos con velocidad máxima permisible.
Los resultados se dividen en tres pantallas , caracterizando el tipo de flujo para así
realizar un diseño racional y económico. En los resultados, inicialmente se
obtienen dos posibles soluciones para la profundidad del flujo “y”, estas según el
modelo matemático e hidráulico mismo del método de la velocidad permisible. Los
datos entregados por el programa en esta etapa del diseño son:
· Una profundidad de flujo denominada “y1” en m.
· El numero de Froude “NF1” para las condiciones de velocidad
asumidas y la profundidad de flujo “y1”.
· La caracterización del tipo de flujo según el “NF1” el flujo puede ser
sub crítico, critico o súper critico.
· Una profundidad de flujo denominada “y2” en m
· El numero de Froude “NF2” para las condiciones de velocidad
asumidas y la profundidad de flujo “y2”.
45
· La caracterización del tipo de flujo según el “NF2” el flujo puede ser
sub crítico, critico o súper critico.
Imagen 31 Pantalla de resultados primarios generales en el diseño de canales abiertos no
revestidos con velocidad máxima permisible.
Al escoger cualquier opción el programa determinara los elementos geométricos ,
borde libre, dimensiones generales del canal y volúmenes de material a remover.
El software genera cuadros de dialogo donde advierte al diseñador acerca de la
viabilidad del diseño, estos diálogos son interpretaciones de los resultados de las
ecuaciones básicas de diseño.
46
Imagen 32 Pantalla de resultados primarios generales en el diseño de canales abiertos no
revestidos con velocidad máxima permisible, cuadro de advertencia.
47
Imagen 33 Pantalla de resultados generales en el diseño de canales abiertos no revestidos
con velocidad máxima permisible.
48
Imagen 34 Pantalla de resultados generales en el diseño de canales abiertos no revestidos
con velocidad máxima permisible.
Al finalizar esta rutina el programa le ofrece la posibilidad de calcular los costos del
canal debido a la excavación, al transporte y al revestimiento; o de salir de la
rutina de cálculos. Para acceder a cada una de las opciones se debe de oprimir o
teclear sobre las teclas “CALCULAR COSTOS DE EXCAVACIÓN Y
TRANSPORTE ” o “FINALIZAR” según sea el caso.
Para el cálculo de los costos del canal debido a la excavación, al transporte y al
revestimiento, se teclea sobre la tecla “CALCULAR COSTOS DE EXCAVACIÓN Y
TRANSPORTE”. Se deben de ingresar los siguientes datos:
· Datos para la excavación, son aquellos cuyas variables determinaran el
costo de la excavación, se manejan en el programa las siguientes variables:
A) Costo de la excavación ($/hr), hace referencia al costo del alquiler de
maquinaria o similares para efectuar la excavación, se atizan precios
49
unitarios.
B) Cantidad de materiales a excavar, se tienen tres posibilidades es decir
se puede seleccionar hasta tres tipos de material para excavar si el usuario
desea puede seleccionar uno o dos según las necesidades propias.
C) Rendimiento de la excavación según cada material (m 3 /hr). .
D) Porcentaje de expansión de cada material (%). .
E) Porcentaje de cada material a excavar (%).
· Datos para el transporte, son aquellos cuyas variables determinaran el
costo del transporte, se manejan en el programa las siguientes variables:
A) Costo transporte materia de excavación ($/viaje). .
B) Capacidad de transporte (m 3 /viaje, capacidad del vehículo que
transportara el material.
Imagen 35 Pantalla datos para el calculo de los costos por excavación y transporte para el
diseño de canales no revestidos con velocidad permisible.
50
En la pantalla de cálculo de costos se tienen los siguientes resultados son:
· Costo de excavación por cada tipo de material seleccionado ($).
· Costo de transporte por cada tipo de material seleccionado ($).
· Numero de viajes a realizar (n).
· Costo total de la excavación ($).
· Costo total del transporte ($).
· Numero total de viajes a realizar (n).
· Costo total del proyecto ($).
Se tiene la opción de ver una simulación de un canal trapezoidal revestido, donde
se idealiza el diseño del canal. Esta simulación es animada y para acceder a ella
se debe de dar clic sobre el recuadro de imagen que aparece en la pantalla.
51
Para imprimir resultados se debe ir a la barra de menú superior y seleccionar la
opción “IMPRIMIR”; esta barra tiene las opciones de “AYUDA” la cual muestra
información correspondiente al funcionamiento del programa, la opción de
“VOLVER A” esta opción borra los datos ingresados y permite reiniciar los
cálculos, la opción “SALIR” permite al usuario salir de la subrutina y volver a la
pantalla principal por medio de la opción “A MENU PRINCIPAL” o salir del
programa con la opción “DEL PROGRAMA”.
2.3.7 Laboratorios de hidráulica de canales
52
Imagen 36 Menú para laboratorios de hidráulica de canales en la Universidad De La Salle.
El usuario para acceder a cualquiera de las practicas deberá seleccionarla en el
menú y teclear clic sobre la misma.
2.3.7.1 Practica de laboratorio geometría de la sección.
La aplicación correspondiente a la practica de laboratorio “GEOMETRÍA DE LA
SECCION”, se compone de tres opciones, en las cuales el usuario accede a los
preliminares de la practica, ingresa los datos experimentales y obtiene los
resultados con sus respectivas graficas.
53
Imagen 37 Menú de laboratorio “ GEOMETRÍA DE LA SECCION” desde la pantalla principal.
Las pantallas que componen esta aplicación son:
· Introducción, informa al usuaria acerca de la practica los objetivos a
cumplir y el alcancé del informe.
· Ingresar datos
· Resultados
54
Imagen 38 Pantalla de introducción para el laboratorio “ GEOMETRÍA DE LA SECCION” .
Introducción de datos
55
Imagen 39 Pantalla introducción datos con ventana de dialogo para el laboratorio
“ GEOMETRÍA DE LA SECCION” .
El presente cuadro de dialogo indica el orden de introducción de los datos en
Open Flow Unisalle.
56
Imagen 40 Pantalla de entrada de datos con opciones de datos.
En esta pantalla se puede seleccionar los datos a entrar, tanto de lecturas de
niveles como de aforos.
57
Imagen 41 Pantalla para entrada de lecturas de niveles.
En esta parte podemos ver los espacios para el ingreso de los niveles de agua
tomados en la practica. Estos datos se deben ingresarsen en milímetros (mm) y
con una cantidad de 10 datos por practica.
58
Imagen 42 Pantalla para el ingreso de los datos de aforo de caudal.
En la parte inferior de la pantalla se observa los cuatro (4) espacios destinados
para la introducción de:
· Peso del balde o recipiente con que se realice el aforo.
· Peso del conjunto, equivalente al peso del balde + el fluido.
· Tiempo en el cual se llena el balde o recipiente.
59
Imagen 43 Pantalla con datos ingresados.
En esta pantalla se vé, la totalidad de datos ingresados y listos para ser calculados
dando clic en el botón “calcular”.
60
Imagen 44 Pantalla de resultados primarios.
En esta primera pantalla de resultados nos arroja los elementos geométricos de la
sección trabajada. Para continuar, dar clic sobre “continuar”
61
Imagen 45 Pantalla de resultados secundarios.
En esta segunda pantalla de resultados, obtenemos los elementos hidráulicos de
la sección trabajada, dando como resultado el caudal (Q), expresado en (m 3 /s) y
en (l / s).
62
Imagen 46 Pantalla de resultados finales.
Acá obtenemos los resultados finales como lo son:
· Caudal.
· Caudal unitario.
· Profundidad critica.
· Energía especifica.
Además de los datos para realizar las graficas de energía especifica y fuerza
especifica.
Dando clic sobre los botones de graficas se obtienen dichas graficas, como se
puede ver en las siguientes pantallas.
63
Imagen 47 Grafica de la energía especifica.
Esta grafica esta elaborada bajo Excel y se tiene varios detalles como se pueden
observar.
64
Imagen 48 Grafica de la fuerza especifica.
La presente grafica se elaboro en Excel y con datos representativos.
65
Imagen 49 Ingreso al menú " ecuaciones usadas"
De esta manera se puede ingresar para visualizar las diferentes ecuaciones que
se utilizaron en el desarrollo del laboratorio.
66
Imagen 50 Pantalla de ecuaciones.
Allí se aprecian las ecuaciones usadas para el desarrollo del laboratorio.
Y en el menú se encuentran las opciones de impresión y se desean usar.
2.3.7.2 Practica de laboratorio “Resalto Hidráulico”.
La presente practica de laboratorio consta de cuatro submenús.
· Introducción.
· Realizar cálculos.
· Imágenes.
· Ecuaciones usadas.
67
Imagen 51 Pantalla de introducción.
Esta pantalla visualiza los objetivos y el desarrollo de la practica.
68
Imagen 52 Ingreso para la realización de los cálculos.
Se ingresa a la pantalla principal de Open Flow Unisalle, se entra al menú
laboratorio como se indica en la imagen 52.
69
Imagen 53 Pantalla de entrada.
En esta pantalla se tienen las opciones para ingresar los datos de:
· Ancho del canal.
· Temperatura
· Lectura de los niveles antes de la compuerta, antes del resalto y después
del resalto.
· Peso del balde.
· Peso del conjunto.
· Tiempo.
Para el ingreso de los datos se deben dar clic en las lecturas.
70
Imagen 54 Ingreso de datos.
Luego de haber dado clic sobre las lecturas, se activan las casillas de ingreso de
datos. Para este laboratorio se necesitan diez datos.
Se deben de ingresar todos los datos de forma ordenada el programa ayuda al
usuario con ventanas de dialogo informándole acerca de los posibles errores de
inducción de datos, los errores más frecuentes son:
· Ingresar diez lecturas para los niveles.
· Ingresar cuatro aforos para el caudal.
· El tiempo no puede se menor o igual a cero.
· El peso del balde no puede ser igual o superior al del conjunto.
71
Imagen 55 Puesta de datos.
Luego de la introducción de los datos, se debe hacer clic en el botón “calcular”.
72
Imagen 56 Pantalla de resultados iniciales de la practica de laboratorio, resultados
generales.
En esta pantalla se aprecian los resultados iniciales de la práctica los cuales son:
· Peso del agua (grs)
· Tiempo (s)
· Volumen (m 3 )
· Caudal para cada aforo (m 3 /s)
· Caudal para cada aforo (lts)
· Caudal promedio para realizar la práctica (m 3 /s)
· Caudal promedio para realizar la práctica (lts)
Para continuar, se debe hacer clic en el botón “calcular”.
73
Imagen 57 Pantalla de resultados de la practica de laboratorio, resultados de la practicas.
En esta pantalla se aprecian los resultados de la práctica los cuales son:
· Energía especifica para cada lectura (m).
· Numero de Froude.
· Caracterización del flujo según el número de Froude.
· Profundidad y2 (m)
· Perdida de energía (m))
· Potencia disipada (watts)
· Caudal promedio para realizar la práctica (m 3 /s)
· Caudal promedio para realizar la práctica (lts)
· Caudal unitario para realizar la práctica (m 3 /s)
· Base del canal (m)
Para continuar, se debe hacer clic en el botón “calcular”.
74
Imagen 58 Pantalla de resultados de la practica de laboratorio, resultados de la practicas
En esta pantalla se aprecian los resultados finales de la práctica los cuales son:
· Profundidad y0 (m)
· Profundidad y1 (m)
· Profundidad y2 (m)
· Fuerza especifica fe0 (m).
· Fuerza especifica fe1 (m).
· Fuerza de volcamiento sobre la estructura (N).
Para continuar, se debe hacer clic en el botón “calcular”.
75
Imagen 59 Pantalla de resultados de la practica de laboratorio, error de la practica debido al
desarrollo de la practica.
En esta pantalla se aprecian los resultados finales y el calculo de error que se
presenta en la práctica, estos datos son:
· Profundidad y0 practica (m).
· Profundidad y1 practica (m).
· Profundidad y2 practica (m).
· Profundidad y1 teórica (m).
· Profundidad y2 error en el calculo (%).
· Profundidad y1 error en el calculo (%).
· Profundidad y2 error en el calculo (%).
· Error promedio en la practica (%).
Para continuar, se debe hacer clic en el botón “volver a” de esta forma se llega a al
pantalla de resultados y tecleamos el botón “graficas”.
76
Imagen 60 Pantalla de resultados de la practica de laboratorio, graficas de energía especifica
para dada dato.
En esta pagina se puede observar las diferentes graficas de energía especifica
para cada dato.
Recomendación.
Se le recomienda al usuario de no guardar cambios al finalizar Excel.
77
Imagen 61 Pantalla de resultados de la practica de laboratorio, graficas de fuerza especifica
para dada dato.
En esta pagina se puede observar las diferentes graficas de fuerza especifica para
cada dato.
Recomendación.
Se le recomienda al usuario de no guardar cambios al finalizar Excel.
78
Imagen 62 Pantalla de imagen de laboratorio.
En esta pantalla se observa la forma de cómo se ingresa a las imágenes del
laboratorio.
79
Imagen 63 Imágenes de las aplicaciones del resalto hidráulico.
Acá se observan algunos de los usos que se le pueden dar a los resaltos
hidráulicos.
80
Imagen 64 Pantalla principal
En esta pantalla se indica la forma de entrar a visualizar las ecuaciones usadas en
el desarrollo del laboratorio.
81
Imagen 65 pantalla de resultados.
En la presente pantalla se ven las ecuaciones que se utilizaron para el desarrollo
del laboratorio.
2.3.8 CRITERIOS DE DISEÑO
El presente software, cuenta con una serie de compilados relacionados con el
diseño de canales abiertos, los cuales son fundamentales tenerlos en cuenta a la
hora de diseñar un canal.
82
Imagen 66 Ingreso a criterios de diseño.
En esta pantalla vemos la forma de ingresar por el menú principal a los criterios de
diseño.
83
Imagen 67 Submenú " criterios de diseño"
Podemos ver en la presente pantalla los submenús ofrecidos por los criterios de
diseño.
84
Imagen 68 Menú " diseño de canales"
Dando clic sobre cualquier botón que se mira en este menú, se vera la base de
datos correspondiente a su elección.
2.3.9. ANIMACIONES
Open Flow Unisalle, pensó que para una mejor comprensión de los ejercicios o los
diseños, es la visualización del mismo, por lo cual realizo una serie de
animaciones en 3D, con el fin de realizar mejores diseños al llevar al diseñador a
tener una concepción mejor del proyecto.
85
Imagen 69 Ingreso a las animaciones.
Para esto debemos llegar a la ventana principal y buscar el menú “animaciones”
tal y como se muestra en la figura 63.
86
Imagen 70 Acceso a la animación.
Se puede ver en la pantalla anterior como se llega a la animación de la sección
rectangular, por medio del menú principal.
87
Imagen 71 Pantalla de visualizacion de la animacion.
Para las animaciones se utiliza el reproductor de Windows media player y el
formato de las presentaciones son “.avi ”.
Para la visualización de las demás animaciones se debe seguir el mismo
procedimiento anterior y seleccionar la de su preferencia.
2.3.10 EJERCICIOS DE APLICACIÓN.
Los ejercicios de aplicación son fundamental para el aprendizaje del estudiante o
profesional que manipule el software, puesto que se genera una interactividad
entre el software y el usuario.
Este parte del software cuanta con tres ejemplos interactivos.
· Profundidades alternas.
· Profundidades criticas
· Resalto hidráulico.
88
Imagen 72 Ingreso a los ejercicios de aplicación desde la pantalla preincipal
.
Entrando por el menú principal se ve el menú ejercicios de aplicación y luego en
los sub menús correspondientes seleccionar el tipo de problema.
89