[发明专利]基于逆向自动微分的油藏动态模拟方法有效
| 申请号: | 201310242744.X | 申请日: | 2013-06-19 | 
| 公开(公告)号: | CN103279685A | 公开(公告)日: | 2013-09-04 | 
| 发明(设计)人: | 李想;张东晓 | 申请(专利权)人: | 北京大学 | 
| 主分类号: | G06F19/00 | 分类号: | G06F19/00 | 
| 代理公司: | 北京万象新悦知识产权代理事务所(普通合伙) 11360 | 代理人: | 贾晓玲 | 
| 地址: | 100871*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 基于 逆向 自动 微分 油藏 动态 模拟 方法 | ||
技术领域
本发明涉及一种基于逆向自动微分的油藏动态模拟方法,属于油藏数值模拟领域。
背景技术
油藏动态模拟要求解大型稀疏非线性方程组,在工业上普遍使用牛顿法求解,应用牛顿法时需要知道各方程的余误差对所关心未知量的一阶偏导数,以构建Jacobian矩阵。实际油藏模型由于考虑了多种物理、化学过程,数学形式很复杂,复杂表达式偏导数的计算为编程带来极大困难,但给定数学形式后,求导其实是机械的。自动微分(automatic differentiation,AD)技术可以代替手写代码求导,自动微分按照链式法则跟踪导数的演化,只储存导数值而不储存符号表达式,既避免了截断误差,又节约了存储空间,是线性化油藏方程组的理想方法。
在代码中实现自动微分需要定义新的数据类型,将变量值与变量的某种导数封装为结构,并在这种结构上重新定义运算符,许多高级语言支持运算符重载,如C++和F90。在自动微分发展早期,运算符重载是通过运行时多态实现的[1,2],处理每一个运算符都伴随一次函数跳转,这种方法比手写代码慢一个数量级以上,用于处理大型油藏方程效率太低。2000年以后,随着模板元编程(Template Metaprogramming)的发展,出现了基于C++模板的自动微分方法[3,4]。模板化的表达式在编译期即被展开,是一种编译期多态,展开后的表达式跟手写代码是等价的,没有不必要的函数跳转,因此可以达到接近手写代码的速度。
根据在计算过程中存储什么类型的导数,自动微分分为正向模式和逆向模式:正向模式存储的是当前变量对自变量的导数;逆向模式存储的是最终结果对当前变量的导数,或称为伴随导数。文献[3,5]已将正向模式模板自动微分应用于油藏模拟器,但这种自动微分存在两个缺陷,影响了其应用于油藏模拟的效果:第一,在油藏方程中,表达式涉及的自变量个数较多(通常为101数量级),正向模式的浮点计算次数(FLOPs)随自变量个数的增加线性增长,大量的FLOPs被浪费掉,而逆向模式可以保证“赋值+微分”的FLOPs小于等于“赋值”FLOPs的5倍[6];第二,使用模板牺牲了一部分灵活性,因为表达式保存在栈(stack)上,无法被引用和转发,且表达式在运行前就必须确定,若方程中有运行期才能确定的表达式,模板方法无能为力。
相关文献:
[1]C.Bendtsen and O.Stauning,FADBAD,a flexible C++package for automatic differentiation,Department of Mathematical Modelling,Technical University of Denmark,1996.
[2]A.Griewank,D.Juedes,and J.Utke,Algorithm755:ADOL-C:a package for the automatic differentiation of algorithms written in C/C++,ACM Transactions on Mathematical Software(TOMS),vol.22,pp.131-167,1996.
[3]R.Younis and K.Aziz,Parallel automatically differentiable data-types for next-generation simulator development,in SPE Reservoir Simulation Symposium,2007.
[4]E.T.Phipps,R.A.Bartlett,D.M.Gay,and R.J.Hoekstra,Large-scale transient sensitivity analysis of a radiation-damaged bipolar junction transistor via automatic differentiation,in Advances in Automatic Differentiation,ed:Springer,2008,pp.351-362.
[5]R.M.Younis,Modern advances in software and solution algorithms for reservoir simulation:Stanford University,2011.
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310242744.X/2.html,转载请声明来源钻瓜专利网。
- 同类专利
 
- 专利分类
 
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用





