Skip to content

SZ36 GRID 关键字团队参考:ACTNUM / COORD / COORDSYS / FAULTS / GRIDFILE

针对 SZ36-1 油藏模型中所用的五个 GRID 段关键字。每个关键字给出:用途、记录结构、 SZ36 中的真实数据行,以及一份合标准的数据必须满足的规则。

0.1 SZ36 网格维度(取自 SPECGRID 68 249 64 1 F /):NX=68,NY=249,NZ=64,NUMRES=1,非径向。 0.2 单元总数 = 68 × 249 × 64 = 1,083,648 个。 0.3 Pillar(角点支柱)总数 = (NX+1) × (NY+1) = 69 × 250 = 17,250 根。 0.4 长度单位为米(GRIDUNIT 'METRES' 'MAP'),并通过 MAPAXES 做地图坐标变换。 0.5 这五个关键字共同覆盖 SZ36 的三类网格信息:角点几何(COORDCOORDSYSACTNUM)、断层定义(FAULTS)、输出控制(GRIDFILE)。

0.2 和 0.3 这两个数,直接决定了下文 ACTNUM / COORD 数组的长度。


1.1 用途: 标记每个单元是活动(1)还是非活动(0)。非活动单元被完全排除出模拟网格。

1.2 所属段: GRID

1.3 结构:数组型关键字 —— 每个网格单元一个整数(INT),无字段划分。

1.4 SZ36 实例(在 sz36-1_Grid.dat 中):

ACTNUM
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
... (共 1,083,648 个值) ...
/

1.5 规则与注意: 1.5.1 必须恰好是 NX·NY·NZ = 1,083,648 个整数,以 / 结束;取值只能是 0 或 1。 1.5.2 排列顺序为 X 最快、其次 Y、再 Z(单元 (i,j,k) 的下标 = i + j·NX + k·NX·NY)。 1.5.3 可用 N*value 重复写法(如 25*1),但计数总和仍必须等于 NX·NY·NZ。 1.5.4 非活动单元(0)没有方程、没有连接,其孔隙体积被忽略。


2.1 用途: 给出每根**支柱(pillar)**的 (x, y, z) 端点,是角点网格的骨架(与 SPECGRID + ZCORN 配合)。

2.2 所属段: GRID

2.3 结构: 双精度(DOUBLE)数组,量纲为长度,模拟器在解析时换算为 SI 米。它与 GDFILE 互斥——几何要么内联定义(COORD/ZCORN),要么外部导入(GDFILE),不能同时。

2.4 SZ36 实例(在 sz36-1_Grid.dat 中):

COORD
571492.347792 4429565.159831 1405.640747 571358.807505 4429675.729865 1601.523193
-- x_顶 y_顶 z_顶 x_底 y_底 z_底 (第一根支柱)
... (共 17,250 根支柱) ...
/

2.5 规则与注意: 2.5.1 数量 = 6 × (NX+1) × (NY+1) = 6 × 69 × 250 = 103,500 个 double:每根支柱含一个顶端 (x,y,z) 和一个底端 (x,y,z)。 2.5.2 坐标采用 GRIDUNIT 的长度单位(此处为米);解析时换算为 SI。 2.5.3 支柱排列为 X 最快、其次 Y;ZCORN 再把 8 个单元角点深度挂在这些支柱上。 2.5.4 不能与 GDFILE 共存。


3.1 用途: 对多油藏网格中的每个油藏,声明它跨越的 K 层范围以及纵向连接方式。每个油藏一条记录。

3.2 所属段: GRID

3.3 结构: 记录条数 = NUMRES(即 SPECGRID 的第 4 个值)。字段:

序号字段类型默认值含义
1K1INT本油藏的起始 K 层
2K2INT结束 K 层
3CIRCLE_COMPLETIONSTRINGINCOMP径向完井标志
4CONNECTIONSTRINGSEPARATE纵向连接方式
5R1INT0含水层连接
6R2INT0含水层连接

3.4 SZ36 实例(在 sz36-1_Grid.dat 中):

COORDSYS
1 64 'INCOMP ' /

→ 一个油藏,跨越 K = 1…64(全部层),不完整圆,分离连接。

3.5 规则与注意: 3.5.1 记录条数必须恰好等于 NUMRES(SZ36 中 NUMRES=1,故一条记录);需满足 1 ≤ K1 ≤ K2 ≤ NZ。 3.5.2 仅当堆叠多个油藏(NUMRES > 1)时才有实质作用;单油藏时为信息性声明。


4.1 用途: 用”单元盒 + 面”的方式命名断层面段。与 MULTFLT 配合(后者按名字给断层施加传导率乘子)。

4.2 所属段: GRID

4.3 结构: 变长记录(读到终止符为止)。每条记录:

序号字段类型含义
1NAMESTRING断层名(后续 MULTFLT 引用)
2-3IX1, IX2INTI 方向单元索引范围
4-5IY1, IY2INTJ 方向范围
6-7IZ1, IZ2INTK 方向范围
8FACESTRING哪个单元面位于断层上(X,X-,Y,Y-,Z,Z-;X+X)

4.4 SZ36 实例(在 FAULTS.DAT 中):

FAULTS
-- NAME IX1 IX2 IY1 IY2 IZ1 IZ2 FACE
'FAULT3' 38 38 239 239 1 9 'X+' /
'FAULT3' 38 38 239 239 12 22 'X+' /
'FAULT3' 38 38 238 238 1 9 'X+' /
... (一个断层 = 许多面段) ...
/

4.5 规则与注意: 4.5.1 每条记录以一个 / 结束;整个关键字再用一个额外的 / 收尾。 4.5.2 单个断层(如 FAULT3)由许多段记录拼成;SZ36 共定义约 33 个断层(FAULT3FAULT33)。 4.5.3 索引范围必须落在网格内(1…NX1…NY1…NZ)。 4.5.4 FAULTS声明几何;封堵强度来自 MULTFLT '<名字>' <乘子> /


5.1 用途: 控制是否输出旧式 .GRID 和新式 .EGRID 几何文件。

5.2 所属段: GRID

5.3 结构: 恰好一条记录:

序号字段类型默认值含义
1GRIDINT0旧式 .GRID 输出标志
2EGRIDINT1.EGRID 输出标志

5.4 SZ36 实例(在 SZ36_FIELD_VAL.DATA 中):

GRIDFILE
2 /

→ GRID 字段 = 2;EGRID 取默认值 1(即写出 .EGRID)。

5.5 规则与注意: 5.5.1 单条记录,以 / 结束。省略的尾部字段取默认值(此处 EGRID = 1)。 5.5.2 后处理工具(ResInsight 等)读取 .EGRID,务必保持 EGRID 开启。


序号关键字角色记录形状SZ36 规模
1ACTNUM活动单元掩码INT 数组1,083,648 个整数(0/1)
2COORD支柱坐标DOUBLE 数组(长度)103,500 个 double
3COORDSYS油藏层段NUMRES 条记录,6 字段1 条(K 1–64)
4FAULTS断层面段变长记录,8 字段~33 断层,每个多段
5GRIDFILE输出文件标志1 条记录,2 字段2 /

来源: SZ36 全场验证模型(deck + include 文件,内部路径从略)