苯乙烯自由基聚合与丙交酯开环聚合的MATLAB模拟
苯乙烯自由基聚合与丙交酯开环聚合的MATLAB模拟
1.苯乙烯自由基聚合

2.丙交酯开环聚合

2.MATLAB代码
clc;close all;clear all;warning off;%清除变量%% 自由基聚合 - 苯乙烯本体聚合仿真
%% 参数设置(可根据文献修改)
M0 = 8; % 单体初始浓度 mol/L (苯乙烯本体约8~9 mol/L)
I0 = 0.01; % 引发剂浓度 mol/L (如AIBN)
f = 0.6; % 引发效率
kd = 1.5e-5; % 引发剂分解速率常数 1/s (60°C 附近)
kp = 250; % 生长速率常数 L/(mol·s)
kt = 2e7; % 终止速率常数 L/(mol·s)%% 时间设置
tspan = [0 20000]; % 模拟时间(秒)%% 微分方程求解
odefun = @(t,y) [-kd * y(1); % d[I]/dt-kp * y(2) * sqrt(2 * f * kd * y(1) / kt) % d[M]/dt
];y0 = [I0; M0]; % 初值 [I] [M]
[t, y] = ode45(odefun, tspan, y0);I = y(:,1);
M = y(:,2);
Conversion = (M0 - M) / M0; % 单体转化率%% 平均聚合度 (Xn) 及分子量 (Mn)
Rdot = sqrt(2*f*kd*I./kt); % 自由基稳态浓度
Rp = kp * M .* Rdot; % 传播速率
Rt = kt * Rdot.^2; % 终止速率
Xn = Rp ./ Rt; % 数均聚合度
Mn = Xn * 104; % 苯乙烯重复单元分子量 104 g/mol%% 绘图
figure;
subplot(3,1,1);
plot(t/60, Conversion,'r','LineWidth',2);
xlabel('时间 (min)'); ylabel('转化率 X');
title('苯乙烯本体聚合转化率曲线');subplot(3,1,2);
plot(t/60, Xn,'b','LineWidth',2);
xlabel('时间 (min)'); ylabel('X_n');
title('数均聚合度 X_n');subplot(3,1,3);
plot(t/60, Mn/1000,'k','LineWidth',2);
xlabel('时间 (min)'); ylabel('M_n (kg/mol)');
title('数均分子量 M_n');%% 丙交酯开环聚合动力学模拟 (Sn(Oct)2/ROH)
clear; clc;%% 参数设置(可根据实验条件修改)
M0 = 3.5; % 单体初始浓度 mol/L (熔融R-OPLA常见 2~6 mol/L)
Pstar = 0.01; % 活性链端浓度 mol/L (由引发剂决定)
kp = 0.25; % 传播速率常数 L/(mol*s) (120~160°C 范围)
Munit = 144; % 重复单元摩尔质量 g/mol (lactide)
Minit = 300; % 引发剂分子量 (如苯乙醇 ≈ 122, PEG 等请改)
tspan = [0 20000]; % 反应时间(s)%% 动力学微分方程
odefun = @(t,M) -kp * M * Pstar; % d[M]/dt%% 求解 ODE
[t, M] = ode45(odefun, tspan, M0);%% 计算转化率
X = (M0 - M) ./ M0;%% 计算数均聚合度、数均分子量、分布指数
DPn = (M0./Pstar) .* X;
Mn = DPn .* Munit + Minit;
D = 1 + 1./DPn; % Carothers 分布规律%% 绘图
figure;subplot(3,1,1)
plot(t/60, X, 'r','LineWidth',2);
xlabel('时间 (min)'); ylabel('转化率 X');
title('丙交酯开环聚合 转化率-时间 曲线');subplot(3,1,2)
plot(X, Mn/1000, 'b','LineWidth',2);
xlabel('转化率 X'); ylabel('M_n (kg/mol)');
title('数均分子量 M_n 随转化率变化');subplot(3,1,3)
plot(X, D, 'k','LineWidth',2);
xlabel('转化率 X'); ylabel('Đ = M_w/M_n');
title('分子量分布指数 Đ');4.程序结果


