Metodos Numericos-capitulo 5

PROYECTO DE ESTUDIO DE CASOS: ECUACIONES DIFERENCIALES PARCIALES CAPITULO 5 EJERCICIO 5.1: Flujo dinámico en un tanque

Views 76 Downloads 1 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PROYECTO DE ESTUDIO DE CASOS: ECUACIONES DIFERENCIALES PARCIALES CAPITULO 5

EJERCICIO 5.1: Flujo dinámico en un tanque puede ser modelado haciendo un balance de masa sobre el fluido en el tanque (Figura 5.10). La naturaleza del resultado ODE-IVP depende del modelo utilizado para la válvula de salida. Si una válvula lineal es

A = área sección transversal FIGURA 5.10: Flujo dinámico en un esquema de tanque

Asumido, entonces el modelo ODE es lineal. Una descripción más precisa de la válvula hace que el flujo de salida sea una función no lineal de la altura. Ambos casos se consideran en lo que sigue. Balance de masa: 𝑑(𝑚𝑎𝑠𝑎 𝑒𝑛 𝑡𝑎𝑛𝑞𝑢𝑒 𝑎 𝑐𝑢𝑎𝑙𝑞𝑢𝑖𝑒𝑟 𝑡𝑖𝑒𝑚𝑝𝑜) = 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 − 𝑠𝑎𝑙𝑖𝑑𝑎 + 𝑔𝑒𝑛𝑒𝑟𝑎𝑐𝑖𝑜𝑛 𝑑𝑡

Asuma un componente puro (único) de fluido de densidad constante: 𝑑𝜌𝑉 = 𝐹𝑒𝑛𝑡𝑟𝑎 − 𝐹𝑠𝑎𝑙𝑒 𝑑𝑡

Donde: 𝝆 = 𝒅𝒆𝒏𝒔𝒊𝒅𝒂𝒅 𝑽 = 𝒗𝒐𝒍𝒖𝒎𝒆𝒏

𝑭 = 𝒓𝒂𝒛𝒐𝒏 𝒅𝒆 𝒇𝒍𝒖𝒋𝒐 𝒅𝒆 𝒎𝒂𝒔𝒂 En términos de área transversal y altura, 𝑑𝜌𝐴ℎ = 𝐹𝑒𝑛𝑡𝑟𝑎 − 𝐹𝑠𝑎𝑙𝑒 𝑑𝑡

donde la densidad y el área son constantes. 𝑑ℎ 𝐹𝑒𝑛𝑡𝑟𝑎 − 𝐹𝑠𝑎𝑙𝑒 = 𝑑𝑡 𝜌𝐴

𝑭𝒆𝒏𝒕𝒓𝒂 puede ser: a. Directamente proporcional a h: 𝑭𝒔𝒂𝒍𝒆 = 𝑪, 𝒉 en cuyo caso la ecuación del modelo es: 𝑑ℎ 𝐹𝑒𝑛𝑡𝑟𝑎 − 𝐶, ℎ = 𝑑𝑡 𝜌𝐴 𝟏⁄ 𝟐

b. Una función de h, como 𝑭𝒔𝒂𝒍𝒆 = 𝑪, 𝒉

y el modelo se convierte en:

𝑑ℎ 𝐹𝑒𝑛𝑡𝑟𝑎 − 𝐶, √ℎ = 𝑑𝑡 𝜌𝐴

Los datos adicionales pertinentes son los siguientes:       

Diámetro del tanque = 𝟔 𝒇𝒕 Densidad del líquido = 𝟔𝟐. 𝟓 𝒍𝒃/𝒇𝒕𝟑 Constante de la válvula 𝑪𝒗 = 𝟐𝟓𝟎 𝒍𝒃/𝒉 − 𝒇𝒕 𝒑𝒂𝒓𝒂 𝒆𝒍 𝒄𝒂𝒔𝒐 𝒍𝒊𝒏𝒆𝒂𝒍. Constante de la Válvula 𝑪𝒗 = 𝟓𝟎𝟎 𝒍𝒃/𝒉 − 𝒇𝒕𝟎.𝟓 𝒑𝒂𝒓𝒂 𝒆𝒍 𝒄𝒂𝒔𝒐 𝒏𝒐 𝒍𝒊𝒏𝒆𝒂𝒍. Altura inicial = 𝟒 𝒇𝒕 𝑭𝒆𝒏𝒕𝒓𝒂 = 𝟏𝟎𝟎𝟎 𝒍𝒃/𝒉 (Flujo inicial de entrada en estado estacionario) 𝒕 = 𝒕𝒊𝒆𝒎𝒑𝒐(𝒉)

𝑭𝒆𝒏𝒕𝒓𝒂 sufre un cambio en el tiempo 0+ a 𝟏𝟒𝟎𝟎 𝒍𝒃/𝒉 hasta el tiempo 10h, después de lo cual retorna a 𝟏𝟎𝟎𝟎 𝒍𝒃/𝒉.

a. Resolver el lineal ODE (𝑭𝒔𝒂𝒍𝒆 𝒑𝒓𝒐𝒑𝒐𝒓𝒄𝒊𝒐𝒏𝒂𝒍 𝒂 𝒉) usando el método de Euler, empezar con una ∆𝒕 𝒅𝒆 𝟎. 𝟓 𝒚 𝒅𝒆𝒏𝒖𝒆𝒗𝒐 𝒄𝒐𝒏 ∆𝒕 = 𝟎. 𝟎𝟓 para determinar una ∆𝒕. Use IF function para generar los valores adecuados para 𝑭𝒆𝒏𝒕𝒓𝒂. 𝟏⁄ 𝟐 ).

b. Repita la parte a para el caso no lineal (𝑭𝒔𝒂𝒍𝒆 𝒑𝒓𝒐𝒑𝒐𝒓𝒄𝒊𝒐𝒏𝒂𝒍 𝒂 𝒉 Figura del problema:

Análisis y ecuaciones: 𝐹𝑒𝑛𝑡𝑟𝑎 puede ser: 

Directamente proporcional a h: 𝐹𝑠𝑎𝑙𝑒 = 𝐶, ℎ en cuyo caso la ecuación del modelo es: 𝑑ℎ 𝐹𝑒𝑛𝑡𝑟𝑎 − 𝐶, ℎ = 𝑑𝑡 𝜌𝐴



Una función de h, como 𝐹𝑠𝑎𝑙𝑒 = 𝐶, ℎ

1⁄ 2

y el modelo se convierte en:

𝑑ℎ 𝐹𝑒𝑛𝑡𝑟𝑎 − 𝐶, √ℎ = 𝑑𝑡 𝜌𝐴

Para (a): Código Matlab: % Ejercicio 5.1 libro chNumerical Methods for Chemical Engineer. clear all clc disp('**************************************************************') disp('* UNIVERSIDAD NACIONAL DE TRUJILLO *') disp('* FACULTAD DE INGENIERIA QUIMICA *') disp('* ESCUELA PROFESIONAL DE INGENIERA QUIMICA *') disp('*CURSO: METODOS NUMERICOS *') disp('*Libro: Numerical Methods for Chemical Engineer.- capitulo 5 *') disp('*DOCENTE: Dr. Guillermo Evangelista Benites *') disp('*Aumno: Javier Loredo Luna Victoria *') disp('**************************************************************') disp(' ') %% INGRESO DE DATOS1 xf=1; % valor al cual se desea conocer la func. h=0.5; xo=0; yo=4; %condicion inicial i=0; fprintf('\n\n\n\t\t\t\t MÉTODO DE RUNGE-KUTTA (RK-4)') fprintf('\n\t\t\t\t===================================\n') fprintf('\n\t\t\t\t\tpara dt = 0.5\n') fprintf('\t\t\t\t------------------------------\n') fprintf('\t\t\t \ti \t t(i) \tH(i) \n') fprintf('\t\t\t\t------------------------------\n') fprintf('\t\t\t \t%2d \t%6.4f \t%8.6f\n',i,xo,yo) N=(xf-xo)/h; if xf==0 f=inline('0*x+1000/(3.1416*62.5*9)250/(3.1416*62.5*9)*y','x','y'); elseif xf>0 & xf10 f=inline('0*x+1000/(3.1416*62.5*9)250/(3.1416*62.5*9)*y','x','y'); end x1=zeros(1,length(N)); x1(1,1)=xo; y1=zeros(1,length(N)); y1(1,1)=yo; while i0 & xf10 f=inline('0*x+1000/(3.1416*62.5*9)250/(3.1416*62.5*9)*y','x','y'); end x1=zeros(1,length(N)); x1(1,1)=xo; y1=zeros(1,length(N)); y1(1,1)=yo; while i0 & xf10 f=inline('0*x+1000/(3.1416*62.5*9)250/(3.1416*62.5*9)*y','x','y'); end x1=zeros(1,length(N)); x1(1,1)=xo; y1=zeros(1,length(N)); y1(1,1)=yo; while i