Add files via upload
This commit is contained in:
commit
4a403e86af
71
batch.m
Normal file
71
batch.m
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
function [ F ] = batch( t,c )
|
||||||
|
|
||||||
|
cI = c(1);
|
||||||
|
cA = c(2);
|
||||||
|
cA_R = c(3);
|
||||||
|
cB = c(4);
|
||||||
|
cB_R = c(5);
|
||||||
|
|
||||||
|
%%
|
||||||
|
|
||||||
|
V = 15; % L
|
||||||
|
cA_0 = 3.5; % mol/L
|
||||||
|
pA = 0.90; % kg/L
|
||||||
|
pB = 0.94; % kg/L
|
||||||
|
MA = 0.104; % kg/mol
|
||||||
|
MB = 0.1; % kg/mol
|
||||||
|
|
||||||
|
mA_0 = cA_0*V*MA; % kg
|
||||||
|
VA_0 = mA_0/pA; % L
|
||||||
|
mB_0 = (V-VA_0)*pB; % kg
|
||||||
|
cB_0 = mB_0/(MB*V); % mol/L
|
||||||
|
|
||||||
|
f = 0.5;
|
||||||
|
C_eta = 25;
|
||||||
|
C_RD = 180;
|
||||||
|
|
||||||
|
kd = 6.77e-6; % s^(-1)
|
||||||
|
|
||||||
|
kp_AA_0 = 4.1e2; % L/(mol s)
|
||||||
|
kp_AD_0 = 2e11; % L/(mol s)
|
||||||
|
kt_AA_0 = 2.4e7; % L/(mol s)
|
||||||
|
kt_AD_0 = 5e8; % L/(mol s)
|
||||||
|
|
||||||
|
kp_BB_0 = 9.3e2; % L/(mol s)
|
||||||
|
kp_BD_0 = 2e11; % L/(mol s)
|
||||||
|
kt_BB_0 = 9.2e6; % L/(mol s)
|
||||||
|
kt_BD_0 = 5e8; % L/(mol s)
|
||||||
|
|
||||||
|
rA = 0.52;
|
||||||
|
rB = 0.46;
|
||||||
|
|
||||||
|
%%
|
||||||
|
|
||||||
|
wp = (MA*V*(cA_0-c(2))+MB*V*(cB_0-c(4)))/(mA_0+mB_0);
|
||||||
|
|
||||||
|
kp_AA = 1/(1/kp_AA_0 + exp(C_eta*wp)/kp_AD_0);
|
||||||
|
kt_AA = 1/(1/kt_AA_0 + exp(C_eta*wp)/kt_AD_0) + C_RD*kp_AA*(1-wp);
|
||||||
|
|
||||||
|
kp_BB = 1/(1/kp_BB_0 + exp(C_eta*wp)/kp_BD_0);
|
||||||
|
kt_BB = 1/(1/kt_BB_0 + exp(C_eta*wp)/kt_BD_0) + C_RD*kp_BB*(1-wp);
|
||||||
|
|
||||||
|
kp_AB = kp_AA/rA;
|
||||||
|
kt_AB = sqrt(kt_AA*kt_BB);
|
||||||
|
|
||||||
|
kp_BA = kp_BB/rB;
|
||||||
|
kt_BA = kt_AB;
|
||||||
|
|
||||||
|
%%
|
||||||
|
|
||||||
|
dcI = - kd*cI;
|
||||||
|
dcA = - kp_AA*cA*cA_R - kp_BA*cA*cB_R;
|
||||||
|
dcA_R = + 2*f*kd*cI*(cA/(cA+cB)) - kt_AA*cA_R^2 - kt_AB*cA_R*cB_R - kp_AB*cA_R*cB + kp_BA*cB_R*cA;
|
||||||
|
dcB = - kp_BB*cB*cB_R - kp_AB*cB*cA_R;
|
||||||
|
dcB_R = + 2*f*kd*cI*(cB/(cA+cB)) - kt_BB*cB_R^2 - kt_BA*cA_R*cB_R - kp_BA*cB_R*cA + kp_AB*cA_R*cB;
|
||||||
|
|
||||||
|
%%
|
||||||
|
|
||||||
|
F = [dcI; dcA; dcA_R; dcB; dcB_R];
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
112
cumulative.m
Normal file
112
cumulative.m
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
function [ D ] = cumulative( t,c )
|
||||||
|
|
||||||
|
%% data
|
||||||
|
|
||||||
|
V = 15; % L
|
||||||
|
cA_0 = 3.5; % mol/L
|
||||||
|
pA = 0.90; % kg/L
|
||||||
|
pB = 0.94; % kg/L
|
||||||
|
MA = 0.104; % kg/mol
|
||||||
|
MB = 0.1; % kg/mol
|
||||||
|
|
||||||
|
mA_0 = cA_0*V*MA; % kg
|
||||||
|
VA_0 = mA_0/pA; % L
|
||||||
|
mB_0 = (V-VA_0)*pB; % kg
|
||||||
|
cB_0 = mB_0/(MB*V); % mol/L
|
||||||
|
|
||||||
|
f = 0.5;
|
||||||
|
C_eta = 25;
|
||||||
|
C_RD = 180;
|
||||||
|
|
||||||
|
kd = 6.77e-6; % s^(-1)
|
||||||
|
|
||||||
|
kp_AA_0 = 4.1e2; % L/(mol s)
|
||||||
|
kp_AD_0 = 2e11; % L/(mol s)
|
||||||
|
kt_AA_0 = 2.4e7; % L/(mol s)
|
||||||
|
kt_AD_0 = 5e8; % L/(mol s)
|
||||||
|
|
||||||
|
kp_BB_0 = 9.3e2; % L/(mol s)
|
||||||
|
kp_BD_0 = 2e11; % L/(mol s)
|
||||||
|
kt_BB_0 = 9.2e6; % L/(mol s)
|
||||||
|
kt_BD_0 = 5e8; % L/(mol s)
|
||||||
|
|
||||||
|
rA = 0.52;
|
||||||
|
rB = 0.46;
|
||||||
|
|
||||||
|
C_t = 1000;
|
||||||
|
|
||||||
|
%%
|
||||||
|
|
||||||
|
h = length(t);
|
||||||
|
|
||||||
|
for t1=1:1:h;
|
||||||
|
|
||||||
|
c_A = c(t1,2);
|
||||||
|
c_A_dot = c(t1,3);
|
||||||
|
c_B = c(t1,4);
|
||||||
|
c_B_dot = c(t1,5);
|
||||||
|
c_R_dot = c_A_dot+c_B_dot;
|
||||||
|
|
||||||
|
wp = (MA*V*(cA_0-c_A)+MB*V*(cB_0-c_B))/(mA_0+mB_0);
|
||||||
|
|
||||||
|
kp_AA = 1/(1/kp_AA_0 + exp(C_eta*wp)/kp_AD_0);
|
||||||
|
kt_AA = 1/(1/kt_AA_0 + exp(C_eta*wp)/kt_AD_0) + C_RD*kp_AA*(1-wp);
|
||||||
|
|
||||||
|
kp_BB = 1/(1/kp_BB_0 + exp(C_eta*wp)/kp_BD_0);
|
||||||
|
kt_BB = 1/(1/kt_BB_0 + exp(C_eta*wp)/kt_BD_0) + C_RD*kp_BB*(1-wp);
|
||||||
|
|
||||||
|
kp_AB = kp_AA/rA;
|
||||||
|
kt_AB = sqrt(kt_AA*kt_BB);
|
||||||
|
|
||||||
|
kp_BA = kp_BB/rB;
|
||||||
|
kt_BA = kt_AB;
|
||||||
|
|
||||||
|
p_A = c_A_dot/c_R_dot;
|
||||||
|
p_B = c_B_dot/c_R_dot;
|
||||||
|
|
||||||
|
kpM = (kp_AA*p_A+kp_BA*p_B)*c_A+(kp_BB*p_B+kp_AB*p_A)*c_B;
|
||||||
|
kt = kt_AA*p_A^2+2*kt_AB*p_A*p_B+kt_BB*p_B^2;
|
||||||
|
|
||||||
|
ktc = kt/(1+C_t);
|
||||||
|
ktd = kt-ktc;
|
||||||
|
|
||||||
|
beta = ktc*c_R_dot/(kpM);
|
||||||
|
gamma = ktd*c_R_dot/(kpM);
|
||||||
|
alph = beta + gamma;
|
||||||
|
|
||||||
|
R_p_A = (kp_AA*p_A+kp_BA*p_B)*c_A*c_R_dot;
|
||||||
|
R_p_B = (kp_BB*p_B+kp_AB*p_A)*c_B*c_R_dot;
|
||||||
|
R_p = R_p_A+R_p_B;
|
||||||
|
|
||||||
|
dPdt(t1) = R_p*(gamma+beta/2);
|
||||||
|
|
||||||
|
n_N(t1) = 1/(gamma+beta/2);
|
||||||
|
n_W(t1) = 2*(gamma+1.5*beta)/alph^2;
|
||||||
|
S1(t1) = n_W(t1)/n_N(t1);
|
||||||
|
|
||||||
|
mu1(t1) = n_N(t1)*dPdt(t1);
|
||||||
|
mu2(t1) = n_W(t1)*mu1(t1);
|
||||||
|
|
||||||
|
F_A_1(t1) = (((rA*c_A+c_B)*c_A)/((rA*c_A+c_B)*c_A+(rB*c_B+c_A)*c_B));
|
||||||
|
F_A(t1) = (((rA*c_A+c_B)*c_A)/((rA*c_A+c_B)*c_A+(rB*c_B+c_A)*c_B))*dPdt(t1);
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
tspan = 0:1:length(t);
|
||||||
|
|
||||||
|
for t1=2:1:length(t)-1;
|
||||||
|
|
||||||
|
P_t(t1) = trapz(tspan(2:t1+1),dPdt(2:t1+1));
|
||||||
|
F_A_c(t1) = trapz(tspan(2:t1+1),F_A(2:t1+1))/P_t(t1);
|
||||||
|
mu1c(t1) = trapz(tspan(2:t1+1),mu1(2:t1+1))/P_t(t1);
|
||||||
|
mu2c(t1) = trapz(tspan(2:t1+1),mu2(2:t1+1))/P_t(t1);
|
||||||
|
n_N_c(t1) = mu1c(t1);
|
||||||
|
n_W_c(t1) = mu2c(t1)/mu1c(t1);
|
||||||
|
S2(t1) = mu2c(t1)/(mu1c(t1)^2);
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
D = [F_A_1(1:end-1)' F_A_c' n_N_c' n_W_c' S2' n_N(1:end-1)' n_W(1:end-1)' S1(1:end-1)'];
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
117
main.m
Normal file
117
main.m
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
%% Polymerization Reaction Model
|
||||||
|
% George Tancev
|
||||||
|
|
||||||
|
clear all; close all; clc;
|
||||||
|
|
||||||
|
%% data
|
||||||
|
|
||||||
|
V = 15; % L
|
||||||
|
cA_0 = 3.5; % mol/L
|
||||||
|
pA = 0.90; % kg/L
|
||||||
|
pB = 0.94; % kg/L
|
||||||
|
wI_0 = 0.01;
|
||||||
|
MA = 0.104; % kg/mol
|
||||||
|
MB = 0.1; % kg/mol
|
||||||
|
MI = 0.164; % kg/mol
|
||||||
|
|
||||||
|
mA_0 = cA_0*V*MA; % kg
|
||||||
|
VA_0 = mA_0/pA; % L
|
||||||
|
mB_0 = (V-VA_0)*pB; % kg
|
||||||
|
cB_0 = mB_0/(MB*V); % mol/L
|
||||||
|
|
||||||
|
X_A_0 = cA_0/(cA_0+cB_0);
|
||||||
|
|
||||||
|
mI_0 = wI_0*(mA_0+mB_0); % kg
|
||||||
|
cI_0 = mI_0/(MI*V); % mol/L
|
||||||
|
|
||||||
|
f = 0.5;
|
||||||
|
C_eta = 25;
|
||||||
|
C_RD = 180;
|
||||||
|
|
||||||
|
kd = 6.77e-6; % s^(-1)
|
||||||
|
|
||||||
|
kp_AA_0 = 4.1e2; % L/(mol s)
|
||||||
|
kp_AD_0 = 2e11; % L/(mol s)
|
||||||
|
kt_AA_0 = 2.4e7; % L/(mol s)
|
||||||
|
kt_AD_0 = 5e8; % L/(mol s)
|
||||||
|
|
||||||
|
kp_BB_0 = 9.3e2; % L/(mol s)
|
||||||
|
kp_BD_0 = 2e11; % L/(mol s)
|
||||||
|
kt_BB_0 = 9.2e6; % L/(mol s)
|
||||||
|
kt_BD_0 = 5e8; % L/(mol s)
|
||||||
|
|
||||||
|
rA = 0.52;
|
||||||
|
rB = 0.46;
|
||||||
|
|
||||||
|
kp_AB_0 = kp_AA_0/rA; % L/(mol s)
|
||||||
|
kp_BA_0 = kp_BB_0/rB; % L/(mol s)
|
||||||
|
|
||||||
|
%% Solving the system of ODEs
|
||||||
|
|
||||||
|
tspan = 1:1:7200; % s
|
||||||
|
[t,c] = ode15s(@(t,c)batch(t,c),tspan,[cI_0 cA_0 0 cB_0 0]);
|
||||||
|
t = t/3600;
|
||||||
|
|
||||||
|
%% a)
|
||||||
|
|
||||||
|
X_A = linspace(0,1,100);
|
||||||
|
F_A = ((rA-1).*X_A.^2+X_A)./((rA-2).*X_A.^2+2.*X_A+rB.*(1-X_A).^2);
|
||||||
|
DIAG = X_A;
|
||||||
|
|
||||||
|
x = 1-(c(:,2)+c(:,4))/(cA_0+cB_0);
|
||||||
|
|
||||||
|
F_A_c = cumulative( t,c );
|
||||||
|
|
||||||
|
figure(1);
|
||||||
|
subplot(3,2,1);
|
||||||
|
plot(X_A,F_A,X_A,DIAG,'--');
|
||||||
|
title('Mayo-Lewis diagram');
|
||||||
|
xlabel({'X_A'});
|
||||||
|
ylabel({'F_A'});
|
||||||
|
|
||||||
|
figure(1);
|
||||||
|
subplot(3,2,2);
|
||||||
|
plot(x(1:end-1),F_A_c(1:end,1),x(3:end),F_A_c(2:end,2));
|
||||||
|
axis([0 1 0 0.6])
|
||||||
|
title('cumulative composition distribution');
|
||||||
|
xlabel({'conversion','x'});
|
||||||
|
ylabel({'F_A, F_A^c'});
|
||||||
|
legend('F_A','F_A^c','Location','best');
|
||||||
|
|
||||||
|
%% b)
|
||||||
|
|
||||||
|
figure(1);
|
||||||
|
subplot(3,2,3);
|
||||||
|
plot(t,c(:,2),t,c(:,4));
|
||||||
|
axis([0 2 0 6]);
|
||||||
|
title('concentration profile');
|
||||||
|
xlabel({'time','h'});
|
||||||
|
ylabel({'concentration','mol / L'});
|
||||||
|
legend('styrene','methyl methacrylate','Location','best');
|
||||||
|
|
||||||
|
figure(1);
|
||||||
|
subplot(3,2,4);
|
||||||
|
plot(t,x);
|
||||||
|
title('conversion profile');
|
||||||
|
xlabel({'time','h'});
|
||||||
|
ylabel({'conversion','x'});
|
||||||
|
|
||||||
|
%% c)
|
||||||
|
|
||||||
|
figure(1);
|
||||||
|
subplot(3,2,5);
|
||||||
|
plot(x(3:end),F_A_c(2:end,3),x(3:end),F_A_c(2:end,4),x(3:end),F_A_c(2:end,6),x(3:end),F_A_c(2:end,7));
|
||||||
|
title({'cumulative and instantanenous', 'number/ weight average'});
|
||||||
|
xlabel({'conversion','x'});
|
||||||
|
ylabel({'n_N, n_W'});
|
||||||
|
legend('n^c_N','n^c_W','n_N','n_W','Location','best');
|
||||||
|
|
||||||
|
figure(1);
|
||||||
|
subplot(3,2,6);
|
||||||
|
plot(x(3:end),F_A_c(2:end,5),x(3:end),F_A_c(2:end,8));
|
||||||
|
title({'cumulative and instantaneous', 'polydispersity'});
|
||||||
|
xlabel({'conversion','x'});
|
||||||
|
ylabel({'\sigma'});
|
||||||
|
legend('\sigma^c','\sigma','Location','best');
|
||||||
|
|
||||||
|
%%
|
||||||
Loading…
Reference in New Issue
Block a user