目标
本文中介绍了利用栅格模式建立 MODFLOW的方法。多数情况下, 比起该类方法,利用概念模型方式建立模型更方便快捷。但由于栅格模式建模型可以进行逐个单元格的编辑,因此此方法更适用于解决一些简单问题或是学术问题。
4.1 简介
在 GMS中,有两种应用方式可以构建 modflow 模拟:栅格和概念模型。栅格方式包括直接在 3D 栅格的逐个单元( cell-by-cell)添加源/汇项和其他模型参数。概念模型应用方式包括在 map 模块中使用 gis 工具开发一个被模拟区域的概念模型。概念模型中的数据将会被复制到栅格中。
本文中栅格应用于 modflow 的预处理过程。大部分而言,概念模型的应用比栅格方式更为有效。尽管如此,栅格方式在解决简单问题或者需要逐个单元编辑的学术练习中也是非常有用的。在开始 MODFLOW - Conceptual ModelApproach tutorial.时不需要完成此 tutorial。
4.1.1 纲要
操作流程:
1、导入背景底图
2、 创建并建立 coverages
3、建立 3D gird 模型
4、导入散点虎踞并且差值为高度数据
4.2 问题描述
此指南中需要解决的问题在图 1中描述。
此问题是 MODFLOW Reference Manual.结尾描述的简单问题的改进。在计算网格中使用三层假设成为三个含水层。栅格覆盖区域为一 75000ft×75000ft的正方形区域。栅格由 15行和15列组成,计划每个单元的计量为 5000ft×5000ft。顶部和底部高程将简化成为水平面。图上显示为水平方向的水力传导系数,垂直方向的水力传导系数使用部分水平方向的水力传导系数。
由于大气降水入渗补给系统的输入将会被定义为回灌。由于排水管道、排水井(图中没有标示)排出系统,左边的湖被定义为定水头边界。初始水头定为 0,稳定态将会进行计算
4.3 开始
如有必要首先运行 GMS。若 GMS已经运行,使用 File/new 这个命令,以便程序设置存储为默认的状态。
4.4 单位
在此处,定义该模型涉及到的单位。在 GMS界面中可以对选用的单位进行修改以便每个参数都有适用的单位。
1、选择 Edit/Units 命令。
2、选择“ m”作为长度单位,选择“ d”作为实践单位。其余单位将被忽略使用(该类单位在水流模型中不使用) 。
3、选用 OK按钮。
4.5 创建栅格
解决此问题的第一步是创建一个 3D有限差分单元格。
1、在 Project Explorer 中,右键点击空白出, 在下拉菜单中选择 New /3D Grid命令。
2、在 X坐标(X-dimension )区域,输入 22860作为长度值,单元格数 Number cells 为 15。
3、在 Y坐标(Y-dimension )区域,输入 22860作为长度值,单元格数 Number cells 为 15。
4、在 Z 坐标(Z-dimension )区域,输入单元格数 Number cells 为 3。稍后再输入每一层栅格的顶部和底部高程值。因为,输入的 Z 方向的单元格厚度对于 MODFLOW的计算不起作用。
5、选择 ok 按钮。在显示屏上会出现平面显示的栅格。简化的表示也会出现在小图标 Mini-Grid Plot. 中。
4.6 创建 modflow 模拟
下一步是初始化 modflow 模拟。
1、在Project Explorer 中,右键点击 Grid 按钮 ,在下拉菜单中选择 New MODFLOW命令。
4.6.1 全局变量赋值
MODFLOW的输入被分为独立的模块化软件包, 有些是可以选择的,有些是必需的,全局变量软件包是必选的。
软件包
首先进行软件包选择。
1、选择 Packages按钮。这个块对话框用于指定建立模型所需要的软件包。基础的软件包是必需的,不能被关闭。下面选择其他的软件包。
2、在Option packages部分,打开 Drain (DRN1) 和 Well(WEL1) 选项,打开Recharge (RCH1)选项。
3、在Solver 部分,选择 Stongly Impl. Procedure (SIP1) 软件包。
4、选择 ok 推出对话框。边界条件
下一步是进行边界条件赋值 。边界条件赋值 用于指定单元格的活动性, IBOUND>0为活动, IBOUND =0为不活动, IBOUND<0 为常数。在此案例中,除了上面两层最左边一列外所有的单位都为活动,这一列将被定义为定水头。
1、选择 IBOUND 按钮。
IBOUND 对话框在一个电子表格中显示 IBOUND 数列的值, 每次显示一层。左上角的编辑区域可以改变当前层,除上面两侧左侧一列的数据小于 0 外,其他所有的数列值都大于 0。默认状态下,数列中的值都大于 0。因此,需要改变定水头单元格。这可以在 30 个定水头单元格中输入 -1 即可。尽管如此, 还有另外更简单的方法修改 边界条件。这将会在后续的指南中进行描述。现在将所有的单元格处于激活状态。
2、选择 ok 退出对话框。
初始水位
下一步建立初始水位。
1、选择 Starting Heads按钮。
初始水头用于建立短暂模拟的初始水头值。当计算出一个稳定态的模拟,在最后的解中每一个单元的初始值不应该有差别。初始水头值与最终水头值越接近,modflow越快计算出结果值。对于某些类型的含水层来说,如果初始水头太低,modflow将认为此单元疏干。在此案例中,初始值为 0既能满足要求。
初始水头数列也用于建立定水头单元的水头值。在此问题中, 定水头值为 0。所有的初始水头值默认为 0,不需要修改
2、选择 ok 退出对话框。
含水层顶底板高程下一步是建立顶部和底部的高程值数列。
1、选择 Top Elevation按钮。
2、确定当前层为 1(Layer is 1.)
3、选择 Constant →Layer按钮。
4、输入值为 60 并确定。
5.、选择 ok退出Top Elevations对话框。
GMS默认该层的上部也是上一层的底部。因为,只需要输入所有层的底部高程,顶部高程将会自动赋值
6、选择 Bottom Elevation按钮。
7、确认当前层为 1。
8、选择 Constant→Layer按钮。
9、输入 -45 并确认。
10、改变当前层为 2。
11、选择 Constant→Layer 按钮。
12、输入 -120 并确定。
13、改变当前层为 3。
14、选择 Constant→Layer 按钮。
15、输入 -215 并确认。
16、选择 ok退出Bottom Elevation对话框。
17、选择 ok退出MODFLOW Global Package对话框
4.7 单元边界条件直接赋值
正如上面提到的一样, IBOUND 值可以通过 IBOUND 数列对话框进行输入。对某些情况来说, 这比直接对每个单元进行输入更为容易, 可以通过 Cell Properties命令来完成。在使用此命令前,必须选择上面两层最左边的一列单元格。
4.7.1 换角度观察栅格
为了便于操作,可以换转视角从而实现不同方向查看构建的栅格网络。
18、选择 Side View按钮栅格非常薄。这可以通过调整 Z 方向上的放大率来进行调整。
19、选择 Display 选项
20、将Z magnification修改为 15。
21、选择 ok.
4.7.2 选定单元格
1、选择 Select Cells工具 。
2、在Mini-Grid Display 中将列改变为 1,并按 table键。注意现在观察的是第一列(最左边一列)
3、在上面两层的栅格周围拉一个方框。
4.7.3 修改边界条件
编辑 IBOUND值:
1、在所选择的其中一个单元上右键点击。
2、选择 Properties 工具。
3、将边界条件 选项改变为 Specified head . 。
4、选择 ok退出Cell Properties 对话框。
5、选择 Plan View按钮 。注意:符号已经显示在所编辑的单元上,表明这些单元是定水头单元。
4.7.4 检查赋值
确保输入的边界条件的准确度:
1、选择 MODFLOW | Global Options 菜单命令。
2、选择 IBOUND 按钮。
3、在左上角的对话框中选择右侧的向上箭头,让图层循环显示。注意上面两层最左边一列单元的值均为 -1。在 GMS中使用电子表格方式或者是通过选择单元并直接输入(选择一个最为便利的输入方式)的 MODFLOW数据均能够编辑。
4、选择 ok按钮退出 IBOUND Array 对话框。
5、选择 ok 按钮退出 MODFLOW Global Package 对话框
4.8 LPF 模块
下一步是建立模型并输入图层流动模块( LPF)。LPF 模块计算每个栅格单元之间的传导系数以及建立逐个单元流动的差分方程。
1、选择 MODFLOW | LPF Package 菜单命令。
4.8.1 图层类型
在对话框中 Layer Data 部分的选项, 被用于定于图层类型以及每一个图层的水力传导系数。在我们的问题中,有三个图层。最上面的一层是无限制的,下面两层是有限制的(承压的)。GMS中默认的图层类型是“可逆的(可转变的)”,也就是说图层可以能够被转变为承压或无压。因此,不需要改变图层的类型
4.8.2 图层参数
在对话框中 Layer Data 部分的按钮是为了输入计算逐个单元的传导率必需的参数。MODFLOW 要求一组与图层类型相关联的图层参数。
4.8.3 顶层
首先,输入顶层的数据。
1、选择 Horizontal Hydraulic Conductivity 按钮。
2、选择 Constant →Layer按钮。
3、输入值 15。
4、选择 ok 按钮。
5、选择 ok 按钮退出 Horizontal Hydraulic Conductivity 对话框。
6、重复这个步骤并在垂向各向异性上输入 10。
4.8.4 中间层
1、在Layer Data 部分 选择向上箭头转到正确的图层编辑区域,转到图2。
2、在图层 2 中输入一下数值:
4.8.5 底层
1、转到图层 3 并输入以下数值
至此数据输入完成
2、选择 ok退出MODFLOW LPF Package 对话框。
4.9 补给(回灌)模块
接下来为补给模块输入数值。补给模块用于模拟降雨入渗以及地表入渗补给含水层。输入补给数据:
1、选择 MODFLOW | Source/Sink Packages | Recharge Package菜单命令。
2、选择 Constant →Array 按钮。
3、输入 0.0009 并点击 ok。
4、选择 ok按钮退出 Recharge Package对话框。
4.10 排水沟模块
现在定义模型上层中的排水沟行。定义排水沟,首先要选择排水沟所在的单元格,再选择 Point Sources/Sinks菜单命令。
4.10.1 选择单元格
排水沟定位于上层(图层 1),这是当前层,我们不需要改变显示。需要选择第 8 行的 2-10 列单元格。
选择单元格:
1、选择 Select Cells工具 。
2、注意当你在栅格上移动鼠标,鼠标下面单元格所属的 ijk 值(行,列,层)将在屏幕最下面的对话框中显示出来,如图 3。