SOLUCION DE ECUACIONES NO LINEALES EJERCICIO Nº1
En la hidráulica de canales es frecuente determinar el tirante crítico del flujo con fines de análisis y diseño. Si se sabe que el régimen critico en canales trapezoidales está gobernado por las siguientes ecuaciones: Función: fy=A3T-Q2g Derivada: f'y=3*A-2*z*A3T2 Área: A=b+z*yy Espejo: T=b+2*z*y Utilizando el método de Newton Raphson, determinar el tirante crítico “y” que se encuentra implícito en las ecuaciones de régimen crítico, considerar como valor inicial en el proceso iterativo y = 1.00 m y utilizar los siguientes datos: Caudal (Q) = 150.40 m3/s Base (b) = 7.4 m Talud (z) = 3 SOLUCIÓN: RELA RELACI CION ON ENTR ENTRE E LOS LOS PARA PARAME MENT NTRO ROS S PARA PARA UN REGI REGIME MEN N CRITICO
Las condiciones teóricas en que se desarrolla el régimen critico esta dadas por la siguiente ecuación:
Esta ecuación que dad la forma de la sección de un canal y el caudal, existe un tirante critico único y viceversa
a.- Relación entre el tirante y el caudal
Sustituyendo valores en la ecuación tenemos Como se observa observa en la ecuación ecuación se tiene una ecuación ecuación en función función de Ycm es decir:
De esta manera se recurre a la solución de este tirante mediante la aplicación de los métodos numéricos CÓDIGO DE PROGRAMACIÓN EN MATLAB
Se opta por la aplicación de la programación mediante la el ingreso a: New M File Ventana de Editor Escribimos el programa clear;clc; syms y b z Q format short fprintf('====================================================\n' fprintf('====================================================\n' ); fprintf('= fprintf('= DETERMINACION DEL TIRANTE CRITICO Y =\n'); =\n' ); fprintf('= fprintf('= EN UN REGIMEN CRITICO (METODO DE NEWTON) =\n'); =\n' ); fprintf('====================================================\n' fprintf('====================================================\n' ); fprintf('Funcion: fprintf('Funcion: f(y)=A^3/T-Q^2/g \n'); \n'); fprintf('Derivada fprintf('Derivada f(y)=3*A^2-(2*z*A^3)/T^2 \n'); \n'); fprintf('Area: fprintf('Area: A=(b+z*y)y Espejo: T=b+2*z*y \n' \n'); ); yi=input('Ingrese yi=input('Ingrese el tirante inicial yi: '); '); e=input('Ingrese e=input( 'Ingrese el error aceptable: '); ' ); fprintf('========= fprintf('========= DATOS HIDRAULICOS ========\n'); ========\n' ); Q=input('Ingrese Q=input( 'Ingrese el Caudal Q: '); ' ); b=input('Ingrese b=input( 'Ingrese la Base b: '); '); z=input('Ingrese z=input('Ingrese el Talud de Canal: '); ' ); fm=1; i=0; A=(b+z*y)*y; T=b+2*z*y; f=A^3/T-Q^2/9.81; df=3*A^2-(2*z*A^3)/T^2; Pretty (f) Pretty (df) while abs(fm)>e i=i+1; fprintf('%2d' fprintf('%2d',i); ,i); fyi=subs(f,yi); dfy=subs(df,yi); y=yi-(fyi/dfy); fm=(y-yi)/(y+yi)*100;
disp([yi, fyi, abs(fm)]); yi=y; if i>20 if i>20 break end end disp(y);
EJECUCION DEL PROGRAMA
Realizamos la ejecución del programa yendo al Save and run optar presionar la tecla F5
o
Al real realiz izar ar la ejec ejecuc ució iónn de dell pr prog ogra rama ma nos nos apar aparec ecerá erá el sigui siguien ente te mensaje, mensaje, en el cual nos da para confirmas confirmas el cambio de dirección del arch archiv ivoo dond dondee est esta, para ara est esto optam ptamos os por la opció pciónn Chang hangee Directory
Introdduccion de los datos
El corrido del programa
Resultado de Yc = 2.4995
VERIFICACION DE RESULTADOS DEL PROGRAMA
Como podemos apreciar se tiene la igualdad del cálculo del tirante Y=2.4995
EJERCICIO Nº 2
La formul formulaa de Mannin Manningg para para un caudal caudal de secció secciónn trapez trapezoid oidal al esta esta dado por la siguiente ecuación: Q=S2(b+z*yy)5/3n(b+2*yz2+1)2/3
Donde: Q = Caudal (m 3/s) S = Pendiente (m/m) n = Coeficiente de rugosidad b = Base (m) y = Tirante normal (m) z = Talud Empleando el método de la Secante, determinar el valor del tirante normal “y” al centímetro, iniciando el proceso interativo con valores de “yo = 1.00 m” y “y 1 = 1.01 m”, si se sabe que la base b = 1.50 m, el talud z = 1.50, el coeficiente de rugosidad n = 0.014, la pendiente S = 0.002 m/m y el caudal que conduce el canal Q = 2.00 m 3/s
SOLUCIÓN:
CÓDIGO DE PROGRAMACIÓN EN MATLAB
Se opta por la aplicación de la programación mediante la el ingreso a: New M File Ventana de Editor Escribimos el programa clear;clc; syms y b z Q format short fprintf('====================================================\n' fprintf('====================================================\n' ); fprintf('= fprintf('= DETERMINACION DETERMINACI ON DEL TIRANTE NORMAL "Y" =\n' ); fprintf('= fprintf('= EN UN REGIMEN NORMAL (METODO DE LA SECANTE) =\n' ); fprintf('====================================================\n' fprintf('====================================================\n' ); fprintf('Ecuacion fprintf('Ecuacion de Manning \n' ); fprintf(' fprintf(' [S^(1/2)(((b+z*y)y)^(5/3)] [S^(1/2)(((b+z*y)y)^(5/ 3)] \n' ); fprintf(' fprintf(' Q= ----------------------------------------------- \n' ); fprintf(' fprintf(' n[(b+2*y*raiz(z^2+1))^ n[(b+2*y*ra iz(z^2+1))^(2/3) (2/3) \n' ); y0=input('Ingresa y0=input('Ingresa el valor de y0: ' ); y1=input('Ingresa y1=input('Ingresa el valor de y1: ' ); e =input('Ingresa =input( 'Ingresa el valor del error: ' ); fprintf('========= fprintf('========= DATOS HIDRAULICOS ========\n' ========\n'); ); Q=input('Ingrese Q=input('Ingrese el Caudal (m3/2) S=input('Ingrese S=input('Ingrese la Pendiente (m/m)
: ' ); : ' );
n=input('Ingrese n=input('Ingrese Coeficiente de rugosidad: ' ); b=input('Ingrese b=input('Ingrese Base de Canal (m) : ' ); z=input('Ingrese z=input('Ingrese el Talud de Canal : ' ); i=0; fm=1; f=(S^(1/2)*(((b+z*y)*y)^(5/3)))/(n*((b+2*y*(z^2+1)^(0.5)))^(2/3))-Q; while abs(fm)>e i=i+1; fprintf('%2d' fprintf('%2d',i); ,i); f0=subs(f,y0); f1=subs(f,y1); y2=y1-(y1-y0)*f1/(f1-f0); fm=abs(y2-y1)/(y2+y1)*100; disp([y2, fm]); y0=y1; y1=y2; if i>20 break end end fprintf('==== fprintf('==== RESULTADO DEL TIRANTE "Y" ====\n' ); fprintf('Y fprintf('Y = '); '); disp(y2);
EJECUCION DEL PROGRAMA
Realizamos la ejecución del programa yendo al Save and run optar presionar la tecla F5
o
Al real realiz izar ar la ejec ejecuc ució iónn de dell pr prog ogra rama ma nos nos apar aparec ecerá erá el sigui siguien ente te mensaje, mensaje, en el cual nos da para confirmas confirmas el cambio de dirección del arch archiv ivoo dond dondee est esta, para ara est esto optam ptamos os por la opció pciónn Chang hangee Directory
Nota: No siempre aparecerá este mensaje solo si estamos trabajando
de una carpeta en otros Nos vamos a la pestaña de Matlab
Introducimos los datos que nos da en el ejercicio
VERIFICACION DE RESULTADOS DEL PROGRAMA
Como podemos apreciar se tiene la igualdad del cálculo del tirante Y=0.5366
EJERCICIO Nº 3
El factor de fricción “f” de Darcy es utilizado para obtener la pérdida de carga en tuberías con flujo de fluido. Determinar el factor “f”, a partir de la ecuación de Colebroock – White y utilizando el método de Newton Newton – Raphso Raphsonn con un valor valor inicial inicial de “f” igual igual a 0.0 0.011 con una aproximación de │er│≤ 0.001%. Para el cálculo de “f” utilizar los siguientes datos: Caudal (Q) = 0.042 m3/s Rugosidad de tubería de PVC (Ks) = 1.5 x 10-6 m Diámetro (d) = 0.1524 m Viscosidad cinemática del agua (ν) = 1.14 x 10-6 m2/s La ecuación de Colebroock – White a utilizar está dado por:
Dónde: Re = Número de Reynolds (adimensional y constante) A = Área de la sección transversal (m2) V = Velocidad del flujo en la tubería (m/s) Formulas adicionales de la función y derivada de la ecuación de Colebroock – White: Si hacemos que:
Algoritmo de Newton – Raphson:
SOLUCIÓN: CÓDIGO DE PROGRAMACIÓN EN MATLAB
Se opta por la aplicación de la programación mediante la el ingreso a: New M File Ventana de Editor Escribimos el programa
clear;clc; syms Ks d v Q A Re V E1 x format short fprintf('==========================================================\n' fprintf('==========================================================\n' ); fprintf('= fprintf('= DETERMINACION DETERMINACIO N DEL FATOR DE FRICCION "f" =\n'); =\n' ); fprintf('= fprintf('= DE DARCY PARA LA PERDIDA DE CARGA EN TUBERIAS =\n'); =\n' ); fprintf('= fprintf('= UTILIZANDO EL METODO DE NEWTON - RAPHSON =\n'); =\n' ); fprintf('==========================================================\n' fprintf('==========================================================\n' ); fprintf('Funcion: fprintf('Funcion: g(x) = -2*log *((Ks/(3.71*d))+(2.51*x/Re))\n' ); fprintf('Derivada fprintf('Derivada g(y)= -2/(log(x)*((2.51/Re)/((Ks/(3.71*d)) +(2.51*x/Re))))-1\n' ); fprintf('Continuidad fprintf('Continuidad: : Q=V*A Numero de Reynolds: Re=V*d/v\n' ); fi=input('Ingrese fi=input('Ingrese el fi: ' ); e=input('Ingrese e=input('Ingrese el error aceptable: ' ); fprintf('========= fprintf('========= DATOS HIDRAULICOS ========\n' ========\n'); ); Q=input('Ingrese Q=input('Ingrese el Caudal Q (m3/s) (m3/s) : ' ); Ks=input('Rugosidad Ks=input('Rugosidad de Tuberia Ks (m) : ' ); d=input('Ingrese d=input('Ingrese el diametro d (m) : ' ); v=input('Viscosidad v=input('Viscosidad Cinematica del Agua v : '); ' ); fm=1; i=0; V=Q/(3.14*(d/2)^2); Re=V*d/v; f=-2*log10((Ks/(3.71*d))+(2.51*x/Re))-x; df=-2/(log(x)*((2.51/Re)/((Ks/(3.71*d))+(2.51*x/Re))))-1; xi=1/(fi)^(0.5); while abs(fm)>e i=i+1; fprintf('%2d' fprintf('%2d',i); ,i); fxi=subs(f,xi); dfx=subs(df,xi); x=xi-(fxi/dfx); fm=(x-xi)/(x+xi)*100; disp([xi, fxi, abs(fm)]); xi=x; if i>50 break end
end fc=(1/x)^2; fprintf('==== fprintf('==== FATOR DE FRICCION "f" ====\n' ); fprintf('f fprintf('f = '); '); disp(fc);
EJECUCION DEL PROGRAMA
Realizamos la ejecución del programa yendo al Save and run optar presionar la tecla F5
o
Al real realiz izar ar la ejec ejecuc ució iónn de dell pr prog ogra rama ma nos nos apar aparec ecerá erá el sigui siguien ente te mensaje, mensaje, en el cual nos da para confirmas confirmas el cambio de dirección del arch archiv ivoo dond dondee est esta, para ara est esto optam ptamos os por la opció pciónn Chang hangee Directory
Nota: No siempre aparecerá este mensaje solo si estamos trabajando
de una carpeta en otros Nos vamos a la pestaña de Matlab
Introducimos los datos que nos da en el ejercicio