Sei sulla pagina 1di 3

Esercizio n.

4 – Bioreattore

In un bioreattore industriale viene condotta una reazione enzimatica complessa che è descritta dai
seguenti bilanci differenziali:
dRS
= −k f RS L + kr CS − keC RS + krec (1 − f R ) RTi + VS
dt
dRTi
= keR RS + keC CS − krec (1 − f R ) RTi − kdeg f R RTi
dt
dCS
= k f RS L − kr CS − keC CS
dt
dLTi
= keC CS + k fP LN avg − krec (1 − f L ) LTi − kdeg f R RTi
dt

I parametri e le costanti necessarie alla soluzione del problema sono i seguenti:

kf = 7.2e7; kr = 0.34; keR = 0.03; keC = 0.165;


krec = 0.058; kdeg = 0.0022; Vs = 0.013; fR = 0.5;
fL = 0.5; L = 10^-8; Navg = 6.02e23; kfP = 0;

Integrare il sistema di equazioni differenziali tra t=0 e t=50 tenendo conto che dal tempo 20 in
avanti, le condizioni divengono tali da ridurre drasticamente (di un fattore 100) la costante kf.
Tracciare un grafico unico che riporti le variazioni nel tempo delle 4 variabili ottenute per
integrazione delle equazioni differenziali.
Listato Matlab
%% Crescita batterica in un reattore batch
%-------------------------------------------------
clc
clear

%% integrazione
tspan =0:0.1:50;
y0 = [300;0;0;0]; % valori iniziali
[t , y]=ode45(@odefun,tspan,y0);

%% grafico
plot(t,y(:,1),t,y(:,2),t,y(:,3),t,y(:,4));
grid
legend('Rs','Rti','Cs','LTi')
xlabel('Tempo (min)')
ylabel('C(M)')

function dY = odefun(t,Y)
Rs = Y(1);
RTi = Y(2);
Cs = Y(3);
LTi = Y(4);
% Costanti
if t<=20
kf = 7.2e7;
else
kf=7.2e7/100;
end
kr = 0.34;
keR = 0.03;
keC = 0.165;
krec = 0.058;
kdeg = 0.0022;
Vs = 0.013;
fR = 0.5;
fL = 0.5;
L = 10^-8;
Navgo = 6.02e23;
kfP = 0;
% Equazioni differenziali
dRsdt = -kf*Rs*L+kr*Cs-keC*Rs+(krec*(1-fR)*RTi)+Vs;
dRTidt = keR*Rs+keC*Cs-(krec*(1-fR)*RTi)-kdeg*fR*RTi;
dCsdt = kf*L*Rs-kr*Cs-keC*Cs;
dLTidt = keC*Cs+kfP*L*Navgo-(krec*(1-fL)*LTi)-kdeg*fR*RTi;

dY=[dRsdt;dRTidt;dCsdt;dLTidt];
Output

Potrebbero piacerti anche