DISEÑO Y OPERACIÓN DE MACROS EN VBA PARA EXCEL APLICADO A CONDUCCIONES, ADUCCIONES Y DESARENADORES DESDE EL PUNTO DE VISTA HIDRÁULICODescripción com...
Curso sobre programacion de macros en VBA enfocado a Excel. Muy util para todo aquel que utilice Excel con frecuencia y para los que quieran aprender a programar en Excel
Curso sobre programacion de macros en VBA enfocado a Excel. Muy util para todo aquel que utilice Excel con frecuencia y para los que quieran aprender a programar en ExcelDescrição completa
Descripción completa
Resumen de texto de Clifford Geertz contenido en el libro "Conocimiento Local". La etnografía como forma de conocer el punto de vista del nativo.Descripción completa
Descripción completa
Contabilidad IV.Descripción completa
Guía de comandos de Macros y VBA Excel
Descripción: El código fuente del programa. Copie y pegue segmentos de códigos para escribir sus propias macros de Excel. Ejemplos de códigos para aprender cómo escribir macros de Excel usando el lenguaje...
Descripción: Programación en Excel
Curso de Excel avanzado y Macros Ing. Patricia Acosta V Un excelente material para quienes quieren sacarle más provecho a Excel y aumentar su productividad.Descripción completa
excel y VbaDescripción completa
Descripción: Para ingenieros de Sistemas
CLASIFICACIÓN DE LA EMPRESA DESDE EL PUNTO DE VISTA TRIBUTARIO -Se clasifica en tres régimen: 1.- EMPRESAS PERTENECIENTES AL RUS (REGIMEN ÚNICO SIMPLIFICADO) * Empresas de personas natu…Descripción completa
Auditoria y eficiencia energéticaDescripción completa
IMPORTANCIA DE LA INFORMACIÓN DESDE EL PUNTO DE VISTA JURÍDICODescripción completa
Descripción completa
definición de trabajo Desde El Punto de Vista Físico, descripción y análisisDescripción completa
Macros en excel avanzadoDescripción completa
Descripción: La sexualidad vista desde la antropologia
Descripción: El trabajo trata sobre las distintas fuentes utilizadas en la investigacion policial.
MÉTODOS PARA LOS DIFERENTES CÁLCULOS HIDRÁULICOS. .......... 36
2.1 CHEQUEO DE LA CABEZA HIDRÁULICA. ................................................ 36
2.2 CHEQUEO DEL DIÁMETRO HIDRÁULICO. ............................................... 37
2.3 ADUCCIONES Y CONDUCCIONES. ........................................................... 38
2.4 EL MÉTODO DE HARDY CROSS ............................................................... 38 2.4.1 Generalidades. ........................................................................................... 39 2.4.2 Aducciones y conducciones para una tubería. ........................................... 46 2.4.3 Aducciones y conducciones para dos tuberías .......................................... 46 2.4.4 Aducciones y conducciones para tuberías en paralelo. ............................. 47 2.5 CHEQUEO DE DESARENADORES. ........................................................... 47 2.5.1 Sedimentación de partículas discretas....................................................... 47 2.5.2 Arrastre. ..................................................................................................... 50 2.6 CHEQUEO DE ACUEDUCTOS Y ALCANTARILLADOS. ........................... 51 2.6.1 Elementos geométricos de la sección del canal......................................... 52
3.
MANUAL DE OPERACIÓN DE LA MACRO. ................................................ 58
3.1 Grupo uno (1). ............................................................................................. 61 3.1.1 Chequeo Cabeza Hidráulica. ..................................................................... 61 4. VALIDACIÓN DE LOS RESULTADOS POR EL SOFTWARE EPANET PARA LAS ADUCCIONES Y CONDUCCIONES. ................................................ 63 4.1 TEORÍA DE CORRELACIÓN. ...................................................................... 63
4.2 ADUCCIONES Y CONDUCCIÓN EN UNA (1) TUBERÍA. ........................... 64 4.2.1 EXCEL 2007 y/o Posterior. ........................................................................ 64 4.2.2 EPANET 2.0 vE.......................................................................................... 66 4.2.3 Interpretación de los resultados obtenidos. ................................................ 67 4.3 ADUCCIONES Y CONDUCCIÓN DOS (2) TUBERÍA. ................................. 68 4.3.1 EXCEL 2007 y/o Posterior. ........................................................................ 68 4.3.2 EPANET 2.0 vE.......................................................................................... 69 4.3.3 Interpretación de los resultados obtenidos. ................................................ 70 4.4 ADUCCIONES Y CONDUCCIÓN TRES (3) TUBERÍA. ............................... 71 4.4.1 EXCEL 2007 y/o Posterior. ........................................................................ 71 4.4.2 EPANET 2.0 vE.......................................................................................... 73 4.4.3 Interpretación de los resultados obtenidos. ................................................ 74 4.5 CHEQUEO DE LOS DESARENADORES. ................................................... 75
4.6 CHEQUEO ACUEDUCTO Y ALCANTARILLADOS. ................................... 76
LISTA DE TABLAS. Pág. TABLA 1. DENSIDAD DEL AGUA. ................................................................................. 24 TABLA 2. VISCOSIDAD DEL AGUA. .............................................................................. 25 TABLA 3. TENSIÓN SUPERFICIAL DE VARIOS LÍQUIDOS EN EL LÍMITE DE SEPARACIÓN CON EL AIRE........................................................................................................................ 27 TABLA 4. CALOR ESPECÍFICO DEL AGUA A DIFERENTES TEMPERATURAS (ARBOLEDA, 2000). .................................................................................................................... 28 TABLA 5. PARÁMETROS DE DISEÑO PARA DESARENADORES AIREADOS. ........................ 51 TABLA 6. CORRELACIÓN DE LOS RESULTADOS. ........................................................... 67 TABLA 7. CORRELACIÓN DE LOS RESULTADOS. ........................................................... 70 TABLA 8. CORRELACIÓN DE LOS RESULTADOS. ........................................................... 75
LISTA DE FIGURAS. Pág. ILUSTRACIÓN 1. SUMINISTRADA POR EL AUTOR. ......................................................... 58 ILUSTRACIÓN 2. ADVERTENCIA DE SEGURIDAD LAS MACROS SE HAN DESHABILITADO. (SUMINISTRADA POR EL AUTOR). ............................................................................... 58 ILUSTRACIÓN 3. HABILITAR ESTE CONTENIDO (SUMINISTRADA POR EL AUTOR). ............. 59 ILUSTRACIÓN 4. FICHAS DEL PROGRAMA EXCEL, MÁS LA FICHA CÁLCULOS HIDRÁULICO. (FIGURA SUMINISTRADA POR EL AUTOR). ................................................................... 59 ILUSTRACIÓN 5. FICHAS DEL PROGRAMA EXCEL, MÁS LA FICHA CÁLCULOS HIDRÁULICO. (FIGURA SUMINISTRADA POR EL AUTOR). ................................................................... 60 ILUSTRACIÓN 6. CHEQUEO CABEZA HIDRÁULICA. (FIGURA SUMINISTRADA POR EL AUTOR). .............................................................................................................................. 61 ILUSTRACIÓN 7. DATOS DE ENTRADA DE CHEQUEO CABEZA HIDRÁULICA (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 61 ILUSTRACIÓN 8. DATOS DE ENTRADA Y SOLUCIÓN OBTENIDA POR EXCEL 2010 (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 65 ILUSTRACIÓN 9. DATOS DE ENTRADA Y SOLUCIÓN OBTENIDA POR EXCEL 2010 (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 66 ILUSTRACIÓN 10. PROGRAMA EPANET 2.0 VE (FIGURA SUMINISTRADA POR EL AUTOR)67 ILUSTRACIÓN 11. DATOS DE ENTRADA Y SALIDA POR EPANET 2.0 VE (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 67 ILUSTRACIÓN 12. DATOS DE ENTRADA Y SOLUCIÓN OBTENIDA POR EXCEL 2010 (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 69 ILUSTRACIÓN 13. PROGRAMA EPANET 2.0 VE (FIGURA SUMINISTRADA POR EL AUTOR)70 ILUSTRACIÓN 14. DATOS DE ENTRADA Y SALIDA POR EPANET 2.0 VE (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 70 ILUSTRACIÓN 15. DATOS DE ENTRADA Y SOLUCIÓN OBTENIDA POR EXCEL 2010 (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 72 ILUSTRACIÓN 16. DATOS DE ENTRADA Y SOLUCIÓN OBTENIDA POR EXCEL 2010 (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 72 ILUSTRACIÓN 17. DATOS DE ENTRADA Y SOLUCIÓN OBTENIDA POR EXCEL 2010 (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 73 ILUSTRACIÓN 18. PROGRAMA EPANET 2.0 VE (FIGURA SUMINISTRADA POR EL AUTOR)74 ILUSTRACIÓN 19. DATOS DE ENTRADA Y SALIDA POR EPANET 2.0 VE (FIGURA SUMINISTRADA POR EL AUTOR) ................................................................................. 74
ILUSTRACIÓN 20. DATOS DE ENTRADA (FIGURA SUMINISTRADA POR EL AUTOR) ............ 75 ILUSTRACIÓN 21. ..................................................................................................... 76 ILUSTRACIÓN 22. DATOS DE ENTRADA (FIGURA SUMINISTRADA POR EL AUTOR) ............ 76
INTRODUCCIÓN. Indudablemente estamos familiarizados con las funciones y procedimientos en Excel; incluso los principiantes saben cómo usar las funciones de hoja de cálculo más comunes, tales como SUMA, PROMEDIO y SI. Excel contiene más de 300 funciones de hoja de cálculo predeterminadas, más funciones adicionales disponibles a través de complementos Herramientas de análisis. Sin embargo, cuando esto no es suficiente, se pueden crear nuevas funciones y procedimientos personalizados usando VBA. La creación de nuevas funciones y procedimientos que no existan en Excel simplifican en gran medida el trabajo. Con algo de planificación, las funciones y procedimientos personalizados pueden llegar a ser muy útiles en las fórmulas de hoja de cálculo y en los procedimientos de VBA. A menudo se crea una función personalizada para acortar las formulas. Y las formulas más cortas son mas legibles y fáciles de trabajar con ellas. Sin embargo, hay que matizar que las funciones personalizadas en las fórmulas normalmente son más lentas que las funciones integradas. Al crear aplicaciones, se puede advertir que algunos procedimientos repiten cálculos. A menudo es posible crear funciones personalizadas que realiza un cálculo. Luego, simplemente se puede simplificar llamando a la función desde un procedimiento. De esta manera, una función personalizada eliminar la necesidad de código duplicado, reduciendo los errores. Al combinar la potencia de la programación en Excel en VBA, se pueden crear aplicaciones fáciles de manipular que ahorren muchos cálculos manuales. Excel incorpora mas 330 funciones que se pueden usar de forma aislada o anidada. En este proyecto se observo la necesidad de crear una aplicación, que con ayuda del Excel nos permita hacer diseños rápidos de cálculos hidráulicos. Este proyecto hace parte del semillero de investigación UDENS.
17
1.
MARCO TEÓRICO.
1.1
FUNDAMENTOS DEL TRATAMIENTO DE AGUA POTABLE.
El agua es una sustancia única sobre la faz de la Tierra. Es, a la vez, tan ordinaria para el ser humano en su uso, como extraña en cuanto a propiedades se refiere. A continuación se describirán las propiedades físicas y químicas más importantes del agua. Estas propiedades son las que caracterizan al agua y la hacen tan diferente de cualquier otra sustancia sobre esta Tierra. Después se clasificarán y describirán los principales procesos que intervienen en la purificación del agua. El nivel de tratamiento que se le debe dar al agua está en función de la calidad de la misma. Esto puede variar mucho según la fuente del agua. 1.1.1 Estructura y propiedades químicas del agua. Las propiedades químicas del agua son muy importantes ya que, aunque no se vean a simple vista, definen las propiedades físicas de la misma, que son las que generalmente percibimos. Además influyen en la forma en que otros compuestos o sustancias se mezclan con el agua. A continuación se presentan las principales propiedades químicas del agua. 1.1.2 Composición química y peso molecular. El agua está formada por dos moléculas de hidrógeno y una de oxígeno. Sin embargo, ya que existen 3 isótopos conocidos del hidrógeno y 6 del oxígeno, existen múltiples combinaciones de ellos en el agua. Los que forman la mayor parte del agua son el 1H (Hidrógeno) y el 16O (Oxígeno). El peso molecular del agua varía alrededor de 18 en función de la proporción de otros isótopos en su molécula.
18
1.1.3 Forma de la molécula (polaridad). La molécula del agua es bipolar. Su forma es angular con el oxígeno en el vértice y las uniones formando un ángulo de aproximadamente 104.5° en un estado de equilibrio ideal (que en la realidad no existe, pues los núcleos de las moléculas vibran constantemente y la ubicación de los electrones sólo puede establecerse en términos probabilísticos, más como una densidad electrónica alrededor del núcleo que como un lugar determinado en el espacio). 1.1.4 Estructura molecular. En la actualidad se cree que las moléculas del agua se atraen formando grupos cerrados, con las distancias interatómicas más expandidas que en los sólidos. Cada molécula está unida a las otras por medio de puentes de hidrógeno. Esta estructura no es fija sino que se modifica constantemente al girar o reorientarse las moléculas. Al incrementarse la temperatura la velocidad de reorientación aumenta, por lo que a la temperatura de ebullición, las moléculas se separan completamente. 1.1.5 Ionización e hidratación. Al disolver en agua una sustancia, ésta no puede conservar sus moléculas intactas, sino que éstas se ionizan o fraccionan en átomos o grupos de átomos (radicales, llamados cationes si están cargados positivamente, y aniones si tienen carga eléctrica negativa). Esto se debe al carácter bipolar del agua, ya que cuando el soluto se dispersa, cada extremo de la molécula de la sustancia es atraído por el dipolo de carga opuesta, lo que produce la ruptura molecular y por lo tanto la disociación iónica. Si un compuesto está ionizado parcialmente se llama electrolito fuerte, y si está ionizado totalmente se le llama electrolito débil. Las propiedades de los compuestos totalmente ionizados son las de sus iones individuales y no las de sus moléculas completas. Cada ion crea y transporta su propio campo eléctrico y por lo tanto, produce una atracción electrostática entre él y los dipolos, los cuales quedan formando una envoltura a su alrededor orientada según sea la carga. Cuanto más intenso sea el campo del ion, más moléculas atraerá hacia sí. Este fenómeno se llama 19
solvatación en general e hidratación cuando se refiere particularmente al agua. La ionización e hidratación son fenómenos simultáneos, el uno consecuencia del otro y por lo tanto, cuando se habla de iones en solución acuosa siempre debe entenderse que éstos se encuentran hidratados. 1.1.6 Disociación, pH y alcalinidad. Las moléculas de agua se encuentran enteras, excepto una fracción muy pequeña que se disocia así: Ecuación 1
Aplicando a esta reacción la ley de acción de masas se obtiene: Ecuación 2
Como la cantidad de moléculas enteras de agua es mucho mayor que las que se encuentran disociadas, K se puede considerar constante y entonces: Ecuación 3
Para agua pura y a 25°C, K=10-14. Cuando existen concentraciones iguales de H+ y OH-, el agua es neutra y K= 10-7. Si se introduce un ácido en el agua, la concentración de H tiene que aumentar en proporción a la cantidad de ácido agregado y la de OH disminuir para conservar K constante. El pH es definido en términos de la actividad del ión hidronio (hidrógeno hidratado) (H3O)+ como: pH = - log10[aH] ó 10-pH = aH. El pH de una sustancia es una medición de su acidez. Un valor específico de pH define la acidez exacta. Los potenciómetros (aparatos para determinar el pH) miden la corriente eléctrica 20
inducida por la transferencia de carga electrostática producida por las asociaciones de los protones que saltan con gran facilidad de una a otra molécula del ion hidronio. La alcalinidad es la capacidad del agua para amortiguar o neutralizar cambios en el Ph (capacidad de buffer), evitando que el nivel de pH del agua llegue a ser demasiado ácido o básico. La alcalinidad estabiliza el agua en los niveles del pH alrededor de 7. Se expresa en ppm o en mg/L de carbonato equivalente de calcio. También se puede entender como la cantidad de iones en el agua que reaccionarán para neutralizar iones de hidrógeno. Se logra añadiendo carbón al agua. La alcalinidad total del agua es la suma de las 3 clases de alcalinidad (del carbonato, del bicarbonato y del hidróxido o hidroxilo). Cada mol de CO32neutraliza dos moles de H+. Ecuación 4
1.1.7 Dureza. Es la concentración de cationes multivalentes, principalmente de sales de calcio (Ca2+) y de magnesio (Mg2+), y en menor proporción de hierro, aluminio y otros metales. El calcio y el magnesio son los más abundantes en aguas naturales, por lo que en general la dureza total se obtiene así: Ecuación 5
21
1.2
PROPIEDADES FÍSICAS DEL AGUA.
1.2.1 Temperatura. La temperatura es muy importante porque determina numerosas propiedades físicas del agua, como densidad, viscosidad, tensión superficial, calor específico, solubilidad, etc. Además influye en la velocidad de las reacciones químicas involucradas en la purificación de la misma (por cada 10°C de aumento de temperatura, se duplica la velocidad de las reacciones). También determina la presencia de actividad biológica (a mayor temperatura, mayor actividad biológica). 1.2.2 Densidad (ρ) Es la masa contenida en la unidad de volumen. Es una propiedad inherente a la forma de la estructura molecular de la sustancia, es decir, depende de los mecanismos de unión de las moléculas. En el agua la densidad es máxima a 3.98°C y a partir de allí disminuye ligeramente al aumentar o disminuir la temperatura. Esto es lo que hace que el hielo flote en el agua, ya que su densidad es menor que la del agua líquida. La densidad del agua, y de los líquidos en general, es prácticamente independiente de la presión (incompresibilidad), pero cambia al combinarla con otros compuestos o sustancias. Esta propiedad se puede expresar en cualquiera de las siguientes 3 formas: •
Densidad o masa específica: Ecuación 6
•
Peso específico, volumétrico o unitario:
22
Ecuación 7
•
Densidad relativa o gravedad específica, que es la razón adimensional de la densidad o peso específico de cualquier líquido y la máxima densidad o peso específico del agua (es decir, a 3.98° C): Ecuación 8
En la siguiente tabla se muestra la variación de la densidad del agua a diferentes temperaturas.
23
Tabla 1. Densidad del agua.
1.2.3 Viscosidad. Esta propiedad no puede ser descubierta en un líquido en reposo, ya que ella se manifiesta sólo cuando el líquido está en movimiento. Es una medida de la resistencia del fluido a la rapidez de deformación o desplazamiento bajo la acción de esfuerzos de corte, como resultado de la interacción y cohesión de sus moléculas. La viscosidad de los fluidos, a diferencia de la de los sólidos, es relativamente baja. El agua es un fluido newtoniano, es decir el esfuerzo tangencial o cortante es directamente proporcional a la rapidez de la deformación angular. Existen dos sistemas para referirse a la constante de proporcionalidad: • •
Dinámico o absoluto μ: se expresa en g/cm·s (poises). Cinemático ν = μ/ρ: se expresa en cm2/s (stokes).
La viscosidad del agua depende muy poco de la presión. Hasta 32°C de temperatura, con el aumento de la presión, la viscosidad disminuye muy ligeramente. 24
Sin embargo la viscosidad disminuye regularmente con la temperatura. La viscosidad cambia más rápidamente que la densidad y por eso afecta notablemente todos los procesos de tratamiento del agua. La siguiente tabla da los valores de viscosidad en los dos sistemas para varias temperaturas. Tabla 2. Viscosidad del agua.
1.2.4 Cohesión, adhesión y tensión superficial (σ). La tensión superficial se debe a que entre las moléculas de un líquido se pequeñas presentan fuerzas de cohesión (atracción) en las 3 dimensiones (fuerzas de Van der Waals) que facilitan al líquido resistir pequeños esfuerzos de tensión. Esta atracción es particularmente perceptible entre las moléculas de la capa superficial de un líquido en contacto con otro fluido, ya que como no tienen moléculas con que enlazarse hacia afuera, utilizan su exceso de energía de enlace para aumentar su cohesión a lo largo de la superficie, resultando una tensión que tiende a reducir el área de contacto al mínimo y concentrando la mayor cantidad de moléculas en ella. Bajo la acción de estas fuerzas resulta como 25
si la superficie del líquido estuviese cubierta por una película uniformemente tensada, la cual tiende a darle al volumen del líquido la forma con menor superficie. Si un líquido está limitado por una superficie sólida sus moléculas son atraídas por fuerzas de adherencia a la superficie y por fuerzas de cohesión intermolecular. Si las fuerzas adhesivas entre el líquido y la superficie sólida son mayores que las de cohesión intermolecular en el líquido (como es el caso del agua en una superficie de vidrio), el líquido se extenderá sobre la superficie, es decir, la moja. Si acontece lo contrario (por ejemplo, con el mercurio), una pequeña gota del líquido colocada sobre la superficie del sólido permanecerá con su forma de gota y entonces no mojará la superficie. La tensión superficial causa la elevación del agua (o el descenso del mercurio) en tubos capilares, la forma esférica de las gotas de agua o de las burbujas de jabón, las aparentes atracciones o repulsiones que se observan en los cuerpos que flotan en la superficie de un líquido (como una aguja), la forma redondeada de los meniscos, etc. La tensión superficial del agua es mayor que la de la mayoría de los líquidos orgánicos, pero menor que la de los metales licuados. La presencia de glicina, sales, etc., disueltos en el agua incrementan el contenido electrolítico y por lo tanto, la tensión superficial. Algunas sustancias orgánicas como los detergentes, jabones, alcoholes o ácidos la disminuyen (esto se puede notar en las burbujas que se pueden formar con agua jabonosa). El aumento de la temperatura también disminuye los valores de la tensión superficial del agua, como se puede ver en la siguiente tabla.
26
Tabla 3. Tensión superficial de varios líquidos en el límite de separación con el aire.
1.2.5 Calor específico. Es la cantidad de calor necesario para elevar 1° C la temperatura de 1 g de agua. En la mayoría de los líquidos el calor específico aumenta con la temperatura, pero en el agua tiene su mínimo a 35° C, y es mucho más elevado que en compuestos como el alcohol, benceno, etc., que tienen CE de 0.4 a 0.6 cal/g. En otras palabras, se necesita una gran cantidad de calor para poder elevar la temperatura del agua, lo que hace muy costosos los procesos de destilación. Por eso es que grandes masas de agua tienen un efecto regulador en la temperatura del ambiente. La siguiente tabla muestra calores específicos del agua.
27
Tabla 4. Calor específico del agua a diferentes temperaturas (Arboleda, 2000).
1.2.6 Solubilidad. El agua disuelve muchas sustancias con dependencia de la temperatura. 1.3
PROCESOS FÍSICOS PARA LA OBTENCIÓN DE AGUA PURIFICADA.
1.3.1 Sedimentación. Consiste en promover condiciones de reposo en el agua para depositar, mediante la fuerza gravitacional, las partículas en suspensión más densas que el agua, como aceite, etc., en el tanque de sedimentación. Estos contaminantes pueden ser removidos fácilmente después de haber alcanzado el fondo del depósito. Se llama decantación cuando involucra una floculación previa. 1.3.2 Filtración Consiste en hacer pasar el agua a través de rejas para remover todo tipo de sólidos. Existen diversos procesos de filtración como: 28
• • •
Cribado o cernido. Es para remover sólidos de tamaño considerable, como ramas, palos, etc. Filtración. Remueve turbiedad y sólidos suspendidos y disueltos. Adsorción. Es un tipo especial de filtración, que consiste en un filtro muy fino con un área muy grande en la cual se adhieren los contaminantes orgánicos.
1.3.3 Ósmosis inversa. Consiste en hacer pasar el agua a presión a través de una membrana fina semipermeable, con el fin de remover sólidos disueltos y componentes orgánicos e inorgánicos de ella. Normalmente se aplica para desalinizar el agua, es decir, remover el exceso de sales, principalmente de cloruros. La ósmosis directa toma lugar cuando el agua pasa de una solución menos concentrada a una solución más concentrada a través de una membrana semipermeable. El agua fluirá debido a esta diferencia de energía de la solución de menos concentración a la de más concentración hasta que el sistema alcanza el equilibrio. La adición de presión a una solución más concentrada detendrá el flujo de agua a través de la membrana de la solución de menos concentración cuando la presión ejercida iguale la presión osmótica aparente entre las dos soluciones. La presión osmótica aparente es la medida de la diferencia de la energía potencial entre las dos soluciones. Mientras se aplique más presión a la solución más concentrada, el agua empezará a fluir de la solución de más concentración a la de menos concentración (ósmosis inversa). La cantidad de agua filtrada depende de la presión aplicada a la solución de más concentración, la presión osmótica aparente y el área de la membrana que está siendo presurizada. La presión requerida para sobreponerse a la presión osmótica es dependiente de la concentración molar de la solución y de la temperatura absoluta. 100 mg/L de sólidos disueltos son equivalentes a aproximadamente 1 psi de presión osmótica. La membrana de ósmosis inversa es una película de acetato de celulosa parecido al celofán usado para envolver la comida. Estas membranas pueden ser formuladas para dar grados variantes de rechazo de 50 a 98%. La palabra rechazo es usada para describir la repulsión de los iones por la membrana. El material filtrante de la membrana tiene una multitud de poros submicroscópicos en su superficie. El tamaño del poro de la membrana (0.0005 a 0.002 micrones) es 29
mucho más pequeño que las aberturas de un filtro mecánico normal (1 a 25 micrones) que se requiere un diferencial de presión mucho más grande para hacer que el agua pase por la membrana que el diferencial requerido por un material filtrante normal. Como la membrana “tipo celofán” tiene poca fuerza mecánica y debido al diferencial requerido para el flujo de agua, la membrana debe tener un soporte fuerte para prevenir descompostura. 1.3.4 Desinfección por procesos físicos. Se refiere a la destrucción de patógenos por medios físicos como calor, luz, etc. 1.3.5 Destilación. Es la evaporación del agua para separarla de las sales (desalinización), como por ejemplo calcio y magnesio (causantes de la dureza del agua). Posteriormente se deja condensar. Otro ejemplo de este proceso es la eliminación de la sal del agua de mar y de las aguas salobres para obtener agua dulce, especialmente en las áreas desérticas y semidesérticas. 1.4
PROCESOS QUÍMICOS PARA LA OBTENCIÓN DE AGUA PURIFICADA.
1.4.1 Coagulación y floculación. Consiste en adicionar al agua una sustancia química (coagulante) que transfiera sus iones a la sustancia que se desea remover, neutralizando así la carga eléctrica y favoreciendo la formación de flóculos de mayor tamaño y peso. Los coagulantes más comunes son las sales trivalentes de aluminio y fierro. Este proceso está influenciado de manera importante por el Ph y la alcalinidad del agua. Se utiliza para remover turbiedad, color y precursores de DBPs (productos secundarios de la desinfección).
30
1.4.2 Precipitación. Consiste en adicionar al agua una sustancia química soluble cuyos iones reaccionen con los de la sustancia que se desea remover formando un sólido precipitado que puede ser filtrado del agua. Tal es el caso de la remoción de dureza mediante la adición de cal y carbonato de sodio. Otro caso es el de los fertilizantes como fosfato, que se remueven a través de la adición de hierro. El caso inverso también es posible, en que el hierro se estabiliza añadiendo poli fosfatos. Los detergentes contienen ciertos agentes separadores que inactivan las sustancias causantes de la dureza del agua. 1.4.3 Intercambio iónico. El agua dura contiene un gran número de iones positivos en la forma de minerales disueltos como calcio, magnesio y hierro. La remoción de estos minerales (suavización o ablandamiento del agua) se logra a través de un proceso de intercambio de iones de Ca2+ y Mg2+ por iones de Na+ entre el mineral que se quiere remover y un tanque de resina a través del cual se hace pasar el flujo de agua y en el cual los minerales disueltos son atrapados. El uso del suavizador disminuye las sales disueltas antes de pasar al equipo de ósmosis inversa, lo cual aumenta la vida de las membranas del equipo. 1.4.4 Electro diálisis. Se utiliza para desalinizar aguas salobres. Cuando la sal se disuelve en agua, se separa en iones positivos y negativos, que se extraen pasando una corriente eléctrica a través de membranas aniónicas y catiónicas. 1.4.5 Recarbonatación. Es la aplicación de anhídrido carbónico (H2CO3*) o CO2(g) para bajar el pH del agua después del ablandamiento, sin afectar dureza, alcalinidad, etc.
31
1.4.6 Desinfección química. Existen procesos químicos para desinfectar el agua. Entre los principales se encuentra la desinfección con cloro, sus compuestos y con ozono. Estos procesos se estudiarán a detalle en los siguientes capítulos. 1.5 PRODUCTOS QUÍMICOS INVOLUCRADOS EN LA PURIFICACIÓN DEL AGUA. 1.5.1 Algicidas. Matan a las algas, pero no quitan las toxinas que son lanzadas por ellas antes de morir. No son muy recomendables para las floraciones de algas por razones ambientales. Algunos ejemplos de algicidas son: sulfato de cobre, sales de hierro, etc. 1.5.2 Biocidas o desinfectantes. Son compuestos tóxicos para los micro organismos. Hay varios tipos de biocidas, algunos de los cuales tienen una amplia gama de efectos sobre muchas y diversas clases de bacterias. Se pueden dividir en agentes que oxidan y agentes que no oxidan. Los agentes que no oxidan son menos eficaces como biocidas. 1.5.3 Agentes oxidantes. •
•
Cloro. Es el gas más usado. Retira sabores y olores del agua. La cantidad necesaria de cloro es función del tiempo de contacto, pH, temperatura y volumen del agua. Dióxido de cloro. Es un gas explosivo. Se utiliza para aguas superficiales con problemas de olor y sabor. Es eficaz en rangos más amplios de pH. Tiene efectos menos perjudiciales para el ambiente y la salud humana que el cloro. No forma los ácidos hipoclorosos en agua sino existe como dióxido disuelto del cloro. El ClO2 penetra la pared bacteriana de la célula y reacciona con 32
•
• •
aminoácidos vitales en el citoplasma de la célula para matar a los organismos. El subproducto de esta reacción es clorito. Isocianatos de cloro. En hidrólisis dan el ácido hipocloroso y en agua ácido cianhídrico, que reduce la pérdida de cloro debido a las reacciones fotoquímicas con la luz UV, de modo que más ácido clorhídrico se origina y la acción biocida se ve realzada. Hipoclorito. Es la sal del ácido hipocloroso. Se aplica generalmente como hipoclorito de sodio (NaOCl) e hipoclorito de calcio (Ca(OCl)2). Ozono (O3). Es naturalmente inestable, pero lo tanto es un oxidante muy fuerte. Consiste en las moléculas del oxígeno con un átomo de oxígeno adicional. Cuando el ozono entra en contacto con olor, bacterias o virus, el átomo de oxígeno adicional las rompe directamente, por medio de la oxidación. El tercer átomo de oxígeno de las moléculas del ozono es el que se pierde y sólo permanece el oxígeno.
1.5.3.1 • •
• •
Agentes que no oxidan..
Acrolina. Es extremadamente inflamable y tóxica. Puede atacar y torcer grupos de las proteínas y reacciones de síntesis de las enzimas. Fenoles clorados. Inhiben el crecimiento de los micro organismos adsorbiéndose a la pared celular de los micro organismos para difundirse dentro de la célula donde quedan en suspensión y precipitan las proteínas. Aminas. Pueden potenciar el efecto biocida de los compuestos fenólicos clorados. Compuestos órgano-sulfúricos. Inhiben el crecimiento de la célula. En las células bacterianas la energía se transfiere normalmente cuando el hierro reacciona de Fe3+ a Fe2+. Los compuestos órgano-sulfúricos quitan el Fe3+ por complexión como sal de hierro. Entonces la transferencia de la energía a través de las células es parada e inmediatamente se produce la muerte de la célula. Hay una gran variedad de compuestos órgano-sulfúricos para diversos valores de pH.
33
1.5.4 Coagulantes. Son preferidos los iones positivos con alta valencia. Generalmente son aplicados el aluminio como Al2(SO4)3 y el hierro como FeCl3 ó Fe2(SO4)3. 1.5.5 Floculantes. Son polímeros de sólidos (poli electrolitos) que se usan para promover enlaces entre las partículas y así formar flóculos en el agua. La carga, peso molar y grado molecular de ramificación de los polímeros influyen en el efecto que éstos pueden tener. Son solubles en agua y su peso molar varía entre 105 y 106 g/mol. Puede haber varias cargas en un floculante, ya que hay polímeros catiónicos (basados en nitrógeno), aniónicos (basados en los iones del carboxilato) y los polianfolitos, que llevan cargas positivas y negativas. 1.5.6 Neutralizadores (acondicionadores) de Ph. Las aguas municipales a menudo requieren un ajuste de pH para prevenir la corrosión de tuberías y la disolución de plomo en el suministro de agua. Para aumentar o disminuir el pH se adicionan ácidos o bases. Para aumentar el nivel del pH se utiliza la solución del hidróxido de sodio (NaOH), el carbonato de calcio o la suspensión de cal (Ca(OH)2). Para declinar niveles del pH se usa el ácido sulfúrico diluido (H2SO4) o ácido clorhídrico diluido (HCl). Las reacciones de neutralización causan un aumento en la temperatura. 1.5.7 Oxidantes. Se usan para reducir niveles de DQO/DBO y para remover componentes inorgánicos y orgánicos oxidables. Los procesos pueden oxidar totalmente los materiales orgánicos a dióxido de carbono y agua. Existen varios oxidantes, por ejemplo: •
Peróxido de hidrógeno (H2O2). Es un oxidante seguro, eficaz, de gran alcance y versátil. Ayuda al control del olor, corrosión, oxidación orgánica, oxidación del metal y de la toxicidad. 34
•
•
Ozono. Puede oxidar halógenos orgánicos absorbibles, nitritos, hierro, manganeso, cianuros, pesticidas, óxidos de nitrógeno, sustancias olorosas, hidrocarburos tratados con cloro, etc. Oxígeno. Se puede aplicar para oxidar hierro o manganeso. Estas son las reacciones de oxidación de estos dos elementos con oxígeno: Ecuación 9
1.5.8 Limpiadores de resinas. Sirven para eliminar contaminantes orgánicos en resinas de intercambio de iones. Después de esto, pueden ser reusadas. Un limpiador común es dióxido de cloro. Al usarlo, 500 ppm de este compuesto pasan por la resina y los contaminantes se oxidan.
35
2.
MÉTODOS PARA LOS DIFERENTES CÁLCULOS HIDRÁULICOS.
En la macro diseñada se utilizan las ecuaciones de Darcy-Weisbach, ya que con la programación en Visual Basic Applications (VBA), es muy fácil programar el factor de fricción (f), que es básicamente la dificultad para utilizar este métodos en mallas y redes hidráulicas, por que el factor de fricción (f) es función del Número de Reynolds y de la rugosidad relativa, lo cual significa que depende de la velocidad y del diámetro, que son parámetros que se desean hallar en los problemas Tipo II, y Problemas Tipo III. Ecuación 10.
8 Q2 ⋅ π 2 ⋅ g D4
h= f
L ⋅ f ⋅ + K D
Ecuación 11
∆ = h R (Q ) ⋅ Q R ( Q= )
8 Q L ⋅ 4 ⋅ f ⋅ + K π ⋅g D D 2
Ecuación 12
NR =
4⋅ Q υ ⋅π ⋅ D
(
f = Darcy ε
D
, NR
)
ε 0.40 1 D + 10 =−2 ⋅ Log 0.57 10 f NR ⋅ f 2.1
CHEQUEO DE LA CABEZA HIDRÁULICA.
Para este método se haya la cabeza hidráulica de un problema de ingeniería, en Hidráulica es definido como problema tipo uno (1).
36
Conocidos Q, D, L, Ɛ y K, se Calcula Número de Reynolds, y con Ɛ/D, se calcula el factor de fricción f, con estos datos se remplaza en la ecuación 10 o ecuación 11, para obtenerse la Cabeza hidráulica del sistema. 2.2
CHEQUEO DEL DIÁMETRO HIDRÁULICO.
Por este método se encuentra el diámetro hidráulico de un problema de ingeniería, en Hidráulica es definido como problema tipo uno (3). Conocidos Q, H, L, Ɛ y K. El procedimiento para calcular el diámetro es el siguiente. 1. Se asume un Diámetro inicial. 2. Con el diámetro se calcula Ɛ/D, y el Número de Reynolds (NR). 3. Por medio del Método Newton-Raphson. Se haya el primer Diámetro iterado. Ecuación 13
Dn = g ( f, L, K, Q, H ) = H − ∆Dn = −
g ( f, L, K, Q, H )
8 Q2 L ⋅ 4 ⋅ f ⋅ + K 2 π ⋅g D D
d g ( f, L, K, Q, H ) dD 8 d d L K H − 2 ⋅ Q2 ⋅ f ⋅ 5 + g ( f, L, K, Q, H= ) π ⋅g dD dD D D 8 d d L K − 2 ⋅ Q2 ⋅ g ( f, L, K, Q, H ) = f ⋅ 5 + π ⋅g dD dD D D
37
Ecuación 14
8 d L K g ( f, L, K, Q, H ) =− 2 ⋅ Q 2 ⋅ −5 ⋅ f ⋅ 6 − 2 dD D D π ⋅g 8 Q2 d L g ( f, L, K, Q, H= ) 2 ⋅ 5 ⋅ 5 ⋅ f ⋅ + K dD D π ⋅g D 8 Q2 L ⋅ 4 ⋅ f ⋅ + K − H 2 g ( f, L, K, Q, H ) π ⋅g D D ∆Dn = − = 2 d 8 Q L g ( f, L, K, Q, H ) ⋅ ⋅ 5⋅ f ⋅ + K dD D π 2 ⋅ g D 5 Dn += Dn + ∆Dn 1
4. Con el primer diámetro se vuelve al numeral Número dos (2), y se recalcula un nuevo diámetro. 5. Con unas cuantas iteraciones, el diámetro converge. 2.3
ADUCCIONES Y CONDUCCIONES.
Por este método se encuentra el gasto hidráulico o caudal hidráulico de un problema de ingeniería, en Hidráulica es definido como problema tipo dos (2). En la macro diseñada se calculan tres tipos Aducciones o Conducciones. 1. El problema de un solo tuvo, con diámetro constante. 2. Problema de Tuberías en series, con cambio de diámetros. 3. El problema de los tres tanques, que sirve para simular múltiples problemas de aducciones y conducciones. Todos los problemas se resuelven por el método de Hardy Cross 1 2.4
EL MÉTODO DE HARDY CROSS
Una red cerrada de tuberías es aquella en la cual los conductos o tuberías que la componen se ramifican sucesivamente, conformando circuitos o anillos cerrados.
1
Hardy Cross, 1885-1959, nacido en Nansemond County, Virginia.
38
Un circuito es cualquier trayectoria cerrada que puede recorrer una partícula fluida, partiendo desde un punto o nudo de la red, fluyendo por distintos tramos, hasta llegar al punto de partida. Las redes urbanas de distribución de agua potable, las redes de distribución de gas para usuarios urbanos, las redes de distribución de agua en distritos de riego, las redes de distribución de gas en sistemas de refrigeración, las redes de distribución de aceite en sistemas de lubricación y las redes de distribución de aire en sistema de ventilación, son ejemplos clásicos de conformación de redes cerradas de tuberías. Sin embargo, en esta oportunidad, el análisis se centrará en las redes de distribución de agua, cuya aplicación es de gran interés para los profesionales de las Ingenierías Hidráulica, Minas, Civil, Industrial, Agrícola y Sanitaria. Las redes urbanas de distribución de agua forman ramificaciones sucesivas de tuberías, siguiendo el trazado de las calles y vías de acceso, conformando circuitos o anillos cerrados, de manera que el agua, en un nudo de la red, puede venir por dos o más direcciones distintas, lo cual presenta la ventaja de no interrumpirse el suministro en los eventos de reparación o de mantenimiento. El análisis de una red cerrada de tuberías conduce al planteamiento de un sistema de ecuaciones no lineales, de solución muy laboriosa, que solamente es posible resolver por métodos de aproximaciones sucesivas, uno de los cuales es el Método de Hardy Cross. 2.4.1 Generalidades. El Método de Aproximaciones Sucesivas, de Hardy Cross, está basado en el cumplimiento de dos principios o leyes: • •
Ley de continuidad de masa en los nudos; Ley de conservación de la energía en los circuitos.
El planteamiento de esta última ley implica el uso de una ecuación de pérdida de carga o de "pérdida" de energía, bien sea la ecuación de Hazen & Williams o, bien, la ecuación de Darcy & Weisbach.
39
La ecuación de Hazen & Williams, de naturaleza empírica, limitada a tuberías de diámetro mayor de 2", ha sido, por muchos años, empleada para calcular las pérdidas de carga en los tramos de tuberías, en la aplicación del Método de Cross. Ello obedece a que supone un valor constante par el coeficiente de rugosidad, C, de la superficie interna de la tubería, lo cual hace más simple el cálculo de las "pérdidas" de energía. La ecuación de Darcy & Weisbach, de naturaleza racional y de uso universal, casi nunca se ha empleado acoplada al método de Hardy Cross, porque involucra el coeficiente de fricción, f, el cual es función de la rugosidad, k, de la superficie interna del conducto, y el número de Reynolds, R, de flujo, el que, a su vez depende de la temperatura y viscosidad del agua, y del caudal del flujo en las tuberías. Como quiera que el Método de Hardy Cross es un método iterativo que parte de la suposición de los caudales iniciales en los tramos, satisfaciendo la Ley de Continuidad de Masa en los nudos, los cuales corrige sucesivamente con un valor particular, D Q, en cada iteración se deben calcular los caudales actuales o corregidos en los tramos de la red. Ello implica el cálculo de los valores de R y f de todos y cada uno de los tramos de tuberías de la red, lo cual sería inacabable y agotador si hubiese que "hacerlo a uña" con una calculadora sencilla. Más aún, sabiendo que el cálculo del coeficiente de fricción, f, es también iterativo, por aproximaciones sucesiva. Lo anterior se constituía, hasta hoy, en algo prohibitivo u obstaculizador, no obstante ser la manera lógica y racional de calcular las redes de tuberías. Hoy, esto será no sólo posible y fácil de ejecutar con la ayuda del programa en lenguaje Visual Basic for Application (VBA), que aquí se presenta, sino también permitirá hacer modificaciones en los diámetros de las tuberías y en los caudales concentrados en los nudos, y recalcular la red completamente cuantas veces sea conveniente. 2.4.1.1
Fundamentos del método de Hardy Cross.
El método se fundamenta en las dos leyes siguientes:
40
•
Ley de continuidad de masa en los nudos: "La suma algebraica de los caudales en un nudo debe ser igual a cero" Ecuación 15
Donde, • • • •
Qij : Caudal que parte del nudo i o que fluye hacia dicho nudo. qi : Caudal concentrado en el nudo i m : Número de tramos que confluyen al nudo i. Ley de Conservación de la energía en los circuitos: "La suma algebraica de las "pérdidas" de energía en los tramos que conforman un anillo cerrado debe ser igual a cero". Ecuación 16
Donde, • •
hf ij : Pérdida de carga por fricción en el tramo Tij. n : Número de tramos del circuito i
2.4.1.2
Ecuaciones básicas
La ecuación de Hazen & Williams originalmente expresa: Ecuación 17
Donde, 41
• • • •
V : Velocidad del flujo, m/s. C : Coeficiente de rugosidad de Hazen & Williams, adimensional. D : Diámetro de la tubería, m. Sf : Pérdida unitaria de carga (m/m). Ecuación 18
Por continuidad, Ecuación 19
Luego, Ecuación 20
De la cual resulta: Ecuación 21
Donde, • • •
Q : Caudal del flujo en el conducto, m3/s. L : Longitud del tramo de tubería, m. hf : Pérdida de carga, m.
La ecuación anterior se puede transformar de tal manera que el diámetro se exprese en pulgadas y el caudal en l/s, obteniéndose la siguiente ecuación. 42
Ecuación 22
Haciendo. Ecuación 23
Resulta: Ecuación 24
La ecuación de Darcy & Weisbach expresa, en términos de velocidad del flujo, la siguiente: Ecuación 25
Donde f es el coeficiente de fricción, de Darcy Y en términos del caudal, expresa: Ecuación 26
Haciendo; Ecuación 27
43
Resulta: Ecuación 28
En general, la ecuación de pérdidas de carga por fricción expresa: Ecuación 29
Donde, • • • •
r : Coeficiente de resistencia, cuyo valor depende del tipo de ecuación empleada para el cálculo. n : Exponente del caudal, que depende la ecuación de resistencia empleada. n : 1.851, según la ecuación de Hazen & Williams. n : 2.0 según la ecuación de Darcy & Weisbach.
El Método de Hardy Cross corrige sucesivamente, iteración tras iteración, los caudales en los tramos, con la siguiente ecuación general: Ecuación 30
El coeficiente de fricción, f, de las ecuaciones, se calcula con la ecuación de Colebrook & White, que expresa lo siguiente: Ecuación 31
44
Donde: • • •
k : El coeficiente de rugosidad de la tubería, mm. D : Diámetro de la tubería, mm. R : El número de Reynolds del flujo, adimensional.
Nótese que la relación k/D, en la ecuación debe ser adimensional. A su vez, el número de Reynolds, R, se calcula con la siguiente ecuación: Ecuación 32
Donde, • • • • • •
v : Velocidad del flujo, m/s. r : Densidad del fluido (agua), kg/m3. m : Viscosidad dinámica del fluido, kg/m.s. n : Viscosidad cinemática del fluido, m2/s. D : Diámetro del conducto, m. Q : Caudal del flujo en el conducto, m3/s.
La ecuación es una ecuación implícita para f y, por lo tanto, se resuelve iterativamente, por ensayo y error, en la subrutina 400, aplicando el Método de Newton & Raphson. Nótese que, para acelerar el cálculo de f, en esta subrutina se emplea un valor inicial de f = X0, calculado con la siguiente fórmula: Ecuación 33
45
2.4.1.3 •
•
• •
Convenciones
Los caudales Qij y sus correspondientes pérdidas de carga, hfij, y velocidades, vij serán positivos si fluyen en sentido de las manecillas del reloj, o negativos en sentido contrario. La nomenclatura de los tramos Tij sólo requiere que el primer subíndice represente el número de circuito al cual pertenece. El subíndice j es un número consecutivo que inicia en 1 y termina en el número de tramos del circuito considerado. Ejemplo, el tramo T2.4 es el cuarto tramo del circuito No.2 En la nomenclatura de los tramos no se requiere designarlos siguiendo un estricto orden consecutivo, como tampoco un sentido horario o anti horario. Un tramo cualquiera de la red puede pertenecer a un único circuito, o a dos, simultáneamente. En el primer caso, el número del circuito adyacente, solicitado por los programas, es cero. En el segundo caso, se entrará el número del otro circuito que lo camparte con el actual.
2.4.2 Aducciones y conducciones para una tubería. En este problema solo se tiene un diámetro, se resuelve la ecuación 34, por el método descrito de Hardy Cross. Ecuación 34
H−
8 Q⋅ Q ⋅ π ⋅ g D4 2
L 0 ⋅ f ⋅ + K = D
2.4.3 Aducciones y conducciones para dos tuberías En este problema se tiene mas de un diámetro, la Macro esta diseñada para trabajar la tubería en paralelo de dos (2) hasta cinco (5) diámetros diferente, y se resuelve la ecuación 35, por el método descrito de Hardy Cross. Ecuación 35
L 8 Q⋅ Q 0 ⋅ ⋅ fi ⋅ i + Ki = 4 Di Di i =1 π ⋅ g n
H −∑
2
46
2.4.4 Aducciones y conducciones para tuberías en paralelo. Este problema es el de los tres (3) tanques, en la cual dos tubos están en paralelo y uno en serie, es útil para modelar muchos problemas como puede ser dos bocatomas y un tanque, o una bocatoma que llegan a dos desarenadores distintos, el usuario debe escoger el problema que mas se le asemeje al problema modelado, en este tipo de problema se tienen tres (3) circuitos, se resuelve la ecuación 36, por el método descrito de Hardy Cross. Ecuación 36
∆H1−3 −
8 Q1 ⋅ Q1 ⋅ π ⋅ g D14
L L 8 Q ⋅Q 0 ⋅ f1 ⋅ 1 + K1 − 2 ⋅ 3 4 3 ⋅ f3 ⋅ 3 + K 3 = D g D D π ⋅ 1 3 3 L L 8 Q ⋅Q 8 Q ⋅Q ∆H 2−1 − 2 ⋅ 2 4 2 ⋅ f 2 ⋅ 2 + K 2 − 2 ⋅ 1 4 1 ⋅ f1 ⋅ 1 + K1 = 0 D2 D2 D1 D1 π ⋅g π ⋅g ∆H 3− 2 −
Los desarenadores son considerados como sistemas de pretratamientos es una estructura auxiliar que debe preceder a cualquier sistema de tratamiento. Esta estructura persigue principalmente los objetivos de reducir los sólidos en suspensión de distintos tamaños que traen consigo las aguas. La mayoría de las fuentes superficiales de agua tienen un elevado contenido de materia en estado de suspensión, siendo necesaria su remoción previa, especialmente en temporada de lluvias. 2.5.1 Sedimentación de partículas discretas. La sedimentación de partículas discretas puede ser descrita mediante la ley de Newton, a partir de la cual la velocidad terminal de sedimentación de una partícula esférica es encontrada como: 47
Ecuación 37
4 ⋅ g ⋅ ( ρs − ρ ) ⋅ d v= 3 ⋅ CD ⋅ ρ
1
2
Donde: v = velocidad terminal de sedimentación. ρs = densidad de masa de la partícula. Ρ = densidad de masa del fluido g = constante gravitacional. d = diámetro de la partícula. CD es un coeficiente de arrastre adimensional definido por: Ecuación 38
24 3 CD = + + 0.34 NR NR 0.5
En el cual NR, es el número de Reynolds, La ecuación 38 es aplicable para números de Reynolds hasta 1000, lo cual incluye todas las situaciones de interés en el tratamiento de agua, En aquellos casos en que NR es pequeño (memos de 0.5), los últimos términos de la ecuación 38 pueden eliminarse, quedando. Ecuación 39
C = D
24 24 ⋅ µ = NR v ⋅ d ⋅ ρ
Lo cual, cuando se substituye en la ecuación 37, da. Ecuación 40
v=
g ⋅ ( ρs − ρ ) ⋅ d 2 18 ⋅ µ 48
Lo cual es la ley de Stokes 2. Las partículas en el agua no son esféricas; sin embargo, el efecto de forma irregular no es importante en velocidades de sedimentación bajas. La mayoría de procesos de sedimentación están diseñados para remover pequeñas partículas que se sedimentan lentamente. Las partículas más grande que se sientan a mayores velocidades serán removidas en cualquier caso – sigan o no la ley de Stokes o Newton. El diseño teórico de los procesos de sedimentación está generalmente basado en el concepto de tanque de sedimentación ideal. Una partícula que entra al tanque tendrá una velocidad horizontal igual a la velocidad del fluido. Ecuación 41
V=
Q Q = A w⋅h
Y una velocidad vertical igual a su velocidad de sedimentación terminal definida por las leyes de Stokes o Newton. Si una partícula va a ser removida, su velocidad de sedimentación y su velocidad horizontal deben ser tales que su resultante la llevará al fondo del tanque antes que alcance la zona de salida. Si una partícula entra al tanque por su parte superior es removida, todas las partículas con la misma velocidad de sedimentación serán removidas. Considerando la pendiente del vector velocidad, se puede escribir. Ecuación 42
vs h = V L
o,
2
Sir George Gabriel Stokes, primer Baronet (13 de agosto de 1819-1 de febrero de 1903) fue un matemático y físico irlandés que realizó contribuciones importantes a la dinámica de fluidos (incluyendo las ecuaciones de Navier-Stokes), la óptica y la física matemática (incluyendo el teorema de Stokes). Fue secretario y luego presidente de la Royal Society de Inglaterra.
49
Ecuación 43
V ⋅h h Q Q vs = =⋅ = L L w⋅h w⋅ L
La ecuación 43 define la tasa de sedimentación superficial (TSS), la cual, en términos numéricos, es igual al caudal dividido por el área superficial del tanque, pero físicamente representa la velocidad de sedimentación de las partículas sedimentadas con más lentitud que son 100% removidas. Aquellas partículas que se sedimentan a velocidades iguales o mayores que la tasa de sedimentación superficial serán removidas en proporción directa a la relación de su velocidad de sedimentación vs, suponiendo que son uniformemente distribuidas en la entrada del tanque. 2.5.2 Arrastre. La velocidad horizontal en los tanques de sedimentación debe ser limitada a un valor menor que aquella que llevaría las partículas en tracción a lo largo del fondo. La velocidad horizontal justa y suficiente para causar arrastre ha sido definida como: Ecuación 44
8 ⋅ k ⋅ ( ss − 1) ⋅ g ⋅ d V = f
1
2
Donde: V = velocidad horizontal. S = densidad relativa de la particula. k = constante adimensional que fluctúa entre 0.04 a 0.06. f = factor de fricción de Darcy-Weisbach (usualmente 0.02 a 0.03). Los otros términos encajan en los definidos anteriormente.
50
En la mayoría de los tanques de sedimentación, la velocidad horizontal está muy por debajo de la requerida para causar arrastre. En el documento expuesto por el ingeniero ing. Carlos Julio Collazos, “Tratamiento de aguas residuales domesticas e industriales” 3. Los parámetros de diseño se asumen como en su documento. Tabla 5. Parámetros de diseño para desarenadores aireados.
2.6
CHEQUEO DE ACUEDUCTOS Y ALCANTARILLADOS.
Se denomina canal a una estructura empleada al transporte de fluidos y que, a diferencia de las tuberías, es abierta a la atmósfera. La descripción del comportamiento hidráulico de los canales es una parte fundamental de la hidráulica y su diseño pertenece al campo de la ingeniería hidráulica, una de las especialidades de la ingeniería civil. Cuando un fluido es transportado por una tubería parcialmente llena, se dice que cuenta con una cara a la atmósfera, por lo tanto se comporta como un canal.
3
(Collazos, pág. 24)
51
2.6.1 Elementos geométricos de la sección del canal. Los elementos geométricos son propiedades de una sección del canal que puede ser definida enteramente por la geometría de la sección y la profundidad del flujo. Estos elementos son muy importantes para los cálculos del escurrimiento. Como se trata en la macro diseñada de una tubería de sección circular el cálculo se complica un poco, ya que es difícil encontrar el ángulo interno de la tubería, pero con ayuda de métodos numéricos y la programación en Visual Basic for Applications (VBA), estos problemas se facilitan para su programación. Por medio de la Formula de Manning4, se deduce un método para despejar el Angulo interno, con la ayuda del método de Newton-Raphson. Ecuación 45. Ecuación de Manning 2 1 ⋅ A ⋅ RH 3 ⋅ S n 1 2 V = ⋅ RH 3 ⋅ S n 2 Q⋅n = A ⋅ RH 3 S
Q=
•
Profundidad del flujo, calado o tirante: la profundidad del flujo (y) es la distancia vertical del punto más bajo de la sección del canal a la superficie libre. Ecuación 46
y 1 θ = ⋅ 1 − cos d0 2 2 •
Ancho superior o distancia entre orillas: el ancho superior (T) es el ancho de la sección del canal en la superficie libre.
4
La fórmula de Manning, es una evolución de la fórmula de Chézy para el cálculo de la velocidad del agua en canales abiertos y tuberías, propuesta por el ingeniero irlandés Robert Manning, en 1889:
52
Ecuación 47
θ = T sen ⋅ d 0 2 •
Área mojada: el área mojada (A) es el área de la sección transversal del flujo normal a la dirección del flujo. Ecuación 48
1 A = ⋅ (θ − sen (θ ) ) ⋅ d 02 8
•
Perímetro mojado: el perímetro mojado (P) es la longitud de la línea de la intersección de la superficie mojada del canal con la sección transversal normal a la dirección del flujo. Ecuación 49
P=
•
θ ⋅ d0 2
Radio hidráulico: el radio hidráulico (R) es la relación entre el área mojada y el perímetro mojado, se expresa como: R = A / P Ecuación 50
1 sin (θ ) RH = ⋅ 1 − ⋅d 4 θ 0 •
Profundidad hidráulica: la profundidad hidráulica (D) es la relación del área mojada con el ancho superior, se expresa como: D = A / T Ecuación 51
El número de Froude (NF) es un número adimensional que relaciona el efecto de las fuerzas de inercia y las fuerzas de gravedad que actúan sobre un fluido. Debe su nombre al ingeniero hidrodinámico y arquitecto naval inglés William Froude (1810 - 1879). De esta forma el número de Froude se puede escribir como:
NF =
V g ⋅Ð
En el caso de que: Sea NF>1 el régimen del flujo será supercrítico. Sea NF=1 el régimen del flujo será crítico. Sea NF<1 el régimen del flujo será subcrítico. •
Cortante. Ecuación 53
τ = γ H O ⋅ RH ⋅ S 2
= S
τ
= γ H 2O ⋅ RH γ H 2O 4
τ
sin (θ ) ⋅ 1 − ⋅d θ 0
Para el cálculo del Angulo interno se formulo el Método de Newton-Raphson, para encontrar el ángulo y calcular todos los parámetros hidráulicos de la tubería. Ecuación 54 2 Q⋅n = A ⋅ RH 3 S
54
Remplazando y despejando para formular desde la ecuación 45 hasta la ecuación 55. Ecuación 55
Q ⋅ n 1 1 sin (θ ) = ⋅ (θ − sen (θ ) ) ⋅ d 02 ⋅ ⋅ 1 − ⋅d θ 0 S 8 4
θ n +1= θ n + ∆θ n Una ves que se ha encontrado el Angulo interno, se pueden encontrar todas las relaciones hidráulica, también se hallan las relaciones hidráulicas a tubo lleno, esto ocurre con un ángulo interno igual a 360° Se dedujo una formula para calcular el Diámetro mínimo. Ecuación 65
Q=
2 1 ⋅ A ⋅ RH 3 ⋅ S n
56
Ecuación 66 2
1 π d 3 Q0 = ⋅ ⋅ d 02 ⋅ 0 ⋅ S n 4 4 Ecuación 67 3 1 π 1 Q0 = ⋅ ⋅ 3 ⋅ d 0 8 ⋅ S n 4 16
Para la utilización de la macro hay que tener instalado Excel 2010 o superior, en el equipo que se quiera trabajar, y en este tener instalado el complemento solver, si se desea trabajar con la optimización de los desarenadores, ya que en otras versiones de office no correría la macro, porque esta utiliza un complemento especial que se encuentra en esta versión de office.
Ilustración 1. Suministrada por el Autor.
Cuando se tenga el archivo en Excel 2007 abierto, este me va a mostrar un mensaje de Advertencia de seguridad que comunica que las macros han sido deshabilitadas, y muestra un botón de opciones para habilitar las macros.
Ilustración 2. Advertencia de seguridad Las macros se han deshabilitado. (Suministrada por el Autor).
Se debe entonces oprimir este botón para poder habilitar las macros, este me muestra un cuadro de dialogo en el cual dice que las macros han sido 58
deshabilitadas por seguridad, se deberá marcar la casilla “Habilitar este contenido” para que la macro pueda correr, porque de lo contrario deshabilita el código de la macro impidiendo su funcionamiento.
Ilustración 3. Habilitar este contenido (Suministrada por el Autor).
Cuando se han realizado todos los pasos anteriores aparecerá un cuadro de dialogo que muestra información de copyright, este mensaje estará presente por cinco (5) segundos y desaparecerá. Una ves se han habilitado las macros aparecerá una hoja en blanco nin ningún dato, en la parte superior se encuentran las fichas o cintas del programa Excel 2007 y/o superior, pero esta macro tiene una ficha mas.
Ilustración 4. Fichas del programa Excel, más la ficha Cálculos Hidráulico. (Figura suministrada por el Autor).
En esta ficha se encuentran incluidos Tres (3) Grupos los cuales están distribuidos de la siguiente manera. 59
• • •
En el primer grupo están el chequeo de cabeza hidráulica, aducciones y conducciones. En el segundo grupo se encuentra el chequeo de Desarenadores. En el tercer grupo se encuentra chequeo de Acueducto y Alcantarillado.
Ilustración 5. Fichas del programa Excel, más la ficha Cálculos Hidráulico. (Figura suministrada por el Autor).
Este manual constara de siete (7) Cálculos diferentes, cinco (5) se encuentran en el grupo uno (1), uno en el Grupo dos (2), y el ultimo en el grupo tres (3).
60
3.1
Grupo uno (1).
3.1.1 Chequeo Cabeza Hidráulica.
Ilustración 6. Chequeo Cabeza Hidráulica. (Figura suministrada por el Autor).
Al oprimir este control se activa una hoja de las características mostrada en la Ilustración 6, en esta hoja de cálculo se encuentran unas celdas de color azul, lo cual indica que en esas celdas se introducen los datos.
Ilustración 7. Datos de entrada de Chequeo Cabeza Hidráulica (Figura suministrada por el Autor)
Los datos de entrada son. 61
• • •
• • •
•
Temperatura (°C): Temperatura en grados centígrados (°C). g(m/s2): Aceleración de la gravedad, (g=9.81 m/s2). Ɛ (m): Rugosidad del material, en la misma hoja encontramos algunos valores típicos de esta variable. D(in): Diámetro interno de la tubería en pulgadas (in). L(m): Longitud total de la tubería, longitud verdadera, en metros (m) ƩKm: Perdidas menores o por accesorios de la tubería, habrá que hacerse un aforo completo a la red para conocer todos los aditamentos que pueda contener la tubería. H(m): Diferencia de cotas entre el punto más alto y el punto mas bajo, debe ser un valor positivo para que los cálculos se realicen de forma correcta.
Los cálculos son automáticos, con solo cambiar uno de las celdas azules, se realizan nuevamente todos los cálculos, estas son las únicas celdas que se deben cambiar, ya que es un libro que combina formulas y macros para realizar los cálculos. La salida de los resultados se da en celdas que se encuentran más abajo de la misma hoja de calculo, la cual indican las perdidas menores o por accesorios y las perdidas mayores o por fricción, cual es su porcentaje de participación de cada una, y si la velocidad del fluido en la tubería se encuentran dentro los rangos exigidos por la norma RAS2000.
62
4. VALIDACIÓN DE LOS RESULTADOS POR EL SOFTWARE EPANET PARA LAS ADUCCIONES Y CONDUCCIONES. Para el funcionamiento de la macro se verifico los resultados obtenidos para sistemas de una tubería, sin que cambie el diámetro, otra con cambio del diámetro, y un sistema de tres tanques, cada uno de estos con sus respectivos diámetros. 4.1
TEORÍA DE CORRELACIÓN.
Error de la Muestra esta dada por la formula. Ecuación 73
= eT
e12 + e22 + ⋅⋅⋅ + en2
La bondad del ajuste se formula mediante las siguientes formulas. Ecuación 74
∑( y − y ) = ∑( y − y ) + ∑( y ∗ 2
2
∗
− y)
2
La correlación al cuadrado se asume mediante la siguiente formula. Ecuación 75
∑( y − y ) 1− ∑( y − y )
∗ 2
R = 2
2
Remplazando en la ecuación 30, se tiene. Ecuación 76
SS= SSreg + SSresid total Ecuación 77
63
R2 = 1 −
SSreg SStotal
Donde se obtiene la Variación total en la Ecuación 34. Ecuación 78
SS = total
∑( y − y )
2
La variación de la regresión en la Ecuación 35. Ecuación 79
SS = reg
∑( y − y )
∗ 2
Y la variación residual en la Ecuación 36. Ecuación 80
SS = resid
4.2
∑( y
∗
− y)
2
ADUCCIONES Y CONDUCCIÓN EN UNA (1) TUBERÍA.
Los datos de entrada tanto para el programa EPANET como Para la Macro “Cálculos Hidráulicos” serán los siguientes: 4.2.1 EXCEL 2007 y/o Posterior. Datos de entrada. • • • • •
Temperatura (°C): g(m/s2): Ɛ (m): D(in): L(m):
20 °C. 9.81 m/s2. 0.0000015 m 1 in. 1000 m 64
• •
ƩKm: H(m):
1.5 100 m
Solución.
Ilustración 8. Datos de entrada y solución obtenida por Excel 2010 (Figura suministrada por el Autor)
65
Ilustración 9. Datos de entrada y solución obtenida por Excel 2010 (Figura suministrada por el Autor)
4.2.2 EPANET 2.0 vE. Datos de entrada. • • • • •
Ɛ (mm): D(mm): L(m): ƩKm: ΔH(m):
0.0015 mm 25.4 mm. 1000 m 1.5 100 m
Solución.
66
Ilustración 10. Programa EPANET 2.0 vE (Figura suministrada por el Autor)
Ilustración 11. Datos de entrada y salida por EPANET 2.0 vE (Figura suministrada por el Autor)
4.2.3 Interpretación de los resultados obtenidos. Para la interpretación de los resultados se asumió que el programa EPANET 2.0 vE. Es quien arroja los resultados verdaderos para poderlo compara y sacar unan correlación de los resultados obtenidos. Tabla 6. Correlación de los resultados.
67
Q (LPS) V (m/s) R2
Datos SS total y= EXCEL 2010 y*= EPANET 2.0 vE 0.756 0.755 0.13579225 1.493 1.489 0.13579225 0.999937404 0.2715845
SS reg 0.000001 0.000016 0.000017
SS resid 0.13653025 0.13286025 0.2693905
Error 0.132% 0.269% 0.300%
Se observa que la correlación es de 0.999937404, con un erros total de 0.300%, lo cual significa que los resultados son muy buenos comparados con el programa EPANET 2.0 vE. 4.3
ADUCCIONES Y CONDUCCIÓN DOS (2) TUBERÍA.
Los datos de entrada tanto para el programa EPANET como Para la Macro “Cálculos Hidráulicos” serán los siguientes: 4.3.1 EXCEL 2007 y/o Posterior. Datos de entrada. • • • • • • • • • • •
0.0015 mm 0.0015 mm 25.4 mm. 12.7 mm. 600 m 400 m 0.5 1.5 100 m
Solución.
69
Ilustración 13. Programa EPANET 2.0 vE (Figura suministrada por el Autor)
Ilustración 14. Datos de entrada y salida por EPANET 2.0 vE (Figura suministrada por el Autor)
4.3.3 Interpretación de los resultados obtenidos. Para la interpretación de los resultados se asumió que el programa EPANET 2.0 vE. Es quien arroja los resultados verdaderos para poderlo compara y sacar unan correlación de los resultados obtenidos. Tabla 7. Correlación de los resultados.
70
y= EXCEL 2010
Datos SS total y*= EPANET 2.0 vE
SS reg
SS resid
Error
1889.74242
0.04265502
1871.82879
0.226%
91.248
1889.74242
0.04265502
1871.82879
0.226%
1.801
2132.45248
1.5041E-05
2132.81068
0.215%
7.203
1661.69149
0.00027268
1663.03803
0.229%
7573.6288
0.08559777
7539.50629
0.449%
Q1 (LPS)
91.455
91.248
Q2 (LPS)
91.455
V1 (m/s)
1.805
V2 (m/s)
7.220
R2
0.999988698
Se observa que la correlación es de 0.999988698, con un erros total de 0.449%, lo cual significa que los resultados son muy buenos comparados con el programa EPANET 2.0 vE. 4.4
ADUCCIONES Y CONDUCCIÓN TRES (3) TUBERÍA.
Los datos de entrada tanto para el programa EPANET como Para la Macro “Cálculos Hidráulicos” serán los siguientes: 4.4.1 EXCEL 2007 y/o Posterior. Datos de entrada. • • • • • • • • • • • • • • •
0.0015 mm 0.0015 mm 0.0015 mm 50.8 mm. 76.2 mm. 101.6 mm. 250 m 100 m 1000 m 1.0 1.0 10.0 200 m 150 m 73
•
H3(m):
10 m
Solución.
Ilustración 18. Programa EPANET 2.0 vE (Figura suministrada por el Autor)
Ilustración 19. Datos de entrada y salida por EPANET 2.0 vE (Figura suministrada por el Autor)
4.4.3 Interpretación de los resultados obtenidos. Para la interpretación de los resultados se asumió que el programa EPANET 2.0 vE. Es quien arroja los resultados verdaderos para poderlo compara y sacar unan correlación de los resultados obtenidos. 74
Tabla 8. Correlación de los resultados. Datos y*= EPANET 2.0 vE SS total
SS reg
SS resid
Error
Q1 (LPS)
8.842
8.831
15.902389
0.00011789
15.9891046
0.123%
Q2 (LPS)
22.983
22.953
103.095364
0.00091364
102.482461
0.132%
Q3 (LPS)
31.825
31.784
360.826991
0.00168793
359.267845
0.129%
V1 (m/s)
4.362
4.357
71.6939909
2.924E-05
71.7855921
0.124%
V2 (m/s)
5.040
5.033
60.6819584
4.5905E-05
60.7875617
0.135%
V3 (m/s)
3.925
3.920
79.2841077
2.9981E-05
79.3816465
0.140%
691.484801
0.00282459
689.694211
0.320%
y= EXCEL 2010
R
2
0.999995915
Se observa que la correlación es de 0.999995915, con un erros total de 0.320%, lo cual significa que los resultados son muy buenos comparados con el programa EPANET 2.0 vE. 4.5
CHEQUEO DE LOS DESARENADORES.
Para los desarenadores, igual que para el resto de la macro, los valores de entrada son las casillas que se encuentran en color azul, esta hoja calcula las variables hidráulicas obligatorias por la norma RAS2000 e informara si están dentro los parámetros o no
Ilustración 20. Datos de entrada (Figura suministrada por el Autor)
75
Esta macro en especial, tiene una función especial extra y consiste en predimensionar un desarenador económico que cumpla con todas las variables hidráulicas que exige la norma RAS2000, para poder acceder a ella hay que oprimir el botón “Encontrar Volumen Económico del Sedimentador”, este utilizara la herramienta solver ve Excel para el calculo de valores óptimos, y encontrara una solución en la cual el volumen sea mínimo, cumpliendo todas las variables hidráulicas. VALORES DE ENTRADA VALORES DE ENTRADA OPCIONALES VALORES OBLIGADOS DEL RAS OK
SOLO EN EL CASO QUE TODO ESTE OK SE ACEPTA EL PRODUCTO
Ilustración 21.
4.6
CHEQUEO ACUEDUCTO Y ALCANTARILLADOS.
Este es el último módulo de la macro, su objetivo es encontrar las relaciones para el correcto diseño de acueductos y alcantarillados propuesto por la RAS2000.
Ilustración 22. Datos de entrada (Figura suministrada por el Autor)
76
CONCLUSIONES Una vez terminada la macro se lograron todos los objetivos planteados y se llegaron a los siguientes resultados. Se programaron funciones independientes para encontrar las distintas variables que se necesitaron para formular el Número de Reynolds, Factor de fricción Darcy, Coeficiente de desplazamiento, etc. Todas estas y muchas mas con la ayuda de programación en VBA. Se creó una interfaz de usuario fácil de utilizar y bastante intuitiva para la correcta utilización de la macro programada, la interfaz se coloco en pestañas diferentes para cada propiedad que se desee colocar como son propiedades Excel, al tratarse de una hoja matricial de cálculo se puede formular para que resuelva gran infinidad de problemas, sin importar la complejidad ni tamaño, y con la ayuda del VBA, se facilita todavía más al crear funciones y procedimientos menos ilegibles para el usuario final. Por medio de la función SOLVER de Excel, se optimizo hallar un volumen optimo a la hora de diseñar un desarenador, minimizando el volumen, al tener un volumen mas pequeño que me cumpla todas las variables hidráulicas se traducen en un menor costo de fabricación, por requerir menos materiales.
77
BIBLIOGRAFÍA E INFOGRAFÍA. BVSDE. (s.f.). Bibloteca Virtual de Desarrollo Sostenible y Salud Ambiental. Obtenido de Web Site BVSDE: http://www.bvsde.paho.org/bvsacg/guialcalde/2sas/d23/035_dise%C3%B1o %20de%20desarenadores%20y%20sedimentadores/Dise%C3%B1o%20de %20desarenadores%20y%20sedimentadores.pdf Collazos, C. J. (s.f.). Universidad Nacional de Colombia. Obtenido de Web Site Universidad Nacional de Colombia.: http://www.ing.unal.edu.co/catedra/drs_diaz_collazos/TRATAMIENTO%20D E%20AGUAS%20RESIDUALES%20DOMESTICAS%20E%20INDUSTRIAL ES.pdf CORPOTOLIMA. (s.f.). Coporación Autónoma Regional del Tolima. Obtenido de Web Site: http://www.cortolima.gov.co/SIGAM/cartillas/sistemasacueducto/Sistemas% 20acueducto%202.pdf Escuela de Ingenieria de Antioquia. (s.f.). Escuela de Ingenieria de Antioquia. Obtenido de Web Site Escuela de Ingenieria de Antioquia.: http://fluidos.eia.edu.co/hidraulica/articuloses/flujoentuberias/metodohardycr oss/elmetododehardycross.html McGhee, T. (1991). Abastecimiento de Agua y Alcantarillado - Ingenieria Ambiental (Sexta Edición ed.). Bogota: McGraw-Hill. PROAPAC. (s.f.). Programa de Agua Potable y Alcantarillado Sanitario en Pequeña y Medianas Ciudades. Obtenido de Web Site: http://www.proapac.org/publicaciones/sm/Mod12.pdf Universidad de los Andes, Venezuela. (s.f.). Universidad de los Andes, Venezuela. Obtenido de Web del Profesor Jesús F. Ontiveros O.: http://webdelprofesor.ula.ve/ingenieria/jesusf/OP1-001.pdf
78
ANEXOS. CÓDIGO DE LA MACRO EN VISUAL BASIC FOR APPLICATIONS.
79
80
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address(False, False) = "D5" Then Celda = ActiveCell.Address Range("D6").Select ActiveCell.FormulaR1C1 = "=+Visc_Cinematica(R[-1]C)" Range(Celda).Select 'Iteraciones_Hojas.Calcular_I End If If Target.Address(False, False) = "D10" Then Celda = ActiveCell.Address Range("D11").Select ActiveCell.FormulaR1C1 = "=+(25.4/1000)*R[-1]C" Range(Celda).Select 'Iteraciones_Hojas.Calcular_I End If 'If Not Intersect(Target, Range("D8:D9")) Is Nothing Then Iteraciones_Hojas.Calcular_I 'If Not Intersect(Target, Range("D13:D15")) Is Nothing Then Iteraciones_Hojas.Calcular_I End Sub
Hoja 1 (Cabeza)
81
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address(False, False) = "D5" Then Iteraciones_Hojas.Calcular_II If Not Intersect(Target, Range("D8:D14")) Is Nothing Then Iteraciones_Hojas.Calcular_II End Sub
Hoja 2 (Diámetro)
82
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address(False, False) = "D5" Then Celda = ActiveCell.Address Range("D6").Select ActiveCell.FormulaR1C1 = "=+Visc_Cinematica(R[-1]C)" Range(Celda).Select Iteraciones_Hojas.Calcular_III End If If Target.Address(False, False) = "D10" Then Celda = ActiveCell.Address Range("D11").Select ActiveCell.FormulaR1C1 = "=+(25.4/1000)*R[-1]C" Range(Celda).Select Iteraciones_Hojas.Calcular_III End If If Not Intersect(Target, Range("D8:D9")) Is Nothing Then Iteraciones_Hojas.Calcular_III If Not Intersect(Target, Range("D13:D15")) Is Nothing Then Iteraciones_Hojas.Calcular_III End Sub
Hoja 3(UnaTuberia)
83
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address(False, False) = "C5" Then Celda = ActiveCell.Address Range("C6").Select ActiveCell.FormulaR1C1 = "=+Visc_Cinematica(R[-1]C)" Range(Celda).Select Iteraciones_Hojas.Calcular_IV End If If Not Intersect(Target, Range("C8:C9")) Is Nothing Then Iteraciones_Hojas.Calcular_IV If Not Intersect(Target, Range("C12:F100")) Is Nothing Then Iteraciones_Hojas.Calcular_IV If Not Intersect(Target, Range("H12:H100")) Is Nothing Then Iteraciones_Hojas.Calcular_IV End Sub
Hoja 4(TuberiaSerie)
84
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address(False, False) = "C5" Then Celda = ActiveCell.Address Range("C6").Select ActiveCell.FormulaR1C1 = "=+Visc_Cinematica(R[-1]C)" Range(Celda).Select Iteraciones_Hojas.Calcular_V End If If Not Intersect(Target, Range("C8:C30")) Is Nothing Then Iteraciones_Hojas.Calcular_V If Not Intersect(Target, Range("M6:M8")) Is Nothing Then Iteraciones_Hojas.Calcular_V End Sub
Hoja 5(TuberiaParalelo)
85
If Not Intersect(Target, Range("E9:E10")) Is Nothing Then Celda = ActiveCell.Address
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address(False, False) = "E8" Then Celda = ActiveCell.Address Range("E11").Select ActiveCell.FormulaR1C1 = "=+B/H" Range("E12").Select ActiveCell.FormulaR1C1 = "=+L/B" Range("E41").Select ActiveCell.FormulaR1C1 = _ "=+VLOOKUP(R[-23]C,R10C11:R12C19," & _ "IF(R[-22]C=R[-32]C[7],2," & _ "IF(R[-22]C=R[-32]C[8],3," & _ "IF(R[-22]C=R[-32]C[9],4," & _ "IF(R[-22]C=R[-32]C[10],5," & _ "IF(R[-22]C=R[-32]C[11],6," & _ "IF(R[-22]C=R[-32]C[12],7," & _ "IF(R[-22]C=R[-32]C[13],8," & _ "IF(R[-22]C=R[-32]C[14],9)))))))),FALSE)" Range(Celda).Select End If
Hoja 6(Desarenador)
86
If Not Intersect(Target, Range("E15:E19")) Is Nothing Then Celda = ActiveCell.Address Range("E41").Select ActiveCell.FormulaR1C1 = _ "=+VLOOKUP(R[-23]C,R10C11:R12C19," & _ "IF(R[-22]C=R[-32]C[7],2," & _ "IF(R[-22]C=R[-32]C[8],3," & _ "IF(R[-22]C=R[-32]C[9],4," & _ "IF(R[-22]C=R[-32]C[10],5," & _ "IF(R[-22]C=R[-32]C[11],6," & _ "IF(R[-22]C=R[-32]C[12],7," & _ "IF(R[-22]C=R[-32]C[13],8," & _ "IF(R[-22]C=R[-32]C[14],9)))))))),FALSE)"
Range(Celda).Select End If If Target.Address(False, False) = "E20" Then Celda = ActiveCell.Address Range("E21").Select ActiveCell.FormulaR1C1 = "=10000*Visc_Cinematica(R[-1]C)" Range("E41").Select ActiveCell.FormulaR1C1 = _ "=+VLOOKUP(R[-23]C,R10C11:R12C19," & _ "IF(R[-22]C=R[-32]C[7],2," & _ "IF(R[-22]C=R[-32]C[8],3," & _ "IF(R[-22]C=R[-32]C[9],4," & _ "IF(R[-22]C=R[-32]C[10],5," & _ "IF(R[-22]C=R[-32]C[11],6," & _ "IF(R[-22]C=R[-32]C[12],7," & _ "IF(R[-22]C=R[-32]C[13],8," & _ "IF(R[-22]C=R[-32]C[14],9)))))))),FALSE)" Range(Celda).Select End If If Target.Address(False, False) = "E23" Then Celda = ActiveCell.Address Range("E35").Select ActiveCell.FormulaR1C1 = "=IF(R[-12]C=""SI"",0.02,0.01)" Range("E41").Select ActiveCell.FormulaR1C1 = _ "=+VLOOKUP(R[-23]C,R10C11:R12C19," & _ "IF(R[-22]C=R[-32]C[7],2," & _
88
"IF(R[-22]C=R[-32]C[8],3," & _ "IF(R[-22]C=R[-32]C[9],4," & _ "IF(R[-22]C=R[-32]C[10],5," & _ "IF(R[-22]C=R[-32]C[11],6," & _ "IF(R[-22]C=R[-32]C[12],7," & _ "IF(R[-22]C=R[-32]C[13],8," & _ "IF(R[-22]C=R[-32]C[14],9)))))))),FALSE)" Range(Celda).Select End If If Not Intersect(Target, Range("H27:H28")) Is Nothing Then Celda = ActiveCell.Address Range("E41").Select ActiveCell.FormulaR1C1 = _ "=+VLOOKUP(R[-23]C,R10C11:R12C19," & _ "IF(R[-22]C=R[-32]C[7],2," & _ "IF(R[-22]C=R[-32]C[8],3," & _ "IF(R[-22]C=R[-32]C[9],4," & _ "IF(R[-22]C=R[-32]C[10],5," & _ "IF(R[-22]C=R[-32]C[11],6," & _ "IF(R[-22]C=R[-32]C[12],7," & _ "IF(R[-22]C=R[-32]C[13],8," & _ "IF(R[-22]C=R[-32]C[14],9)))))))),FALSE)" Range(Celda).Select End If End Sub
89
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("E6:E7")) Is Nothing Then Celda = ActiveCell.Address Range("F7").Select ActiveCell.FormulaR1C1 = "=+R[-1]C[-1]-RC[-1]" Range("E23").Select ActiveCell.FormulaR1C1 = "=+ABS(R[-16]C[1])/R[-10]C" Range(Celda).Select End If If Not Intersect(Target, Range("E11:F12")) Is Nothing Then Celda = ActiveCell.Address Range("E13").Select ActiveCell.FormulaR1C1 = "=+SQRT((R[-2]C-R[-1]C) ^2+(R[-2]C[1]-R[-1]C[1])^2)" Range("E23").Select ActiveCell.FormulaR1C1 = "=+ABS(R[-16]C[1])/R[-10]C" Range(Celda).Select End If If Target.Address(False, False) = "E15" Then Celda = ActiveCell.Address Range("E16").Select ActiveCell.FormulaR1C1 = "=+Visc_Cinematica(R[-1]C)" Range("E23").Select ActiveCell.FormulaR1C1 = "=+ABS(R[-16]C[1])/R[-10]C"
Hoja 7(Alcantarillados)
90
Range(Celda).Select End If If Target.Address(False, False) = "F7" Then Celda = ActiveCell.Address Range("E23").Select ActiveCell.FormulaR1C1 = "=+ABS(R[-16]C[1])/R[-10]C" Range(Celda).Select End If If Target.Address(False, False) = "E13" Then Celda = ActiveCell.Address Range("E23").Select ActiveCell.FormulaR1C1 = "=+ABS(R[-16]C[1])/R[-10]C" Range(Celda).Select End If End Sub
91
Private Sub Workbook_Open() With Application .Iteration = True .MaxIterations = 1000 .MaxChange = 0.000000001 .Calculation = xlAutomatic 'Simbolos decimales .DecimalSeparator = "." .ThousandsSeparator = "," .UseSystemSeparators = False End With Dim Current As Worksheet For Each Current In Worksheets If Current.Name = "Hoja1" Then Exit For 'MsgBox Current.Name Current.visible = False Next 'For Each img In ActiveSheet.Shapes ' ActiveSheet.Shapes.Range(Array(1)).Select ' Selection.Delete 'Next img Range("A1").Select Presentacion.Show
ThisWorkbook
92
End Sub
93
Private Sub UserForm_Activate() Application.OnTime Now + TimeValue("00:00:07"), "KillTheForm" End Sub
Formularios (Presentación)
94
' For Sample Callback "GetContent" ' Fuer Beispiel Callback "GetContent" Public Type ItemsVal id As String label As String imageMso As String End Type
Public bolVisible As Boolean ' Used in Callback "getVisible" ' More information in Callback "getVisible ' Für Callback "getVisible" ' Further informations in Callback "getVisible
Public bolEnabled As Boolean ' Used in Callback "getEnabled" ' Further informations in Callback "getEnabled" ' Für Callback "getEnabled" ' Genauere Informationen in Callback "getEnabled".
Public gobjRibbon As IRibbonUI
' Globals
Módulos (basCallbacks)
95
Select Case control.id Case "btn1" Sheets("Cabeza").visible = True Sheets("Cabeza").Select Case "btn2" Sheets("Diametro").visible = True Sheets("Diametro").Select Case "btn3" Sheets("UnaTuberia").visible = True Sheets("UnaTuberia").Select Case "btn4" Sheets("TuberiaSerie").visible = True Sheets("TuberiaSerie").Select
' Callback for event button click ' Callback für Button Click
Public Sub OnActionButton(control As IRibbonControl) 'Callback in XML File "onAction"
Set gobjRibbon = ribbon End Sub
Public Sub OnRibbonLoad(ribbon As IRibbonUI) 'Callbackname in XML File "onLoad"
' Callbacks
96
MsgBox "Button ""Help"" clicked" & vbCrLf & _ "Es wurde auf Button ""Hilfe"" geklickt", _
Sub OnActionButtonHelp(control As IRibbonControl, ByRef CancelDefault) ' Callbackname in XML File Command "onAction"
'Command Button
Case "btn5" Sheets("TuberiaParalelo").visible = True Sheets("TuberiaParalelo").Select Case "btn6" Sheets("Desarenador").visible = True Sheets("Desarenador").Select Formulas_I.Iterar_VI Case "btn7" Sheets("Alcantarillados").visible = True Sheets("Alcantarillados").Select Case Else MsgBox "Button """ & control.id & """ clicked" & vbCrLf & _ "Es wurde auf Button """ & control.id & """ in Ribbon geklickt", _ vbInformation End Select End Sub
97
End Sub
Select Case control.id 'Case "chkMyCheckbox" ' If pressed = True Then ' ' Else ' ' End If ' Case Else MsgBox "The Value of the Checkbox """ & control.id & """ is: " & pressed & vbCrLf & _ "Der Wert der Checkbox """ & control.id & """ ist: " & pressed, _ vbInformation End Select
' Callback for event checkbox click ' Callback für Checkbox Click
Sub OnActionCheckBox(control As IRibbonControl, _ pressed As Boolean) ' Callbackname in XML File "OnActionCheckBox"
End Sub
vbInformation CancelDefault = True
98
' Callbackname in XML File "onAction"
Sub OnActionTglButton(control As IRibbonControl, _ pressed As Boolean)
End Sub
Select Case control.id Case Else If getTheValue(control.Tag, "DefaultValue") = "1" Then bolReturn = True Else bolReturn = False End If End Select
' Callback for checkbox ' indicates how the control is displayed ' Callback für Checkbox wie das Control ' angezeigt werden soll
' Callbackname in XML File "GetPressedCheckBox"
Sub GetPressedCheckBox(control As IRibbonControl, _ ByRef bolReturn)
99
Select Case control.id Case Else
' Callback für ein Access ToogleButton Control wie dieser Angezeigt werden soll ' Callback for an Access ToogleButton Control. Indicates how the control is displayed
Sub GetPressedTglButton(control As IRibbonControl, _ ByRef pressed) ' Callbackname in XML File "getPressed"
End Sub
Select Case control.id ' If pressed = True Then ' ' Else ' ' End If Case Else MsgBox "The Value of the Toggle Button """ & control.id & """ is: " & pressed & vbCrLf & _ "Der Wert der Toggle Button """ & control.id & """ ist: " & pressed, _ vbInformation End Select
' Callback für einen Toggle Button Klick ' Callback for a Toggle Buttons click event
100
Public Sub GetVisible(control As IRibbonControl, ByRef visible) ' Callbackname in XML File "getVisible"
Select Case control.id 'Case "ID_XMLRibbControl" ' enabled = bolEnabled Case Else enabled = True End Select End Sub
' To set the property "enabled" to a Ribbon Control ' For further information see: http://www.accessribbon.de/en/index.php?Downloads:12 ' Setzen der Enabled Eigenschaft eines Ribbon Controls ' Weitere Informationen: http://www.accessribbon.de/index.php?Downloads:12
Public Sub GetEnabled(control As IRibbonControl, ByRef enabled) ' Callbackname in XML File "getEnabled"
If getTheValue(control.Tag, "DefaultValue") = "1" Then pressed = True Else pressed = False End If End Select End Sub
101
End Sub
End Select
Select Case control.id 'Case "ID_XMLRibbControl" ' label = "My Label Text" Case Else label = "*getLabel*"
Sub GetLabel(control As IRibbonControl, ByRef label) ' Callbackname in XML File "getLabel" ' To set the property "label" to a Ribbon Control
Select Case control.id 'Case "ID_XMLRibbControl" ' visible = bolVisible Case Else visible = True End Select End Sub
' To set the property "visible" to a Ribbon Control ' For further information see: http://www.accessribbon.de/en/index.php?Downloads:12 ' Setzen der Visible Eigenschaft eines Ribbon Controls ' Weitere Informationen: http://www.accessribbon.de/index.php?Downloads:12
102
Select Case control.id
' Callback Editbox: Rückgabewert der Editbox ' Callback Editbox: Return value of the Editbox
Sub OnChangeEditBox(control As IRibbonControl, _ strText As String) ' Callbackname in XML File "OnChangeEditBox"
End Sub
Select Case control.id Case Else strText = getTheValue(control.Tag, "DefaultValue") End Select
' Callback für EditBox welcher Wert in der ' EditBox eingetragen werden soll. ' Callback for an EditBox Control ' Indicates which value is to set to the control
Sub GetTextEditBox(control As IRibbonControl, _ ByRef strText) ' Callbackname in XML File "GetTextEditBox"
'EditBox
103
_
Select Case control.id 'Case "MyItemID" ' Case Else MsgBox "The selected ItemID of DropDown-Control """ & control.id & """ is : """ & selectedId & """" & vbCrLf &
' Callback onAction (DropDown)
Sub OnActionDropDown(control As IRibbonControl, _ selectedId As String, _ selectedIndex As Integer) ' Callbackname in XML File "OnActionDropDown"
'DropDown
End Sub
'Case "MyEbx" 'If strText = "Password" Then ' 'End If Case Else MsgBox "The Value of the EditBox """ & control.id & """ is: " & strText & vbCrLf & _ "Der Wert der EditBox """ & control.id & """ ist: " & strText, _ vbInformation End Select
104
Sub OnActionGallery(control As IRibbonControl, _
'Gallery
End Sub
If IsNumeric(varIndex) Then Select Case control.id Case Else index = varIndex End Select End If
Dim varIndex As Variant varIndex = getTheValue(control.Tag, "DefaultValue")
' Callback getSelectedItemIndex (DropDown)
Sub GetSelectedItemIndexDropDown(control As IRibbonControl, _ ByRef index) ' Callbackname in XML File "GetSelectedItemIndexDropDown"
End Sub
"Die selektierte ItemID des DropDown-Control """ & control.id & """ ist : """ & selectedId & """", _ vbInformation End Select
105
Sub GetSelectedItemIndexGallery(control As IRibbonControl, _ ByRef index) ' Callbackname in XML File "GetSelectedItemIndexGallery"
End Sub
Select Case control.id 'Case "MyGalleryID" ' Select Case selectedId ' Case "MyGalleryItemID" ' Case Else Select Case selectedId Case Else MsgBox "The selected ItemID of Gallery-Control """ & control.id & """ is : """ & selectedId & """" & vbCrLf &_ "Die selektierte ItemID des Gallery-Control """ & control.id & """ ist : """ & selectedId & """", _ vbInformation End Select End Select
' Callback onAction (Gallery)
selectedId As String, _ selectedIndex As Integer) ' Callbackname in XML File "OnActionGallery"
106
Select Case control.id
' Callback getText (Combobox)
' Callbackname im XML File "GetTextComboBox"
Sub GetTextComboBox(control As IRibbonControl, _ ByRef strText)
'Combobox
End Sub
End If
End Select
Case Else index = varIndex
If IsNumeric(varIndex) Then Select Case control.id
Dim varIndex As Variant varIndex = getTheValue(control.Tag, "DefaultValue")
' Callback getSelectedItemIndex (Gallery)
107
' DynamicMenu
End Sub
Case Else MsgBox "The selected Item of Combobox-Control """ & control.id & """ is : """ & strText & """" & vbCrLf & _ "Das selektierte Item des Combobox-Control """ & control.id & """ ist : """ & strText & """", _ vbInformation End Select
Select Case control.id
' Callback onChange (Combobox)
' Callbackname im XML File "OnChangeCombobox"
Sub OnChangeComboBox(control As IRibbonControl, _ strText As String)
End Sub
Case Else strText = getTheValue(control.Tag, "DefaultValue") End Select
108
' Creates a XML String for DynamicMenu CallBack - getContent
Public Function getXMLForDynamicMenu() As String
' Helper Function ' Hilfsfunktionen
End Sub
Case Else XMLString = getXMLForDynamicMenu() End Select
Select Case control.id
' Beispiel fuer einen Ribbon XML - "getContent" Callback ' Siehe auch: http://www.accessribbon.de/index.php?Access_-_Ribbons:Callbacks:dynamicMenu_-_getContent ' und : http://www.accessribbon.de/?Access_-_Ribbons:Ribbon_XML___Controls:Dynamic_Menu
' Sample for a Ribbon XML "getContent" Callback ' See also http://www.accessribbon.de/en/index.php?Access_-_Ribbons:Callbacks:dynamicMenu_-_getContent ' and: http://www.accessribbon.de/en/index.php?Access_-_Ribbons:Ribbon_XML___Controls:Dynamic_Menu
Sub GetContent(control As IRibbonControl, _ ByRef XMLString)
For I = LBound(myVariabs) To UBound(myVariabs) If strValue = myVariabs(I, 0) Then getTheValue = myVariabs(I, 1) End If Next
ReDim myVariabs(LBound(workTb) To UBound(workTb), 0 To 1) For I = LBound(workTb) To UBound(workTb) Ele = Split(workTb(I), ":=") myVariabs(I, 0) = Ele(0) If UBound(Ele) = 1 Then myVariabs(I, 1) = Ele(1) End If Next
workTb = Split(strTag, ";")
Dim workTb() As String Dim Ele() As String Dim myVariabs() As String Dim I As Integer
112
'# Created with / Erstellt mit: # '# IDBE Ribbon Creator # '# Version 1.1034 # '# # '# (c) 2009-2010 IDBE Avenius # '# # '# http://www.ribboncreator.com # '# http://www.ribboncreator2010.com # '# http://www.accessribon.com # '# http://www.avenius.com # '# # '# You may send change requests or report errors to: # '# Aenderungswuensche oder Fehler bitte an: # '# # '# mailto://[email protected] # '# # '################################################################
113
Public Sub Borrar() ActiveWindow.Zoom = 90 Cells.Select With Selection .ClearContents .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With
Public Function NombreHoja(ref) As String Application.Volatile True NombreHoja = ref.Parent.Name End Function
Private Sub KillTheForm() Unload Presentacion End Sub
Public Sub AutoAjustar(Vista, A As Variant) ActiveWindow.Zoom = Vista Cells.Select With Selection.Interior '.ColorIndex = 2 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Cells.EntireColumn.AutoFit Cells.EntireRow.AutoFit 'Columns("B:E").Select 'Selection.ColumnWidth = A Range("A1").Select End Sub
.Borders(xlInsideVertical).LineStyle = xlNone .Borders(xlInsideHorizontal).LineStyle = xlNone End With Range("A1").Select End Sub
116
Sub Insertar_Fila(Fila As Variant) ActiveCell.Offset(Fila, 0).Range("A1:Z1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove End Sub
Selection.Font.Bold = True Selection.Font.Italic = True End Sub
Public Function Darcy(Optional eD As Variant = 0, Optional NR As Variant = 1E+300) As Variant Application.Volatile True eD = Abs(eD) NR = Abs(NR) If (NR <= 2100) Then Darcy = Array(64 / NR, 0, 0) Else n=0 X0 = -(2 / Log(10#)) * Log(eD / (10 ^ 0.57) + (10 ^ 0.71) / (NR ^ 0.89)) Do X1 = -(2 / Log(10#)) * Log(eD / (10 ^ 0.57) + (10 ^ 0.4) * X0 / NR)
Public Function NR_v(v, d As Variant, Optional visc As Variant = 0.00000114) As Variant Application.Volatile True Pi = 4 * Atn(1) '3.14159 NR_v = v * d / visc End Function
Public Function NR(Q, d As Variant, Optional v As Variant = 0.00000114) As Variant Application.Volatile True Pi = 4 * Atn(1) '3.14159 NR = (4 * Abs(Q)) / (v * Pi * d) End Function
Módulos (Formulas_I)
118
Public Function Hfk(f, L, k, d, Q As Variant, Optional g As Variant = 9.81) As Variant Application.Volatile True Hfk = Hf(f, L, d, Q, g) + Hk(k, d, Q, g) End Function
Public Function Hk(k, d, Q As Variant, Optional g As Variant = 9.81) As Variant Application.Volatile True Pi = 4 * Atn(1) Pi2 = Pi ^ 2 Hk = (k / (d ^ 4)) * ((8 * Q * Abs(Q)) / (Pi2 * g)) End Function
Public Function Hf(f, L, d, Q As Variant, Optional g As Variant = 9.81) As Variant Application.Volatile True Pi = 4 * Atn(1) Pi2 = Pi ^ 2 Hf = f * (L / (d ^ 5)) * ((8 * Q * Abs(Q)) / (Pi2 * g)) End Function
If (Abs(X1 - X0) <= 0.000000000000001) Then Exit Do X0 = X1 n=n+1 Loop Until (n >= 100) Darcy = Array((1 / X1) ^ 2, Abs(X0 - X1), n) End If End Function
119
Public Function Vs_Stokes(rs, r, visc, d As Variant, Optional g As Variant = 981) As Variant Application.Volatile True Pi = 4 * Atn(1) Vs_Stokes = (g / (18 * visc)) * (rs - r) * (d ^ 2)
Public Function QV(f, L, k, d, H As Variant, Optional g As Variant = 9.81) As Variant Application.Volatile True Pi = 4 * Atn(1) v = Sqr((2 * g * H * d) / (f * L + k * d)) Q = (Pi / 4) * (d ^ 2) * v QV = Array(Q, v) End Function
Public Function Dn(f, L, k, Q, H As Variant, Optional g As Variant = 9.81) As Variant Application.Volatile True Pi = 4 * Atn(1) Pi2 = Pi ^ 2 n=0 d0 = ((8 * f * L * (Q ^ 2)) / (Pi2 * g * H)) ^ (1 / 5) Do d1 = d0 * (5 * Hk(k, d0, Q, g) + 6 * Hf(f, L, d0, Q, g) - H) / (4 * Hk(k, d0, Q, g) + 5 * Hf(f, L, d0, Q, g)) If (Abs(d1 - d0) <= 0.000000000000001) Then Exit Do d0 = d1 n=n+1 Loop Until (n >= 100) Dn = Array(d1, D3, Abs(d1 - d0), n) End Function
120
Public Function Vs_Newton_Iterada(rs, r, visc, d As Variant, Optional g As Variant = 981) As Variant Application.Volatile True Pi = 4 * Atn(1) Reynols = 0.5 Cd = Cd_Newton(Reynols)
Public Function Vs_Newton(rs, r, Cd, d As Variant, Optional g As Variant = 981) As Variant Application.Volatile True Pi = 4 * Atn(1) Vs_Newton = ((4 * g * (rs - r) * d) / (3 * Cd * r)) ^ (1 / 2) End Function
Public Function Cd_Newton(NR As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) If NR < 0.5 Then Cd_Newton = (24 / NR) + (3 / (NR ^ 0.5)) + 0.34 Else If (NR >= 0.5 And NR < 2000) Then Cd_Newton = (24 / NR) + (3 / (NR ^ 0.5)) + 0.34 Else Cd_Newton = 0.4 End If End If End Function
End Function
121
Public Function d_Newton(rs, r, visc, Vs As Variant, Optional g As Variant = 981) As Variant Application.Volatile True Reynols = 0.5 Cd = Cd_Newton(Reynols) d0 = ((3 * Cd * ((Reynols * visc) ^ 2) * r) / (4 * g * (rs - r))) ^ (1 / 3) n=0 Do Reynols = NR_v(Vs, d0, visc)
Public Function d_Stokes(rs, r, visc, Vs As Variant, Optional g As Variant = 981) As Variant Application.Volatile True Pi = 4 * Atn(1) d_Stokes = ((18 * Vs * visc) / (g * (rs - r))) ^ (1 / 2) End Function
V0 = Vs_Newton(rs, r, Cd, d, g) n=0 Do Reynols = NR_v(V0, d, visc) Cd = Cd_Newton(Reynols) V1 = Vs_Newton(rs, r, Cd, d, g) If (Abs(V1 - V0) <= 0#) Then Exit Do V0 = V1 n=n+1 Loop Until (n >= 100) Vs_Newton_Iterada = Array(V1, Abs(V1 - V0), n) End Function
122
Sub Iterar_VI() With Application .Iteration = True .MaxIterations = 1000 .MaxChange = 0.000000001 End With 'Range("E8").Select 'ActiveCell.FormulaR1C1 = "=+2*((3*R[42]C)^(1/3))" Range("E9").Select ActiveCell.FormulaR1C1 = "=+ROUND(L/4/5,2)*5" Range("E10").Select ActiveCell.FormulaR1C1 = "=+ROUND(B/1.5/5,2)*5"
Public Function V_Arrastre(k, S, d, f As Variant, Optional g As Variant = 981) As Variant Application.Volatile True Pi = 4 * Atn(1) V_Arrastre = ((8 * k * (S - 1) * g * d) / f) ^ (1 / 2) End Function
Cd = Cd_Newton(Reynols) d1 = ((3 * Cd * ((Reynols * visc) ^ 2) * r) / (4 * g * (rs - r))) ^ (1 / 3) If (Abs(d1 - d0) <= 0#) Then Exit Do d0 = d1 n=n+1 Loop Until (n >= 100) d_Newton = Array(d1, Abs(d1 - d0), n, Cd, Reynols) End Function
123
Public Function AnguloT(Q, n, S, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) Contador = 0 X0 = Pi Do
Private Function FuncionD(x, Q, n, S, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) Dx = Pi / 648000 fp = (Funcion(x + Dx, Q, n, S, d0) - Funcion(x, Q, n, S, d0)) / Dx FuncionD = fp End Function
Private Function Funcion(x, Q, n, S, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) f = (Q * n / Sqr(S)) / d0 ^ (8 / 3) - 1 / (16 * 2 ^ (1 / 3)) * ((x - Sin(x)) ^ (5 / 3) / x ^ (2 / 3)) Funcion = f End Function
'Range("H28").Select 'ActiveCell.FormulaR1C1 = "=+R[1]C" 'Range("H29").Select 'ActiveCell.FormulaR1C1 = "=+MIN(R[4]C[-3],R[15]C[-3])" End Sub
124
Public Function TraerValor(ByVal Referencia, Celda As String) As Double Application.Volatile True TraerValor = Worksheets(Referencia).Range(Celda).Value End Function
f = Funcion(X0, Q, n, S, d0) fp = FuncionD(X0, Q, n, S, d0) Dx = -f / fp X1 = X0 + Dx If (Abs(X0 - X1) <= 0.000000000000001) Then Exit Do X0 = X1 Contador = Contador + 1 Loop Until (n >= 100) AnguloT = X1 End Function
'Calculo de Caudal, Tres (3) Tuberia, Problema Tipo II
Range("H12").Select For n = 0 To 100 If (Range("M13").Value = 0.00000000005) Then Exit For Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False CIteracion = n Next n Application.CutCopyMode = False Range("A1").Select ActiveCell.FormulaR1C1 = "Ireración " & CIteracion 'Range(Celda).Select End Sub
Range("N12:N100").Select Selection.Copy
'Calculo de Caudal, Dos (2) Tuberia, Problema Tipo II Sub Calcular_IV() Celda = ActiveCell.Address ActiveWindow.Zoom = 80
.MaxChange = 0.001 End With Range(Celda).Select End Sub
131
Range("H23").Select For n = 0 To 100 SE = Abs(Range("M24").Value) + Abs(Range("M34").Value) + Abs(Range("M44").Value) If (SE <= 0) Then Exit For
Sub Calcular_V() Celda = ActiveCell.Address ActiveWindow.Zoom = 80
132
'Calculo Desarenador Sub Calcular_VI() Celda = ActiveCell.Address ActiveWindow.Zoom = 60 With Application .Iteration = True .MaxIterations = 1000 .MaxChange = 0.000000001 End With Range("E8").Select ActiveCell.FormulaR1C1 = "=2*((3*R[42]C)^(1/3))" Range("E9").Select ActiveCell.FormulaR1C1 = "=+ROUND(L/4/5,2)*5" Range("E10").Select ActiveCell.FormulaR1C1 = "=+ROUND(B/1.5/5,2)*5" Range(Celda).Select End Sub
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False CIteracion = n Next n Application.CutCopyMode = False Range("A1").Select ActiveCell.FormulaR1C1 = "Ireración " & CIteracion Range(Celda).Select End Sub
133
Public Function RadioHidraulicoT(Angulo, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) RadioHidraulicoT = (1 / 4) * (1 - Sin(Angulo) / Angulo) * d0 End Function
Public Function AreaT(Angulo, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) AreaT = (1 / 8) * (Angulo - Sin(Angulo)) * (d0 ^ 2) End Function
Public Function PerimetroMojadoT(Angulo, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) PerimetroMojadoT = Angulo * d0 / 2 End Function
Public Function y_do(Angulo As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) y_do = (1 / 2) * (1 - Cos(Angulo / 2)) End Function
Módulos (RelacionesHidraulicas)
134
Public Function VelocidadV(Angulo, n, S, d0 As Variant) As Variant Application.Volatile True
Public Function CaudalQo(n, S, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) CaudalQo = (1 / n) * AreaT(2 * Pi, d0) * (RadioHidraulicoT(2 * Pi, d0) ^ (2 / 3)) * Sqr(S) End Function
Public Function CaudalQ(Angulo, n, S, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) CaudalQ = (1 / n) * AreaT(Angulo, d0) * (RadioHidraulicoT(Angulo, d0) ^ (2 / 3)) * Sqr(S) End Function
Public Function ProfundidadHidraulica(Angulo, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) ProfundidadHidraulica = (1 / 8) * ((Angulo - Sin(Angulo)) / Sin(Angulo / 2)) * d0 End Function
Public Function DistanciaEntreHorillas(Angulo, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) DistanciaEntreHorillas = Sin(Angulo / 2) * d0 End Function
135
Public Function DiametroMinimo_d0(Q, n, S As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) DiametroMinimo_d0 = (((8 * 2 ^ (1 / 3)) / Pi) ^ (3 / 8)) * ((Q * n / Sqr(S)) ^ (3 / 8)) End Function
Public Function VelocidadVo(n, S, d0 As Variant) As Variant Application.Volatile True Pi = 4 * Atn(1) VelocidadVo = (1 / n) * (RadioHidraulicoT(2 * Pi, d0) ^ (2 / 3)) * Sqr(S) End Function
Pi = 4 * Atn(1) VelocidadV = (1 / n) * (RadioHidraulicoT(Angulo, d0) ^ (2 / 3)) * Sqr(S) End Function