压裂液返排模型
压裂液返排模型由多个选项构成,这些选项是专门为使 IMEX 能够对新压裂井周围的压裂液返排进行模拟而开发的。
该选项是与 IMEX 中的聚合物选项配合使用的,因为压裂液被模拟为水 – 聚合物混合物(实际上,只有与速度和聚合物浓度相关的水粘度以及裂缝宽度校正功能需要使用聚合物模型) 。
该选项具备以下特性:
- 特性
- 可利用与速度和聚合物浓度相关的水 – 聚合物混合物粘度,对剪切变稀 / 变稠流体进行模拟。
- 根据储层条件下的速度对裂缝宽度进行校正,用于上述水 – 聚合物混合物粘度计算。校正值为 0 时,可消除远离裂缝区域的速度相关性;校正值为 1.0 时,则直接采用网格块平均储层条件速度。
- 具有与网格块和方向相关的压力梯度阈值,用于指定区域内的流动。一旦超过阈值,无论压力梯度如何,流动连接都将保持畅通,这可用于近似模拟屈服应力。
- 在模型中,可在用户定义的区域(如裂缝附近)输入非平衡初始饱和度,而模型其他区域则采用重力平衡初始化技术进行初始化。这样无需模拟压裂液注入,就能设定裂缝中的压裂液分布。
- 增加了在重启时启动压力梯度阈值选项的功能,使得模型能够先模拟压裂液注入,然后在重启后模拟返排(重启后)。
上述所有特性均可在有或没有非达西流选项的情况下使用,并且可以相互独立运用。
2. 与速度相关的聚合物混合物粘度(流体模型部分)
在 “PMIX” 关键字中新增了一个选项 “*PMIX VELTABLE”。这告知 IMEX 将使用与速度相关的聚合物 – 水混合物粘度数据。
IMEX 期望读取 “VWT” 关键字,且在同一行紧跟一个初始速度值。在此之后,至少需要读取两行相对聚合物浓度与相对水 – 聚合物混合物粘度的数据。
在输入完初始储层条件速度值对应的整个表格后,下一次出现 “VWT” 关键字并紧跟一个更大的储层条件速度值时,将触发读取下一组相对聚合物浓度 – 相对水 – 聚合物混合物粘度表格(至少两行)。
如果仅输入一个储层条件速度值(即只有一个 “VWT” 值),则该表格将与速度无关。
相对聚合物浓度是实际聚合物浓度除以参考聚合物浓度 “PREFCONC” 所得的值。相对水 – 聚合物混合物粘度是混合物粘度除以纯水粘度所得的值。
以下是 “*PMIX VELTABLE” 关键字的示例,用于模拟在速度为 0.10、10.0 和 40.0 ft/day 的情况下,具有剪切变稀特性的流体。表格查找所使用的速度是储层条件下的固有速度,需用网格块中的平均速度除以网格块孔隙度来计算。此外,速度还需乘以一个裂缝宽度校正项(稍后讨论,
)。
*PMIX *VELTABLE
*VWT 0.10
0.0 1.00
0.2 1.50
0.6 2.00
1.0 5.00
*VWT 10.0
0.0 1.00
0.2 1.20
0.6 1.75
1.0 3.00
*VWT 40.0
0.0 1.00
0.2 1.10
0.6 1.40
1.0 2.00
对于速度低于 0.10 ft/day 的情况,使用 0.10 ft/day 对应的表格;对于速度高于 40.0 ft/day 的情况,则使用 40.0 ft/day 对应的表格。
3. 裂缝宽度校正(岩石流体属性部分)
该模型包含一个裂缝宽度校正数组 “FRWIDTHCOR”,用于开启或关闭储层部分区域中与速度相关的水 – 聚合物混合物粘度计算,同时由于数值模拟中对裂缝的表示方式,该数组还可用于增加裂缝区域的有效速度。“FRWIDTHCOR = 0.0” 会关闭定义该值的网格块中与速度相关的粘度计算,在这种情况下,模型将始终使用 “*PMIX VELTABLE” 表格中的最低速度(“VWT”)。
非零的 “FRWIDTHCOR” 用于乘以 “*PMIX VELTABLE” 表格中使用的固有聚合物 – 水混合物速度。例如,如果用 0.2 米的网格块来表示 0.1 毫米的裂缝,可能会使用 2000.0 的 “FRWIDTHCOR” 值来近似实际裂缝中的更高速度。
当遇到 “*PMIX VELTABLE” 时,将使用二维插值。为每个网格块计算水 – 聚合物混合物速度,该速度除以网格块孔隙度并乘以校正因子(“FRWIDTHCOR”),即:
Vel = *F R W I D T H C O R * Reservoir Condition Velocity / ϕ
数组值 “PTHRESHII,J,K” 定义了在网格块 I, J, K 和 I + 1, J, K 之间启动流动所需的压力梯度(压力降 / 单位长度)。
数组值 “PTHRESHJI,J,K” 定义了在网格块 I, J, K 和 I, J + 1, K 之间启动流动所需的压力梯度(压力降 / 单位长度)。
数组值 “PTHRESHKI,J,K” 定义了在网格块 I, J, K 和 I, J, K + 1 之间启动流动所需的压力梯度(压力降 / 单位长度)。
压力梯度阈值是一次性开关。一旦在特定方向上的两个网格块之间超过该阈值,此后这两个网格块之间的连接将始终保持流动畅通。
阈值为零表示连接始终对流动开放。
裂缝及其周围区域的 “PTHRESHI”、“PTHRESHJ” 和 “PTHRESHK” 值可能非零,而储层中的其他区域阈值可能为零。
5. 非平衡初始饱和度覆盖(初始条件部分)
在不模拟压裂液初始注入裂缝的情况下,若能将整个储层初始化为重力 – 毛管力平衡状态,然后仅在刚刚注入压裂液的裂缝及其周围区域覆盖该状态,将非常方便。
这可以通过使用 “SONEQ” 和 “SWNEQ” 关键字来实现。这些关键字会覆盖在使用 “*VERTICAL BLOCK_CENTER” 或 “*VERTICAL DEPTH_AVE” 平衡选项时,在指定区域确定的重力 – 毛管压力平衡饱和度。“SONEQ” 和 “SWNEQ” 应仅在用户希望覆盖饱和度的裂缝周围区域(使用 “IJK” 数组读取选项)进行定义。通常在裂缝周围,我们预期压裂液的饱和度较高,这可模拟为含有高浓度聚合物的水。在该区域使用较高的初始 “POLYCONC”(聚合物浓度)和较高的 “SWNEQ”(较低的 “SONEQ”)是实现这一目的的便捷方法。
6. 在重启时启动压力梯度阈值选项
有时可能需要对压裂液返排过程中的注入阶段进行模拟。通过从注入阶段(或关井阶段)结束后、返排阶段开始前重启模拟,并在重启运行中仅引入压力梯度阈值计算,就可以实现这一点。
压裂液返排模型可以判断要重启的模型数据集中是否存在 “PTHRESHI”、“PTHRESHJ”、“PTHRESHK” 关键字。如果不存在,且在当前数据集中遇到这些压力梯度阈值关键字,则在重启时启动压力梯度阈值选项。在重启时,从重启记录中读取的压力场将被设置为初始压力场。在 I 方向上启动流动的压力梯度定义为:
DP=DistanceI(P(I+1,J,K)−Prestart(I+1,J,K))−(P(I,J,K)−Prestart(I,J,K))
其中,DistanceI是 I 方向上网格块中心之间的距离,Prestart是从重启记录中读取的初始压力场,P是当前压力场。
将DP与 “PTHRESHI” 进行比较,当DP大于 “PTHRESHI”(在网格块 I, J, K 中定义)时,将在网格块 I, J, K 和 I + 1, J, K 之间启动流动。
在引入压力梯度阈值关键字之前或之后的重启过程中,模型将正常重启。
由于在一次运行中,只能在重启时引入一次压力梯度阈值关键字,因此当油井在不同时间进行压裂时,该模型不适用。
在将注入阶段与返排阶段分开的重启过程中,改变水 – 聚合物混合物的粘度也是可行且必要的。在注入阶段,压裂液是高粘度流体;在返排阶段,水 – 聚合物混合物流体的粘度则低得多。同样,在重启时也可以更改 “FRWIDTHCOR”。
当在重启时改变混合物粘度时,至关重要的是在注入和生产阶段都要使用 “*PMIX VELTABLE” 表格。表格中的值、每个表格中的点数以及速度表格的数量可根据需要进行更改,但必须使用 “VELTABLE” 选项。
7. 压力阈值和裂缝宽度校正的输出(输入 / 输出控制部分)
输入数组的 “RES” 列表已扩展,包括 “FRWIDTHCOR” 以及三个压力阈值数组(“PTHRESHI”、“PTHRESHJ”、“PTHRESHK。