1、Flow介绍

Flow是开放孔隙介质(The Open Porous Media,OPM)众多开源中的一个。OPM是由世界上很多专家共同维护的、开源的,它致力于孔隙基质建模和过程模拟方面的创新和复用研究。

   OPM当前的发展集中在二氧化碳封存以及改善和提高石油采收率上,但也始终致力于多孔介质中流动起重要作用的不同科学或工业领域。

   Flow是OPM软件工具箱中重要的一个(其它的包括渗透率粗化程序Upscaling,油藏模拟的易于使用且快速的可视化工具ReInsight等)。 Fow是一款使用完全隐式公式解决三相黑油问题的油藏模拟器。 对于溶剂和聚合物问题,也有专门的变体(Flow-polymer、Flow-solvent)。  最重要的是,Flow可以读写标准行业格式,标准的Eclipse输入和输出格式。一句话,Flow可以读取eclipse的data文件,模拟结果的格式也和eclipse一样。官网指出这个软件只能在linux下使用,本文提供了在windows系统下使用的方法。在介绍安装和使用方法之前,先看看它的特点。

下面对Flow的特定做说明:

(1)Flow支持的数模模型特性:

含溶解气体和凝析油的黑油模型

取决于岩石的毛细管和相对渗透率曲线

端点结垢和滞后

凝析过程控制(VAPPARS)

(2)Flow的提高采收率模型特性:

具有吸附的Todd-Longstaff型聚合物模型, 死孔隙空间,渗透率降低和剪切效应(Flow-polymer模块)

额外的组分方程式,例如溶剂模型(流动溶剂)

Flow支持的地质模型:

矩形网格和完全非结构化的网格

角点网格 从Eclipse输入中获取,包括断层和区域乘数,minpv / pinch等。

 

(3)Flow支持的井和控件条件:

井底压力和地表/地下生成速度

井组控制

关闭/停止/打开单个完井

历史匹配的井

(4)Flow支持的输入/输出:

Eclipse输入平台的通用阅读器/解析器

基于XML或简单文本格式的其他参数的输入

Eclipse格式的灵活输出摘要文件和重新启动

终端和打印文件的记录

(5)Flow采用的技术:

时间上完全隐式求解

具有上游移动权重的空间两点通量近似值

通过使用自动微分进行灵活组合

带ILU0预处理的块结构线性求解器

CPR预调节器和多重网格求解器

自适应步长控制

2、Flow的安装和使用

Flow的优点是可以直接读取eclipse的数据格式,模拟结果的格式也和eclipse一致,配套的ResInsight软件可以读取模拟结果,当然ResInsight也可以读取eclipse的模拟结果,包括场数据、各种产量曲线、井数据、射孔数据等。俨然一个开源版的eclipse,唯一缺点是只能再linux系统下使用,在windows下必须使用虚拟机。好消息是,通过win10安装linux子系统,在linux下安装即可(Flow的安装方法官网有详细说明)。主要安装步骤是:

sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:opm/ppa

sudo apt-get update
sudo apt-get install mpi-default-bin
sudo apt-get install libopm-simulators-bin

然后,就可以在win10下面通过wsl调用linxu系统的ofm,直接运行data文件。官网也提供了一些开源数据集,spe1, spe3, spe9, spe1。在windows下的命令行窗口,调用linux子系统flow的:wsl flow SPE1CASE1.ECL

 

模拟结果如下:

采用ResInsight打开模拟结果如下:

File->Import->Import Eclipse Case, 选择刚才的模拟结果SPE1CASE1.EGRID,

当然,也可以通过命令行的方式去读取模拟结果,采用libecl,这里不详细说明。

 

 

参考资料

https://opm-project.org/

 

git clone https://github.com/OPM/opm-data.git

https://github.com/equinor/libecl.git

Logo

更多推荐