Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

E1 Guia Raices

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

Guı́a de ejercicios N◦1: Raı́ces de ecuaciones


1. Ejercicios
Problema 1
(§ 5.11, Chapra) Las enzimas son moléculas orgánicas que actúan como catalizadores
de reacciones quı́mica. Estas consumen un sustrato (S) para producir un producto (P).
La cinética de Michaelis-Menten describe la velocidad de consumo de sustrato de una
enzima para producir cierto producto.

dS Vm S
=−
dt Ks + S

Donde S[M ] corresponde a la concentración de sustrato, Vm [M/d] y Ks [M ] es la cons-


tante de Michaelis-Menten. Las constantes Vm y Ks son propias de cada enzima. La
ecuación diferencial se puede resolver para una concentración inicial S0 [M ] en un tiempo
t = 0[d], lo que viene dar la siguiente ecuación:
 
S0
S = S0 − Vm t + Ks ln (1)
S

Desarrollar un programa en Matlab que genere un gráfico del sustrato (S) en función
del tiempo para distintos parámetros del modelo cinético de Michaelis-Menten mediante
el método de bisección y falsa posición. Tomar como valores por defecto S0 = 8[M ],
Vm = 0, 7[M/d] y Ks = 2, 5[M ].
Pista: Se debe realizar una iteración. Puede basar su razonamiento en la Figura 1.

Figura 1: Comportamiento del sustrato, producto y cantidad de enzima en el tiempo

1
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

Problema 2
(§ 5.17, Chapra) En el flujo de fluidos en tuberı́as, la perdida de energı́a debido a la
fricción se puede cuantificar mediante factor de Fricción de Fanning . Este número es
dependiente de los parámetros fı́sicos como el tamaño y rugosidad de la tuberı́a como
de las propiedades del fluido. Esto último se puede representar mediante un numero
dimensional, el Número de Reynolds, el cual es utilizado para caracterizar el régimen
de flujo de fluido, ya sea de laminar a turbulento.. Un modelo para predecir el factor
de fricción para rugosidades bajes es la ecuación de Karman.

1  p 
√ = 4log10 Re f − 0.4 (2)
f

La fórmula (2) es válida para régimen turbulento para valores de Reynolds entre 10.000
y 500.000. El rango de f es entre 0.001 y 0.01.
Desarrollar un programa en Matlab usando algún método cerrado para calcular
el valor de f para un rango de Reynolds entre 2500 y 1.000.000. Se espera un error
absoluto Es < 0.000005. Para valores de Reynolds bajos, el modelo no es adecuado, por
lo cual considere en su código los posibles errores para que su función no se detenga.
Pista: Utilizar funciones try y catch

Problema 3
Usted trabaja en una planta que produce cierto producto. Durante la ultima semana el
Departamento de Control de Calidad le ha informado que el producto no cumple con
los nuevos estándares. Se le ordena a usted estudiar la unidad donde se remueve cierto
contaminante orgánico (sustrato) de una solución, para ello se utiliza un reactor flujo
pistón (RFP) donde la enzima encargada de hidrolizar el contaminante se encuentra
inmovilizada en un soporte el cual rellena el reactor. El soporte posee cierta porosidad
o ”huecos”por donde fluye la solución.
El reactor fue diseñado por su antecesor, el cual solo considero una cinética de consumo
de sustrato de Michaelis-Menten sin inhibición por productos, de acuerdo a la siguiente
ecuación de diseño.

Vm VL S0
= X − ln (1 − X) (3)
Km Q Km

Usted, dudoso del trabajo de su antecesor, toma en cuenta la inhibición por productos,
lo que implica que los productos de la hidrólisis disminuye la actividad de la enzima.
Usted obtiene el siguiente modelo.

2
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

   
Vm VL 1 1 S0
= S0 X − − 1+ ln (1 − X) (4)
Km Q Km KI KI

Donde Q[L/min] es el caudal que entra al reactor, S0 [M ] es la contracción del sustrato


en la solución antes de pasar por el proceso, Vm [M/min] es la velocidad máxima y se
calcula como:
 
1−ε
Vm = k2 · Ae · ρsop
ε

k2 es un parámetro cinético de la enzima, Ae es la actividad de la enzima dada por el


fabricante, ρsop es la densidad del soporte y ε es la porosidad del soporte. Por otro lado,
VL es el volumen de liquido dentro del reactor y se calcula como

VL = L · A · ε

Donde L es el largo del reactor, A es el área del reactor. La formula anterior hace
referencia a la porosidad ε = VL /V . Por ultimo X corresponde a la conversión del
sustrato, y se expresa como:

S0 − S
X=
S0

La solución entra al reactor con una concentración de sustrato de 233[mM ]. El estándar


anterior solicitaba una concentración menor a 200[mM ] de sustrato a la salida del
reactor. Para cumplir el nuevo estándar se requiere una concentración menor a 100[mM ]
a la salida.
Desarrolle un programa en Matlab utilizando el método modificado de la secante y
que lo ayude a:
Evaluar el modelo de su antecesor (3) y su modelo (4) para concluir si se estaba
cumpliendo el estándar antiguo y evaluar si se debe pagar indemnización.
Definir un nuevo caudal para ası́ cumplir el nuevo estándar sin la necesidad de
comprar un nuevo reactor. Usted se impone un margen del 95 % de la nueva
normativa.
A partir de los análisis del laboratorio y la ficha técnica del reactor se tienen los si-
guientes datos ordenados en Tablas 1,2 y 3.

3
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

Tabla 1: Parámetros del reactor

Parámetro Unidad Valor Descripción


Q [L/min] 54 Caudal que entra al RFP
ρsop [g/cm3 ] 0,164 Densidad soporte
ε - 0,6 Porosidad del soporte
D [cm] 75 Diámetro del reactor
L [cm] 2000 Largo del reactor

Tabla 2: Parámetros del de la solucion

Parámetro Unidad Valor Descripción


S0 [mM] 233 Concentración inicial
Snew [mM] 200 Estándar antiguo
Snew [mM] 100 Estándar nuevo

Tabla 3: Parámetros cinéticos de la enzima

Parámetro Unidad Valor Descripción


Ae [UI/g] 300 Actividad Enzimática
k2 [mmol/min UI] 1, 5854 · 10−5 Actividad especifica
Km [mM] 106,0 Constante de saturación
KI [mM] 237,0 Constante de Inhibición

Problema 4
Su tı́o del campo invita a tu familia a pasar el fin de semana. Durante el almuerzo le
comenta que compró una bomba de agua de 300[W] efectivos muy barata a una persona
que dijo que se cayo de un camión. Su tı́o tiene agua en una quebrada a unos metros
abajo de su casa y quiere extraer agua para regar las plantas y darse una ducha.
Para ayudar a su tı́o, usted realiza un balance de energı́a mecánica al sistema para
evaluar si la bomba entrega un caudal bueno a la entrada de la casa.

∆p 1
+ g∆h + ∆v 2 = −Ev − WH
ρ 2

Donde p[P a] es la presión, h[m] es la altura, v[m/s] es la velocidad, Ev [W ] son las


perdidas por fricción de todo el sistema y WH [W ] la potencia suministrada por la bomba
al sistema. g es la aceleración de gravedad (9, 81[m/s2 ]). Como la casa se encuentra
a 20[m] sobre el nivel del agua, el sistema trabaja a presión atmosférica, y la única
velocidad existente es la salida de la ducha, el balance de energı́a mecánica queda
como:

4
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

Figura 2: Esquema de la quebrada en el terreno de tu tı́o

v2
9, 81 · h + = −Ev − WH (5)
2
Tomando en cuenta en largo de la tuberı́a y los accesorios como válvulas y codos se
obtienes la siguiente expresión:

v2
   
L
Ev = f· + 400 + 1, 78 (6)
2 D

Donde L es el largo de la tuberia, en este 20[m], f corresponde al factor de fricción de


Fanning el cual se calcula mediante la siguiente ecuación:
 
1 (ε/D) 2, 51
√ = −2log10 + √ (7)
f 3, 7 Re f

ε es la rugosidad de la tuberı́a, en este caso su tı́o compró tuberı́as de PVC de rugosidad


1, 5 · 10−6 [m] y 29, 6[mm] de diámetro interno (D). El numero de Reynolds se calcula
como:

ρvD
Re =
µ

5
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

Donde µ es la viscosidad del fluido, en este caso la viscosidad del agua es 0, 001[P a · s],
y ρ es la densidad del agua, la cual es de 1000[kg/m3 ]. Por ultimo, el caudal se puede
calcular como el producto de la velocidad del flujo por el area de flujo (A).

πD2
Q=v·A=v
4
Desarrolle una función en Matlab para calcular el caudal en la casa de tu tio, tomando
como variable de entrada la potencia de la bomba en caso de que la bomba no cumpla
con lo requerido. Tome como parámetros por defecto todos los demás y utilice el método
de Newtonr-Raphson en la para obtener f de la expresión (7). Trabaje todo en Sistema
Internacional de Unidades, solo hasta evaluar el caudal.
Pista: obtener una ecuación que relacione la velocidad v con el factor de fricción f
mediante (5) y (6). Dar un valor de Re inicial y mediante iteración obtener el caudal.

2. Anexos
Listing 1: Bisection, Codes/incsearch.m.
1 function xb = incsearch ( func , xmin , xmax , ns )
2 % incsearch : incremental search root locator
3 % xb = incsearch ( func , xmin , xmax , ns ) :
4 % finds brackets of x that contain sign changes
5 % of a function on an interval
6 % input :
7 % func = name of function
8 % xmin , xmax = endpoints of interval
9 % ns = number of subintervals ( default = 50)
10 % output :
11 % xb (k ,1) is the lower bound of the kth sign change
12 % xb (k ,2) is the upper bound of the kth sign change
13 % If no brackets found , xb = [].
14
15 % % Default values
16 if nargin < 3 , error ( ’ at least 3 arguments required ’) , end
17 if nargin < 4 , ns = 50; end %if ns blank set to 50
18
19 % % Incremental search
20 x = linspace ( xmin , xmax , ns ) ;
21 f = func ( x ) ;
22
23 % Graphics ( Only for visualizing )
24 % hold on
25 % plot ( linspace ( xmin , xmax ) , func ( linspace ( xmin , xmax ) ) )
26 % yline (0)
27

28 nb = 0; xb = []; %xb is null unless sign change detected

6
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

29 for k = 1: length ( x ) -1
30 if sign ( f ( k ) ) ~= sign ( f ( k +1) ) %check for sign change
31 nb = nb + 1;
32 xb ( nb ,1) = x ( k ) ;
33 xb ( nb ,2) = x ( k +1) ;
34 end
35 end
36
37 % plot ( xb (: ,1) ,0 , ’x ’) , plot ( xb (: ,2) ,0 , ’x ’) ; ( Only for visualizing )
38
39 if isempty ( xb ) %display that no brackets were found
40 disp ( ’ no brackets found ’)
41 disp ( ’ check interval or increase ns ’)
42 else
43 disp ( ’ number of brackets : ’) %display number of brackets
44 disp ( nb )
45 end
46
47 end

Listing 2: Bisection, Codes/bisect.m.


1 function [ root , fx , ea , iter ]= bisect ( func , xl , xu , es , maxit , varargin )
2 % bisect : root location zeroes
3 % [ root , fx , ea , iter ]= bisect ( func , xl , xu , es , maxit , p1 , p2 ,...) :
4 % uses bisection method to find the root of func
5 % input :
6 % func = name of function
7 % xl , xu = lower and upper guesses
8 % es = desired relative error ( default = 0.0001 %)
9 % maxit = maximum allowable iterations ( default = 50)
10 % p1 , p2 ,... = additional parameters used by func
11 % output :
12 % root = real root
13 % fx = function value at root
14 % ea = approximate relative error ( %)
15 % iter = number of iterations
16
17 % % Default values
18 if nargin <3 , error ( ’ at least 3 input arguments required ’) , end
19 test = func ( xl , varargin {:}) * func ( xu , varargin {:}) ;
20 if test >0 , error ( ’ no sign change ’) , end
21 if nargin <4|| isempty ( es ) , es =0.0001; end
22 if nargin <5|| isempty ( maxit ) , maxit =50; end
23
24 % % Bisection method
25

26 % Plotting function ( Only for visualizing )


27 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
28 % dif = abs ( xl - xu ) *0.1;
29 % x = linspace ( xl - dif , xu + dif ,50) ;
30 % y = func (x , varargin {:}) ;

7
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

31 %
32 % hold on
33 % xlim ([ xl - dif xu + dif ]) ;
34 % plot (x , y ) ;
35 % x1 = xline ( xl , ’ - - ’) ; x2 = xline ( xu , ’ - - ’) ; plot ([ xl xu ] , zeros (1 ,2) ,’xr
’) ;
36 % yline (0) ;
37 % drawnow
38 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39
40 iter = 0; xr = xl ; ea = 100;
41 while true
42 % pause (1) ;
43
44 xr_old = xr ;
45 xr = ( xl + xu ) /2;
46 iter = iter + 1;
47 if xr ~= 0
48 ea = abs (( xr - xr_old ) / xr ) * 100;
49 end
50

51 test = func ( xl , varargin {:}) * func ( xr , varargin {:}) ;


52 if test < 0
53 xu = xr ;
54 % set ( x2 , ’ Value ’ , xu ) % Only for visualizing
55 elseif test > 0
56 xl = xr ;
57 % set ( x1 , ’ Value ’ , xl ) % Only for visualizing
58 else
59 ea = 0;
60 end
61
62 if ea <= es || iter >= maxit
63 break
64 end
65
66 % plot ([ xl xu ] , zeros (1 ,2) ,’xr ’) % Only for visualizing
67 % drawnow % Only for visualizing
68

69 end
70 root = xr ; fx = func ( xr , varargin {:}) ;
71
72 end

Listing 3: Bisection, Codes/falsepos.m.


1 function [ root , fx , ea , iter ]= falsepos ( func , xl , xu , es , maxit , varargin )
2 % bisect : root location zeroes
3 % [ root , fx , ea , iter ]= bisect ( func , xl , xu , es , maxit , p1 , p2 ,...) :
4 % uses bisection method to find the root of func
5 % input :
6 % func = name of function

8
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

7 % xl , xu = lower and upper guesses


8 % es = desired relative error ( default = 0.0001 %)
9 % maxit = maximum allowable iterations ( default = 50)
10 % p1 , p2 ,... = additional parameters used by func
11 % output :
12 % root = real root
13 % fx = function value at root
14 % ea = approximate relative error ( %)
15 % iter = number of iterations
16
17 % % Default values
18 if nargin <3 , error ( ’ at least 3 input arguments required ’) , end
19 test = func ( xl , varargin {:}) * func ( xu , varargin {:}) ;
20 if test >0 , error ( ’ no sign change ’) , end
21 if nargin <4|| isempty ( es ) , es =0.0001; end
22 if nargin <5|| isempty ( maxit ) , maxit =50; end
23
24 % % False Position method
25 iter = 0; xr = xl ; ea = 100;
26 while true
27 xr_old = xr ;
28 xr = xu - ( func ( xu , varargin {:}) *( xl - xu ) /( func ( xl , varargin {:}) - func
( xu , varargin {:}) ) ) ;
29 iter = iter + 1;
30 if xr ~= 0
31 ea = abs (( xr - xr_old ) / xr ) * 100;
32 end
33
34 test = func ( xl , varargin {:}) * func ( xr , varargin {:}) ;
35 if test < 0
36 xu = xr ;
37 elseif test > 0
38 xl = xr ;
39 else
40 ea = 0;
41 end
42
43 if ea <= es || iter >= maxit
44 break
45 end
46 end
47 root = xr ; fx = func ( xr , varargin {:}) ;
48
49 end

Listing 4: Bisection, Codes/newtraph.m.


1 function [ root , ea , iter ] = newtraph ( func , dfunc , xr , es , maxit , varargin )
2 % Obtencion de raices mediante el metodo Newton - Raphson
3 % [ root , ea , iter ]= newtraph ( func , dfunc , xr , es , maxit , p1 , p2 ,...) :
4 %
5 % input :

9
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

6 % func = nombre de la funcion anonima


7 % dfunc = derivada de la funcion anonima
8 % xr = valor inicial
9 % es = error relativo deseado ( default = 0.0001 %)
10 % maxit = numero maximo de iteraciones ( default = 50)
11 % p1 , p2 ,... = parametros de la funcion
12 % output :
13 % root = raiz de la funcion
14 % ea = error relativo aproximado ( %)
15 % iter = numero de iteraciones
16 % % parametros por defecto
17 if nargin <3 , error ( ’ at least 3 input arguments required ’) , end
18 if nargin <4|| isempty ( es ) , es =0.0001; end
19 if nargin <5|| isempty ( maxit ) , maxit =50; end
20

21 % % Calculos
22 iter = 0;
23 ea = 0;
24 % fprintf ( ’ %24 s \n ’ , ’ Newton - Raphson ’)
25 % fprintf ( ’ %8 s %8s %8s \n ’ , ’ iter ’ , ’ xr ’ , ’ ea ’)
26 % fprintf ( ’ %8. f %8.4 f %8.4 e \n ’ , iter , xr , ea )
27 while (1)
28 xrold = xr ;
29 xr = xr - func ( xr , varargin {:}) / dfunc ( xr , varargin {:}) ;
30 iter = iter + 1;
31 if xr ~= 0
32 ea = abs (( xr - xrold ) / xr ) * 100;
33 end
34 % fprintf ( ’ %8. f %8.4 f %8.4 e \n ’ , iter , xr , ea )
35 if ea <= es || iter >= maxit
36 break
37 end
38 end
39
40 root = xr ;
41 end

Listing 5: Bisection, Codes/secant.m.


1 function [ root , ea , iter ]= secant_t ( func , xr , dx , es , maxit , varargin )
2 % newtraph : Newton - Raphson root location zeroes
3 % [ root , ea , iter ]= newtraph ( func , dfunc , xr , es , maxit , p1 , p2 ,...) :
4 % uses Newton - Raphson method to find the root of func
5 % input :
6 % func = name of function
7 % dfunc = name of derivative of function
8 % xr = initial guess
9 % es = desired relative error ( default = 0.0001 %)
10 % maxit = maximum allowable iterations ( default = 50)
11 % p1 , p2 ,... = additional parameters used by function
12 % output :
13 % root = real root

10
DEPARTAMENTO DE

Métodos de Cálculo en Ingenierı́a INGENIERÍA


L. Henrı́quez - M. Villegas
QUÍMICA
1er Semestre 2021 UNIVERSIDAD DE SANTIAGO DE CHILE

14 % ea = approximate relative error ( %)


15 % iter = number of iterations
16

17 %% Paramtros por defecto


18 if nargin <2 , error ( ’ at least 3 input arguments required ’) , end
19 if nargin <3|| isempty ( dx ) , dx =0.001; end
20 if nargin <4|| isempty ( es ) , es =0.0001; end
21 if nargin <5|| isempty ( maxit ) , maxit =50; end
22

23 % % Calculos
24 % % Calculos
25 iter = 0;
26 ea = 0;
27 % fprintf ( ’ %24 s \n ’ , ’ Modified Secant ’)
28 % fprintf ( ’ %8 s %8s %8s \n ’ , ’ iter ’ , ’ xr ’ , ’ ea ’)
29 % fprintf ( ’ %8. f %8.4 f %8.4 e \n ’ , iter , xr , ea )
30 while (1)
31 xrold = xr ;
32 xr = xr - ( dx * func ( xr , varargin {:}) ) /( func ( xr + dx , varargin {:}) - func (
xr , varargin {:}) ) ;
33 iter = iter + 1;
34 if xr ~= 0
35 ea = abs (( xr - xrold ) / xr ) * 100;
36 end
37 % fprintf ( ’ %8. f %8.4 f %8.4 e \n ’ , iter , xr , ea )
38 if ea <= es || iter >= maxit
39 break
40 end
41 end
42
43 root = xr ;
44
45 end

11

También podría gustarte