430 likes | 675 Views
Selected Differential System Examples from Lectures. w i. V = Ah. w o. Liquid Storage Tank. Standing assumptions Constant liquid density r Constant cross-sectional area A Other possible assumptions Steady-state operation Outlet flow rate w 0 known function of liquid level h.
E N D
wi V = Ah wo Liquid Storage Tank • Standing assumptions • Constant liquid density r • Constant cross-sectional area A • Other possible assumptions • Steady-state operation • Outlet flow rate w0 known function of liquid level h
MassBalance • Mass balance on tank • Steady-state operation: • Valve characteristics • Linear ODE model • Nonlinear ODE model
Stirred Tank Chemical Reactor • Overall mass balance • Component balance • Assumptions • Pure reactant A in feed stream • Perfect mixing • Constant liquid volume • Constant physical properties (r, k) • Isothermal operation
qi, CAi qo, CAo CA(z) Dz z Plug-Flow Chemical Reactor • Assumptions • Pure reactant A in feed stream • Perfect plug flow • Steady-state operation • Isothermal operation • Constant physical properties (r, k)
qi, CAi qo, CAo CA(z) Dz z Plug-Flow Chemical Reactor cont. • Overall mass balance • Component balance
Exit Gas Flow Fresh Media Feed (substrates) Agitator Exit Liquid Flow (cells & products) Continuous Biochemical Reactor
Cell Growth Modeling • Specific growth rate • Yield coefficients • Biomass/substrate: YX/S = -DX/DS • Product/substrate: YP/S = -DP/DS • Product/biomass: YP/X = DP/DX • Assumed to be constant • Substrate limited growth • S = concentration of rate limiting substrate • Ks = saturation constant • mm = maximum specific growth rate (achieved when S >> Ks)
Assumptions Sterile feed Constant volume Perfect mixing Constant temperature and pH Single rate limiting nutrient Constant yields Negligible cell death Continuous Bioreactor Model • Product formation rates • Empirically related to specific growth rate • Growth associated products: q = YP/Xm • Nongrowth associated products: q = b • Mixed growth associated products: q = YP/Xm+b
Mass Balance Equations • Cell mass • VR = reactor volume • F = volumetric flow rate • D = F/VR = dilution rate • Product • Substrate • S0 = feed concentration of rate limiting substrate
Exothermic CSTR • Scalar representation • Vector representation
Isothermal Batch Reactor • CSTR model: A B C • Eigenvalue analysis: k1 = 1, k2 = 2 • Linear ODE solution:
Isothermal Batch Reactor cont. • Linear ODE solution: • Apply initial conditions: • Formulate matrix problem: • Solution:
Isothermal CSTR • Nonlinear ODE model • Find steady-state point (q = 2, V = 2, Caf = 2, k = 0.5)
Isothermal CSTR cont. • Linearize about steady-state point: • This linear ODE is an approximation to the original nonlinear ODE
Continuous Bioreactor • Cell mass balance • Product mass balance • Substrate mass balance
Steady-State Solutions • Simplified model equations • Steady-state equations • Two steady-state points
Model Linearization • Biomass concentration equation • Substrate concentration equation • Linear model structure:
Non-Trivial Steady State • Parameter values • KS = 1.2 g/L, mm= 0.48 h-1, YX/S = 0.4 g/g • D = 0.15 h-1, S0 = 20 g/L • Steady-state concentrations • Linear model coefficients (units h-1)
Stability Analysis • Matrix representation • Eigenvalues (units h-1) • Conclusion • Non-trivial steady state is asymptotically stable • Result holds locally near the steady state
Washout Steady State • Steady state: • Linear model coefficients (units h-1) • Eigenvalues (units h) • Conclusion • Washout steady state is unstable • Suggests that non-trivial steady state is globally stable
Gaussian Quadrature Example • Analytical solution • Variable transformation • Approximate solution • Approximation error = 4x10-3%
qi, CAi qo, CAo CA(z) Dz z Plug-Flow Reactor Example 0 L
Plug-Flow Reactor Example cont. • Analytical solution • Numerical solution • Convergence formula • Convergence of numerical solution
Matlab Example • Isothermal CSTR model • Model parameters: q = 2, V = 2, Caf = 2, k = 0.5 • Initial condition: CA(0) = 2 • Backward Euler formula • Algorithm parameters: h = 0.01, N = 200
Matlab Implementation: iso_cstr_euler.m h = 0.01; N = 200; Cao = 2; q = 2; V = 2; Caf = 2; k = 0.5; t(1) = 0; Ca(1) = Cao; for i=1:N t(i+1) = t(i)+h; f = q/V*(Caf-Ca(i))-2*k*Ca(i)^2; Ca(i+1)= Ca(i)+h*f; end plot(t,Ca) ylabel('Ca (g/L)') xlabel('Time (min)') axis([0,2,0.75,2.25])
Euler Solution >> iso_cstr_euler
Solution with Matlab Function function f = iso_cstr(x) Cao = 2; q = 2; V = 2; Caf = 2; k = 0.5; Ca = x(1); f(1) = q/V*(Caf-Ca)-2*k*Ca^2; >> xss = fsolve(@iso_cstr,2) xss = 1.0000 >> df = @(t,x) iso_cstr(x); >> [t,x] = ode23(df,[0,2],2); >> plot(t,x) >> ylabel('Ca (g/L)') >> xlabel('Time (min)') >> axis([0,2,0.75,2.25])
CSTR Example • Van de Vusse reaction • CSTR model • Forward Euler
Stiff System Example • CSTR model: A B C • Homogeneous system: • Eigenvalue analysis: q/V = 1, k1 = 1, k2 = 200
Explicit Solution • Forward Euler • First iterative equation • Second iterative equation
Implicit Solution • Backward Euler • First iterative equation • Second iterative equation
Matlab Solution function f = stiff_cstr(x) Cai = 2; qV = 1; k1 = 1; k2 = 200; Ca = x(1); Cb = x(2); f(1) = qV*(Cai-Ca)-k1*Ca; f(2) = -qV*Cb+k1*Ca-k2*Cb; f = f'; >> xo = fsolve(@stiff_cstr,[1 1]) xo = 1.0000 0.0050 >> df = @(t,x) stiff_cstr(x); >> [t,x] = ode23(df,[0,2],[2 0]); >> [ts,xs] = ode23s(df,[0,2],[2 0]); >> size(t) ans = 173 1 >> size(ts) ans = 30 1
Matlab Solution cont. >> subplot(2,1,1) >> plot(t,x(:,1)) >> hold Current plot held >> plot(ts,xs(:,1),'r') >> ylabel('Ca (g/L)') >> ylabel('Ca (g/L)') >> xlabel('Time (min)') >> legend('ode23','ode23s') >> subplot(2,1,2) >> plot(t,x(:,2)) >> hold Current plot held >> plot(ts,xs(:,2),'r') >> ylabel('Cb (g/L)') >> xlabel('Time (min)') >> legend('ode23','ode23s')
V, y Vapor F, xF Feed Q Heat H L, x Liquid Binary Flash Unit • Schematic diagram • Vapor-liquid equilibrium • Assumptions • Saturated liquid feed • Perfect mixing • Negligible heat losses • Negligible vapor holdup • Negligible energy accumulation • Constant heat of vaporization • Constant relative volatility
Model Formulation • Mass balance • Component balance
Model Formulation cont. • Steady-state energy balance • Index 0 DAE model
Binary Flash Unit Revisited • DAE model • Parameter values: H = 5, F = 10, xF = 0.5, V = 2, a = 10 MATLAB DAE Solution Codes
binary_flash.m function f = binary_flash(x) H = 5; F = 10; xf = 0.5; V = 2; alpha = 10; xv = x(1); yv = x(2); f(1) = F/H*(xf-xv)-V/H*(yv-xv); f(2) = yv-alpha*xv/(1+(alpha-1)*xv); f = f';
Matlab Commands Results for V = 2 >> f = @(x) binary_flash(x); >> xss = fsolve(f,[1 1],[]) xss = 0.4068 0.8727 >> df = @(t,x) binary_flash(x); >> M = [1 0; 0 0]; >> options=odeset('Mass',M); >> [t1,y1]=ode15s(df,[0,10],xss,options); Change V = 1 >> [t2,y2]=ode15s(df,[0,10],xss,options);