Input of Null Blocks
概述
油藏数值模拟中的无效网格(也称为死网格或非活跃网格)通常指的是那些在模拟过程中不直接参与流体流动计算的网格块。这些网格可能由于以下原因而被视为无效:
地质原因:在油藏的某些区域,可能由于缺乏储集层或储集层质量差,导致这些网格块不具备流体流动的能力。
开发策略:在油藏的开发过程中,某些区域可能暂时不会被开发,因此对应的网格块在模拟中被标记为无效。
模拟精度:在模拟过程中,为了提高计算效率,可能会有意排除一些对整体油藏性能影响不大的网格块。
边界条件:在油藏模型的边界区域,可能会存在一些不具备物理流动意义的网格块,它们在模拟中通常被处理为无效网格。
无效网格在油藏数值模拟中的作用包括:
提高计算效率:通过排除无效网格,可以减少模拟所需的计算量,从而提高模拟的效率。
简化模型:无效网格的使用有助于简化模型的复杂性,使得模拟过程更加集中于活跃的储集层区域。
避免计算误差:在某些情况下,无效网格可以防止由于模型不精确或数据缺失导致的计算误差。
灵活性:在油藏开发的不同阶段,可以通过将某些网格块标记为无效或重新激活,来模拟不同的开发策略。
在实际应用中,识别和管理无效网格是油藏数值模拟前处理的一个重要环节,它对模拟结果的准确性和计算效率都有重要影响。
在给定的网格系统中,有两种方法可以表示无效网格(null blocks)的存在:
a. *NULL
和 b. *POR
两者都必须出现在油藏描述部分。*NULL
是可选的,而 *POR
必须出现在你的dat文件中。*POR
是用于指定孔隙度的关键字。
*NULL 的使用
使用 *NULL
时,无效网格通过数字 0 表示;有效网格通过数字 1 表示。
以下是一个示例,除了 I 方向的网格 1 到 4,J 方向的网格 1 到 3,以及 K 方向的网格 1 到 3,所有网格都是活动的。
可以使用 *IJK 数组读取选项来表示这个示例:
示例:
*NULL *IJK
1:10 1:10 1:3 1
1:4 1:3 1:3 0
请注意,第二行覆盖了第一行。
*NULL
是可选的,如果该关键字不存在,则假定所有网格都是有效的。
*NULL
的指定始终会覆盖 *POR
中的指定。如果给已经通过 *NULL
指定为无效的网格分配了一个非零孔隙度,那么 *POR
的分配将被忽略。
*POR 的使用
使用 *POR
时,无效网格通过零孔隙度表示,而有效网格被赋予非零值。
上述示例也可以用 *POR
表示:
示例:
*POR *IJK
1:10 1:10 1:3 0.3
1:4 1:3 1:3 0.0
双重孔隙度/双重渗透性情况
在双重孔隙度/双重渗透性模型的情况下,孔隙度值的输入需要分别输入基质(matrix)和裂缝(fracture)的数据。首先输入基质的数据,然后是裂缝的数据。其他数据的输入也应遵循相同的程序。
示例:
*POR *MATRIX *IJK
1:10 1:10 1:3 0.3
1:4 1:3 1:3 0.0
*POR *FRACTURE *IJK
1:10 1:10 1:3 0.0
8 7:9 1:2 0.4
*MOD
8 7:8 1 = 0.45
该示例还展示了 *MOD
的使用,它修改了一些网格的属性,将孔隙度从 0.40 修改为新的孔隙度 0.45。
在双重孔隙度模型中,无效网格意味着基质和裂缝的孔隙度都为零。一般来说,可以设置基质孔隙度或裂缝孔隙度为零,而另一个为非零值。