E1 Guia Raices
E1 Guia Raices
E1 Guia Raices
dS Vm S
=−
dt Ks + 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.
1
DEPARTAMENTO DE
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
Vm VL 1 1 S0
= S0 X − − 1+ ln (1 − X) (4)
Km Q Km KI KI
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
3
DEPARTAMENTO DE
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
4
DEPARTAMENTO DE
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
ρvD
Re =
µ
5
DEPARTAMENTO DE
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
6
DEPARTAMENTO DE
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
7
DEPARTAMENTO DE
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
69 end
70 root = xr ; fx = func ( xr , varargin {:}) ;
71
72 end
8
DEPARTAMENTO DE
9
DEPARTAMENTO DE
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
10
DEPARTAMENTO DE
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