Beruflich Dokumente
Kultur Dokumente
UNIIVERS L AGR
RARIA
A MOL
LA LINA
ES
SCUELAA DE POSGRA
P ADO
MAESTR
RÍA EN
N RECUURSOS HÍDRIC
H COS
«S
SIMULA
ACIÓN DEL
D FLU
UJO PER
RMANENNTE
GR
RADUAL
LMENTEE VARIA
ADO EN
N UN CA
ANAL PR
RISMÁT
TICO»
Presentado por:
p
Dayan Renán
R Sa
aynes Pu
uma
T
TRABAJ
JO FINAL
L DE CIC
CLO – MÉTODO
M OS NUMÉÉRICOS EN
INGENIERÍA DE
D RECU URSOS HÍDRICO
H OS
L
Lima – Perú
2018
Dayan Renán Saynes Puma
Contenido
1 Introducción ............................................................................................. 1
1.1 Generalidades ..................................................................................... 1
1.2 Objetivo ............................................................................................. 1
2 Marco teórico ........................................................................................... 2
2.1 El flujo en régimen permanente gradualmente variado ........................ 2
2.2 Clasificación de los perfiles de flujo ..................................................... 4
2.3 Métodos numéricos aplicados a la resolución de la ecuación diferencial
del FGV ....................................................................................................... 5
2.3.1 Métodos de Runge-Kutta ............................................................ 5
3 Materiales, datos y métodos...................................................................... 9
3.1 Materiales .......................................................................................... 9
3.2 Datos ................................................................................................. 9
3.2.1 Ensayo en canal experimental rectangular bajo condiciones de FGV
9
3.3 Métodos ............................................................................................11
4 Resultados y discusión .............................................................................13
4.1 Perfiles de FGV simulados contra perfil experimental ........................13
4.2 Efecto de la reducción del tamaño de paso ..........................................16
5 Conclusiones y recomendaciones ..............................................................18
5.1 Conclusiones .....................................................................................18
5.2 Recomendaciones ..............................................................................18
6 Referencias bibliográficas ........................................................................19
i
Dayan Renán Saynes Puma
Lista de figuras
ii
Dayan Renán Saynes Puma
Lista de tablas
iii
Dayan Renán Saynes Puma
1 Introducción
1.1 Generalidades
Pero la aplicación anterior es una de muchas a las que tiene que enfrentarse el
ingeniero hidráulico en la práctica, otra que podría mencionarse es la referida a
la determinación de la luz mínima de un puente que ha de atravesar un río, o en
todo caso la altura mínima a la que debería ubicarse su tablero.
1.2 Objetivo
1
Dayan Renán Saynes Puma
2 Marco teórico
SE E
v2
2g
Sw v2 v2
y d cos 2g 2g
d
S0
z d cos d cos
x
v2 v2 v2
z d cos d cos d cos E (Ec. 1)
2g 2g 2g
2
Dayan Renán Saynes Puma
v2
S 0 cos x d cos S E cos x (Ec. 2)
2g
v2
S 0 cos x cos d S E cos x (Ec. 3)
2g
dd d v2
S0 SE (Ec. 4)
dx cos dx 2 g
d v 2 d v 2 dd
(Ec. 5)
dx 2 g dd 2 g dx
dd d v 2
S0 1 S E (Ec. 6)
dx cos dd 2 g
dd S0 SE
(Ec. 7)
dx d v2
1
cos dd 2g
dy S0 SE
(Ec. 8)
dx d v2
1
dy 2 g
3
Dayan Renán Saynes Puma
dy S0 SE
(Ec. 9)
dx Q2 d 1
1
2 g dy A 2
Como
d 1 2 dA
(Ec. 10)
dy A 2 A 3 dy
dy S SE
0 (Ec. 11)
dx Q 2T
1
gA 3
Con base en la ecuación diferencial del FGV se estudiaron los posibles perfiles
que puede desarrollar el agua en su movimiento, producto de lo cual se han
establecido designaciones para cada caso, las que se detallan en la Tabla 1.
Crítica y yc y n C1 Subcrítico
0 S n Sc yc y y n C2
Uniforme
crítico
yn yc yc y n y C3 Supercrítico
y yc y n S1 Subcrítico
Empinada
S0 Sc 0 yc y y n S2 Supercrítico
yc y n y S3 Supercrítico
Horizontal y yc H2 Subcrítico
S0 0
yn yc y H3 Supercrítico
4
Dayan Renán Saynes Puma
f y
dy
(Ec. 12)
dx
Por otro lado, esta EDO es de primer orden, ya que solo incluye a la primera
derivada. Además es no lineal, pues su lado derecho es una función no lineal de la
variable dependiente y .
Ahora bien, ante ecuaciones diferenciales de este tipo no se cuentan con técnicas
de solución analítica, por lo que la única alternativa es recurrir a los métodos
numéricos, siendo los más utilizados los denominados métodos de Runge-Kutta
(RK).
a1 k1 a 2 k 2 a3 k 3 a n k n (Ec. 14)
5
Dayan Renán Saynes Puma
k1 f x i , y i
k 2 f x i p1 x, y i q11 k1 x
k 3 f x i p 2 x, y i q 21 k1 x q 22 k 2 x (Ec. 15)
k n f x i p n 1 x, y i q n 1,1 k1 x q n 1, 2 k 2 x q n 1, n 1 k n 1 x
y i 1 y i k1 x (Ec. 16)
Donde
k k2
y i 1 y i 1 x (Ec. 18)
2
Donde
k1 f x i , y i
(Ec. 19)
k 2 f xi x, y i k1 x
y i 1 y i k 2 x (Ec. 20)
Donde
k1 f x i , y i
1 1 (Ec. 21)
k 2 f x i x , y i k 1 x
2 2
k 2k 2
y i 1 y i 1 x (Ec. 22)
3
6
Dayan Renán Saynes Puma
Donde
k1 f x i , y i
3 3 (Ec. 23)
k 2 f x i x , y i k 1 x
4 4
k 4k 2 k 3
y i 1 y i 1 x (Ec. 24)
6
Donde
k1 f x i , y i
1 1
k 2 f x i x, y i k1 x (Ec. 25)
2 2
k 3 f x i x, y i k1 x 2k 2 x
k 2k 2 2k 3 k 4
y i 1 y i 1 x (Ec. 26)
6
Donde
k1 f x i , y i
1 1
k 2 f xi x, y i k1 x
2 2
(Ec. 27)
1 1
k 3 f xi x, y i k 2 x
2 2
k 4 f xi x, y i k 3 x
7
Dayan Renán Saynes Puma
Donde
k1 f x i , y i
1 1
k 2 f x i x , y i k 1 x
4 4
1 1 1
k 3 f x i x, y i k1 x k 2 x
4 8 8
1 1 (Ec. 29)
k 4 f x i x , y i k 2 x k 3 x
2 2
3 3 9
k 5 f x i x , y i k 1 x k 4 x
4 16 16
3 2 12 12 8
k 6 f x i x , y i k 1 x k 2 x k 3 x k 4 x k 5 x
7 7 7 7 7
8
Dayan Renán Saynes Puma
3.1 Materiales
a) Materiales de laboratorio
b) Materiales de gabinete
- Computadora personal
- Programa de cómputo Matlab R2015a, MS Excel, MS Word.
3.2 Datos
Por otro lado, siendo el objetivo del presente trabajo la simulación del flujo de
agua en un canal experimental, para verificar la calidad de las estimaciones
numéricas resulta necesaria la ejecución de un experimento bajo la condiciones
de simulación, esto es: en condiciones de flujo permanente gradualmente
variado, lo cual además supone movimiento unidimensional y lecho
indeformable.
Así, el ensayo permitirá no solo contar con tirantes de flujo reales, con los que se
confrontarán los tirantes calculados, sino además, permitirá contar con el valor
inicial que se requiere para aplicar los métodos RK.
9
Dayan Reenán Saynees Puma
Se m
muestra un
n esquema del ensayo
o en la Fig
gura 2.
FGV
F (tramo o a simularr) Secció
ón de
Perffil S1 conttrol
R
Resalto
Flu
ujo hid
dráulico
unifo
orme
y f 0.1740 m y i 0.2685 m
y n 0.0555 m
Q
xf
xi
0.61 m
1.80 m
Figu
ura 2: Esqu
uema del ensayo
e de FGV en ca
anal experrimental reectangularr.
Figu
ura 3: Fotografía dee la formacción del peerfil de FG
GV en el ca
anal experiimental
angular.
recta
10
Dayan Renán Saynes Puma
0.29
Perfil de flujo experimental
0.27
0.25
0.23
y (m)
0.21
0.19
0.17
0.15
-1.80 -1.60 -1.40 -1.20 -1.00 -0.80 -0.60 -0.40 -0.20 0.00
x (m)
Elaboración de
Ensayo para obtener algoritmos
tirantes reales de FGV computacionales con
base en métodos RK
Ejecución de
Comparación y análisis
algoritmo del método
de perfiles de FGV
del paso estándar
simulados contra perfil
implementado en
real
programa «HCanales»
11
Dayan Renán Saynes Puma
2
2 nQ b 2 y z 2 1 2/3
nQP 2/3
S0
S 0
A
5/3
by zy 2
5/3
f y
dy
(Ec.
dx Q 2T Q b 2 zy
2
1 1
gA 3
g by zy 2
3
30)
Por otro lado, el análisis de los perfiles simulados además incluye a aquel
resultante de la aplicación del método del paso estándar, que se halla
implementado en el programa computacional «HCanales», desarrollado por el
ingeniero Máximo Villón.
12
Dayan Renán Saynes Puma
4 Resultados y discusión
13
Dayan Renán Saynes Puma
0.29
RK de orden 1 de Euler
RK de orden 2 de Heun
RK de orden 2 del Punto Medio 0.27
RK de orden 2 de Ralston
RK de orden 3
RK de orden 4 clásico 0.25
RK de orden 5 de Butcher
Paso estándar
0.23
Experimental
y (m)
0.21
0.19
0.17
0.15
-1.80 -1.60 -1.40 -1.20 -1.00 -0.80 -0.60 -0.40 -0.20 0.00
x (m)
14
Dayan Renán Saynes Puma
RK de orden 3 4.00
RK de orden 4 clásico
RK de orden 5 de Butcher 3.00
Paso estándar
2.00
1.00
0.00
-1.80 -1.60 -1.40 -1.20 -1.00 -0.80 -0.60 -0.40 -0.20 0.00
-1.00
x (m)
Figura 7: Variación del ERP a lo largo del tramo simulado para un tamaño de
paso x 0.10 m .
15
Dayan Renán Saynes Puma
Tabla 5: ERP de los tirantes calculados en la posición final del tramo de estudio
x f 1.80 , considerando diferentes tamaños de paso.
∆x Euler Heun Punto Ralston Orden 3 Orden 4 Orden 5
[%] [%] [%] Medio [%] [%] [%] [%]
[%]
0.010 5.0043 5.0540 5.0538 5.0539 5.0539 5.0539 5.0539
0.025 4.9309 5.0546 5.0532 5.0539 5.0539 5.0539 5.0539
0.050 4.8114 5.0566 5.0512 5.0539 5.0540 5.0539 5.0539
0.100 4.5825 5.0645 5.0432 5.0536 5.0541 5.0539 5.0539
16
Dayan Renán Saynes Puma
5.10
5.00
Error Relativo Porcentual (%)
4.90
4.80
RK de orden 1 de Euler
4.70 RK de orden 2 de Heun
RK de orden 2 del Punto Medio
RK de orden 2 de Ralston
4.60 RK de orden 3
RK de orden 4 clásico
RK de orden 5 de Butcher
4.50
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10
∆x (m)
17
Dayan Renán Saynes Puma
5 Conclusiones y recomendaciones
5.1 Conclusiones
5.2 Recomendaciones
18
Dayan Renán Saynes Puma
6 Referencias bibliográficas
Chapra, S., & Canale, R. (2015). Numerical methods for engineers. McGraw-
Hill.
Chow, V. Te. (1994). Hidráulica de canales abiertos. McGraw-Hill.
Subramanya, K. (2009). Flow in open channels. McGraw-Hill.
19
Dayan Renán Saynes Puma
Anexo
Dayan Renán Saynes Puma
clear;
Q=xlsread('FGV_RungeKutta','Datos','C4');%Caudal
n=xlsread('FGV_RungeKutta','Datos','C5');%Coeficiente de rugosidad de
Manning
s=xlsread('FGV_RungeKutta','Datos','C6');%Pendiente de fondo
b=xlsread('FGV_RungeKutta','Datos','C7');%Ancho de solera
z=xlsread('FGV_RungeKutta','Datos','C8');%Talud lateral
alpha=xlsread('FGV_RungeKutta','Datos','C9');%Coeficiente de Coriolis
g=xlsread('FGV_RungeKutta','Datos','C10');%Aceleración gravitacional
xi=xlsread('FGV_RungeKutta','Datos','C11');%Posición inicial (xi)
yi=xlsread('FGV_RungeKutta','Datos','C12');%Tirante inicial (yi)
xf=xlsread('FGV_RungeKutta','Datos','C13');%Posición final (xf)
deltax=xlsread('FGV_RungeKutta','Datos','C14');%Incremento espacial
(paso) x a considerar en el cálculo
m=(xf-xi)/deltax;%Cantidad de pasos
i=1;
x(i)=xi;
y(i)=yi;
for i=1:m
x(i+1)=x(i)+deltax;
y1(i)=y(i);
k1(i)=(s-
((n*Q*((b+2*y1(i)*((1+z^2)^0.5))^(2/3)))/((b*y1(i)+z*(y1(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y1(i)))/(g*((b*y1(i)+z*(y1(i)^2))^3))));
y(i+1)=y(i)+k1(i)*deltax;
end
Resultados=[x' y']
xlswrite('FGV_RungeKutta',Resultados,'Euler','B3');
plot(x,y,'-b','linewidth',1);
xlabel('Posición (m)');
ylabel('Tirante (m)');
title('Perfil del FGV en un canal trapezoidal por el método RK de orden 1
de Euler');
grid on;
Dayan Renán Saynes Puma
clear;
Q=xlsread('FGV_RungeKutta','Datos','C4');%Caudal
n=xlsread('FGV_RungeKutta','Datos','C5');%Coeficiente de rugosidad de
Manning
s=xlsread('FGV_RungeKutta','Datos','C6');%Pendiente de fondo
b=xlsread('FGV_RungeKutta','Datos','C7');%Ancho de solera
z=xlsread('FGV_RungeKutta','Datos','C8');%Talud lateral
alpha=xlsread('FGV_RungeKutta','Datos','C9');%Coeficiente de Coriolis
g=xlsread('FGV_RungeKutta','Datos','C10');%Aceleración gravitacional
xi=xlsread('FGV_RungeKutta','Datos','C11');%Posición inicial (xi)
yi=xlsread('FGV_RungeKutta','Datos','C12');%Tirante inicial (yi)
xf=xlsread('FGV_RungeKutta','Datos','C13');%Posición final (xf)
deltax=xlsread('FGV_RungeKutta','Datos','C14');%Incremento espacial
(paso) x a considerar en el cálculo
m=(xf-xi)/deltax;%Cantidad de pasos
i=1;
x(i)=xi;
y(i)=yi;
for i=1:m
x(i+1)=x(i)+deltax;
y1(i)=y(i);
k1(i)=(s-
((n*Q*((b+2*y1(i)*((1+z^2)^0.5))^(2/3)))/((b*y1(i)+z*(y1(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y1(i)))/(g*((b*y1(i)+z*(y1(i)^2))^3))));
y2(i)=y1(i)+k1(i)*deltax;
k2(i)=(s-
((n*Q*((b+2*y2(i)*((1+z^2)^0.5))^(2/3)))/((b*y2(i)+z*(y2(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y2(i)))/(g*((b*y2(i)+z*(y2(i)^2))^3))));
y(i+1)=y(i)+(k1(i)+k2(i))*(deltax/2);
end
Resultados=[x' y']
xlswrite('FGV_RungeKutta',Resultados,'Heun','B3');
plot(x,y,'-b','linewidth',1);
xlabel('Posición (m)');
ylabel('Tirante (m)');
title('Perfil del FGV en un canal trapezoidal por el método RK de orden 2
de Heun');
grid on;
Dayan Renán Saynes Puma
clear;
Q=xlsread('FGV_RungeKutta','Datos','C4');%Caudal
n=xlsread('FGV_RungeKutta','Datos','C5');%Coeficiente de rugosidad de
Manning
s=xlsread('FGV_RungeKutta','Datos','C6');%Pendiente de fondo
b=xlsread('FGV_RungeKutta','Datos','C7');%Ancho de solera
z=xlsread('FGV_RungeKutta','Datos','C8');%Talud lateral
alpha=xlsread('FGV_RungeKutta','Datos','C9');%Coeficiente de Coriolis
g=xlsread('FGV_RungeKutta','Datos','C10');%Aceleración gravitacional
xi=xlsread('FGV_RungeKutta','Datos','C11');%Posición inicial (xi)
yi=xlsread('FGV_RungeKutta','Datos','C12');%Tirante inicial (yi)
xf=xlsread('FGV_RungeKutta','Datos','C13');%Posición final (xf)
deltax=xlsread('FGV_RungeKutta','Datos','C14');%Incremento espacial
(paso) x a considerar en el cálculo
m=(xf-xi)/deltax;%Cantidad de pasos
i=1;
x(i)=xi;
y(i)=yi;
for i=1:m
x(i+1)=x(i)+deltax;
y1(i)=y(i);
k1(i)=(s-
((n*Q*((b+2*y1(i)*((1+z^2)^0.5))^(2/3)))/((b*y1(i)+z*(y1(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y1(i)))/(g*((b*y1(i)+z*(y1(i)^2))^3))));
y2(i)=y1(i)+k1(i)*(deltax/2);
k2(i)=(s-
((n*Q*((b+2*y2(i)*((1+z^2)^0.5))^(2/3)))/((b*y2(i)+z*(y2(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y2(i)))/(g*((b*y2(i)+z*(y2(i)^2))^3))));
y(i+1)=y(i)+k2(i)*deltax;
end
Resultados=[x' y']
xlswrite('FGV_RungeKutta',Resultados,'PuntoMedio','B3');
plot(x,y,'-b','linewidth',1);
xlabel('Posición (m)');
ylabel('Tirante (m)');
title('Perfil del FGV en un canal trapezoidal por el método RK de orden 2
del Punto Medio');
grid on;
Dayan Renán Saynes Puma
clear;
Q=xlsread('FGV_RungeKutta','Datos','C4');%Caudal
n=xlsread('FGV_RungeKutta','Datos','C5');%Coeficiente de rugosidad de
Manning
s=xlsread('FGV_RungeKutta','Datos','C6');%Pendiente de fondo
b=xlsread('FGV_RungeKutta','Datos','C7');%Ancho de solera
z=xlsread('FGV_RungeKutta','Datos','C8');%Talud lateral
alpha=xlsread('FGV_RungeKutta','Datos','C9');%Coeficiente de Coriolis
g=xlsread('FGV_RungeKutta','Datos','C10');%Aceleración gravitacional
xi=xlsread('FGV_RungeKutta','Datos','C11');%Posición inicial (xi)
yi=xlsread('FGV_RungeKutta','Datos','C12');%Tirante inicial (yi)
xf=xlsread('FGV_RungeKutta','Datos','C13');%Posición final (xf)
deltax=xlsread('FGV_RungeKutta','Datos','C14');%Incremento espacial
(paso) x a considerar en el cálculo
m=(xf-xi)/deltax;%Cantidad de pasos
i=1;
x(i)=xi;
y(i)=yi;
for i=1:m
x(i+1)=x(i)+deltax;
y1(i)=y(i);
k1(i)=(s-
((n*Q*((b+2*y1(i)*((1+z^2)^0.5))^(2/3)))/((b*y1(i)+z*(y1(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y1(i)))/(g*((b*y1(i)+z*(y1(i)^2))^3))));
y2(i)=y1(i)+k1(i)*((3*deltax)/4);
k2(i)=(s-
((n*Q*((b+2*y2(i)*((1+z^2)^0.5))^(2/3)))/((b*y2(i)+z*(y2(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y2(i)))/(g*((b*y2(i)+z*(y2(i)^2))^3))));
y(i+1)=y(i)+(k1(i)+2*k2(i))*(deltax/3);
end
Resultados=[x' y']
xlswrite('FGV_RungeKutta',Resultados,'Ralston','B3');
plot(x,y,'-b','linewidth',1);
xlabel('Posición (m)');
ylabel('Tirante (m)');
title('Perfil del FGV en un canal trapezoidal por el método RK de orden 2
de Ralston');
grid on;
Dayan Renán Saynes Puma
clear;
Q=xlsread('FGV_RungeKutta','Datos','C4');%Caudal
n=xlsread('FGV_RungeKutta','Datos','C5');%Coeficiente de rugosidad de
Manning
s=xlsread('FGV_RungeKutta','Datos','C6');%Pendiente de fondo
b=xlsread('FGV_RungeKutta','Datos','C7');%Ancho de solera
z=xlsread('FGV_RungeKutta','Datos','C8');%Talud lateral
alpha=xlsread('FGV_RungeKutta','Datos','C9');%Coeficiente de Coriolis
g=xlsread('FGV_RungeKutta','Datos','C10');%Aceleración gravitacional
xi=xlsread('FGV_RungeKutta','Datos','C11');%Posición inicial (xi)
yi=xlsread('FGV_RungeKutta','Datos','C12');%Tirante inicial (yi)
xf=xlsread('FGV_RungeKutta','Datos','C13');%Posición final (xf)
deltax=xlsread('FGV_RungeKutta','Datos','C14');%Incremento espacial
(paso) x a considerar en el cálculo
m=(xf-xi)/deltax;%Cantidad de pasos
i=1;
x(i)=xi;
y(i)=yi;
for i=1:m
x(i+1)=x(i)+deltax;
y1(i)=y(i);
k1(i)=(s-
((n*Q*((b+2*y1(i)*((1+z^2)^0.5))^(2/3)))/((b*y1(i)+z*(y1(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y1(i)))/(g*((b*y1(i)+z*(y1(i)^2))^3))));
y2(i)=y1(i)+k1(i)*(deltax/2);
k2(i)=(s-
((n*Q*((b+2*y2(i)*((1+z^2)^0.5))^(2/3)))/((b*y2(i)+z*(y2(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y2(i)))/(g*((b*y2(i)+z*(y2(i)^2))^3))));
y3(i)=y1(i)-k1(i)*deltax+2*k2(i)*deltax;
k3(i)=(s-
((n*Q*((b+2*y3(i)*((1+z^2)^0.5))^(2/3)))/((b*y3(i)+z*(y3(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y3(i)))/(g*((b*y3(i)+z*(y3(i)^2))^3))));
y(i+1)=y(i)+(k1(i)+4*k2(i)+k3(i))*(deltax/6);
end
Resultados=[x' y']
xlswrite('FGV_RungeKutta',Resultados,'RKorden3','B3');
plot(x,y,'-b','linewidth',1);
xlabel('Posición (m)');
ylabel('Tirante (m)');
title('Perfil del FGV en un canal trapezoidal por el método RK de orden
3');
grid on;
Dayan Renán Saynes Puma
clear;
Q=xlsread('FGV_RungeKutta','Datos','C4');%Caudal
n=xlsread('FGV_RungeKutta','Datos','C5');%Coeficiente de rugosidad de
Manning
s=xlsread('FGV_RungeKutta','Datos','C6');%Pendiente de fondo
b=xlsread('FGV_RungeKutta','Datos','C7');%Ancho de solera
z=xlsread('FGV_RungeKutta','Datos','C8');%Talud lateral
alpha=xlsread('FGV_RungeKutta','Datos','C9');%Coeficiente de Coriolis
g=xlsread('FGV_RungeKutta','Datos','C10');%Aceleración gravitacional
xi=xlsread('FGV_RungeKutta','Datos','C11');%Posición inicial (xi)
yi=xlsread('FGV_RungeKutta','Datos','C12');%Tirante inicial (yi)
xf=xlsread('FGV_RungeKutta','Datos','C13');%Posición final (xf)
deltax=xlsread('FGV_RungeKutta','Datos','C14');%Incremento espacial
(paso) x a considerar en el cálculo
m=(xf-xi)/deltax;%Cantidad de pasos
i=1;
x(i)=xi;
y(i)=yi;
for i=1:m
x(i+1)=x(i)+deltax;
y1(i)=y(i);
k1(i)=(s-
((n*Q*((b+2*y1(i)*((1+z^2)^0.5))^(2/3)))/((b*y1(i)+z*(y1(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y1(i)))/(g*((b*y1(i)+z*(y1(i)^2))^3))));
y2(i)=y1(i)+k1(i)*(deltax/2);
k2(i)=(s-
((n*Q*((b+2*y2(i)*((1+z^2)^0.5))^(2/3)))/((b*y2(i)+z*(y2(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y2(i)))/(g*((b*y2(i)+z*(y2(i)^2))^3))));
y3(i)=y1(i)+k2(i)*(deltax/2);
k3(i)=(s-
((n*Q*((b+2*y3(i)*((1+z^2)^0.5))^(2/3)))/((b*y3(i)+z*(y3(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y3(i)))/(g*((b*y3(i)+z*(y3(i)^2))^3))));
y4(i)=y1(i)+k3(i)*deltax;
k4(i)=(s-
((n*Q*((b+2*y4(i)*((1+z^2)^0.5))^(2/3)))/((b*y4(i)+z*(y4(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y4(i)))/(g*((b*y4(i)+z*(y4(i)^2))^3))));
y(i+1)=y(i)+(k1(i)+2*k2(i)+2*k3(i)+k4(i))*(deltax/6);
end
Resultados=[x' y']
xlswrite('FGV_RungeKutta',Resultados,'RKorden4','B3');
plot(x,y,'-b','linewidth',1);
xlabel('Posición (m)');
ylabel('Tirante (m)');
title('Perfil del FGV en un canal trapezoidal por el método RK de orden
4');
grid on;
Dayan Renán Saynes Puma
clear;
Q=xlsread('FGV_RungeKutta','Datos','C4');%Caudal
n=xlsread('FGV_RungeKutta','Datos','C5');%Coeficiente de rugosidad de
Manning
s=xlsread('FGV_RungeKutta','Datos','C6');%Pendiente de fondo
b=xlsread('FGV_RungeKutta','Datos','C7');%Ancho de solera
z=xlsread('FGV_RungeKutta','Datos','C8');%Talud lateral
alpha=xlsread('FGV_RungeKutta','Datos','C9');%Coeficiente de Coriolis
g=xlsread('FGV_RungeKutta','Datos','C10');%Aceleración gravitacional
xi=xlsread('FGV_RungeKutta','Datos','C11');%Posición inicial (xi)
yi=xlsread('FGV_RungeKutta','Datos','C12');%Tirante inicial (yi)
xf=xlsread('FGV_RungeKutta','Datos','C13');%Posición final (xf)
deltax=xlsread('FGV_RungeKutta','Datos','C14');%Incremento espacial
(paso) x a considerar en el cálculo
m=(xf-xi)/deltax;%Cantidad de pasos
i=1;
x(i)=xi;
y(i)=yi;
for i=1:m
x(i+1)=x(i)+deltax;
y1(i)=y(i);
k1(i)=(s-
((n*Q*((b+2*y1(i)*((1+z^2)^0.5))^(2/3)))/((b*y1(i)+z*(y1(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y1(i)))/(g*((b*y1(i)+z*(y1(i)^2))^3))));
y2(i)=y1(i)+k1(i)*(deltax/4);
k2(i)=(s-
((n*Q*((b+2*y2(i)*((1+z^2)^0.5))^(2/3)))/((b*y2(i)+z*(y2(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y2(i)))/(g*((b*y2(i)+z*(y2(i)^2))^3))));
y3(i)=y1(i)+k1(i)*(deltax/8)+k2(i)*(deltax/8);
k3(i)=(s-
((n*Q*((b+2*y3(i)*((1+z^2)^0.5))^(2/3)))/((b*y3(i)+z*(y3(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y3(i)))/(g*((b*y3(i)+z*(y3(i)^2))^3))));
y4(i)=y1(i)-k2(i)*(deltax/2)+k3(i)*deltax;
k4(i)=(s-
((n*Q*((b+2*y4(i)*((1+z^2)^0.5))^(2/3)))/((b*y4(i)+z*(y4(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y4(i)))/(g*((b*y4(i)+z*(y4(i)^2))^3))));
y5(i)=y1(i)+k1(i)*((3*deltax)/16)+k4(i)*((9*deltax)/16);
k5(i)=(s-
((n*Q*((b+2*y5(i)*((1+z^2)^0.5))^(2/3)))/((b*y5(i)+z*(y5(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y5(i)))/(g*((b*y5(i)+z*(y5(i)^2))^3))));
y6(i)=y1(i)-
k1(i)*((3*deltax)/7)+k2(i)*((2*deltax)/7)+k3(i)*((12*deltax)/7)-
k4(i)*((12*deltax)/7)+k5(i)*((8*deltax)/7);
k6(i)=(s-
((n*Q*((b+2*y6(i)*((1+z^2)^0.5))^(2/3)))/((b*y6(i)+z*(y6(i)^2))^(5/3)))^2
)/(1-((alpha*(Q^2)*(b+2*z*y6(i)))/(g*((b*y6(i)+z*(y6(i)^2))^3))));
y(i+1)=y(i)+(7*k1(i)+32*k3(i)+12*k4(i)+32*k5(i)+7*k6(i))*(deltax/90);
end
Resultados=[x' y']
xlswrite('FGV_RungeKutta',Resultados,'RKorden5','B3');
plot(x,y,'-b','linewidth',1);
xlabel('Posición (m)');
ylabel('Tirante (m)');
title('Perfil del FGV en un canal trapezoidal por el método RK de orden 5
de Butcher');
grid on;