1. 功能概述
本功能通过定义岩石物性时变过程中孔隙度、渗透率及传导率的动态变化规律,支持复杂储层条件下多因素耦合模拟,包括:
- 主时变(压实)路径:基于压力变化的孔隙度与渗透率动态降低。
- 滞后路径:模拟注水/注气开发中岩石压实-回弹的非对称行为。
- 第二变量耦合路径:联合压力与第二变量(含水饱和度增量、过水倍数、温度)的复合时变效应。
典型应用场景:
- 孔隙压缩对储层动态的影响
- 注水/注气开发中的岩石滞后效应
- 热采过程中温度变化对岩石物性的影响
2. 关键字列表与功能
关键字 | 功能描述 | 适用场景 |
---|---|---|
*CROCKTAB | 主时变路径(必选),定义孔隙度、渗透率/传导率随压力变化的乘数表 | 常规压力衰减、注气压缩效应 |
*CROCKTABH | 滞后路径,定义岩石压实-回弹的非对称行为(需至少2个子表) | 注水开发中的渗透率滞后损失 |
*CROCKTABW | 第二变量:基于含水饱和度增量(Sw−Sw,初始)的压实 | 水驱前缘高含水区域的物性降低 |
*CROCKTABX | 第二变量:基于过水倍数(累积水流量/初始孔隙体积)的压实 | 长期注水导致的岩石微粒运移 |
*CROCKTABT | 第二变量:基于温度的压实(仅热力模型) | 蒸汽吞吐中高温导致的矿物溶解 |
3. 输入格式与参数详解
3.1 基础语法
*CROCKTAB(*CIRREVERS | *PERMMULT | *TRANMULT)
变量值1 孔隙度乘数 [渗透率/传导率乘数-I] [渗透率/传导率乘数-J] [渗透率/传导率乘数-K] [裂缝-基质传导率乘数]
变量值2 孔隙度乘数 ...
...
参数说明:
列 | 参数名 | 定义 | 单位/范围 |
---|---|---|---|
1 | 主变量 | 压力(kPa/psi/kg/cm²)或次级变量(Sw增量、过水倍数、温度) | 见次生变量类型 |
2 | 孔隙度乘数(ϕmult) | ϕ=ϕ初始×ϕmult | 无因次(≥0) |
3-5 | 渗透率/传导率乘数 | ki=ki,初始×col3-5,方向由网格定义 | 无因次(≥0) |
6 | 裂缝-基质传导率乘数 | Tmatrix-fracture=T初始×col6 | 无因次(≥0) |
3.2 修饰符选项
- **
*CIRREVERS
**:不可逆时变(无回弹路径,仅沿主路径单向变化)。 - **
*PERMMULT
**:第3-5列为渗透率乘数(默认)。 - **
*TRANMULT
**:第3-5列为传导率乘数(需显式指定)。
4. 使用规则与边界条件
4.1 通用约束
- 输入单调性:主变量列(压力/第二变量)需严格递增,否则报错终止。
- 路径互斥性:
*CROCKTABW
/*CROCKTABX
/*CROCKTABT
在同一模型内只能选一个。 - 网格兼容性:不支持混合网格(Hybrid Grid)。
4.2 次级变量表特殊规则
关键字 | 次生变量定义 | 参考压力pcrtab 要求 |
---|---|---|
*CROCKTABW | ΔSw=Sw−Sw,初始 | 需与主压实路径压力节点一致 |
*CROCKTABX | 过水倍数(PV) | 需按递增顺序输入 |
*CROCKTABT | 温度(°C/°F) | 仅当启用*THERMAL 时生效 |
5. 示例
5.1 压力主时变+渗透率各向异性
*CROCKTYPE
*CROCKTAB(*PERMMULT)
压力(kPa) 孔隙度乘数 k_I k_J k_K T_mf
1000 1.0 1.0 1.0 1.0 1.0
5000 0.92 0.85 0.88 0.80 0.7
10000 0.85 0.70 0.75 0.65 0.5
5.2 滞后+过水倍数相关
*CROCKTABH
子表1(回弹起始压力=2000 kPa)
2000 0.95 0.90
2500 0.93 0.88
子表2(回弹起始压力=5000 kPa)
5000 0.85 0.75
5500 0.83 0.72
*CROCKTABX(3000)
过水倍数 孔隙度乘数 k_I 渗透率乘数
0.0 1.0 1.0
5.0 1.02 2.0
10.0 1.05 2.5
6. 常见问题与排查
外推警告:
报错:
Pressure 12000 kPa exceeds *CROCKTAB range (max=10000 kPa). Linear extrapolation applied.
解决方案:扩展表格压力范围或验证外推合理性。滞后路径冲突:
报错:
First pressure in *CROCKTABH subtable 2 (5000 kPa) not found on main path.
解决方案:确保子表首行压力与主路径节点完全一致。次生变量表压力未对齐:
报错:
pcrtab=3000 kPa in *CROCKTABX does not match main path pressures.
解决方案:次生变量表的pcrtab
需对应主压实路径的输入压力值。
7. 公式速查
7.1 压力主时变路径
- 孔隙度计算:
ϕ(p)=ϕ初始×ϕmult(p) - 渗透率动态(各向异性):
ki(p)=ki,初始×coli+2(p)(i=I,J,K)
7.2 多变量耦合路径(示例:*CROCKTABW)
- 孔隙度复合计算:
ϕ(p,ΔSw)=ϕ初始×ϕmult(p)×ϕmult∗(p,ΔSw)
其中:- ϕmult(p):主时变路径孔隙度乘数。
- ϕmult∗(p,ΔSw):次级变量路径孔隙度乘数(通过双变量插值获取)。
7.3 滞后路径(*CROCKTABH)
- 回弹路径插值:
ϕhys(p)=LinearInterp(p,Subtablej)
要求:子表首行压力需严格匹配主时变路径节点。
7.4 裂缝–基质传导率
- 动态调整公式:
Tmf=T初始×col6(p)×*TRANSMF
8. 参考算例
FILE: MXSMO084.DAT (饱和度物性时变)
This three dimensional 7x7x3 water injection model demonstrates the rock compaction model as a function of pressure and maximum attained water. saturation (CROCKTABW).
FILE: MXSMO096.DAT(过水倍数物性时变)
This three dimensional 7x7x3 water injection model demonstrates the rock compaction model as a function of pressure and cumulative water flux normalized the initial pore volume (CROCKTABX).