烃源岩生排烃、残烃模型及计算机算法实现

      程序语言 2008-1-23 22:23:00
KineticShell基本写完了。实现的功能总的来讲就是根据现有的生排烃模型计算烃源岩的生排烃曲线。其基本原理有两个:一个是质量平衡,一个是一级反应动力学原理及阿仑尼乌斯经验速率方程。
1.基本公式
1.1 反应速率
-dC/dt=C_0*k
C=C_0*Exp(-k*△t) ------------(1)
1.2 阿仑尼乌斯经验速率方程
k=A*Exp(-Ea/RT) ------------(2)
由(1)(2)得某一瞬间反应物残余量与上一瞬间反应物的残余量
C=C_0*Exp[-A*Exp(-Ea/RT)*△t] ------------(3)
1.3 活化能分布公式
给定高斯活化能参数:A(/s) Ea(KJ/mol) σ(KJ)
f(Ei)=1/(σ*sqrt(2π))*Exp(-(Ei-Ea)^2/(2σ^2)) ------------(4)

[变量说明]
C:某一瞬间反应的残余量
C0:上一瞬间反应物的残余量
k:反应速度
A:指前因子或频率因子
Ea:高斯分布中的平均活化能
σ:高斯分布中活化能的标准偏差
f(Ei):活化能为Ei时的分布
R:气体常数8.314
T:温度(K)

2.计算机算法实验
2.1转化率
对热史数据进行插值,尽可能使插值后的温度步长小于或接近于1。高斯型活化能及对应的分布可用(4)式求得,对于离散型活化能可以直接调用,但要保证其分布概率总和小于1(活化能每个概率代表其反应物对应的比例)。将活化能分布代入(2)式可以求算任何一时间的反应速率,代入(3)可得任一温度步长(近似等温过程)结束时反应物的残余量,最后可换算成转化率。
2.2 转化率是最基本的参数了,通过转化率可以算出生烃量等。
2.3 对于排烃量的求解
排烃量=生烃量-残烃量。对于排油量还要考虑原油在源岩中的裂解量,排气则要考虑加上由油裂解得到的那部分的气含量。由于生烃与裂解及排烃是一个同时进行的过程,因此在算法实现上可以通过一个循环来实现(Pepper,1995)。具体过程如下:
某一个等温(如1℃)时间段内,
获得上一等温段的残余油量及残余气量

干酪根生油生气+上一等温段的残余油量及残余气量

油裂解

最终生油量(生气量)
↓→求解最大残烃量
↙ ↘
(生烃量小于最大残烃量) (生烃量大于最大残烃量)
排烃量为0 排烃量=生烃量-最大残烃量
标签集:TAGS:生烃动力学
回复Comments() 点击Count()
喜欢就顶一下

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}