Simple Ro 是由日本学者Suzuki(1993)[1]提出的计算镜质体反射率的模型。该模型认为在每个温度点下,化学反应是单一的(相对于平行反应模型),其对应的活化能称为“表观活化能(apparent activation energy,Eapp)”。表观活化能随Ro的增加而增大,其关系可以用Eapp=alpha*ln(Ro)+beta来表示。Simple Ro的优点的在于可以通过拟合不同的alpha和beta,将现有的镜质体反射率模型转换成Simple Ro模型,也可以用实测Ro数据来拟合alpha及Beta得到新的Ro模型。事实上,不同盆地沉积的镜质体由于化学成分和化学结构不同,其反射率的演化路径也不完全等同于Easy%Ro(目前广泛应用的Ro校正模型),如富氢镜质体,受到超压作用的镜质体等[2]。Ro模型作为目前热史校正的重要参考,其可靠性直接影响到最终的烃源岩评价。下面提供的代码是以2C/Ma为加热速率,计算1~300C温度区间Ro的变化,结果输出到文本文件,simpleRo.txt。图1是用OrgPlus(The next release of Z-Kinetics)生成的同等条件下(2C/Ma)Easy%Ro与用Easy%Ro拟合的Simple Ro模型比较,从图上可以看出两者计算结果相差很小。
Ref:
[1]Noriyuki Suzuki, Hideki Matsubayashi, et.al., A Simple Kinetic Model of Vitrinite Reflectance, AAPG Bull, 1993, 77:1502-1508.
[2]Buchardt,B., and M.D .Lewan, Reflectance of Vitrinite-like macerals as a thermal maturity index for Cambrian-Ordovician Alum Shale, Southern Scandinavia: AAPG Bull,1990, 74:394-406.
#-*-coding:cp936-*-
#Test on Python 2.6 By zenghuasen
#License: Free
import math
import os
alpha=9.7
beta=54.1
PRO=0.2
ROO=0.2
Ea=0
s=0
F=0.85
FC=0
RO=0.2
oFile=open("simpleRo.txt",'w')
for i in range(1,301):
#Ea=alpha*ln(RO)+Beta
Ea=alpha*math.log(PRO)+beta
Ea= 4186.8*Ea
#duration time (0.5Ma )as second
DT=0.5*1.0e+6*365*24*60*60
s=s+1.0e+13*math.exp(-Ea/(8.314*(i+273.15)))*DT
if(s>500):
FC=F
print(str(i)+ " " + str(FC))
else:
FC=F*(1.0-math.exp(-s))
RO=math.exp(math.log(ROO)+3.7*FC)
oFile.write(str(i)+"\\t"+str(RO)+"\\n")
PRO=RO
oFile.close()
print("任意键退出")
okExit=raw_input()