查看原文
其他

化工动力学计算示例

hgsjclub 化工研学社 2023-10-08

化学反应是生成新物质的过程,包括旧键断裂和新键生成两个过程,是实现从原料到产品的必经之路。纵观合成氨工艺的变革不难看出,化学反应是化工生产操作弹性的核心所在,而该过程的发生必然离不开一个特定的场所——反应器,其结构参数和操作条件直接影响反应时间、转化率和选择性等关键的化学反应指标。想要对反应器有个深入的了解和认识,必须从研究其内部具体行为开始,也就是今天的主角——化工动力学计算。


    问题提出    


求一个50dm3 的等温理想平推流反应器中各组分浓度变化随体积变化曲线,已知进行下列液相反应:

其动力学方程可以表示为:

其中初始流股信息为:


    求解思路    


1.根据反应器类型,选择合适摩尔衡算方程形式;

2.确定每个反应速率方程;

3.确定每个组分净反应速率;

4.建立组分浓度关系式;

5.求解上述方程组。


    浓度关系式确立    



    MATLAB求解    


面对上述微分方程组,一般情况下难以求得解析解,但借助龙格-库塔方法等数值分析算法可以十分方便地获得数值解,下面演示用MATLAB内置的ode45函数求解这个微分方程组,源码如下:

主程序部分:

[v,c] =ode45('func',[0:0.01:50],[1.5;2;0;0;0;0]);   % 调用函数
plot(v,c,'LineWidth',2);    % 绘图部分
title('组分浓度随反应体积变化图');
legend('C_A','C_B','C_C','C_D','C_E','C_F');
xlabel('反应体积');ylabel('组分浓度');

子程序部分:

function dc = func(v,c)
k1 = 0.125;k2 = 0.050;k3 = 2.500;    % 反应速率常数设置
r1 = k1 * c(1) * c(2) * c(2);    % 方程1反应速率
r2 = k2 * c(1) * c(4);    % 方程2反应速率
r3 = k3 * c(2) * c(3) * c(3);    % 方程3反应速率
dc = zeros(6,1);
u = 1 / 5.0;    % 体积流率的倒数
dc(1) = u * (-r1 - 3 * r2);    % A组分的净生成速率
dc(2) = u * (-2 * r1 - r3);    % B组分的净生成速率
dc(3) = u * (2 * r1 + r2 - 2 * r3);    % C组分的净生成速率
dc(4) = u * (r1 - 2 * r2 + r3);    % D组分的净生成速率
dc(5) = u * r2;    % E组分的净生成速率
dc(6) = u * r3;    % F组分的净生成速率
end

    结果显示    


各组分浓度随体积变化如图所示:



    结语    


这里只针对一个简单体系做出完整分析过程,实际过程可能远比这个例子复杂,但是万变不离其宗,在这个模板上进行不断完善就可以适应更复杂的现实体系。


往期精选(点击即可跳转)


2020化工设计竞赛任务书解读——中国制造2025(任务书重大修正)
这些好看的化学化工图形是如何绘制的?
考研面试,老师问我知道哪些化工知名期刊?
什么!流程模拟除了Aspen Plus,居然还有其他的软件?
这个关于化工设计竞赛的视频,绝对重磅,值得收藏!
2014~2020全国大学生化工设计竞赛任务书都给你
聊聊压力容器那点事儿,很多人都错了

编辑排版:落羽

2020化工设计竞赛交流群来啦!

化工设计Club交流QQ群(群号:881289423)

化工设计微信群请加小编微信:hgsheji,拉你进群

每周都有资料大放送哦!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存