Está en la página 1de 52

Universidad Nacional De

Huancavelica
(Creada por Ley Nro. 25265)

Facultad De Ciencias De Ingeniería

Escuela Profesional De ingeniería


Civil-Huancavelica

TEMA
Modelo numérico del golpe de ariete con
C++

CÁTEDRA

ABASTECIMIENTO DE AGUA Y ALCANTARILLADO

CATEDRÁTICO
MSC. ING. Iván Arturo, AYALA BIZARRO

ESTUDIANTES
LAPA GOMEZ, Alberto
CICLO: VIII

CÓDIGO: 2016151034

Huancavelica - 19 de agosto de 2020


Dedicatoria

A DIOS quien supo guiarme e iluminar por el buen


camino. A mis padres, Hector Lapa Cardenas y
Yobana Gomez Ichpas quienes me apoyan de manera
incondicional en mi formación académica, A mis
hermanos Rolando, Roberto Carlos.

ii
ÍNDICE GENERAL

Dedicatoria ii

Índice General iii

Índice de Figuras v

RESUMEN 1

INTRODUCCIÓN 2

I GOLPE DE ARIETE 3
1.1 Descripción del fenómeno . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Causas y efectos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Modelos de Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Teoría de la Columna Rígida de Agua . . . . . . . . . . . . . . . . . . . . 8
1.5 Teoría de la Columna Elástica de Agua . . . . . . . . . . . . . . . . . . . 11
1.6 Ecuaciones Diferenciales para el Cálculo del Golpe de Ariete . . . . . . . . 11
1.6.1 Ecuación del Movimiento . . . . . . . . . . . . . . . . . . . . . . 11
1.6.2 Condición de la Continuidad . . . . . . . . . . . . . . . . . . . . . 14
1.6.3 Ecuaciones Fundamentales del Golpe de Ariete . . . . . . . . . . . 19
1.7 Velocidad o Celeridad de Onda (a) . . . . . . . . . . . . . . . . . . . . . 19
1.8 Métodos de Solución Numérica . . . . . . . . . . . . . . . . . . . . . . . 21

II Formulación Numérica por el Método de las Características 22


2.1 Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Método de las Características (MC) . . . . . . . . . . . . . . . . . . . . . 22
2.2.1 Sistemas de Ecuaciones Considerado . . . . . . . . . . . . . . . . 24
2.2.2 Solución del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.3 Significado Físico de la Solución del Sistema . . . . . . . . . . . . 26
2.2.4 Solución Numérica de la Malla Característica . . . . . . . . . . . . 29

CONCLUSIONES 32

REFERENCIAS BIBLIOGRÁFICAS 33

iii
Índice General

III ANEXOS 34
3.1 Códigos de lenguaje C++ . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Códigos de lenguaje RStudio . . . . . . . . . . . . . . . . . . . . . . . . 40

iv
ÍNDICE DE FIGURAS

1.1 Secuencia de sucesos para un ciclo de cierre rápido de una válvula . . . . . 5


1.2 Causas y efectos del Golpe de Ariete . . . . . . . . . . . . . . . . . . . . 7
1.3 Equilibrio de fuerzas para la teoría de columna rígida de agua . . . . . . . 9
1.4 Diagrama de cuerpo libre para la deducción de la ecuación del movimiento 12
1.5 Balance de fuerzas para flujo permanente . . . . . . . . . . . . . . . . . . 13
1.6 Volumen de control para la deducción de la ecuación de continuidad . . . . 14
1.7 Equilibrio de fuerzas para la pared de la tubería . . . . . . . . . . . . . . . 16

2.1 Líneas características en el plano x − t . . . . . . . . . . . . . . . . . . . 26


2.2 Malla de divisiones para la solución del golpe de ariete. . . . . . . . . . . . 27
2.3 Malla Característica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Malla Característica para puntos internos. . . . . . . . . . . . . . . . . . . 30

3.1 Problema por resolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38


3.2 Codigos de programa C++ . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Resultados del programa C++. . . . . . . . . . . . . . . . . . . . . . . . 39
3.4 Codigos de programa RStudio para la grafica de presiones y caudal . . . . 46
3.5 Resultados del programa RStudio (fragica de caudal) . . . . . . . . . . . . 47
3.6 Resultados del programa RStudio (fragica de presiones) . . . . . . . . . . 47

v
RESUMEN
El golpe de ariete puede generar consecuencias severas en la in-
tegridad de las tuberías, y debido a ello, la simulación es un
requisito esencial para asegurar el correcto diseño y operación de
los sistemas de distribución de agua. En este sentido, el trabajo
pretende demostrar la importancia de los métodos numéricos en la
resolución de este tipo de problemas. Para la simulación numérica
del fenómeno se desarrolló un código en C++ que permite rep-
resentar la propagación de las ondas de presión haciendo uso del
método de las características, aplicado a un caso clásico de la
literatura.

Este método emplea un esquema de diferencias finitas para re-


solver las ecuaciones de masa y momento. En el trabajo se pre-
sentan las ecuaciones que gobiernan el problema desde el punto de
vista numérico, se analiza el comportamiento del fenómeno y final-
mente, se realiza una comparación entre los resultados obtenidos
por la vía numérica y la solución teórica.

1
INTRODUCCIÓN

Un buen número de métodos numéricos para la solución del sistema de ecuaciones diferen-
ciales parciales del golpe de ariete se encuentran en la literatura. Entre ellos se destacan: el
método de las características (MC), los de diferencias finitas (DF), los de Elementos Finitos
(MEF) y los híbridos (MH). Todos estos métodos numéricos subdividen o discretizan el
espacio posición - tiempo en intervalos finitos, y, calculan las variables de estado: Caudal
(Q) o Velocidad (V) y la altura piezométrica (H), en dichos puntos (Franzini y Finnemore,
1999; Giles y Evett, 1994).

En general, cada método posee distintas propiedades numéricas que afectan su exactitud,
estabilidad (convergencia) y tiempo de ejecución, lo cual restringe también su campo de
acción y define sus ventajas y desventajas relativas. El de las características es el método
de uso común en el análisis del golpe de ariete. Este, ha sido el método explícito más
utilizado en el análisis de flujo no permanente en tuberías, debido principalmente a la
facilidad para introducir diferentes dispositivos y condiciones de borde (bombas, válvulas,
estanques hidroneum áticos, etc.) (Mott, 1996; Munson et al., 2002).

El desarrollo de herramientas de modelación en C++ o cualquier otro paquete matemático


constituye un ejercicio de interiorización teórica y práctica de fenómenos naturales o proce-
sos que de otra manera serían muy difíciles de explicar desde el punto de vista cuantitativo
y aun cualitativo. Por tanto, el artículo busca rescatar y promover la mística hacia el
desarrollo de herramientas computacionales propias (Allaire y Kaber, 2002).

El artículo no pretende ser un compendio de la fundamentaci ón analítica preliminar del


problema, por tal razón se recomienda al lector estudiar estos temas en cualquier texto
de mecánica de fluidos básico. Más bien, se busca destacar el poder de las herramientas
de modelación numérica que permiten resolver de manera efectiva y segura problemas de
flujo no permanente en tuberías, cuya solución analítica completa es poco viable (Burden
y Faires, 1998).

2

No te amargues con tu propio fracaso ni se lo
cargues a otro. Acéptate ahora o seguirás
justificándote como un niño. Recuerda que
cualquier momento es bueno para comenzar y que
ninguno es tan terrible para claudicar.

— Pablo Neruda

CAPÍTULO
GOLPE DE ARIETE

Cuando se interrumpe con rapidez la circulación de un líquido que transita a cierta velocidad
por un conducto se originan fuertes variaciones de presión sobre sus paredes interiores y
en el dispositivo que frena el caudal suministrado, como consecuencia del cambio brusco
en el desplazamiento del líquido al interior de la tubería. Conjuntamente con las defor-
maciones originadas por las sobrepresiones y depresiones, se producen vibraciones y otras
consecuencias que pueden originar roturas, aplastamientos y otras averías en las tuberías y
sus equipos (Potter y Wiggert, 2002).

El golpe de ariete se produce en las tuberías cuando se realizan operaciones rápidas en


los equipos que abren, cierran o regulan el deslizamiento del agua, como son: válvulas,
compuertas, anclajes, etc. Este fenómeno también puede presentarse cuando existen
reducciones bruscas de la potencia requerida en un generador accionado por una turbina
hidráulica (Saldarriaga, 1998).

La acción del golpe de ariete puede atenuarse e incluso impedirse si se accionan lenta
y progresivamente los dispositivos de control del caudal, y principalmente, a través del
emplazamiento de chimeneas de equilibrio. Estas últimas amortiguan las variaciones de
presión al comportarse como pozos piezométricos. Los efectos del golpe de ariete son
más significativos en conductos de gran longitud y tienen mayor fuerza cuando se trunca
abruptamente el paso del líquido.

El estudio del golpe de ariete tiene su fundamento en la "teoría de la onda elástica", la cual

3
1.1 Descripción del fenómeno | Capitulo I

implica el desplazamiento a una velocidad dada de las variaciones de presión a lo largo de


una tubería. Con esta teoría se deja de lado la idealización de la tubería de conducción
como un cuerpo rígido.

La velocidad recibe el nombre de celeridad de la onda, y se refiere a la velocidad del


sonido dentro del sistema considerado, estando condicionada por el diámetro, el espesor y
la elasticidad de la tubería, así como por la densidad y la compresibilidad del líquido. El
valor de la longitud del conducto no influye, y los valores de las presiones originadas en el
golpe de ariete están en razón directa con el cambio brusco de velocidad del líquido.

Por último, se entiende por período crítico de una tubería el tiempo que tarda una onda en
desplazarse desde el origen de la perturbación hasta el extremo libre y su regreso (Sotelo,
1999).

1.1 Descripción del fenómeno


El golpe de ariete puede presentarse aguas arriba o aguas abajo de un dispositivo de control
de caudal en una tubería. Por ejemplo, cuando se cierra una válvula, la cantidad de
movimiento aguas arriba debe reducirse a cero muy rápidamente, lo que ocasiona una
gran presión en la válvula y causa una onda de alta presión que se mueve hacia arriba de
ella. Aguas abajo de la válvula, la cantidad de movimiento del líquido hace que continúe
desplazándose hacia abajo, a menos que la presión estática sea suficientemente alta para
obligarlo a permanecer en reposo, en tanto la presión se reduce en la válvula.

El fenómeno de cavitación se presenta aguas abajo. Ocasionalmente, el líquido llega


al reposo y después es acelerado aguas arriba hacia la válvula, condensando el vapor y
permitiendo el impacto de la columna líquida contra la válvula. Esto desarrolla una onda
de alta presión que se mueve en dirección aguas abajo (Streeter, 2000).

Antes de comenzar la deducción de la solución del golpe de ariete, se presenta una descrip-
ción de los sucesos que se producen cuando se cierra súbitamente una válvula en el extremo
aguas abajo de una tubería que viene de un depósito figura 1.1.

4
1.1 Descripción del fenómeno | Capitulo I

Figura No 1.1:
Secuencia de sucesos para un ciclo de cierre rápido de una válvula

Fuente:Streeter, V., Wylie, B.

En el instante en que se cierra la válvula, el fluido más próximo a ella se comprime, se lleva al
reposo, y la pared de la tubería se dilata. En el momento que se comprime la primera capa,
el proceso se repite a la siguiente. El fluido aguas arriba de la válvula sigue moviéndose
hacia abajo con una velocidad sin disminuir hasta que se han comprimido capas sucesivas
detrás de la válvula. La alta presión se mueve hacia arriba como una onda, dejando pasar el
fluido en reposo, comprimiendo el fluido y ensanchando la tubería; todo el fluido está bajo
la altura extra, se ha perdido toda la cantidad de movimiento y toda la energía cinética se
ha convertido en energía elástica (Figura 1.1 a).

Hay una situación de desequilibrio en el extremo de aguas arriba de la tubería (depósito)


en el instante de la llegada de la onda de presión, dado que la presión en el depósito no
ha cambiado. El fluido comienza a moverse hacia atrás, empezando en el extremo aguas
arriba. Este flujo, hace que la presión en la válvula vuelva al valor normal que tenía antes
del cierre y que la pared de la tubería vuelva a la posición normal que tenía antes del cierre,
la pared de la tubería vuelve a su tensión normal y el fluido adquiere una velocidad Vo
dirigida hacia atrás. Este proceso de transformación sigue aguas abajo hacia la válvula a
la velocidad del sonido a en la tubería. En el instante 2L/a la onda llega a la válvula, las
presiones vuelven a ser normales a lo largo de la tubería y la velocidad en todas partes es

5
1.2 Causas y efectos | Capitulo I

Vo en la dirección hacia atrás (Figura 1.1 b).

Como la válvula está cerrada no hay flujo a través de ella y se desarrolla una baja presión
(-h) tal que el fluido es llevado al reposo. Esta onda de baja presión viaja hacia aguas arriba
a, la velocidad a haciendo que el fluido llegue al reposo en todos los puntos, produciendo
una expansión a causa de la baja presión y permitiendo a las paredes de la tubería contraerse
(Figura 1.1 c). En el instante en que la onda de presión negativa llega al extremo aguas
arriba de la tubería, 3L/a segundos después del cierre, el fluido está en reposo, pero con una
altura uniforme -h menor que antes del cierre. Esto produce una situación de desequilibrio
en el depósito y el fluido se mueve dentro de la tubería, adquiriendo una velocidad Vo hacia
delante y haciendo volver al fluido a las condiciones normales mientras la onda llega a la
válvula, transcurridos 4L/a segundos las condiciones son exactamente las mismas que en el
instante del cierre (Figura 1.1 c).

Este proceso, por tanto, se repite cada 4L/a segundos. La acción de rozamiento del fluido, la
imperfecta elasticidad del fluido y de la pared de la tubería, despreciada hasta ahora, hacen
que se amortigüen las vibraciones y que el fluido llegue a alcanzar de forma permanente
el equilibrio. El cierre de una válvula en menos de 2L/a se llama cierre rápido, y el cierre
lento se refiere a tiempos de cierre mayores a este valor. 2L/a es denominado tiempo de
retorno Tr.

1.2 Causas y efectos


Cuando las condiciones cambian de un estado de permanente a otro, se denomina estado
de flujo transitorio. En otras palabras, las condiciones Transitorias son iniciadas siempre
que las condiciones
jas sean perturbadas. Tal alteración puede ser causada por los cambios planificado o
accidental, en la configuración de los equipos de control del sistema artificial y por los
cambios en el ingreso o salida de un sistema natural. Existen cuatro eventos que generan
un Golpe de Ariete , asociados principalmente con la manipulación o falla de artefactos
hidráulicos y son los siguientes:

Encendido (partida) de bombas.


Apagado (parada) de bombas.
Apertura (o cierre) de válvulas.
Mal uso de artefactos mitigadores.

El estudio de Golpe de Ariete normalmente implica el análisis de los problemas de los


sistemas de tuberías que tengan uno o más de estas condiciones. Otras causas del Golpe
de Ariete se deben a otro tipo de actividades en los sistemas, como el llenado o vaciado
de tuberías, uso de grifos de incendio, cambios en la presión del sistema, cambios súbitos
en la demanda de agua, etc. Todos estos eventos deben ser considerados en las etapas
de diseño y operación de los sistemas hidráulicos, las cuales deben ser capaces de soportar

6
1.3 Modelos de Análisis | Capitulo I

condiciones de operación tanto normales como anormales.


Cualquier perturbación sobre la velocidad del ujo en un sistema hidráulico genera ondas de
presión que se propagan a lo largo y ancho de la red a la velocidad del sonido, generando
con ello los siguientes efectos y consecuencias:

Efecto: altas presiones −→ consecuencia: falla o rotura de tuberías, perdida de agua, etc.
Efecto: bajas presiones −→ consecuencia: cavitación, intrusion de aire y/o contaminantes.
Efecto: vibraciones −→ consecuencia: deformaciones, falla y rotura de tuberías, etc.

Al analizar las consecuencias de Golpe de Ariete es posible concluir que el daño proveniente
de las altas presiones se debe a la interacción entre la carga y materia (tubería, agua), pro-
duciendo vibraciones, deformaciones, fatigas y roturas. Las bajas presiones una interacción
entre la materia y el medio (aire), generando con ello el colapso de la tubería o corrosión.

Figura No 1.2:
Causas y efectos del Golpe de Ariete

Fuente:Juan L. Taipe Carrasco.

1.3 Modelos de Análisis


El Golpe de Ariete en sistemas hidráulicos puede ser dividido en dos amplias categorías
(Watters, 1984):

1 Teoría de columna rígida de agua, que trata al fluido como una sustancia inelástica

7
1.4 Teoría de la Columna Rígida de Agua | Capitulo I

en el que los cambios de presión se propagan instantáneamente en todas partes del


sistema y las propiedades elásticas de las paredes de la tubería no son de ninguna
consecuencia.

2 El elástico o la teoría de Water Hammer, en el que la elasticidad tanto del fluido


como de las paredes de tubería es tenida en cuenta en los cálculos. Solo la teoría
elástica del Golpe de Ariete será incluida por ser la más real posible.

1.4 Teoría de la Columna Rígida de Agua


Esta teoría tiene como principal ventaja su rapidez en el cálculo, siendo sus des-ventajas un
análisis muy simplista que no considera la elasticidad del sistema al suponer que la tubería
es indeformable y que el liquido es incomprensible. Ademas para resolver redes complejas
utiliza conceptos tales como la longitud y diámetro equivalente, ambos obsoletos. Sus
principales características son:

El fluido se comporta como una sustancia inelástica (incompresible).


Paredes de tubería rígidas, no sufren deformaciones a causa del aumento de presión
(tubería es inelástico).
Tubería llena a todo momento.
Pérdidas por fricción despreciables.
Velocidad del fluido es uniforme en cualquier sección transversal de la tubería.
Presión del fluido uniforme en cualquier sección transversal de la tubería.
Los cambios en altura de velocidad son insignificantes en comparación con los cambios
de presión.
Tubería de diámetro y nivel de reservorio constante.

Se realiza el análisis de fuerzas equilibrados tomando como referencia la figura 1.3 y tomando
la siguiente simbología.

Donde:

L: Longitud de la tubería.
V: Velocidad de fluido.
A: Área sección de la tubería.
γ: Peso específico del fluido.
Ho : Altura en el punto por la presión de fluido.
Ha : Altura producida por el golpe de ariete.
Hc : Altura en el punto C por la elevación.
α: Ángulo de inclinación de la tubería.
D: Diámetro de la tubería.
F1 YF2 : Fuerzas resultantes en los puntos C y B.

8
1.4 Teoría de la Columna Rígida de Agua | Capitulo I

Figura No 1.3:
Equilibrio de fuerzas para la teoría de columna rígida de agua

Fuente:Victor L. Streeter; E. Benjamin Wylie.

Una vez que la válvula comienza a actuar, existe un desbalance externo que produce una
fuerza que actúa sobre toda la columna de agua (F2 ), al plantear el equilibrio dinámico al
liquido en el interior de la tubería, mediante la segunda ley de Newton se obtiene, tomando
como dirección positiva el sentido del fluido, de la figura 1.3 se tiene:

F1 = (H0 − Hc ) Aγ
F2 = (H0 − Ha ) Aγ
(H0 − Hc ) Aγ + LAγ sin (α) − Aγ = γg LA dV
dt

Pero:Hc = L sin (α)

Reemplazando y simplificando se obtiene:

L dV
Ha = − (1.1)
g dt
El caudal que pasa por la válvula es:
q
Q0 = AV0 = ((Cd AV ))0 2gH0 (1.2)

9
1.4 Teoría de la Columna Rígida de Agua | Capitulo I

Donde:

AV : Área de la válvula.
Cd : Coeficiente de descarga de la Válvula.
g: Constante de la gravedad
V0 : Velocidad inicial del fluido .

Ordenando la ecuación tenemos



V0 = B0 H0 √
((C A )) 2g
Donde: B0 = d VA 0
En cualquier momento durante el movimiento de la válvula tenemos:

V = B H0 + Ha
Si realizamos una división:
s s
V0 B Ha Ha
= 1+ =τ 1+ (1.3)
V B0 H0 H0
B
B0
es designado como τ y es una función del tiempo que define el radio de la apertura
efectiva de la válvula en cualquier instante de tiempo respecto de la apertura efectiva de la
válvula en tiempo O. Las ecuaciones 1.1 y 1.3 son las ecuaciones básicas del golpe de ariete
para la teoría de columna rígida para el cierre de compuerta. La relación τ había dicho es
una función de tiempo, es así como el movimiento uniforme de compuerta dicta que para
un cierre parcial o completo de válvulas tenemos:
V´t
τ =1− V0 T
para 0 ≤ t ≤ T

Donde T es el tiempo total del movimiento de la válvula, y V’ es la diferencia entre la


velocidad inicial del fluido y la velocidad final del mismo. La función T depende del tipo de
válvula, y su valor real puede ser obtenido solo experimentalmente, sin embargo, se puede
hacer una aproximación válida partiendo de la geometría de las diferentes válvulas. La
función utilizada en esta teoría es una aproximación deducida para una válvula de globo,
cuyo vástago se mueve con velocidad constante. Se puede reemplazar la última ecuación
en 1.3 y se obtiene:

V´t
!s
Ha
V = V0 − 1+ (1.4)
T H0
Mediante las ecuaciones 1.1 y 1.3 se puede obtener el valor de Ha máx , es decir, la presión
de golpe de ariete, el resultado es:
 s 
K1 K12
Ha máx = H0  ± + K1  (1.5)
2 4

El valor positivo corresponde al valor del incremento de presión cuando la válvula se cierra.
el valor negativo corresponde a la caída de presión cuando la válvula se cierra, el valor

10
1.5 Teoría de la Columna Elástica de Agua | Capitulo I

negativo corresponde a la caída de presión producida cuando la válvula se abre. Esta teoría
asume que las paredes de la tubería son rígidas. y que la columna de agua incompresible.
No se analiza la propagación del golpe de ariete por la tubería, simplemente se asume que
las fuerzas aparecen instantáneamente en los dos extremos de la tubería. describiendo al
sistema como si los cambias de presión viajarán instantáneamente a través de la tubería.
Por esta razón esta teoría es útil para movimientos relativamente lentos de compuerta, con
tiempos de Tr , >L/1000. Para visualizar el fenómeno de forma mas cercana a la realidad
se debe hacer un análisis mas detallado, que es de lo que el proyecto se va a ocupar a
continuación.

1.5 Teoría de la Columna Elástica de Agua


La principal ventaja de la Modelo Elástico es que considera la elasticidad del sis-tema
(supone que la tubería es deformable y que el liquido es compresible). No requiere utilizar
los conceptos de longitud y diámetro equivalente para analizar redes complejas. En nuestro
caso deberemos estudiar transitorios lentos o rápidos en sistemas elásticos. razón por la
cual será necesario emplear modelos no-permanentes o elásticos, para resolver el Golpe de
Ariete. Sus principales características son:

El fluido se comporta como una sustancia elástica.


Las ondas de presión se propagan a una velocidad finita.
El comportamiento de la tubería es elástico.

1.6 Ecuaciones Diferenciales para el Cálculo del Golpe de Ariete


Se aplican dos ecuaciones básicas de la mecánica a un segmento corto de fluido en una
tubería para obtener las ecuaciones diferenciales del flujo transitorio: La segunda ley de
Newton y la ecuación de la Continuidad. Las variables dependientes son la presión p y
la velocidad promedio V en una sección transversal. Las variables independientes son la
distancia x a lo largo de la tubería, medida desde el extremo de aguas arriba y el tiempo
t; por consiguiente, p = p(x; t) y V = V (x; t). El efecto de la relación de Poisson no
se tiene en cuenta en esta deducción, ya que para tuberías con juntas de expansión no es
importante. Se considera que la fricción es proporcional al cuadrado de la velocidad.

1.6.1 Ecuación del Movimiento


Considérese un elemento de fluido entre dos planos paralelos apartados dx, perpendicular al
eje de la tubería, como cuerpo libre para la aplicación de la ley de movimiento de Newton
en la dirección axial figura 1.4, en forma de la ecuación:

11
1.6 Ecuaciones Diferenciales para el Cálculo del Golpe de Ariete | Capitulo I

Figura No 1.4:
Diagrama de cuerpo libre para la deducción de la ecuación del
movimiento

Fuente:Victor L. Streeter; E. Benjamin Wylie.

" #
∂ ∂A dV
PA − PA + (P A) dx + P dx − mg sin θ − τ0 Wm dx = m (1.6)
∂x ∂x dt
La ecuación esta formado por dos fuerzas opuestas en las caras del elemento diferencial,
la resistencia al ujo debido a la viscosidad, la presión generada en la periferia del conducto
debido al cambio de sección, y el peso. Todo esto se iguala al término de la masa por la
aceleración del elemento. Puede asumirse que los cambios relacionados a la densidad del
fluido (ρ) son despreciables respecto de la densidad inicial. Es así como se obtiene para la
masa concentrada en la mitad del elemento:
 
1∂A
m=ρ A+ 2∂x
dx dx

Desarrollando esta expresión y despreciando los terminos (dx)2 , la masa queda:

m = ρAdx

El Perímetro mojado Wm en el caso de una sección circular puede expresarse como:

Wm = πD

La ecuación 1.6 queda de la siguiente manera:


" #
∂P ∂A ∂A dV
PA − PA + A dx + P dx + P dx − ρA sin θdx − τ0 πDdx = ρAdx (1.7)
∂x ∂x ∂x dt

12
1.6 Ecuaciones Diferenciales para el Cálculo del Golpe de Ariete | Capitulo I

Simplificando la expresión y dividiendo todo por Aρdx :

1 ∂P 4τ0 dV
− + g sin θ − = (1.8)
ρ ∂x ρD dt

En el análisis diferencial de transitorios se asume que el coeficiente de fricción para flujo


permanente se aplica también para el flujo no permanente, donde se puede usar la formula
de Darcy-Weisbach:
∆L V 2
hf = f (1.9)
D 2g
Expresada en unidades de altura de columna de liquido y considerando un balance de fuerzas
para flujo permanente, de la figura 1.5 se obtiene:
Figura No 1.5:
Balance de fuerzas para flujo permanente

Fuente:Victor L. Streeter; E. Benjamin Wylie.

∆P D
τ0 = (1.10)
L 4
Dividiendo el peso específico de la ecuación 1.10 , se obtiene:

τ0 hf D
= (1.11)
γ L 4
Utilizando las ecuaciones 1.9 y 1.11 se puede obtener una expresión del esfuerzo cortante
τ0 en función del factor de fricción f :

1
τ0 = ρf V 2 (1.12)
8
La presión puede ser expresada en función del nivel de referencia (datum) (H), y de la
elevación del fluido (z), se obtiene:

P = ρg (H − 2)

Derivando respecto de x, tomando a la densidad como constante se tiene:

13
1.6 Ecuaciones Diferenciales para el Cálculo del Golpe de Ariete | Capitulo I

 
∂P ∂H ∂z
∂x
= ρg ∂x
− ∂x

Ya que
∂z
∂x
= − sin θ
La última expresión queda: !
∂P ∂H
= ρg + sin θ (1.13)
∂x ∂x
Al reemplazar las ecuaciones 1.12 y 1.13 en 1.8 se obtiene:

∂H dV fV 2
g + + =0 (1.14)
∂x dt 2D
Se tiene que:
dV ∂V ∂V
=V + (1.15)
dt ∂x ∂t
Estas variables son tratadas vectorialmente, por lo tanto la velocidad debe expresarse como
V |V |, a fin de tener el signo apropiado. Reemplazando 1.14 en 1.15 se obtiene:

∂H ∂V ∂V f V |V |
g +V + + =0 (1.16)
∂x ∂x ∂t 2D
Que es la ecuación del equilibrio dinámico para un elemento diferencial del fluido, la primera
ecuacion que rige el fenómeno de fluidos transitorios en tuberías.

1.6.2 Condición de la Continuidad


La ecuación de continuidad se deriva del principio de conservación de la masa, de donde se
obtiene para este caso en la figura 1.6, se muestra en equilibrio en un punto determinado.
Figura No 1.6:
Volumen de control para la deducción de la ecuación de continuidad

Fuente:Victor L. Streeter; E. Benjamin Wylie.

!
∂ ∂m
ρAV − ρAV + (ρP A) dx = (1.17)
∂x ∂t

14
1.6 Ecuaciones Diferenciales para el Cálculo del Golpe de Ariete | Capitulo I

La masa es: m = ρA∂x, reemplazando en la ecuación anterior se obtiene:



ρAV − (ρAV + ∂ (ρAV ) ∂x) = ∂t
(ρA∂x)

Simplificando se obtiene:
∂ ∂
∂x
(ρAV ) ∂x + ∂t
(ρA∂x) = 0

Simplificando los ∂x, ya que no es función del tiempo, y desarrollando las derivadas:
∂ρ ∂A ∂V ∂
∂t
AV + ∂x
ρV + ∂x
ρA + ∂t
A + ∂∂ ρ = 0

Agrupando y dividiendo para ρA:


   
1 ∂A ∂A 1 ∂ρ ∂ρ ∂V
A ∂t
+V ∂x
+ ρ ∂t
+V ∂x
+ ∂x
=0
∂A
El primer paréntesis es la derivada total del área respecto al tiempo, ∂t
. El segundo
paréntesis es la derivad total de la densidad respecto al tiempo, ∂ρ
∂t
:

1 ∂A 1 ∂ρ ∂V
+ + =0 (1.18)
A ∂t ρ ∂t ∂x

Tanto el área como el fluido están bajo la influencia de los cambios de presión, esta influencia
está representada en los dos primeros términos. En este punto es necesario obtener una
relación entre el cambio de área transversal. y el cambio en la densidad del fluido. Para este
fin se introduce aquí un nuevo termino, el modulo de Bulk, o el módulo de comprensibilidad
para los líquidos K:
∂P
K=ρ (1.19)
∂ρ
Ahora es necesario la obtención de una relación que involucre el cambio de área transversal
de la tubería, las propiedades del material, y presión ejercida. El área de la tubería es:
2
A = π D4

Si derivamos respecto al tiempo se obtiene:

∂A D ∂D
= 2π (1.20)
∂t 4 ∂t
Del concepto de deformación unitaria circunferencial se tiene que:
δ
ε= D

Donde δ es la elongación del diámetro debida a la presión. Derivando respecto al tiempo:


∂ε ∂δ 1 ∂D 1
∂t
= ∂t D
= ∂t t

15
1.6 Ecuaciones Diferenciales para el Cálculo del Golpe de Ariete | Capitulo I

Si se reemplaza la última expresión en la ecuación 1.20 se tiene que:

∂A 1 ∂ε
=2 (1.21)
∂t A ∂t
La deformación circunferencial total ε se de
ne como:
ε = ε1 − µε2 (1.22)

Donde:
ε1 = σE1
ε2 = σE2

µ: Coeficiente de Poisson.
σ1 : Esfuerzo circunferencial en la tubería.
σ2 : Esfuerzo axial en la tubería.

Derivando respecto al tiempo a la expresión 1.22 :


∂ε ∂ε1
∂t
= ∂t
− µ ∂ε
∂t
2

Si se reemplazan valores de las deformaciones:


!
∂ε 1 ∂σ1 ∂σ2
= −µ (1.23)
∂t E ∂t ∂t

Ahora se deben obtener expresiones para las dos deformaciones. Si se trata a la tubería
como un cilindro de paredes delgadas, se obtiene para σ1 .

Figura No 1.7:
Equilibrio de fuerzas para la pared de la tubería

Fuente:Victor L. Streeter; E. Benjamin Wylie.

Se toma un elemento diferencial de la tubería con el fluido y se lo divide en la mitad figura


1.7. La fuerza total ejercida sobre el elemento de tubería es F1 , la resistencia que parte de

16
1.6 Ecuaciones Diferenciales para el Cálculo del Golpe de Ariete | Capitulo I

las paredes se divide en dos magnitudes F2 . La primera fuerza puede ser expresada de la
siguiente forma:

F1 = P A = P D∂x

Donde P es la presión del fluido y D es el diámetro de la tubería. La fuerza:

F2 = σ1 e∂x

Donde e es el espesor de las paredes, y σ1 es el esfuerzo circuferencial a que son sometidos


las mismas paredes. Se plantea el equilibrio:

F1 = 2F2

P D∂x = 2σ 1 e∂x

Simplificando y despejando el esfuerzo:


D
σ1 = 2e
P

ó
∂σ 1 D ∂P
= (1.24)
∂t 2e ∂t
En esta última diferenciación se ha tomado como constante al diámetro debido a su pequeña
variación respecto del diámetro original, igual procedimiento se sigue a continuación. Para
determinar el valor de σ1 se deben considerar tres casos:

a) En una tubería anclada en uno de sus extremos sin juntas de expansión, libre para
moverse en su dirección longitudinal: En este caso el esfuerzo axial es la fuerza
ejercida en la válvula cerrada dividida para el área de las paredes de la tubería:

PA
σ2 = πDe
P

ó
∂σ 2 D ∂P
= (1.25)
∂t 4e ∂t
Combinando 1.24 y 1.25 con 1.23 se obtiene:
 
∂ε 1 D ∂P D ∂P
∂t
= E 2e ∂t
− µ 4e ∂t

∂ε 1 D ∂P µ
 
= 1− (1.26)
∂t E 2e ∂t 2
b) Para una tubería anclada de forma que no existan movimiento longitudinales. Como
las deformaciones longitudinal es cero. el esfuerzo longitudinal es igual al esfuerzo
circunferencial multiplicando por el coeficiente de Poisson.

17
1.6 Ecuaciones Diferenciales para el Cálculo del Golpe de Ariete | Capitulo I

σ2 = µσ1

ó
∂σ 2 D ∂P
=µ (1.27)
∂t 2e ∂t
Combinando 1.24 y 1.27 con 1.23 se obtiene:
 
∂ε 1 D ∂P D ∂P
∂t
= E 2e ∂t
− µ2 2e ∂t

ó
∂ε 1 D ∂P  
= 1 − µ2 (1.28)
∂t E 2e ∂t
c) Para una tubería con juntas de expansión, los esfuerzos longitudinales se vuelven des-
preciables, por lo tanto:

σ2 = 0

De donde se obtiene para la ecuación 1.23 :

∂ε 1 D ∂P
= (1.29)
∂t E 2e ∂t
Se puede generalizar la expresión para la deformación circunferencial total de la
siguiente forma:
∂ε 1 D ∂P
= (1.30)
∂t E 2e ∂t
Donde c varía con uno de los tres casos:

µ
a. c = 1 − 2

b. c = 1 − µ2

c. c = 1

La expresión 1.30 puede ahora introducirse en la expresión 1.21 :

1 ∂A Dc ∂P
= (1.31)
A ∂t Ee ∂t
la ecuación 1.31 representa el cambio de área en función de las propiedades de la tubería
y la presión ejercida. Ahora esta y la 1.19 se juntan en la ecuación 1.18
Dc ∂P 1 ∂P ∂V
Ee ∂t
+ K ∂t
+ ∂x
=0

Realizando algunos pasos algebraicos se obtiene:

1 ∂P ∂V
+ a2 =0 (1.32)
ρ ∂t ∂x

18
1.7 Velocidad o Celeridad de Onda (a) | Capitulo I

Donde: !
2 1 K
a = (1.33)
ρ 1 + DK
Ee
c
Se puede desarrollar aún mas la ecuación 1.32 la derivada total de la presión respecto al
tiempo es:
∂P ∂P ∂x ∂P ∂P ∂P
∂t
= ∂x ∂t
+ ∂t
= ∂t
V + ∂t

La presión puede expresarse como P = ρg (H − z). Donde H es el valor correspondiente


a la línea piezométrica. De ahí que las derivadas parciales son:
 
∂P ∂H ∂z
∂x
= ρg ∂x
− ∂x

 
∂P ∂H ∂z
∂t
= ρg ∂t
− ∂t

∂z ∂z
La tubería se encuentra en reposo, por los que ∂t
= 0, y ∂x
= − sin θ. la derivada total
de la presión respecto al tiempo es entonces:
 
∂P ∂H
∂t
= ρg ∂t
+ sin θ + ρg ∂H
∂t

Reemplazando la última expresión en la ecuación 1.32 se obtiene:

∂H ∂H a2 ∂V
V + + + V sin θ = 0 (1.34)
∂x ∂t g ∂x

Que es la segunda ecuación que rige el comportamiento de los fenómenos transitorios.

1.6.3 Ecuaciones Fundamentales del Golpe de Ariete


Las ecuaciones hasta ahora obtenidas son:
∂H ∂V ∂V f V |V |
g +V + + =0 (1.35)
∂x ∂x ∂t 2D

∂H ∂H a2 ∂V
V + + + V sin θ = 0 (1.36)
∂x ∂t g ∂x
Las ecuaciones 1.35 y 1.36 son las que rigen el comportamiento de los fenómenos
transitorios sólo en líquidos, ya que para su obtención se tomó como constante la densidad.
El evento del golpe de ariete es un fenómeno transitorio, por lo tanto puede ser resuelto
mediante estas ecuaciones. Como se verá mas adelante, se puede tratar a las ecuaciones sin
modificaciones o se les puede dar tratamiento adicional con el fin de encontrar una solución
más adecuada para ciertos casos excepcionales.

1.7 Velocidad o Celeridad de Onda (a)


Las ondas de sonido en un fluido (el aire o el agua) son las ondas longitudinales (las
partículas en el medio han sido desplazadas de su posición de equilibrio paralela a la dirección
que la onda se propaga). De acuerdo con Watters (1984), la ecuación más general de la

19
1.7 Velocidad o Celeridad de Onda (a) | Capitulo I

Onda de Velocidad en el cálculo de las tuberías es la que incluye condiciones de anclaje de


tuberías con diferentes condiciones en relación con las propiedades del material de estructura
y el aire libre (burbujas pequeñas o masas discretas):
Kl
2 ρmix
a = Kl D (1.37)
1+ E e
φ+ α KKair
l

Donde:
Kl : Módulo de elasticidad del líquido.
ρmix =(1 − α) ρl , con α: Fracción de aire-vació.
ρl : Densidad del líquido.
E : Módulo de elasticidad del material de la tubería.
D : Diámetro de la tubería.
e : Espesor de la pared de la tubería.
φ : Factor de condición del anclaje de la tubería.
Kair : Módulo de elasticidad del aire.
A partir de la ecuación 1.37 es evidente que la Velocidad de Onda depende de la presión
en la tubería porque los valores de α y Kair dependen de la presión. Como consecuencia de
ello, la Velocidad de Onda varía con el paso de una onda de presión (Watters, 1984).
Este hecho va a complicar enormemente el procedimiento de análisis. Por esa razón,
una expresión simplificada se puede deducirse teniendo en cuenta las siguientes hipótesis
(Bergant y Tijsseling, 2001; Simpson y Wu, 1997):

El tubo es lleno y permanece lleno durante el transitorio.


No hay ninguna Separación de Columna durante el acontecimiento transitorio, por
ejemplo: la presión es mayor que la presión de vapor líquida.
El contenido libre de gas del líquido es pequeño tal que la velocidad de onda puede
ser considerada como una constante.

Las Hipótesis anterior significa que α = 0, por esa razón ρmix se convierte en Kl y la
ecuación 1.37 puede reducirse a (Karney, 1984; Salgado, 1990; Watters, 1984; Streeter y
Wylie, 1983):
Kl
2 ρl
a = (1.38)
1 + KEl De φ
La ecuación 1.38 se conoce como la fórmula ampliada de Joukowsky. De acuerdo con
Watters (1984), la ecuación 1.38 tiene validez para tuberías de paredes delgadas, condición
que ocurre cuando:
D
> 40 (1.39)
e
O según Wylie y Streeter (1983) cuando:

D
> 25 (1.40)
e

20
1.8 Métodos de Solución Numérica | Capitulo I

El valor φ depende de la geometría y la fijación de la estructura de la tubería y puede


calcularse a partir de expresiones generales que automáticamente consideran la relación
entre el espesor de la pared de la tubería y el diámetro de la tubería. La tabla 1.1 muestra
tales expresiones, según Watters (1984).

Cuadro No 1.1 :
Expresión general para φ
Caso Condición de anclaje de la tubería Expresión para φ
h  i
A En un extremo de la tubería 1
1+ De
5
4
− v + 2 De (1 + v) 1 + e
D
h  i
B En ambos extremos de la tubería 1
1+ De 1 − v 2 + 2 De (1 + v) 1 + e
D
h  i
C En ambos extremos de la tubería (*) 1
1+ De 1 + 2 De (1 + v) 1 + e
D

Donde:

v: Modulo de Poisson.
El caso A se re
ere a una sección de tubería con el refrenamiento en un sólo extremo.
El caso B corresponde a una sección de tubería con el refrenamiento en ambos extremos.
Finalmente, el caso C(*) considera que a lo largo de las secciones de las tuberías las uniones
flexibles absorben pequeñas deformaciones.

1.8 Métodos de Solución Numérica


Los métodos numéricos que se han propuesto para resolver el problema del flujo no perma-
nente (Golpe de Ariete) en redes se pueden agrupar en:
Métodos Eulerianos (malla espacio-temporal fija):

1 Método de las Características (MC)

2 Métodos de Diferencias Finitas (MDF)

3 Método de Elementos Finitos (MEF)

4 Métodos Híbridos (MH)

Métodos Lagrangianos (malla espacio-temporal variable):

1 Método de la Malla de Características (Staggered Grid Method)

2 Método de la Onda Plana (MOP)

21
„ El valor de una educación universitaria no es el
aprendizaje de muchos datos, sino el entrenamiento
de la mente para pensar.

— Albert Einstein

II
CAPÍTULO
Formulación Numérica por el Método de las
Características

2.1 Generalidades
La historia del análisis del Golpe de Ariete, está marcada por diversas técnicas practicas
e inteligentes para resolver la ecuación de Euler y ecuaciones de conservación de masa.
Esos métodos fueron un reflejo del nivel de sofisticación de las capacidades del análisis
numérico de su tiempo así como el ingenio de los investigadores. En los recientes a nos la
disponibilidad de bajo costo, computadoras de escritorio de alto rendimiento ha llevado a la
creación de métodos de solución para estas ecuaciones que son numéricamente muy precisa
y son capaz de incorporar un amplia gama de condiciones iniciales de contorno. En este
momento la técnica más general y ampliamente utilizado para resolver estas ecuaciones es
el Método de las Características. No es casualidad que este método es muy compatible con
solución numérica por computadora digital. Por esta razón se considera sólo el método de
características se aproximan a la solución de problemas.

2.2 Método de las Características (MC)


El Método de las Características fue originariamente un método gráfico desarrollado por
Monge en 1789 para la integración de las ecuaciones diferenciales en derivadas parciales.
Este método fue usado con posterioridad por muchos autores, para el estudio de problemas
de flujo permanente, tales como propagación de frentes de onda. Massau (1900), Gómez
(1988). El concepto de curva características es muy útil para entender la propagación de
onda y el desarrollo de condiciones de contorno para métodos de diferencias finitas explícitas.

22
2.2 Método de las Características (MC) | Capitulo II

El Método de las Características ha sido el método numérico explícito más utilizado


para el modelo de fenómeno de propagación de ondas en las redes de tubería, debido a
su facilidad para introducir diferentes dispositivos y condiciones limite (bombas, válvulas,
tanques, etc.). Por esta razón, conducto cerrado, canal abierto y las corrientes de aguas
subterráneas se han analizado utilizando esta técnica. La popularidad del método se deriva
en sus principales atributos (Goldberg y Wylie, 1983):

El Método de las Características son relativamente fáciles de aplicar en las ecuaciones


diferenciales parciales 1.35 y 1.35 dan como resultado ecuaciones diferenciales ordi-
narias que se resuelven a lo largo de las líneas características utilizando aproximaciones
de diferencias finitas.
El Método de las características tiene también otros aspectos positivos; como un
esquema explícito de primer orden, es decir, el cálculo directo de las variables de-
pendientes se puede hacer en términos de cantidades conocidas y las condiciones de
estabilidad están bien establecidas.

Las condiciones de frontera pueden ser fácilmente programadas en el software.

El Método de las características es muy adecuado para trabajar en redes complejas


de tuberías.

El Método de las características da más precisión en comparación con otros esquemas


numéricas.

A pesar que existen características, en técnicas basados en Método de las Características


a menudo son cuestionados por dos deficiencias en la implementación (Goldberg y Wylie,
1983):

Pequeños pasos de tiempo se ven limitados por los criterios de estabilidad (número
de Courant-Friedrichs-Lewy), que restringe la relación entre el tiempo y el espacio
(parámetros de malla).

Los resultados errados es resultados de los sistemas de modelización por la necesidad


de un paso de tiempo común durante acontecimientos no lineales y en elemento de
frontera.

Esto hace necesario el empleo de interpolaciones de velocidad de onda arbitraria o los ajustes
geométricos que introducen errores en la solución. Los criterios de estabilidad del Métodos
de las Características, se definen por la expresión siguiente:
a∆t
Cn = ∆s
≤1

23
2.2 Método de las Características (MC) | Capitulo II

Donde:
Cn : Número de Courant.
a : Velocidad de Onda.
∆t : Paso del Tiempo.
∆s : Longitud del Tramo de la Tubería.

Los métodos basados en Método de las Características dan como resultados satisfacto-
rios cuando las pérdidas por rozamiento son pequeñas y cuando el número de Courant es
igual a 1. En los sistemas de tuberías con altas pérdidas por rozamiento (que transporta
los líquidos altamente viscosos) o en sistemas de tuberías de pequeño diámetro, el Método
de las Características puede ser inestable cuando Cn < 1 (Chaudhry y Hussaini, 1985;
Shimada y Okushina, 1984). Algunos autores recomiendan utilizar el Método de las
Características para establecer la validez de otros esquemas numéricos cuyo objetivo es
el análisis numérico de flujo no permanente, por esa razón, la validez de alguno de los
nuevos sistemas deben ser evaluados a través de una comparación con el Método de las
Características. Si aparecen muchas discrepancias entre ambos métodos, a continuación,
el nuevo método se puede considerar erróneo, de lo contrario, si los errores relativos
son pequeños entonces nuevos métodos debe ser probado a través de experimentos con
precisión.

2.2.1 Sistemas de Ecuaciones Considerado


Este método no considera ninguna simplificación, con lo que se vuelve una herramienta bas-
tante poderosa para el análisis del golpe de ariete. Es así como las ecuaciones consideradas
para su solución son:
∂H ∂V ∂V f V |V |
g +V + + =0 (2.1)
∂x ∂x ∂t 2D
∂H ∂H a2 ∂V
V + + + V sin θ = 0 (2.2)
∂x ∂t g ∂x
2.2.2 Solución del Sistema
El sistema de ecuaciones considerando este formato con dos ecuaciones en derivadas
parciales en donde las variables dependientes son H y V. Estas ecuaciones pueden combinarse
linealmente mediante un multiplicador aún desconocido λ.

L = λL1 + L2 = 0 (2.3)

Donde L1 y L2 son las ecuaciones de equilibrio dinámico 2.1 y de continuidad 2.2 ,


respectivamente. Cualquier par de valores de distintos A va a dar un sistema de ecuaciones
equivalente a la combinación de 2.1 y 2.2 . La solución por el método de las características
consiste en escoger un par de valores para A que permitan transformar las ecuaciones en
derivadas parciales en un par de ecuaciones diferenciales totales, que puedan ser resueltas
numéricamente. Al reemplazar las ecuaciones 2.1 y 2.2 en 3.2.3, se obtiene:

24
2.2 Método de las Características (MC) | Capitulo II

 
f V |V | a2 ∂V
λ g ∂H
∂x +V ∂V
∂x + ∂V
∂t + 2D +V ∂H
∂x + ∂H
∂t + g ∂x + V sin θ = 0
! ! !
∂H ∂H ∂V a2 ∂V f V |V |
(V + λg) + +λ V + + + V sin θ + λ = 0 (2.4)
∂x ∂t ∂x λg ∂x 2D
Si
∂x
= V + λg (2.5)
∂t
∂x a2
=V + (2.6)
∂t λg
Se reemplaza 2.5 y 2.6 en 2.4 y se obtiene:
! !
∂H ∂x ∂H ∂V ∂x ∂V f V |V |
+ +λ + + V sin θ + λ =0 (2.7)
∂x ∂t ∂t ∂x ∂t ∂x 2D

Tanto H y V son funciones de x y t, se tiene entonces, para H(x; t):

∂H ∂H
∂H = ∂x ∂x + ∂t ∂t
∂H ∂H ∂x ∂H
= + (2.8)
∂t ∂x ∂t ∂t
Y para V (x; t):

∂V ∂V
∂V = ∂x ∂x + ∂t ∂t
∂V ∂V ∂x ∂V
= + (2.9)
∂t ∂x ∂t ∂t
Se reemplaza ahora las ecuaciones ahora 2.8 y 2.9 en 2.4 y se obtiene:

∂H ∂V f V |V |
+λ + V sin θ + λ =0 (2.10)
∂t ∂t 2D
Ahora es necesario encontrar los valores de λ que satisfagan las condiciones 2.5 y 2.6 .
igualando estas mismas expresiones se obtiene:

a2
V + λg = V + λg

Despejando se obtiene el valor de λ:

λ = ± ag
Estos dos valores de λ permiten transformar a las dos ecuaciones en derivadas parciales en
dos ecuaciones en derivadas totales, las cuales están restringidas por las ecuaciones 2.5 y
2.6 . Reemplazando el valor de λ en 2.10 se obtiene:

∂H a ∂V a f V |V |
+ + V sin θ + =0 (2.11)
∂t g ∂t g 2D

25
2.2 Método de las Características (MC) | Capitulo II

∂x
=V +a (2.12)
∂t
∂H a ∂V a f V |V |
+ + V sin θ − =0 (2.13)
∂t g ∂t g 2D
∂x
=V −a (2.14)
∂t
2.2.3 Significado Físico de la Solución del Sistema
Las ecuaciones 2.11 y 2.13 son válidas solo si las ecuaciones 2.12 y 2.14 son satisfechas,
respectivamente. esto quiere decir que solo son aplicables a lo largo de ciertas líneas trazadas
en un plano x − t, es decir, la variable x ha sido separada de las ecuaciones diferenciales
parciales 2.1 y 2.2 , y se ha convertido a este par de ecuaciones en cuatro ecuaciones
diferenciales totales. Las líneas trazadas en el plano x − t figura 3.1, representando a las
ecuaciones 2.12 y 2.14 son conocidas como las líneas características. Generalmente, los
valores de la velocidad de flujo V son despreciables respecto de la velocidad de propagación
de ondas en el medio a. Por esta razón las líneas características tienen pendientes de ±a.

Figura No 2.1:
Líneas características en el plano x − t

Físicamente, las líneas características C + y C − representadas trayectorias por donde viajan


las perturbaciones descritas por las ecuaciones 2.11 y 2.13 respectivamente. Como se
demostrará más adelante, si se conocen las condiciones de H y V para R y S es un tiempo
determinado t0 , siguiendo la trayectoria de las lineas características, se pueden hallar las
condiciones en el punto de intersección P mediante las ecuaciones 2.11 y 2.13 en el
instante t0 + ∂t. De esta forma se pueden hallar soluciones para distintos puntos a través
de las lineas características, partiendo de condiciones conocidas y encontrando cada vez
más y más intersecciones. Para llevar a cabo este fin las ecuaciones 2.11 y 2.13 deben
ser resueltas, para lo que se asume que las condiciones en los puntos R y S de la Figura
2.1 son conocidas para un tiempo ta. Multiplicando por dt, e integrando a lo largo de las
lineas características, es decir, de R a P , se obtiene para la ecuación 2.11 :

26
2.2 Método de las Características (MC) | Capitulo II

RP a RP RP af R P
R ∂H + g R ∂V + sen θ R V ∂V + g2D R V |V | ∂t = 0
Las dos primeras integrales pueden resolverse fácilmente, sin embargo, las dos últimas
presentan dificultades debido a que no se conoce la variación de la velocidad en función del
tiempo, por esta razón se realiza una aproximación de primer orden, en otras palabras, se
supone que la velocidad es constante desde el punto R hasta P, dando como resultado:
af V |V |
(HP − HR ) + ag (VP − VR ) + VP senθ (tP − tR ) + g2D (tP − tR ) = 0
Y siguiendo el mismo procedimiento para la ecuación 3.2.13, se obtienen dos ecuaciones
con las que el golpe de ariete puede ser solucionado. En estas expresiones la velocidad ha
sido reemplazada por el caudal.

Para la línea característica C + :


a senθ∆t af QR |QR |
(HP − HR ) + (QP − QR ) + QR + ∆t = 0 (2.15)
gA A g2DA2

Y Para C − :
a senθ∆t af QS |QS |
(HP − HS ) + (QP − QS ) + QS + ∆t = 0 (2.16)
gA A g2DA2

Si se considera que la tubería está divida en N segmentos iguales, y partiendo de condiciones


iniciales conocidas, se pueden trasladar las ecuaciones 3.2.11 y 3.2.12, con sus subíndices
alterados, a cada punto de división entre las secciones de la tubería, resultando la siguiente
malla:
Figura No 2.2:
Malla de divisiones para la solución del golpe de ariete.

Nótese que ∆x = a∆t gracias a la integración de las ecuaciones 2.12 y 2.14 . Esto
demuestra que físicamente a representa la velocidad con que las perturbaciones viajan en
la tubería, que es lo mismo que la velocidad de propagación de ondas en el medio. Esta

27
2.2 Método de las Características (MC) | Capitulo II

conclusión también había resultado del análisis del método de la columna elástica de agua.
De esta forma se puede reescribir 2.15 y 2.16 , adecuándolas a la malla. Para C + :

a senθ∆t f
(HP i − Hi−1 ) + (QP i − Qi−1 ) + Qi−1 + Qi−1 |Qi−1 | ∆x = 0 (2.17)
gA A 2gDA2

Y para C −

a senθ∆t f
(HP i − Hi+1 ) + (QP i − Qi+1 ) + Qi+1 + Qi+1 |Qi+1 | ∆x = 0 (2.18)
gA A 2gDA2

Las dos últimas expresiones forman un sistema de dos ecuaciones con dos incógnitas.
Despejando HP i de la ecuación 2.17 y 2.18 se tiene:
a a senθ∆t f ∆x
HP i = Hi−1 − gA QP i + gA Qi−1 − A Qi−1 − 2gDA2 Qi−1 |Qi−1 | =0
a a senθ∆t f ∆x
HP i = Hi+1 + gA QP i − gA Qi+1 + A Qi+1 + 2gDA2 Qi+1 |Qi+1 | =0
Sumando las dos ecuaciones anteriores.
a
2HP i = Hi+1 + Hi−1 − gA (Qi+1 − Qi−1 ) − senθ∆t
A (Qi+1 + Qi−1 ) +
f ∆x
2gDA2 (Qi+1 |Qi+1 | − Qi−1 |Qi−1 |)
Reordenando términos:
!
1 a senθ∆t
HP i = Hi+1 + Hi−1 − (Qi+1 − Qi−1 ) − (Qi+1 + Qi−1 )
2 gA A
(2.19)
f ∆x
+ (Qi+1 |Qi+1 | − Qi−1 |Qi−1 |)
4gDA2

De la misma manera despejando (QP i ) las ecuaciones 2.17 y 2.18 para calcular el caudal
(QP i ) se tiene:
gA
QP i = Qi−1 − a HP i + ag AHi−1 − ag senθ∆tQi−1 − f ∆x
2gDAa Qi−1 |Qi−1 |
gA
QP i = Qi+1 + a HP i − ag AHi+1 + ag senθ∆tQi+1 − f ∆x
2gDAa Qi+1 |Qi+1 |

Sumando las dos ecuaciones anteriores.

2QP i = Qi+1 + Qi−1 + ag A (Hi−1 − Hi+1 ) + ag senθ∆t (Qi+1 − Qi−1 ) −


f ∆x
2gDAa (Qi+1 |Qi+1 | + Qi−1 |Qi−1 |)
Reordenando términos:
1 g g
 
QP i = Qi+1 + Qi−1 + A (Hi−1 − Hi+1 ) + senθ∆t (Qi+1 − Qi−1 )
2 a a
(2.20)
f ∆x
− (Qi+1 |Qi+1 | + Qi−1 |Qi−1 |)
4gDAa

28
2.2 Método de las Características (MC) | Capitulo II

Se puede agrupar los términos de 2.17 :

HP i = CP − CH QP i (2.21)
!
senθ∆t f
CP = Hi−1 + Qi−1 CH − − |Qi−1 | ∆x (2.22)
A 2gDA2
a
Donde CP se conoce a cada paso, ya que depende las condiciones anteriores, y CH = ,
gA
que es una constante que depende de las propiedades del fluido. De igual forma para la
ecuación 2.18 se obtiene:
HP i = CN − CH QP i (2.23)
!
senθ∆t f
CN = Hi+1 + Qi+1 CH − − |Qi+1 | ∆x (2.24)
A 2gDA2

2.2.4 Solución Numérica de la Malla Característica


Una solución numérica del problema transitorio en una tubería transportará los valores de
H y Q a lo largo de las líneas características como los incrementos de tiempo ∆t. Los
nodos de cálculo pueden ser colocados a lo largo de la tubería separada por incrementos
∆x. Las condiciones iniciales de H y Q en t = O, entonces son transportadas en el tiempo
a lo largo de las líneas características en el interior del dominio de x − t. Las condiciones
de contorno en ambos extremos de la tubería será necesario para completar la solución A
través de estas condiciones de contorno que un estado transitorio se introduce en el sistema.

Para continuar con la solución numérica se divide la longitud de la tubería en n subintérvalos


de igual longitud ∆x como se ilustra en la figura 3.2. la solución en el dominio x comienza en
x1 = O y termina en xn+i = L. La solución se calcula entonces en el dominio discretizado,
queremos la información de los nodos x1 , x2 ..., xi+1 para viajar a lo largo de las líneas
características (es decir, a lo largo de las líneas diagonales), se selecciona el intérvalo de
∆x
tiempo ∆t, de modo que a = . Así, el tamaño de ∆x y la celeridad de una onda
∆t
determinarán el tamaño de nuestro intervalo de tiempo.

29
2.2 Método de las Características (MC) | Capitulo II

Figura No 2.3:
Malla Característica.

Hij La solución numérica consiste en determinar los valores de Hij = H(xi ; tj ) y Vij =
V (xi ; tj ), en cada punto de la cuadrícula. Hemos seleccionado n sub intervalos en x, tal que
L
∆x = y m sub intervalos en el tiempo tal que tmax = t1 +m∆t. Las condiciones iniciales,
n
generalmente son las condiciones de estado estacionario. Para conocer las condiciones en
t = t1 + 2∆t previamente deben ser conocidos las condiciones en t = t1 + ∆t. De esta
manera, los cálculos continúan paso a paso con las condiciones transitorias hasta el tiempo
necesario requerido.
Figura No 2.4:
Malla Característica para puntos internos.

De la figura 2.4 y utilizando 2.17 y 2.18 para los puntos internos tenemos:

30
2.2 Método de las Características (MC) | Capitulo II

H2j+1 H1j Qj+1 Qj1 senθ∆x j f j j



a
 
+
C : − + gA 2 − + A Q1 + 2gDA2 Q1 Q1 ∆x
=0

H2j+1 + j+1
= H1j + senθ∆x j f j j

a a
gA Q2 gA Q1 − A Q1 − Q
2gDA2 1
Q 1 ∆x

C − : H2j+1 − H3j − Qj+1 − Qj3 + senθ∆x j f j j



a
 
gA 2 A Q3 − 2gDA2 Q 3 Q3 ∆x =0

H2j+1 − j+1
= H3j − j senθ∆x j f j j

a a
gA Q2 gA Q3 − A Q3 + Q
2gDA2 3
Q3 ∆x

Del mismo modo para el resto de los puntos.

H3j+1 + j+1
= H4j + j senθ∆x j f j j

a a
gA Q3 gA Q2 − A Q2 − 2gDA2 Q2 Q 2 ∆x

H3j+1 − j+1
= H4j − j senθ∆x j f j j

a a
gA Q3 gA Q4 − A Q4 + Q
2gDA2 4
Q4 ∆x

H4j+1 + j+1
= H3j + j senθ∆x j f j j

a a
gA Q4 gA Q3 − A Q3 − Q
2gDA2 3
Q 3 ∆x

H4j+1 − j+1
= H5j − j senθ∆x j f j j

a a
gA Q4 gA Q5 − A Q5 + 2gDA2 Q5 Q5 ∆x

Expresando matricialmente.
 
a




1 gA 0 0 0 0 


H2j+1
a
Q2j+1 
 
1 − gA 0 0 0 0
  
 
 
 
a j+1 
 
0 0 1 gA 0 0 H3 
 
 
 
 

Q3j+1 
 
a
1 − gA

0 0 0 0
 
 
 
 
j+1 
 
a
0 0 0 0 1 gA H4 
 
 
 
 
j+1 
 
a Q4
1 − gA
 

0 0 0 0 
 
j
H


1
a
+ gA Qj1 − senθ∆t
A Q j
1
f ∆t j j 
− 2gDA2 Q1 Q1 

j a
Qj3 − senθ∆t j f ∆t j j 

H


 3 − gA A Q 3 − 2gDA2 Q3 Q3 

j a
Qj2 − senθ∆t j f ∆t j j 

H2 + gA Q − 2gDA2 Q2 Q2 

2

A
= 
j

Qj4 j f ∆t j j 

a
H4 − gA − senθ∆t Q − 2gDA2 Q4 Q4 

4

 A 
j
Qj3 j j j 

a f ∆t
H3 + gA − senθ∆t Q − 2gDA2 Q3 Q3 


 A 3
 

H5j a
− gA Qj5 − senθ∆t Q j f ∆t j j 
− 2gDA2 Q5 Q5


A 5

31
CONCLUSIONES

Conclusión 01
La solución computacional del problema del golpe de ariete con C++ mediante el
método de características permite entender de manera más completa y eficiente el
comportamiento de las variables de estado: velocidad y altura piezométrica, y existe
la posibilidad de variar las condiciones de frontera para diferentes casos como cierres
rápidos o lentos. Estos aspectos generan una flexibilidad inigualable frente a las rígidas
soluciones teóricas con las cuales se obtienen resultados parciales del fenómeno, como
son: los cambios máximos de velocidad y presión.

Conclusión 02
El desarrollo de lenguajes de programación es una actividad que lleva un buen tiempo,
que exige un compromiso personal y que no se puede delegar; sin embargo, con pasos
firmes pueden lograrse resultados satisfactorios.

Conclusión 03
Para el desarrollo del programa también se desarrollo el método de LAGRANGE, para
la interpolación del datos(τ )

Conclusión 04
El desarrollo de herramientas propias exige un compromiso total del investigador, ya
que este debe adentrarse de manera profunda en los aspectos conceptuales, físicos,
matemáticos y computacionales de los fenómenos y por tanto el valor agregado para
quienes hacen directamente sus propias herramientas es que pueden manipularlas, mejo-
rarlas o adecuarlas a las necesidades propias de su actividad académica, científica o de
consultoría.

32
REFERENCIAS BIBLIOGRÁFICAS

1 M. Hanif Chaudhry Applied Hydraulic Transients.

2 Juan L. Taipe Carrasco. Análisis de Flujo No Permanente en Redes de Tuberías


de Agua Potable por Método Híbrido. 2010.

3 Victor L. Streeter; E. Benjamin Wylie. Hydraulic Transients. McGraw-HiII Book


Co., New York, 1967.

4 Balbás, A., Gil, J. A., Programación Matemática., Ed. Ac., 1990.

5 Bratley, B., Fox, L. A., Guide to Simulation., Second Edition, Ed. Springer Verlag,
1996

6 Burden and Faires., Análisis Numérico, 6a Edición, Ed. Thomson Internacional,


1998.

7 Caro, A., Sepúlveda, C., Fundamentos de Scilab y Aplicaciones, Licencia GNUFDL,


20047.

8 Franzini, J. B., Finnemore, E. J., Mecánica de Fluidos con Aplicaciones en


Ingeniería., Novena Edición, Mcgraw- Hill Interamericana, 1999.

9 Fourer, R., Gay, D. Kernighan B. W., A Modeling Language for Math Program-
ming Package., Ed. Duxbury Press, 1999.

10 Giles, R. V., Evett, J. B., Mecánica de los Fluidos e Hidráulica., Tercera Edición,
Mcgraw-Hill Interamericana, 1994.

33
„ El valor de una educación universitaria no es el
aprendizaje de muchos datos, sino el entrenamiento
de la mente para pensar.

— Albert Einstein

III
CAPÍTULO
ANEXOS

3.1 Códigos de lenguaje C++

1 // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
2 // UNIVERSIDAD NACIONAL DE HUANCAVELICA
3 // CURSO ABASTECIMIENTO DE AGUA Y ALCANTARILLADO
4 // PROGRAMA PARA EL CALCULO DE PRESIONES Y CAUDALES
5 // POR EL METOODO DE LAS CARACTERISTICAS
6 // / NOMBRE : Lapa Gomez , Alberto
7 // DOCENTE : Ayala Bizarro Ivan . A
8 // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
9 # include < iostream >
10 # include < fstream >
11 # include < iomanip >
12 # include < string >
13 # include < cmath >
14 # include < stdio .h >
15 # include < stdlib .h >
16
17 using namespace std ;
18 double lagrangefunc ( float k );
19 int main (){
20 // declarando variables
21 float Q , Ks , Hr ,N , Ti , Error , nn , pi , g ;
22 float CN , CP , Cv , Qo , Po ;
23 float A [100] , Ca [100] , t [100] , R [100];

34
3.1 Códigos de lenguaje C++ | Capitulo III

24 double P [100] , HH [100];


25 double tao [100];
26
27 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
28 // DATOS INICIALES
29 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
30 float L [2] = {550 , 450}; // longitud
31 float D [2] = {0.75 , 0.6};
32 float a [2] = {1100 , 900};
33 float f [2] = {0.01 , 0.012};
34 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
35 Q = 1; // Caudal ( m3 / s )
36 nn = 2; // Cantidad de tuberias
37 Ks = 1.15 E -6; // Rugosidad
38 Hr = 67.7; // Altura de reservorio ( m )
39 N = 1; // Numero de tramos
40 Ti = 10 ; // Tiempo ( s )
41 pi = 3.141592; // Valor de pi
42 g = 9.807; // gravedad ( m2 / s )
43 Error = 1E -6 ; // Error
44
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
46 // CALCULO DE PARAMETROS CONSTANTES
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
48 int M = Ti *2 ; // Cantidad de filas
49 int W = nn +1 ; // Numero de nudos o puntos por fila
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
51 for ( int i =0; i < nn ; i ++){
52 A [ i ] = pow ( D [ i ] ,2)* pi /4; // area ( m ^2)
53 Ca [ i ]= g * A [ i ]/ a [ i ]; // Valor de Ca
54 t [ i ] = L [ i ]/( a [ i ]* N ); // Variacion de tiempo
55 R [ i ] = f [ i ]/(2* D [ i ]* A [ i ]); // Valor R
56 }
57 double RES_P [ M ][ W ] , RES_Q [ M ][ W ];
58 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
59 // INICIO DE CALCULOS DE CARACTERISICAS HIDRAULICAS
60 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
61 // para condiciones iniciales t =0
62 cout < < fixed < < setprecision (3) < < endl ;
63 cout < < setw (6) < < " t ←-
( s ) " << setw (6) < < " Tau " << setw (8) < < " H1 " << setw (8) < < " H1 .1 " << setw (8) < < " H2 " << setw (8) < < "
64 HH [0] = Hr ;
65 for ( int j =0; j < W ; j ++){
66 if (j <2){
67 P [ j ] = HH [ j ] -8* f [ j ]* pow (Q ,2)*(( L [ j ]))/( g * pow ( pi ,2)* pow ( D [ j ] ,5));
68 HH [1] = P [0];
69 HH [2] = P [1];
70 }

35
3.1 Códigos de lenguaje C++ | Capitulo III

71 }
72 for ( int i =0; i <1; i ++){
73 for ( int j =0; j < W ; j ++){
74 RES_P [ i ][ j ] = HH [ j ];
75 RES_Q [ i ][ j ] = Q ;
76 }
77 }
78 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
79 // RESULTADOS
80 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
81 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
82 // tuberia Numero 1
83 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
84 cout << setw (6) < <0;
85 cout < < setw (8) < < lagrangefunc (0);
86 cout << setw (8) < < RES_P [0][0];
87 cout << setw (8) < < RES_P [0][1];
88 cout << setw (8) < < RES_P [0][1];
89 cout << setw (8) < < RES_P [0][2];
90 cout << setw (8) < < RES_Q [0][0];
91 cout << setw (8) < < RES_Q [0][1];
92 cout << setw (8) < < RES_Q [0][1];
93 cout << setw (8) < < RES_Q [0][2] < < endl ;
94 // Para condiciones t !=0
95 for ( int k =0; k < M ; k ++){
96 for ( int i =0; i < W ; i ++){
97 if ( i ==0){
98 // AGUAS ARRIBA ( RESERVORIO )
99 if (i <2){
100 CN = ←-
RES_Q [ k ][ i +1] - Ca [ i ]* RES_P [ k ][ i +1] - R [ i ]* t [1]* RES_Q [ k ][ i +1]* abs ( RES_Q [ k ][ i +1]) ←
;
101 Qo = CN + Ca [ i ]* Hr ;
102 }
103 RES_P [ k +1][ i ] = Hr ;
104 RES_Q [ k +1][ i ] = Qo ;
105 }
106 // TRAMO INTERMEDIO
107 else if ( i ==1){
108 CP = ←-
RES_Q [ k ][ i -1]+ Ca [0]* RES_P [ k ][ i -1] - R [0]* t [1]* RES_Q [ k ][ i -1]* abs ( RES_Q [ k ][ i -1]) ←
;
109 CN = ←-
RES_Q [ k ][ i +1] - Ca [1]* RES_P [ k ][ i +1] - R [1]* t [1]* RES_Q [ k ][ i +1]* abs ( RES_Q [ k ][ i +1]) ←
;
110 Po = ( CP - CN )/( Ca [0]+ Ca [1]);
111 Qo = CP - Ca [0]* Po ;
112 RES_P [ k +1][ i ] = Po ;

36
3.1 Códigos de lenguaje C++ | Capitulo III

113 RES_Q [ k +1][ i ] = Qo ;


114 }
115 // AGUAS ABAJO ( VALVULAS )
116 else {
117 CP = ←-
RES_Q [ k ][ i -1]+ Ca [1]* RES_P [ k ][ i -1] - R [1]* t [1]* RES_Q [ k ][ i -1]* abs ( RES_Q [ k ][ i -1]) ←
;
118 tao [ k ] = lagrangefunc ( k +1);
119 Cv = ( pow ( RES_Q [0][ i ]* tao [ k ] ,2))/( RES_P [0][ i ]* Ca [1]);
120 Qo = 0.5*( - Cv + pow (( pow ( Cv ,2)+4* CP * Cv ) ,0.5));
121 Po = ( CP - Qo )/ Ca [1];
122 RES_P [ k +1][2] = Po ;
123 RES_Q [ k +1][2] = Qo ;
124 }
125 }
126 float HHHH =( k +1);
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
128 // RESULTADOS
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
130 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
131 // tuberia Numero 2
132 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
133 cout << setw (6) < <( k +1)*0.5;
134 cout < < setw (8) < < lagrangefunc ( HHHH );
135 cout < < setw (8) < < RES_P [ k +1][0];
136 cout < < setw (8) < < RES_P [ k +1][1];
137 cout < < setw (8) < < RES_P [ k +1][1];
138 cout < < setw (8) < < RES_P [ k +1][2];
139 cout < < setw (8) < < RES_Q [ k +1][0];
140 cout < < setw (8) < < RES_Q [ k +1][1];
141 cout < < setw (8) < < RES_Q [ k +1][1];
142 cout < < setw (8) < < RES_Q [ k +1][2] < < endl ;
143 }
144 return 0;
145 }
146 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
147 // CREANDO LA FUNCION PARA HALLAR TAO ( Metodo Lagrange )
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
149 double lagrangefunc ( float k ){
150 float tao ;
151 if (k >12){
152 tao =0;
153 }
154 else {
155 int n = 7;
156 float x [7] = {0 , 1 , 2 , 3 , 4 , 5 , 6};
157 float y [7]= {1 , 0.9 , 0.7 , 0.5 , 0.3 , 0.1 , 0};
158 float ti = k *0.5;

37
3.1 Códigos de lenguaje C++ | Capitulo III

159 tao = 0.0;


160 for ( int z =0; z <n -1; z ++){
161 float l =1;
162 for ( int j =0; j <n -1; j ++){
163 if ( z != j ){
164 l = l *( ti - x [ j ])/( x [ z ] - x [ j ]);
165 }
166 }
167 tao = tao + y [ z ]* l ;
168 }
169 }
170 return tao ;
171 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
172 }

Figura No 3.1:
Problema por resolver

38
3.1 Códigos de lenguaje C++ | Capitulo III

Figura No 3.2:
Codigos de programa C++

Figura No 3.3:
Resultados del programa C++.

39
3.2 Códigos de lenguaje RStudio | Capitulo III

3.2 Códigos de lenguaje RStudio

1 Hresv < -120 # a lt u r ad e l re s e rv o r io


2 f < -0.012 # factordefricion
3 Qo < -1.8 # caudalinicial
4 Pi < -3.14159265359 # ctepi
5 gg < -9.807 # gravedad
6 Diam < -0.45 # diametro
7 n < -6 # numerodetramos
8 a < -1200# celeridadeonda
9 tao < -1.00026465404 # f o r m a c o m o v a s m a n i p u l a r l a v a l v u l a d i f . divididas
10
11 segundos < -3
12 l < - c (60 ,120 ,180 ,240 ,300)
13 hf < - c ()
14 HP < - c ()
15 vart < - c ()
16
17 for ( j in 1: length ( l )) {
18 hf [ j ] < -(8* f * l [ j ]* Qo ^2)/( Pi ^2* gg * Diam ^5)
19 HP [ j ] < -120 - hf [ j ]
20 }
21
22 print ( hf )
23 print ( HP )
24
25
26 varT < -300/( a *( n -1))
27 A < -( Pi * Diam ^2)/4
28 Ca < - gg * A / a
29 R < - f /(2* Diam * A )
30 print ( varT )
31 print ( A )
32 print ( Ca )
33 print ( R )
34
35 vart < - c ()
36 for ( j in 1:( segundos *100)) {
37 vart [ j ] < - varT
38 }
39 print ( vart )
40
41
42 # creandolasmatricesinicialesparaa
43 # losdatosdeloscalculosdeloscaudal
44
45 QQ = matrix (0 , nrow = 300 , ncol =6)

40
3.2 Códigos de lenguaje RStudio | Capitulo III

46
47 HH = matrix (0 , nrow = 300 , ncol =6)
48 # dim ( QQ )
49 HH [1 ,1]= Hresv
50 QQ [1 ,1]=1.8
51 for ( j in 1:5) {
52 QQ [1 , j +1] < - Qo
53 HH [1 , j +1] < - HP [ j ]
54 }
55 print ( QQ )
56 print ( HH )
57
58 for ( j in 2:300) {
59 # para aguas arriba ( sec1 )
60 HH [j ,1]= Hresv
61 CN1 < - round ( QQ [j -1 ,2] - Ca * HH [j -1 ,2] - R * varT * QQ [j -1 ,2]* abs ( QQ [j -1 ,2]) ,8)
62 QQ [j ,1]= CN1 + Ca * Hresv
63 # para aguas abajo ( sec6 )
64 CP6 < - QQ [j -1 ,6 -1]+ Ca * HH [j -1 ,6 -1] - R * varT * QQ [j -1 ,6 -1]* abs ( QQ [j -1 ,6 -1])
65 CV6 < -( Qo * tao )^2/( Hresv * Ca )
66 qp =0.5*( - CV6 +( CV6 ^2 +4* CP6 * CV6 )^0.5)
67 QQ [j ,6]= qp
68 HH [j ,6]=( CP6 - qp )/ Ca
69 # para las sec (2 ,3 ,4 ,5)
70 CP2 < - round ( QQ [j -1 ,2 -1]+ Ca * HH [j -1 ,2 -1] - R * varT * QQ [j -1 ,2 -1]* abs ( QQ [j -1 ,2 -1]) ,9)
71 CN2 < - round ( QQ [j -1 ,2+1] - Ca * HH [j -1 ,2+1] - R * varT * QQ [j -1 ←-
,2+1]* abs ( QQ [j -1 ,2+1]) ,9)
72 qqpp = round (0.5*( CP2 + CN2 ) ,9)
73 QQ [j ,2]= round ( qqpp ,9)
74 HH [j ,2]= round (( CP2 - qqpp )/ Ca ,9)
75 CP3 < - QQ [j -1 ,3 -1]+ Ca * HH [j -1 ,3 -1] - R * varT * QQ [j -1 ,3 -1]* abs ( QQ [j -1 ,3 -1])
76 CN3 < - QQ [j -1 ,3+1] - Ca * HH [j -1 ,3+1] - R * varT * QQ [j -1 ,3+1]* abs ( QQ [j -1 ,3+1])
77 qqpp = 0.5*( CP3 + CN3 )
78
79 QQ [j ,3]= qqpp
80 HH [j ,3]=( CP3 - qqpp )/ Ca
81 CP4 < - QQ [j -1 ,4 -1]+ Ca * HH [j -1 ,4 -1] - R * varT * QQ [j -1 ,4 -1]* abs ( QQ [j -1 ,4 -1])
82 CN4 < - QQ [j -1 ,4+1] - Ca * HH [j -1 ,4+1] - R * varT * QQ [j -1 ,4+1]* abs ( QQ [j -1 ,4+1])
83 qqpp = 0.5*( CP4 + CN4 )
84
85 QQ [j ,4]= qqpp
86 HH [j ,4]=( CP4 - qqpp )/ Ca
87 CP5 < - QQ [j -1 ,5 -1]+ Ca * HH [j -1 ,5 -1] - R * varT * QQ [j -1 ,5 -1]* abs ( QQ [j -1 ,5 -1])
88 CN5 < - QQ [j -1 ,5+1] - Ca * HH [j -1 ,5+1] - R * varT * QQ [j -1 ,5+1]* abs ( QQ [j -1 ,5+1])
89 qqpp = 0.5*( CP5 + CN5 )
90 QQ [j ,5]= qqpp
91 HH [j ,5]=( CP5 - qqpp )/ Ca
92 }

41
3.2 Códigos de lenguaje RStudio | Capitulo III

93
94 # imprimiendocaudalesypresiones
95 print ( QQ )
96 print ( HH )
97
98 # Ordenandolamalladefenomenostransitorios
99 secvarT < - c ()
100 sec1Q < - c ()
101 sec1P < - c ()
102 sec2Q < - c ()
103 sec2P < - c ()
104 sec3Q < - c ()
105 sec3P < - c ()
106 sec4Q < - c ()
107 sec4P < - c ()
108 sec5Q < - c ()
109 sec5P < - c ()
110 sec6Q < - c ()
111 sec6P < - c ()
112
113 for ( i in 1:300) {
114 secvarT [ i ] < -0.01* i
115 sec1Q [ i ] < - QQ [i ,1]
116 sec1P [ i ] < - HH [i ,1]
117 sec2Q [ i ] < - QQ [i ,2]
118 sec2P [ i ] < - HH [i ,2]
119 sec3Q [ i ] < - QQ [i ,3]
120 sec3P [ i ] < - HH [i ,3]
121 sec4Q [ i ] < - QQ [i ,4]
122 sec4P [ i ] < - HH [i ,4]
123 sec5Q [ i ] < - QQ [i ,5]
124 sec5P [ i ] < - HH [i ,5]
125 sec6Q [ i ] < - QQ [i ,6]
126 sec6P [ i ] < - HH [i ,6]
127 }
128
129 dataf = data . frame ( secvarT , sec1Q , sec1P , sec2Q , sec2P , sec3Q , sec3P ,
130 sec4Q , sec4P , sec5Q , sec5P , sec6Q , sec6P )
131 dataf
132
133 # exportandodatoshaciaexcel
134 write . csv ( dataf , file = " prueba1 . csv " )
135 write . table ( dataf , file = " prueba2 . txt " )
136 # convertiendohalistasfenomenostransitoriosparaplotear
137 listsecvarT < - c ()
138 listsec1Q < - c ()
139 listsec1P < - c ()
140 listsec2Q < - c ()

42
3.2 Códigos de lenguaje RStudio | Capitulo III

141 listsec2P < - c ()


142 listsec3Q < - c ()
143 listsec3P < - c ()
144 listsec4Q < - c ()
145 listsec4P < - c ()
146 listsec5Q < - c ()
147 listsec5P < - c ()
148 listsec6Q < - c ()
149 listsec6P < - c ()
150
151 for ( i in 1:300) {
152 listsecvarT [ i ] < -0.01* i
153 listsec1Q [ i ] < - QQ [i ,1]
154 listsec1P [ i ] < - HH [i ,1]
155 listsec2Q [ i ] < - QQ [i ,2]
156 listsec2P [ i ] < - HH [i ,2]
157 listsec3Q [ i ] < - QQ [i ,3]
158 listsec3P [ i ] < - HH [i ,3]
159 listsec4Q [ i ] < - QQ [i ,4]
160 listsec4P [ i ] < - HH [i ,4]
161 listsec5Q [ i ] < - QQ [i ,5]
162 listsec5P [ i ] < - HH [i ,5]
163 listsec6Q [ i ] < - QQ [i ,6]
164 listsec6P [ i ] < - HH [i ,6]
165 }
166
167 ejem = data . frame ( listsecvarT , listsec1Q , listsec1P , listsec2Q ,
168 listsec2P , listsec3Q , listsec3P , listsec4Q , listsec4P ,
169 listsec5Q , listsec5P , listsec6Q , listsec6P )
170 ejem
171
172
173 # ploteodecaudal$tiempo
174 plot ( listsecvarT , listsec1Q , type = " l " , main = " GRAFICA DE LA MALLA DE LA ←-
SECC -1 " ,
175 cex . main =1 , col . main = " darkgreen " , sub = " " ,
176 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " CAUDAL ( m ^3/ S ) " ,
177 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
178 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =0.5 , lty =5)
179 grid ( col = " cyan " )
180 # corectoploteoparaalturasdepresion
181 plot ( listsecvarT , listsec1P , type = " l " , main = " GRAFICA DE LA MALLA DE LA ←-
SECC -1 " ,
182 cex . main =1 , col . main = " darkgreen " , sub = " " ,
183 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( S ) " , ylab = " PRESION ←-
( mca ) " ,
184 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
185 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =1 , lty =1)

43
3.2 Códigos de lenguaje RStudio | Capitulo III

186 grid ( col = " tomato " )


187
188
189 # para seccion 2
190
191
192 # ploteodecaudal$tiempo
193 plot ( listsecvarT , listsec2Q , type = " l " , main = " GRAFICA DE LA MALLA DE ←-
LA SECC -2 " ,
194 cex . main =1 , col . main = " darkgreen " , sub = " " ,
195 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " CAUDAL ←-
( m ^3/ S ) " ,
196 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
197 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =0.5 , lty =5)
198 grid ( col = " cyan " )
199 # corectoploteoparaalturasdepresion
200 plot ( listsecvarT , listsec2P , type = " l " , main = " GRAFICA DE LA MALLA DE LA ←-
SECC -2 " ,
201 cex . main =1 , col . main = " darkgreen " , sub = " " ,
202 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " PRESION ( mca ) " ,
203 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
204 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =1 , lty =1)
205 grid ( col = " tomato " )
206
207 # para seccion 3
208
209
210 # ploteodecaudal$tiempo
211 plot ( listsecvarT , listsec3Q , type = " l " , main = " GRAFICA DE LA MALLA DE ←-
LA SECC -3 " ,
212 cex . main =1 , col . main = " darkgreen " , sub = " " ,
213 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " CAUDAL ←-
( m ^3/ S ) " ,
214 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
215 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =0.5 , lty =5)
216 grid ( col = " cyan " )
217 # corectoploteoparaalturasdepresion
218 plot ( listsecvarT , listsec3P , type = " l " , main = " GRAFICA DE LA MALLA DE LA ←-
SECC -3 " ,
219 cex . main =1 , col . main = " darkgreen " , sub = " " ,
220 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " PRESION ( mca ) " ,
221 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
222 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =1 , lty =1)
223 grid ( col = " YELLOW " )
224
225 # ploteodecaudal$tiempo
226 plot ( listsecvarT , listsec4Q , type = " l " , main = " GRAFICA DE LA MALLA DE ←-
LA SECC -4 " ,

44
3.2 Códigos de lenguaje RStudio | Capitulo III

227 cex . main =1 , col . main = " darkgreen " , sub = " " ,
228 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " CAUDAL ←-
( m ^3/ S ) " ,
229 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
230 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =0.5 , lty =5)
231 grid ( col = " cyan " )
232 # corectoploteoparaalturasdepresion
233 plot ( listsecvarT , listsec4P , type = " l " , main = " GRAFICA DE LA MALLA DE LA ←-
SECC -4 " ,
234 cex . main =1 , col . main = " darkgreen " , sub = " " ,
235 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " PRESION ( mca ) " ,
236 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
237 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =1 , lty =1)
238 grid ( col = " YELLOW " )
239
240
241 # ploteodecaudal$tiempo
242 plot ( listsecvarT , listsec5Q , type = " l " , main = " GRAFICA DE LA MALLA DE ←-
LA SECC -5 " ,
243 cex . main =1 , col . main = " darkgreen " , sub = " " ,
244 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " CAUDAL ←-
( m ^3/ S ) " ,
245 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
246 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =0.5 , lty =5)
247 grid ( col = " cyan " )
248 # corectoploteoparaalturasdepresion
249 plot ( listsecvarT , listsec5P , type = " l " , main = " GRAFICA DE LA MALLA DE LA ←-
SECC -5 " ,
250 cex . main =1 , col . main = " darkgreen " , sub = " " ,
251 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " PRESION ( mca ) " ,
252 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
253 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =1 , lty =1)
254 grid ( col = " YELLOW " )
255
256
257 # ploteodecaudal$tiempo
258 plot ( listsecvarT , listsec6Q , type = " l " , main = " GRAFICA DE LA MALLA DE ←-
LA SECC -6 " ,
259 cex . main =1 , col . main = " darkgreen " , sub = " " ,
260 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " CAUDAL ←-
( m ^3/ S ) " ,
261 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
262 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =0.5 , lty =5)
263 grid ( col = " cyan " )
264 # corectoploteoparaalturasdepresion
265 plot ( listsecvarT , listsec6P , type = " l " , main = " GRAFICA DE LA MALLA DE LA ←-
SECC -6 " ,
266 cex . main =1 , col . main = " darkgreen " , sub = " " ,

45
3.2 Códigos de lenguaje RStudio | Capitulo III

267 cex . sub =0.8 , col . sub = " magenta4 " , xlab = " TIEMPO ( s ) " , ylab = " PRESION ( mca ) " ,
268 cex . lab =0.7 , col . lab = " blue " , col . axis = " navy " , cex . axis =0.8 ,
269 col = rainbow (9) , bg = " red " , bty = " o " , las =1 , cex =1 , lty =1)
270 grid ( col = " YELLOW " )

Figura No 3.4:
Codigos de programa RStudio para la grafica de presiones y caudal

46
3.2 Códigos de lenguaje RStudio | Capitulo III

Figura No 3.5:
Resultados del programa RStudio (fragica de caudal)
GRAFICA DE LA MALLA DE LA SECC−1

1.80

1.75

1.70
CAUDAL (m^3/S)

1.65

1.60

1.55

1.50

0.0 0.5 1.0 1.5 2.0 2.5 3.0

TIEMPO(s)

Figura No 3.6:
Resultados del programa RStudio (fragica de presiones)
GRAFICA DE LA MALLA DE LA SECC−1

160

140
PRESION (mca)

120

100

80

0.0 0.5 1.0 1.5 2.0 2.5 3.0

TIEMPO (S)

47

También podría gustarte