引 言
非常规裂缝性储层中, 岩石基质提供油气储存空间, 人工裂缝、诱导裂缝和天然裂缝提供其流动通道[1]. 目前油田实际历史数据已表明, 地质力学特性对裂缝性油藏的产量起重要作用, 会导致一些关键渗流参数发生改变, 如基岩的孔隙度和渗透率; 此外, 致密油藏以“缝控储量”为主[2], 岩石形变会引起裂缝开度变化, 这对于压裂水平井产能评价的影响极大. 传统的应力敏感模型无法揭示深层次的科学道理[3-4], 为了准确模拟此类裂缝性多孔介质中的裂缝动态行为和流体流动机理, 需要综合考虑流体和岩石两方面的力学性质.
岩石力学中有效应力的概念最早由Terzaghi[5]和Biot[6]提出, 并由Biot[7]发展为较完善的三维固结理论, 这是研究应力场与渗流场耦合的早期基础. 为了将上述的理论基础应用于传统的渗流模型, Barenblatt和Zheltov[8]首次提出了双重孔隙度/双重渗透率的概念, 基岩与裂缝为两种重叠的、不同的连续介质, 其中基岩完全被裂缝所围绕, 用于表征裂缝性多孔介质中的流体和岩石形变. 后续, Bai[9]提出了关于双重介质更为严格的物理解释即双孔有效应力理论, 用于分析不同尺度的裂缝和基质的形变. 针对多孔介质流固耦合数学模型的建立, Wilson和Aifantis[10]、Beskos和Aifantis[11]和Khaled等[12]建立了基于有限元法的双重介质流固耦合模型, 该模型的主要问题在于其忽视了基质与裂缝之间压差导致的耦合流动作用; Lewis和Schrefler[13]对于油藏中的流固耦合问题进行了研究, 分别考虑了单相流、多相流、线弹性变形以及弹塑性变形, 并给出了相应的有限元计算格式. 在上述早期的研究中, 采用连续介质力学理论表征裂缝性油藏, 将不连续的裂缝系统粗化为连续介质, 能在一定程度上刻画基岩和裂缝的流体流动及力学特征, 但对于裂缝的几何形状及传导率具有较强的约束, 更适用于描述小尺度裂缝, 对于大尺度裂缝处理精度较低, 无法满足以体积压裂为开发手段的非常规油气藏的矿场实际需求.
近年来, 基于离散裂缝的流固耦合理论受到了广泛关注, 此类模型将裂缝离散化显式表征, 能准确刻画大尺度裂缝对渗流场和应力场的影响, 根据前处理算法的不同, 可划分为离散裂缝模型[14] (DFM) 与嵌入式离散裂缝模型[15-16] (EDFM), 其中嵌入式裂缝模型最早由Li和Lee[17]开发, 旨在提高天然裂缝建模的精确程度. 与使用复杂非结构网格在空间上匹配裂缝几何结构的DFM方法相比, EDFM只需使用一组固定的结构化矩形网格, 裂缝在前处理中与网格分开并显式精确刻画, 这是EDFM相对于DFM的关键优势[18]. 流固耦合研究方面, 由于裂缝开度与油藏尺度存在极大差异, 需对裂缝进行降维处理避免裂缝周围局部加密以减小网格量, 而降维后裂缝两侧的位移场存在间断性[19]. 由于EDFM采用非匹配性网格, 使得其在表征裂缝力学间断效应方面极具挑战性. 目前主要处理方法有: 有限元法、位移不连续法和扩展有限元法[20] (XFEM). 其中, XFEM与EDFM具有相似的优点, 两者均基于结构化网格, 分别相较于传统的基于有限元法的应力场、渗流场计算, 避免了网格重构和非结构化网格剖分带来的困难. 基于此, Ren等[21-22]、Yan等[23]、Zeng等[24]先后实现了将EDFM与用于应力场计算的扩展有限元法的耦合研究; Ren等[25]进一步开发了pEDFM-XFEM流固耦合数值模拟器, 能更精确地模拟多相流情况下的岩石和流体的力学性质.
在上述前人的研究中, 仍亟待解决的主要问题有两点: 致密基质的渗透率极低, 大规模体积压裂之后储层中的大尺度水力压裂缝与大量被激活的、小尺度的天然裂缝共存, 对此类“人工裂缝性油藏”, 单一数学模型无法进行准确表征, 需要更一步发展综合数学模型; 目前现有数值模拟方法在计算包含裂缝单元的基质网格内的压力分布时, 采用了线性分布假设, 这导致了早期及非稳态流动计算精度的不足. 本文以上述突出的科学问题为导向, 建立了致密油藏基质-天然裂缝-水力压裂缝综合数学模型, 基于单孔模型表征基质渗流参数随着压力、应变场的改变, 基于双重介质模型表征天然裂缝渗流参数的变化, 基于嵌入式离散裂缝模型表征水力压裂缝的动态特征; 并提出了XFEM-MBEM的混合数值离散化方法, 用于计算基岩和裂缝间的非稳态窜流, 提高了模拟的早期精度, 可准确表征致密油藏开采过程中的裂缝变形及流体流动机理, 此研究为致密油气开发领域提供了理论基础.
1.
流固耦合数学模型
1.1
物理模型及基本假设
本文采用了黑油模型假设, 考虑基质和流体的压缩性, 油水两相流动均符合达西定律, 等温渗流, 岩石变形考虑为微小线弹性变形, 力学方程中采用常规弹性力学符号约定, 即拉伸为正, 压缩为负.
1.2
准静态力学平衡方程
图1为弹性静力平衡状态下的多孔介质, 中间存在一条水力压裂缝,










$$ nabla cdot {boldsymbol{sigma }}left( {{boldsymbol{u}},{p_{ m{m}}}} ight) + { ho _{ m{b}}}{boldsymbol{g}} = 0,;{text{ on }}{varOmega} $$ ![]() | (1) |
$$ {boldsymbol{sigma }} cdot {{boldsymbol{n}}_{ m{t}}} = {boldsymbol{t}},;{text{ on }}{{varGamma} _{ m{t}}} $$ ![]() | (2) |
$$ {boldsymbol{u}} = overline {boldsymbol{u}},; {text{ on }}{{varGamma} _{ m{u}}} $$ ![]() | (3) |
$$ {boldsymbol{sigma }} cdot {boldsymbol{n}}_{ m{F}}^ + = - {boldsymbol{sigma }} cdot {boldsymbol{n}}_{ m{F}}^ - {text{ = }}left( {{p_{ m{F}}} + {p_{ m{p}}}} ight){boldsymbol{n}}_{ m{F}}^ - ,;{text{ on }}{{varGamma} _{ m{F}}} $$ ![]() | (4) |
式中,



ho }}_{mathrm{b}} $



class="figure_img
figure_type1 bbb " id="Figure1" />
图
1
弹性静力平衡状态下的多孔介质
Figure
1.
Porous medium in elastostatic equilibrium state

全尺寸图片
幻灯片
1.3
油水渗流控制方程
基质体积单元中的油水两相质量平衡方程
$$ {left[ {frac{partial }{{partial t}}frac{{({ ho _{ m{o}}}phi _{ m{m}}^ * {s_{ m{o}}})}}{{{B_{ m{o}}}}} - nabla cdot left( {{ ho _{ m{o}}}frac{{k{k_{ m{ro}}}}}{{{mu _{ m{o}}}{B_{ m{o}}}}}nabla {p_{ m{o}}}} ight)} ight]^m} = {left[ {{ ho _{ m{o}}}{q_{ m{o}}}} ight]^{mF}} + {left[ {{ ho _{ m{o}}}{q_{ m{o}}}} ight]^{mw}} $$ ![]() | (5) |
$$ {left[ {frac{partial }{{partial t}}frac{{({ ho _{ m{w}}}phi _{ m{m}}^ * {s_{ m{w}}})}}{{{B_{ m{w}}}}} - nabla cdot left( {{ ho _{ m{w}}}frac{{k{k_{ m{rw}}}}}{{{mu _{ m{w}}}{B_{ m{w}}}}}nabla {p_{ m{w}}}} ight)} ight]^m} = {left[ {{ ho _{ m{w}}}{q_{ m{w}}}} ight]^{mF}} + {left[ {{ ho _{ m{w}}}{q_{ m{w}}}} ight]^{mw}} $$ ![]() | (6) |
离散裂缝单元中的油水两相质量平衡方程
$$ {left[ {frac{partial }{{partial t}}frac{{({ ho _{ m{o}}}phi _{ m{F}}^ * {s_{ m{o}}})}}{{{B_{ m{o}}}}} - nabla cdot left( {{ ho _{ m{o}}}frac{{k{k_{ m{ro}}}}}{{{mu _{ m{o}}}{B_{ m{o}}}}}nabla {p_{ m{o}}}} ight)} ight]^F} = {left[ {{ ho _{ m{o}}}{q_{ m{o}}}} ight]^{mF}} + {left[ {{ ho _{ m{o}}}{q_{ m{o}}}} ight]^{Fw}} $$ ![]() | (7) |
$$ {left[ {frac{partial }{{partial t}}frac{{({ ho _{ m{w}}}phi _{ m{F}}^ * {s_{ m{w}}})}}{{{B_{ m{w}}}}} - nabla cdot left( {{ ho _{ m{w}}}frac{{k{k_{ m{rw}}}}}{{{mu _{ m{w}}}{B_{ m{w}}}}}nabla {p_{ m{w}}}} ight)} ight]^F} = {left[ {{ ho _{ m{w}}}{q_{ m{w}}}} ight]^{mF}} + {left[ {{ ho _{ m{w}}}{q_{ m{w}}}} ight]^{Fw}} $$ ![]() | (8) |
附加方程
$$ qquadqquadqquad {s_{ m{o}}} + {s_{ m{w}}} = 1 $$ ![]() | (9) |
$$ qquadqquadqquad {p_{ m{w}}} = {p_{ m{o}}} - {p_{ m{c}}} $$ ![]() | (10) |
式中,







ho q
ight]}^{mF} $

ho q
ight]}^{mw} $


1.4
基质-裂缝传质方程
EDFM中存在4类非相邻连接关系 (NNRs): 相邻基质网格之间的连接; 位于不同基质网格中的相邻裂缝单元之间的连接; 位于同一基质网格中的相邻裂缝单元之间的连接; 基质网格与所包含裂缝单元之间的连接. 其中, 传导率可表示为流度与其几何因子的乘积, 以油相为例, 流度和几何因子可表示为
$$ {lambda _{ij}} = dfrac{{{k_{{ m{ro}}({ m{upstream}})}}}}{{left( {dfrac{{{mu _{{ m{o}},i}} + {mu _{{ m{o}},j}}}}{2}} ight)left( {dfrac{{{B_{{ m{o}},i}} + {B_{{ m{o}},j}}}}{2}} ight)}} $$ ![]() | (11) |
$$ {G_{ij}} = frac{{{G_i}{G_j}}}{{{G_i} + {G_j}}} $$ ![]() | (12) |
$$ T{I_{ij}} = {lambda _{ij}} cdot {G_{ij}} $$ ![]() | (13) |
式中,







ight)} $















基质与裂缝之间传质项的处理是基于EDFM中的第4类连接关系, 原始EDFM方法[26]在计算包含裂缝单元的基质网格内的压力分布时, 采用了Lee等[27]及Praditia等[28]提出的压力与到裂缝面的垂向距离成正比的线性分布假设如下
$$ qquadqquadqquad {G_i} = frac{{{k_i}A}}{{leftlangle d ight angle }} qquad$$ ![]() | (14) |
$$ qquadqquadqquad leftlangle d ight angle = dfrac{{displaystyleint {left| {{boldsymbol{n}} cdot x} ight|{ m{d}}S} }}{S} $$ ![]() | (15) |
式中



ight
angle $


但在实际物理情景中由于裂缝与基质的渗透率级别相差极大, 这种求取“平均法向距离”的近似方法在处理非稳态传质时会导致一定的误差. 因此, 本文基于Fang等[29]与Cao等[30]所提出的混合边界元法, 利用稳态渗流控制方程的边界积分方程推导得到双孔基质网格向裂缝网格传质量的新近似格式, 以油相为例见式(16), EDFM中MBEM流量处理的连接关系示例见图2所示.

class="figure_img
figure_type1 bbb " id="Figure2" />
图
2
双孔系统EDFM中MBEM流量项处理的连接关系示例
Figure
2.
Example of connection list for MBEM handling flux in EDFM with dual-porosity system

全尺寸图片
幻灯片
$$ begin{split}&{left[ {{q_{{ m{omF}}}}} ight]_{({n_{ m{F}}} times 1)}} = &quadfrac{{k{k_{{ m{ro}}}}h}}{{{mu _{ m{o}}}{B_{ m{o}}}}}{left( {{{{{boldsymbol{G}}_{ m{F}}}}_{({n_{ m{F}}} times 4)}}{boldsymbol{G}}_{(4 times 4)}^{ - 1}{{ {{{boldsymbol{G}}_{{ m{mF}}}}} }_{left. {(4 times {n_{ m{F}}}} ight)}} - {{ {{{boldsymbol{G}}_{ m{FF}}}} }_{({n_{ m{F}}} times {n_{ m{F}}})}}} ight)^{ - 1}} cdot &quad Bigg{ {left[ {{{left( {frac{{partial {{boldsymbol{G}}_{ m{F}}}}}{{partial {boldsymbol{n}}}}} ight)}_{({n_{ m{F}}} times 4)}} - {{{{boldsymbol{G}}_{ m{F}}}}_{({n_{ m{F}}} times 4)}}{boldsymbol{G}}_{(4 times 4)}^{ - 1}{{left( {frac{{partial {boldsymbol{G}}}}{{partial {boldsymbol{n}}}}} ight)}_{(4 times 4)}}} ight]} cdot Bigg. &quadBigg. { {{{boldsymbol{G}}_{{ m{conv}}}}} _{(4 times 5)}}{ {{{boldsymbol{p}}_{ m{o}}}} _{(5 times 1)}} - { {{{boldsymbol{p}}_{ m{F}}}} _{({n_{ m{F}}} times 1)}}Bigg}end{split} $$ ![]() | (16) |
式中,








1.5
井方程
经典Peaceman公式[31]可用于计算井筒与基质或裂缝之间的流量. 以油相为例, 对于压裂水平井井筒与裂缝单元相连接
$$ left[ {{ ho _{ m{o}}}q_{ m{o}}} ight]^{Fw} = { ho _{ m{o}}}dfrac{{{{left( {k{k_{{ m{ro}}}}} ight)}^F}}}{{{mu _{ m{o}}}{B_{ m{o}}}}} cdot dfrac{{ {dfrac{{2{text{π}} {w_{ m{F}}}}}{{cos theta }}} }}{{ln left( {dfrac{{{r_{ m{e}}}}}{{{r_{ m{w}}}}}} ight)}}{left( {{p^F} - {p^w}} ight)_{ m{o}}} $$ ![]() | (17) |
$$ {r_{ m{e}}} = 0.14{left( {{l_1}^2 + {l_2}^2} ight)^{1/2}} $$ ![]() | (18) |
式中,





2.
多孔介质本构关系
2.1
修正的Biot方程
为准确描述非常规储层中基质与小尺度裂缝间的流动和岩石形变, 可采用由Bai[32]提出的双孔有效应力原理, 对基质和裂缝分别建立具有严格物理意义的有效应力关系
$$ {{boldsymbol{sigma }}_{ m{m}}} = {{boldsymbol{sigma '}}_{ m{m}}} - {alpha _{ m{m}}}{p_{ m{m}}}{boldsymbol{I}} $$ ![]() | (19) |
$$ {{boldsymbol{sigma }}_{ m{f}}} = {{boldsymbol{sigma '}}_{ m{f}}} - {p_{ m{f}}}{boldsymbol{I}} $$ ![]() | (20) |
$$ {boldsymbol{sigma }} = {{boldsymbol{sigma }}_{ m{m}}} = {{boldsymbol{sigma }}_{ m{f}}} $$ ![]() | (21) |
$$ {boldsymbol{varepsilon }} = {{boldsymbol{varepsilon }}_{ m{m}}} + {{boldsymbol{varepsilon }}_{ m{f}}} $$ ![]() | (22) |
式中,








Ren根据式(19) ~ 式(22)及胡克定律, 指出双重介质有效应力的表达式为[22]
$$ begin{split}& {boldsymbol{sigma '}} = {{boldsymbol{D}}_{{ m{mf}}}}:{boldsymbol{varepsilon }} - {{boldsymbol{D}}_{{ m{mf}}}}:{{boldsymbol{C}}_{ m{m}}}:{alpha _{ m{m}}}{p_{ m{m}}}{boldsymbol{I}} hfill &qquad - {{boldsymbol{D}}_{{ m{mf}}}}:{{boldsymbol{C}}_{ m{f}}}:{p_{ m{f}}}{boldsymbol{I}} hfill end{split} $$ ![]() | (23) |
$$ {boldsymbol{varepsilon}} = frac{1}{2}left( {{nabla ^{text{T}}}{boldsymbol{u}} + nabla {boldsymbol{u}}} ight) $$ ![]() | (24) |
式中,



2.2
孔渗参数表征方法
孔隙度是关于体积应变和流体压力的函数[25]. 考虑线弹性微小形变下的基岩Lagrangen孔隙度和大尺度裂缝Lagrangen孔隙度可分别由下式表征
$$ {phi }_{{ m{m}}}^{*}={phi }_{{ m{m}}}^{0}+{alpha }_{{ m{m}}}{epsilon}_{V}+frac{1}{M}left({p}_{{ m{m}}}-{p}_{{ m{m}}}^{0} ight) $$ ![]() | (25) |
$$ {phi }_{{ m{F}}}^{*}={phi }_{{ m{F}}}^{0}left(1+{epsilon}_{{ m{V}}} ight) $$ ![]() | (26) |
式中









本文中将小尺度天然裂缝和基岩视为双重连续介质, 因此小尺度裂缝表征方法与基质相同. 对于大尺度水力压裂缝, 生产过程中由于缝内流体压力损失会导致裂缝面的闭合, 然而当存在支撑剂时, 支撑剂发生形变会对裂缝面施加支撑力阻止其闭合. 根据胡克定律, 由支撑剂引起的支撑力可表示为
$$ {p_{ m{p}}} = left{ {begin{array}{*{20}{c}} {{E_{ m{p}}}dfrac{{ - {boldsymbol{w}} cdot {{boldsymbol{n}}_{ m{F}}}}}{{w_{ m{F}}^0}},}&{{boldsymbol{w}} cdot {{boldsymbol{n}}_{ m{F}}} < 0} {0,}&{{text{else }}} end{array}} ight. $$ ![]() | (27) |
式中,



此过程中, 水力压裂缝的实际导流能力依赖于裂缝渗透率和开度的更新迭代[33]
$$ {k_{ m{F}}} = k_{ m{F}}^0{left( {frac{{{w_{ m{F}}}}}{{w_{ m{F}}^0}}} ight)^2} $$ ![]() | (28) |
式中,

3.
耦合模型的数值离散
3.1
有限体积法离散流动方程
XFEM与EDFM具有相似的优点, 两者均基于结构化网格, 网格划分容易且物理意义清晰. 因此本文采用正交矩形网格对基质进行几何离散, 针对EDFM前三类非相邻连接关系, 采用满足局部物质守恒且简单易行的块中心有限体积方法来获取渗流控制方程的离散格式, 仍以油相为例, 此时为公式简洁, 方程中去除可能存在的点源/汇项, 对式(5)的两侧对时间和控制体积进行积分
$$ int_t^{t + Delta t} {intlimits_{Delta V} {nabla cdot left( {{ ho _{ m{o}}}frac{{k{k_{{ m{ro}}}}}}{{{mu _{ m{o}}}{B_{ m{o}}}}}nabla {p_{ m{o}}}} ight)} } { m{d}}V{ m{d}}t = intlimits_{Delta V} {int_t^{t + Delta t} { {frac{partial }{{partial t}}left( {frac{{phi _{ m{m}}^ * {s_{ m{o}}}}}{{{B_{ m{o}}}}}} ight)} } } { m{d}}t{ m{d}}V $$ ![]() | (29) |
式中左侧利用散度定理将体积分转换为面积分, 并用符合物理意义的相邻网格之间的法向流量之和近似; 右侧对时间的积分精确求解, 对体积分采用矩形法估计, 由此式(29)可以写为
$$ int_t^{t + Delta t} {sumlimits_{j = 1}^n {left[ {{lambda _{ij}}{G_{ij}}left( {{p_{{ m{o}}i}} - {p_{{ m{o}}j}}} ight)} ight]} { m{d}}t} = Delta {V_i}left[ {{{left( {frac{{phi _{ m{m}}^ * {s_{ m{o}}}}}{{{B_{ m{o}}}}}} ight)}^{t + Delta t}} - {{left( {frac{{phi _{ m{m}}^ * {s_{ m{o}}}}}{{{B_{ m{o}}}}}} ight)}^t}} ight] $$ ![]() | (30) |
对于相邻基质网格如图3, 式(30)取隐式格式可改写为

class="figure_img
figure_type1 bbb " id="Figure3" />
图
3
矩形网格离散示意图
Figure
3.
Sketch of discretization for rectangle grids

全尺寸图片
幻灯片
$$ sumlimits_{j = 1}^n {left[ {{lambda _{ij}}{G_{ij}}left( {p_{{ m{o}}i}^{t + Delta t} - p_{{ m{o}}j}^{t + Delta t}} ight)} ight]} = frac{{Delta {V_i}}}{{Delta t}}left[ {{{left( {frac{{phi _{ m{m}}^ * {s_{ m{o}}}}}{{{B_{ m{o}}}}}} ight)}^{t + Delta t}} - {{left( {frac{{phi _{ m{m}}^ * {s_{ m{o}}}}}{{{B_{ m{o}}}}}} ight)}^t}} ight] $$ ![]() | (31) |
式中,



根据式(29) ~ 式(31)的推导过程可以获得油水相的全隐式离散方程, 但对于裂缝与基质连接的第4类非相邻连接关系即含传质项, 需要进行单独考虑. 这里将已推导的多相流情况下EDFM第4类连接中基质网格与裂缝网格之间传质量的近似格式(16), 耦合到基质与裂缝之间多相流方程的有限体积离散格式中, 这也是混合边界元EDFM的核心思想. 仍以油相为例, 对于基质系统
$$ begin{split}& sumlimits_{j = 1}^n {left[ {{lambda _{o,ij}}{T_{ij}}left( {p_{oi}^{t + Delta t} - p_{oj}^{t + Delta t}} ight)} ight]} - sumlimits_{k = 1}^{{n_{ m{F}}}} {q_{{ m{omF}},k}^{t + Delta t}} hfill = &qquad frac{{Delta {V_i}}}{{Delta t}}left[ {{{left( {frac{{phi _{ m{m}}^ * {s_{ m{o}}}}}{{{B_{ m{o}}}}}} ight)}^{t + Delta t}} - {{left( {frac{{phi _{ m{m}}^ * {s_{ m{o}}}}}{{{B_{ m{o}}}}}} ight)}^t}} ight] end{split} $$ ![]() | (32) |
同理, 对于裂缝系统
$$ begin{split}& sumlimits_{j = 1}^n {left[ {{lambda _{o,ij}}{T_{ij}}left( {p_{oi}^{t + Delta t} - p_{oj}^{t + Delta t}} ight)} ight]} + q_{{ m{omF}},i}^{t + Delta t} hfill = &qquad frac{{Delta {V_i}}}{{Delta t}}left[ {{{left( {frac{{phi _{ m{m}}^ * {s_{ m{o}}}}}{{{B_{ m{o}}}}}} ight)}^{t + Delta t}} - {{left( {frac{{phi _{ m{m}}^ * {s_{ m{o}}}}}{{{B_{ m{o}}}}}} ight)}^t}} ight] end{split} $$ ![]() | (33) |
式中,







3.2
扩展有限元离散力学方程
XFEM是在常规的有限元位移模式中根据单位分解的思想加引进一个跳跃函数和裂尖渐进位移场以反映位移不连续性的数值方法. XFEM中的不同节点和单元的类型见图4, 单元位移的近似解可以写成

class="figure_img
figure_type1 bbb " id="Figure4" />
图
4
混合模型离散化方法示意图
Figure
4.
Sketch of hybrid model discretization strategy

全尺寸图片
幻灯片
$$ begin{split}& {boldsymbol{u}} = sumlimits_{i in I} {{N_i}} {{boldsymbol{u}}_i} + sumlimits_{i in L} {sumlimits_{j in {mathcal{F}_L}(i)} {{N_i}} } left( {{H_j} - H_j^i} ight){{boldsymbol{a}}_{i,j}} + &qquad sumlimits_{i in M} {sumlimits_{j in {mathcal{F}_M}(i)} {{N_i}} } left( {{J_j} - J_j^i} ight){{boldsymbol{c}}_{i,j}} + &qquad sumlimits_{i in K} {sumlimits_{j in {mathcal{F}_K}(i)} {sumlimits_{l = 1}^4 {{N_i}} } } left( {{F_{jl}} - F_{jl}^i} ight){boldsymbol{b}}_{i,j}^lend{split} $$ ![]() | (34) |
式中,












$$ Hleft( {{xi _j}({boldsymbol{x}})} ight) = left{ {begin{array}{*{20}{l}} {1,}&{forall {xi _j} > 0} { - 1,}&{forall {xi _j} < 0} end{array}} ight. qquadqquadqquadqquad$$ ![]() | (35) |
$$ Jleft( {{xi _{j1}}({boldsymbol{x}}),{xi _{j2}}({boldsymbol{x}})} ight) = left{ {begin{array}{*{20}{l}} {1,}&{forall {xi _{{j_1}}} cdot {xi _{{j_2}}} > 0} {0,}&{forall {xi _{{j_1}}} cdot {xi _{{j_2}}} = 0} { - 1,}&{forall {xi _{{j_1}}} cdot {xi _{{j_2}}} < 0} end{array}} ight.qquadqquad $$ ![]() | (36) |
$$ {F_{jl}}(r,theta ) = left{ {sqrt r sin frac{theta }{2},sqrt r cos frac{theta }{2},sqrt r sin frac{theta }{2}sin theta ,sqrt r cos frac{theta }{2}sin theta } ight} $$ ![]() | (37) |
将式(19)和式(20)代入式(1), 考虑边界条件式(2) ~ 式(4), 得到方程(1)的等效积分弱形式见式(38), 弱形式方程包含不同尺度裂缝以及基岩流体压力的相互作用
$$ begin{split} & int_varOmega delta {boldsymbol{varepsilon }}:{D_{{ m{mf}}}}:{boldsymbol{varepsilon }}{ m{d}}varOmega = int_varOmega delta {boldsymbol{varepsilon}} :left( {alpha _{ m{m}}^ * {p_{ m{m}}}{boldsymbol{I}}} ight){ m{d}}varOmega +hfill & int_varOmega delta {boldsymbol{varepsilon}} :left( {{p_F}{boldsymbol{I}}} ight){ m{d}}varOmega + int_{{varGamma _{ m{t}}}} delta {boldsymbol{u}} cdot {boldsymbol{t}}{ m{d}}{varGamma _{ m{t}}} +hfill & int_{{varGamma _{ m{F}}}} {left[kern-0.15emleft[ {delta {boldsymbol{u}}} ight]kern-0.15em ight] cdot left( {bar p + {p_{ m{p}}}} ight) cdot {{boldsymbol{n}}_{ m{F}}}} { m{d}}{varGamma _{ m{F}}} hfill end{split} $$ ![]() | (38) |
式中,



裂缝开度位移可以表示为
$$ {boldsymbol{w}} = {{boldsymbol{n}}_{ m{F}}} cdot left[kern-0.15emleft[ {boldsymbol{u}} ight]kern-0.15em ight]{{boldsymbol{n}}_{ m{F}}} $$ ![]() | (39) |
采用标准伽辽金有限元法对系统整体进行离散, 可获得一个线性平衡方程组如下
$$ {boldsymbol{Ku}} = {boldsymbol{f}} $$ ![]() | (40) |
式中, K表示整体刚度矩阵, f表示整体力向量.
3.3
整体计算格式及求解策略
本文分别采用有限体积法和扩展有限元法求解渗流控制方程及力学平衡方程, 主要变量包括基岩及裂缝中的流体压力、含水饱和度以及分别设置在网格中心和角点的节点位移, 对时间项的离散采用一阶向后欧拉全隐式差分格式, 对完全耦合的全局方程组采用Newton-Raphson迭代求解, 并利用自动微分算法计算迭代过程中的雅可比矩阵
$$ left[ {begin{array}{*{20}{l}} {{{boldsymbol{A}}_{{ m{pp}}}}}&{{{boldsymbol{C}}_{{ m{ps}}}}}&{{{boldsymbol{C}}_{{ m{pu}}}}} {{{boldsymbol{C}}_{{ m{sp}}}}}&{{{boldsymbol{A}}_{{ m{ss}}}}}&{{{boldsymbol{C}}_{{ m{su}}}}} {{{boldsymbol{C}}_{{ m{up}}}}}&{{{boldsymbol{C}}_{{ m{us}}}}}&{{{boldsymbol{A}}_{{ m{uu}}}}} end{array}} ight]left( {begin{array}{*{20}{c}} {delta {boldsymbol{p}}} {delta {boldsymbol{s}}} {delta {boldsymbol{u}}} end{array}} ight) = - left( {begin{array}{*{20}{c}} {{{boldsymbol{R}}_{ m{p}}}} {{{boldsymbol{R}}_{ m{s}}}} {{{boldsymbol{R}}_{ m{u}}}} end{array}} ight) $$ ![]() | (41) |
式中系数矩阵是非对称的, 其中反对角项是主变量之间的耦合项.
4.
模型验证分析
4.1
连续性介质流固耦合算例
此算例选取了经典的一维弹性土固结的孔弹性问题, 将本文模型与Terzaghi[5]所提出的解析解进行对比. 假设等温多孔介质由单相流体和固体组成, 表现为线性孔弹性特征, 模型的宽度为5 m, 深度为10 m, 顶部为排水边界, 其余边界均不排水, 底部为零位移边界, 左右边界位移在水平方向上约束, 于顶部施加20 MPa的恒定载荷. 岩土的孔隙度为0.4, 渗透率为100 mD, 弹性模量为20 GPa, 泊松比为0.2, 孔隙比为0.4, 一维模型数值解与解析解对比结果如图5所示, 从图中可看出不同时间下本文提出的流固耦合数值解与Terzaghi解析解的结果较为吻合, 误差在合理范围之内, 能证明该模型的准确性.

class="figure_img
figure_type1 bbb " id="Figure5" />
图
5
一维模型数值解与解析解的对比
Figure
5.
Comparison between numerical solution and analytical solution of one dimensional model

全尺寸图片
幻灯片
4.2
离散裂缝单相流算例
此算例是通过多物理场耦合模拟的商业模拟器COMSOL的标准有限元 (SFEM) 验证本文建立的流动模块. 物理模型为矩形油藏, 油藏中心有一条水力压裂缝, 设置裂缝半长为基础长度将整个区域无因次化, 裂缝无因次长度为4, 油藏在X方向的长度为10且Y方向长度为10, 见图6. 基于拉氏空间下无因次渗流方程, 将本文修正后的EDFM和有限元法与Blasingame精确解[34]进行对比, 其中裂缝无因次导流能力为200, 有限元网格裂缝采用局部加密如图7所示, 裂缝加密的个数为20, 如图8所示. 本文模型采用了非匹配性的矩形网格和混合边界元法, 不对裂缝进行局部加密, 分析离散裂缝压力动态曲线中不同数值算法的适应性.

class="figure_img
figure_type1 bbb " id="Figure6" />
图
6
单裂缝矩形油藏模型
Figure
6.
Single fracture in rectangular reservoir model

全尺寸图片
幻灯片

class="figure_img
figure_type1 bbb " id="Figure7" />
图
7
对裂缝网格加密示意图
Figure
7.
Sketch of fracture mesh refinement

全尺寸图片
幻灯片

class="figure_img
figure_type1 bbb " id="Figure8" />
图
8
不同数值解与解析解的对比
Figure
8.
Comparison of different numerical solutions and analytical solution

全尺寸图片
幻灯片
模拟结果如图7所示, 模拟无因次时间从10?9 ~ 10, 覆盖了有限导流能力的几个阶段, 可以看出修正后的EDFM方法与精确解无论从早期还是晚期都较为吻合, 而有限元模型在早期与解析解的差距很大, 中后期曲线重合, 这在图9的误差分析中也可以看出. 原因在于有限元法处理网格累积项时, 采用线性插值积分, 在一个时间步内是稳态过程, 而本文模型采用混合边界元法处理时采用了非稳态渗流的基本解, 能精确描述初期的流动特征, 根据对比结果可以说明本文模型的流动模块具有较高的早期精度.

class="figure_img
figure_type1 bbb " id="Figure9" />
图
9
误差分析
Figure
9.
Error analysis

全尺寸图片
幻灯片
4.3
裂缝性介质应力强度因子算例
此算例是通过经典的Tada解析解[35]验证本文建立的力学模块计算裂缝尖端应力强度因子 (SIFs) 的准确性. 考虑一个平面应变模型 (10 m×10 m), 上边界为施加均匀的拉应力, 下边界为固定位移的滚轮边界, 模型内部中心存在一条倾斜裂缝, 裂缝半长l为1 m, 如图10所示. 解析解中应力强度因子是外部应力和裂缝几何尺寸和倾角的函数, 因此为方便对比, 定义无因次应力强度因子:
ight) $

ight) $


class="figure_img
figure_type1 bbb " id="Figure10" />
图
10
裂缝性介质示意图
Figure
10.
Schematic of fractured medium

全尺寸图片
幻灯片

class="figure_img
figure_type1 bbb " id="Figure11" />
图
11
不同裂缝倾角无因次应力强度因子数值解与解析解的对比
Figure
11.
Comparison of numerical and analytical solutions for dimensionless SIFs with different fracture dip angles

全尺寸图片
幻灯片
5.
典型实例分析
如图12所示的致密油藏, 考虑分为压裂改造区(SRV) 与非压裂改造区 (USRV), SRV内部存在一口水平井和7条水力压裂缝, 水力压裂缝中考虑支撑剂的作用. 采用平面应变模型, 油藏边界条件如图12所示. SRV内考虑微裂缝的影响, 采用双孔模型; USRV不考虑微裂缝的影响, 采用单孔模型. 致密油藏的基本参数见表1, 设置该水平井为定压生产1000 d, 井底流压为10 MPa, 并将模拟的结果与商业模拟器COMSOL的标准有限元 (SFEM) 作对比, 图13为两种数值模拟器的网格剖分, 其中COMSOL-SFEM中对SRV内部及裂缝尖端进行了局部加密处理, 本文模型XFEM-MBEM中采用非匹配性的矩形网格. 图14为两种数值模拟器在开发1000 d时刻的压力场对比, 图15和图16分别为X-位移场与Y-位移场的对比, 从上述场图可看出两种数值模拟器的结果基本一致. 以图12中SRV内部最中间的那条水力压裂缝为研究目标, 分析其不同时刻的开度分布见图17, 图中能看出XFEM-MBEM与COMSOL-SFEM不同时刻裂缝开度的计算结果较为吻合, 可以说明XFEM-MBEM流固耦合模拟的准确性. 此外, 从图中可以随着油藏的不断开发, 裂缝呈不断闭合的趋势, 定压生产下靠近井筒附近的裂缝段闭合更加剧烈. 图18为该模型在表1参数条件下考虑流固耦合作用与不考虑流固耦合作用的生产动态曲线对比, 可以看出应力场所引起的渗流参数改变及裂缝开度降低对产能的影响很大, 因此对致密油藏压裂水平井进行产能评价时, 地质力学效应的影响不可忽略.

class="figure_img
figure_type1 bbb " id="Figure12" />
图
12
致密油藏示意图
Figure
12.
Sketch of tight oil reservoir

全尺寸图片
幻灯片
表
1
致密油藏基本参数
Table
1.
Basic parameters of tight oil reservoir
table_type1 ">
Properties | Value | Properties | Value |
reservoir scale/m | 750×340 | SRV scale/m | 590×220 |
initial reservoir pressure/MPa | 25 | reservoir thickness/m | 10 |
matrix porosity | 0.12 | matrix permeability/mD | 0.1 |
matrix Young’s modulus/GPa | 50 | matrix Poisson’s ratio | 0.3 |
matrix Biot’s coefficient | 0.8 | initial water saturation | 0.3 |
fracture porosity | 0.4 | fracture permeability/mD | 5000 |
initial fracture aperture/m | 0.001 | fracture proppant Young's modulus/MPa | 500 |

导出CSV
|显示表格

class="figure_img
figure_type1 bbb " id="Figure13" />
图
13
两种数值模拟器的网格剖分对比
Figure
13.
Comparison of mesh generation between two numerical simulators

全尺寸图片
幻灯片

class="figure_img
figure_type1 bbb " id="Figure14" />
图
14
两种数值模拟器开发1000 d的压力场对比(单位: MPa)
Figure
14.
Comparison of pressure distribution maps over 1000 days of two simulators (unit: MPa)

全尺寸图片
幻灯片

class="figure_img
figure_type1 bbb " id="Figure15" />
图
15
两种数值模拟器开发1000 d的X-位移场对比(单位: mm)
Figure
15.
Comparison of X-displacement distribution maps over 1000 days of two simulators (unit: mm)

全尺寸图片
幻灯片

class="figure_img
figure_type1 bbb " id="Figure16" />
图
16
两种数值模拟器开发1000 d的Y-位移场对比(单位: mm)
Figure
16.
Comparison of Y-displacement distribution maps over 1000 days of two simulators (unit: mm)

全尺寸图片
幻灯片

class="figure_img
figure_type1 bbb " id="Figure17" />
图
17
不同时刻裂缝开度分布
Figure
17.
Fracture aperture distribution at different time

全尺寸图片
幻灯片

class="figure_img
figure_type1 bbb " id="Figure18" />
图
18
考虑与不考虑流固耦合作用的生产动态曲线对比
Figure
18.
Comparison of production dynamic curveswith and without flow-geomechanics coupled effect

全尺寸图片
幻灯片
6.
结 论
(1)本文提出了基于XFEM-MBEM的嵌入式离散裂缝模型流固耦合数值模拟方法, 采用正交的非匹配型网格进行几何离散, 其优势在于裂缝独立于计算网格, 与常规离散裂缝模型基于裂缝形状的匹配型网格相比, 网格划分难度大大降低, 能避免当裂缝间距或夹角非常小时, 网格划分质量不佳等问题. 本文通过几个实例分别验证了其力学模块、流动模块、耦合模块的准确性.
(2)传统EDFM方法对于第4类非相邻连接关系在计算包含裂缝单元的基质网格内的压力分布时采用了线性分布假设, 导致了开发早期及非稳态流动计算精度的不足. 局部网格加密技术可以减小包含裂缝网格的基质网格尺寸, 从而有效解决这个问题, 但会对前处理算法带来巨大的复杂性. 本文采用MBEM方法获取了双孔基质网格向裂缝网格传质量的新近似格式, 能在不加密情况下提高早期计算精度.
(3) SRV改造区内的微裂缝对提高储层流体的动用程度有重要影响. 然而, 用EDFM和XFEM进行显式表征是较为困难的, 且会增加计算耗时. 本文采用双孔有效应力原理耦合双重介质模型隐式表征SRV区内部的天然裂缝, 能有效模拟具有复合分区特征的此类裂缝性油藏问题.
(4)致密油藏开发过程中随着缝内流体被采出, 裂缝会出现不同程度的闭合, 从而导致了整体导流能力降低, 油藏采收率将降低. 考虑到非常规储层原油的产量对裂缝的依赖性如此之高. 因此, 考虑开发过程中流固耦合作用引起的参数变化对产量的评价具有重要意义.
附录
$$ {boldsymbol{G}} = left[ {begin{array}{*{20}{l}} {{c_{{ m{M}}1,1}}}&{{c_{{ m{M}}1,2}}}&{{c_{{ m{M}}1,3}}}&{{c_{{ m{M}}1,4}}} {{c_{{ m{M}}2,1}}}&{{c_{{ m{M}}2,2}}}&{{c_{{ m{M}}2,3}}}&{{c_{{ m{M}}2,4}}} {{c_{{ m{M}}3,1}}}&{{c_{{ m{M}}3,2}}}&{{c_{{ m{M}}3,3}}}&{{c_{{ m{M}}3,4}}} {{c_{{ m{M}}4,1}}}&{{c_{{ m{M}}4,2}}}&{{c_{{ m{M}}4,3}}}&{{c_{{ m{M}}4,4}}} end{array}} ight]tag{A1} $$ ![]() |
$$ {c_{{ m{M}}i,j}} = int_{{S_{{ m{b}}j}}} {{G_{ m{H}}}} left( {{x_{{ m{m}}i}},{y_{{ m{m}}i}};x,y} ight){ m{d}}s(x,y)tag{A2} $$ ![]() |
$$ partial {boldsymbol{G}}/partial{boldsymbol{ n }}= left[ {begin{array}{*{20}{l}} {{ m{d}}{c_{{ m{M}}1,1}}}&{{ m{d}}{c_{{ m{M}}1,2}}}&{{ m{d}}{c_{{ m{M}}1,3}}}&{{ m{d}}{c_{{ m{M}}1,4}}} {{ m{d}}{c_{{ m{M}}2,1}}}&{{ m{d}}{c_{{ m{M}}2,2}}}&{{ m{d}}{c_{{ m{M}}2,3}}}&{{ m{d}}{c_{{ m{M}}2,4}}} {{ m{d}}{c_{{ m{M}}3,1}}}&{{ m{d}}{c_{{ m{M}}3,2}}}&{{ m{d}}{c_{{ m{M}}3,3}}}&{{ m{d}}{c_{{ m{M}}3,4}}} {{ m{d}}{c_{{ m{M}}4,1}}}&{{ m{d}}{c_{{ m{M}}4,2}}}&{{ m{d}}{c_{{ m{M}}4,3}}}&{{ m{d}}{c_{{ m{M}}4,4}}} end{array}} ight] tag{A3}$$ ![]() |
$$ {{{ m{d}}}}{c_{{ m{M}}i,j}} = left{ {begin{array}{*{20}{l}} {displaystyleint_{{S_{{ m{b}}j}}} {frac{{partial {G_{ m{H}}}left( {{x_{{ m{m}}i}},{y_{{ m{m}}i}};x,y} ight)}}{{partial {boldsymbol{n}}}}} cdot { m{d}}s(x,y) - lambda left( {{x_{{ m{m}}i}},{y_{{ m{m}}i}}} ight),{text{ }}i = j} {displaystyleint_{{S_{{ m{b}}j}}} {frac{{partial {G_{ m{H}}}left( {{x_{{ m{m}}i}},{y_{{ m{m}}i}};x,y} ight)}}{{partial {boldsymbol{n}}}}} cdot { m{d}}s(x,y),{text{ }}i ne j} end{array}} ight. tag{A4}$$ ![]() |
$$ {{boldsymbol{G}}_{{ m{mF}}}} = left[ {begin{array}{*{20}{c}} {{c_{{ m{FM}}1,1}}}&{{c_{{ m{FM}}1,2}}}& cdots &{{c_{{ m{FM}}1,{n_{ m{F}}}}}} {{c_{{ m{FM}}2,1}}}&{{c_{{ m{FM}}2,2}}}& cdots &{{c_{{ m{FM}}2,{n_{ m{F}}}}}} vdots & vdots & ddots & vdots {{c_{{ m{FM}}4,1}}}&{{c_{{ m{FM}}4,2}}}& cdots &{{c_{{ m{FM}}4,{n_{ m{F}}}}}} end{array}} ight] tag{A5}$$ ![]() |
$$ {c_{{ m{FM}}i,j}} = int_{{S_{{ m{F}}j}}} {{G_{ m{H}}}} left( {{x_{{ m{m}}i}},{y_{{ m{m}}i}};x,y} ight){ m{d}}s(x,y) tag{A6}$$ ![]() |
$$ {{boldsymbol{G}}_{ m{F}}} = left[ {begin{array}{*{20}{c}} {{c_{{ m{MF}}1,1}}}&{{c_{{ m{MF}}1,2}}}& ldots &{{c_{{ m{MF}}1,4}}} {{c_{{ m{MF}}2,1}}}&{{c_{{ m{MF}}2,2}}}& ldots &{{c_{{ m{MF}}2,4}}} vdots & vdots & ddots & vdots {{c_{{ m{MF}}{n_F},1}}}&{{c_{{ m{MF}}{n_F},2}}}& ldots &{{c_{{ m{MF}}{n_F},4}}} end{array}} ight]tag{A7} $$ ![]() |
$$ {c_{{ m{MF}}i,j}} = int_{{S_{{ m{b}}j}}} {{G_{ m{H}}}} left( {{x_{{ m{F}}i}},{y_{{ m{F}}i}};x,y} ight){ m{d}}s(x,y) tag{A8}$$ ![]() |
$$ partial {{boldsymbol{G}}_{ m{F}}}/partial {boldsymbol{n}} = left[ {begin{array}{*{20}{c}} {{ m{d}}{c_{{ m{MF}}1,1}}}&{{ m{d}}{c_{{ m{MF}}1,2}}}& cdots &{{ m{d}}{c_{{ m{MF}}1,4}}} {{ m{d}}{c_{{ m{MF}}2,1}}}&{{ m{d}}{c_{{ m{MF}}2,2}}}& cdots &{{ m{d}}{c_{{ m{MF}}2,4}}} vdots & vdots & ddots & vdots {{ m{d}}{c_{{ m{MF}}{n_{ m{F}}},1}}}&{{ m{d}}{c_{{ m{MF}}{n_{ m{F}}},2}}}& cdots &{{ m{d}}{c_{{ m{MF}}{n_{ m{F}}},4}}} end{array}} ight] tag{A9}$$ ![]() |
$$ {{{ m{d}}}}{c_{{ m{MF}}i,j}} = int_{{S_{{ m{b}}j}}} {frac{{partial {G_{ m{H}}}left( {{x_{{ m{F}}i}},{y_{{ m{F}}i}};x,y} ight)}}{{partial {boldsymbol{n}}}}} cdot { m{d}}s(x,y) tag{A10}$$ ![]() |
$$ {{boldsymbol{G}}_{{ m{FF}}}} = left[ {begin{array}{*{20}{c}} {{c_{{ m{FF}}1,1}}}&{{c_{{ m{FF}}1,2}}}& ldots &{{c_{{ m{FF}}1,{n_F}}}} {{c_{{ m{FF}}2,1}}}&{{c_{{ m{FF}}2,2}}}& ldots &{{c_{{ m{FF}}2,{n_F}}}} vdots & vdots & ddots & vdots {{c_{{ m{FF}}{n_F},1}}}&{{c_{{ m{FF}}{n_F},2}}}& cdots &{{c_{{ m{FF}}{n_F},{n_F}}}} end{array}} ight]tag{A11} $$ ![]() |
$$ {c_{{ m{FF}}i,j}} = int_{{S_{{ m{F}}j}}} {{G_{ m{H}}}} left( {{x_{{ m{F}}i}},{y_{{ m{F}}i}};x,y} ight){ m{d}}s(x,y)tag{A12} $$ ![]() |