3. MODFLOW网格系统与空间离散

MODFLOW把连续的三维含水层空间切分成有限个长方体单元,所有水头、导水系数、补给量、抽水量都定义在这些单元上。网格系统是模型的“骨架”,它决定了模型能表达什么尺度的地质结构、边界位置和降深形态。理解网格,本质上是在理解“离散误差从哪里来、又该如何控制”。

一、格架设计与行-列-层编号

MODFLOW采用块中心有限差分格架:每个单元用一个节点代表,节点位于单元中心,水头在节点上求解,单元之间通过界面上的导水系数发生水力联系。网格由三层索引定位:层号(Layer,垂向)、行号(Row,沿y方向)、列号(Column,沿x方向),记作 (L, R, C)。

编号约定必须牢记:层号自上而下递增,第1层是最上层;行号自北向南递增,即行号增大方向对应y坐标减小;列号自西向东递增,对应x坐标增大。这一约定直接影响抽水井、观测孔、定水头边界的落位,也影响后续水均衡与流速方向的正负判断。若在GIS中按“左下角为原点、y向上”的习惯布点,导入MODFLOW前必须做行列翻转,否则边界会整体错位。

垂向上,MODFLOW提供两种层型:等厚层(LAYCON=0)与可变层(LAYCON=1)。等厚层要求各层顶底高程由模型顶面与层厚推算,适合水平层状地层;可变层则逐层给定顶、底高程数组(Top、Bot),能刻画倾斜地层、透镜体与地层缺失。实际建模中,承压-无压转换问题几乎都采用可变层,并把第1层设为可承压/无压转换层(LAYCON=3),由程序根据计算水头与顶板高程自动判断单元是承压还是无压。

二、网格尺寸与边界对齐

网格尺寸(Δr、Δc、Δv)不是越细越好,而是要与“要表达的对象”匹配。经验上应保证:关键边界(河流、断层、定水头边界)至少落在一条网格线上或穿过一排单元中心;抽水井所在单元不宜跨越两个水文地质单元;观测孔附近网格应能分辨预期降深梯度。

边界对齐是常见错误来源。以河流为例,若河流实际位置落在两列单元之间,而建模时把河流定水头随意赋给某一列,就会造成河流位置偏移半个网格,进而使捕获带、降深漏斗形态失真。正确做法是:先确定河流中心线坐标,再反推网格原点与列宽,使河流中心线尽量与某一列单元中心重合;若河流斜穿网格,则应采用沿河流走向加密的局部网格,或改用河流包(RIV)按单元逐段赋值,而不是强行拉直。

网格间距宜采用渐变而非突变:相邻单元尺寸比控制在1.2~1.5以内,避免因导水系数突变引入数值反射与收敛困难。远离研究区的边缘可逐步放大网格,形成“中心密、外围疏”的嵌套格架。

网格离散与边界对齐示意(平面,第1层) IBOUND=0 无效单元 定水头边界 IBOUND<0 河流中心线与列中心重合 抽水井 观测孔 R1 R2 R3 R4 R5 R6 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 行号增大(向南) 列号增大(向东)

三、活动单元与无效单元

每个单元通过 IBOUND 数组声明其性质:IBOUND>0 为活动单元,水头参与求解;IBOUND=0 为无效单元,不参与计算,也不与相邻单元发生水量交换;IBOUND<0 为定水头单元,水头固定、水量自由进出。无效单元用于挖去研究区外的空白区、隔水底板以下区域或地表水体占位区。

设置无效单元时有两个易错点。其一,无效单元不能“夹”在活动单元之间形成孤岛,否则会在其周围产生不真实的绕流;若确需模拟隔水透镜体,应通过降低渗透系数而非设为无效来实现。其二,定水头单元与无效单元不可混用:把边界外侧误设为 IBOUND=0,等于切断了边界补给,模型会表现为“水位持续下降、无法收敛到稳定流”。

一个实用的检查方法是:在 MODFLOW 运行前输出 IBOUND 平面图,逐层核对活动区是否连续、定水头单元是否恰好落在设计边界线上、抽水井与观测孔是否都落在 IBOUND>0 的单元内。这一步能在几分钟内排除大量“模型跑不动”的低级错误。

四、网格分辨率对计算精度的影响

离散误差主要来自两方面:一是边界与井位的几何近似,二是水头梯度的空间截断。抽水井在模型中是一个“整单元”的汇,若单元过大,井周围实际存在的陡降深漏斗被平均到整个单元,计算降深会明显偏小;同时,井到最近观测孔之间的水头差也会被低估。加密井周网格可显著改善这一点。

但加密并非无代价:单元数增加使方程组规模按单元数增长,求解时间与内存随之上升;过小的单元还会放大参数的非均质性噪声,使模型对并不掌握的局部参数过度敏感。工程上的折中做法是:在研究区核心带采用较细网格(如 50 m×50 m),向外以 1.3 倍比例逐步放大至 200~500 m,并保证总单元数在可接受范围内(例如数万至十余万)。

判断分辨率是否足够,可做一次简单的敏感性检验:把核心区网格加密一倍,重新计算同一观测孔的降深。若两次结果相差小于约 5%,说明当前分辨率已基本收敛;若差异显著,则需继续加密或检查边界与参数设置。这一检验比单纯追求“细网格”更能说明问题。

建模提示:网格原点、行宽、列宽一旦确定,后续所有边界、井、观测孔坐标都要按同一套索引换算。建议在建模笔记中固定记录“原点坐标 + 各列宽度 + 各行宽度”,并用一个独立脚本完成 (x, y) 到 (L, R, C) 的换算,避免手工数格出错。

综上,MODFLOW 网格系统的设计是一条从“地质对象”到“离散索引”的映射链:层型决定垂向表达能力,行列编号决定空间定位,网格尺寸与边界对齐决定几何保真度,IBOUND 决定计算域的有效范围,分辨率则决定数值精度。把这条链上的每一环都对齐到实际水文地质条件,后续的流场计算与边界判读才有可靠基础。