网格法创建地下水模型
- 项目图示
- MODFLOW建模管道
- 可视化管道

1 算例简介 2 操作步骤 2.1 新建项目 2.2 创建MODFLOW模型 2.3 定义网格高程 2.4 定义渗透系数 2.5 定义补给边界 2.6 定义定水头边界 2.7 定义排水沟边界 2.8 定义抽水井 2.9 解释运行MODFLOW 3 小结 |
---|
算例简介
算例的概念模型如下图所示,研究区域包含三个含水层,网格所覆盖的模拟区域面积为 22860米× 22860米。网格被划分为 15 行和 15 列。为简单起见,顶层和底层的高程为水平高程。区域的补给来源于降水入渗,水流通过排水沟、抽水井(图中未表示出)、以及湖泊(左侧定水头边界)排出系统。初始水头设置为 60,并假设为稳定流情况进行计算。
操作步骤
新建项目
- 打开ENVIFUSION软件,若软件界面仍有其他项目,点击菜单栏关闭工程
按钮关闭当前项目文件。
创建MODFLOW模型
首先,创建用于运行MODFLOW2005模拟的网格。
点击创建->MODFLOW->创建ModFlow2005模型,创建创建ModFlow2005模型1图层。将模型网格划分设置为(15,15,3)。模型X边界分别设置为(0,22860),Y边界分别设置为(0,22860),Z边界分别设置为(-215,60)。勾选垂向渗透系数和初始水头选项,默认水平和垂向渗透系数分别为15和1.5;默认初始水头设为60,点击应用完成设置。
用户应自行确认模型单位的一致性,单位会在后续操作中进行设置。本算例长度单位为米,时间单位为天。此时系统将产生初始MODFLOW模拟图层。
点击属性面板右上角的显示/隐藏高级属性
变
,打开高级属性。在创建ModFlow2005模型1图层属性面板渲染子面板中,将渲染方式设为曲面网络,将坐标变换属性中的Z缩放设为15,视图窗口如下所示:
网格赋值时需要选择相应的网格,为方便选择,为网格添加MODFLOW行列层坐标。选择创建ModFlow2005模型1图层,点击工具箱-> 属性->添加位置属性,生成位置属性1图层,将其重命名为010位置属性1图层。
在该图层属性面板数据字面板中,开启添加ModFlow行列层坐标选项;在渲染面板中将渲染方式设为曲面网络,点击应用完成设置。
在选择面板的网格标签属性中,勾选mf行列层坐标,即可为视图窗口中所选网格显示ModFlow模型行列层坐标的标签。如在界面中未找到选择面板,则点击视图->选择,调出选择面板。如果需要对标签字体、大小、颜色等进行调整,点击散点标签右下角的编辑选择标签属性
按钮,打开选择标签属性对话框,设置完成后可点击左下角保存当前设置为系统默认按钮,将当前标签格式设置为系统默认标签格式。
在视图窗口中,点击窗口上方的交互添加网格
选项,在视图中点击任意网格,会出现该网格的行列层坐标标签。如需显示其他网格属性,可在选择面板的网格标签按钮中进行选择。
定义网格高程
本模型一共三层网格,四个模型层面,除上一节中定义的第一层顶部高程和第三层底部高程外,还需要定义第一层和第二层网格的底部高程,使用外部准备的csv数据定义网格高程。
由于本模型参数比较简单,其中高程、渗透系数、补给率等参数均为一层网格一个数值,可在外部准备csv数据作为参数库。数据如下图所示,包含位于网格区域中心点的XY坐标,四个模型层面的高程、各层水平渗透系数和垂向渗透系数、垂向补给率等。将该文件命名为grid.csv。
数据点击文件菜单栏中的打开选项,或点击界面上方的
按钮,打开算例文件夹中的grid.csv文件,在该图层属性面板中点击应用完成设置,生成grid.csv图层。
选择grid.csv图层,点击工具箱->散点->表格->散点,生成表格->散点1图层,在该图层属性面板数据子面板中,为XYZ坐标选择相应的属性,开启2D散点和保留坐标选项,点击应用完成设置。
选择010位置属性1图层,点击模拟-> MODFLOW2005->网格高程,选择表格->散点1图层为属性图层,点击确认生成网格高程1图层,将其重命名为020 bot1网格高程1图层。
在020 bot1网格高程1图层属性面板中将赋值模式设为散点属性->单层,将高程数列选为Bot1,赋值对象为单层底板,层号为1,勾选下方的上层优先选项,点击应用完成设置,即为第一层网格底板赋值Bot1数列中的高程。
重复步骤4,将020 bot1网格高程1图层设为模型工程图层,将表格->散点1图层为属性图层,生成030 bot2网格高程1图层。在该图层属性面板数据子面板中,将高程数列设为Bot2,层号设为2;在渲染子面板中,将渲染方式设为曲面网络,点击应用完成设置。模型高程设置完毕,视图窗口如下图所示:
定义渗透系数
使用矩形选择的工具选择网格,使用网格赋值为模型定义渗透系数。
在项目浏览器中只保留030 bot2网格高程1图层的显示,点击俯视视角
工具,使视角变为俯视。
点击视图上方矩形选择网格
工具,在视图窗口点击鼠标拖动生成包含第一层所有网格的矩形,完成后可旋转视图查看是否选中第一层所有网格。如选择区域有误,可点击选择网格工具条最右方的清除选择
按钮,清除错误选择,重新选择网格。
选择030 bot2网格高程1图层,点击模拟-> MODFLOW2005->网格赋值,生成网格赋值1图层,将其改名为040 Kh2-网格赋值1图层。在该图层属性面板数据子面板中,将属性类别设为水平渗透系数,将水平渗透系数设为0.9,层号设为2,点击应用完成设置,即将第二层网格水平渗透系数设为0.9。
重复3次步骤1-3,最终生成070 Kv3-网格赋值1图层,分别为模型第三层网格赋值水平渗透系数2、为模型第二层和第三层网格赋值垂向渗透系数0.18和0.4。
在070 Kv3-网格赋值1图层属性面板渲染子面板中,将渲染方式设为曲面网络,将色彩设为ef垂向渗透系数,点击应用,视图窗口如下所示,三层网格垂向渗透系数不同。将色彩改为ef水平渗透系数,查看三个网格的水平渗透系数。
定义补给边界
使用网格赋值和层赋值的方法为模型第一层网格定义补给边界。
可以重复2.4节步骤1-3,使用矩形选择网格工具选中第一层网格,使用模拟-> MODFLOW2005->网格赋值工具、生成080 Rch-网格赋值1图层,在该图层属性面板中,将属性类别设为垂向入渗边界,垂向入渗率设为0.0009,层号设为1的方法设置补给边界。
还可以利用表格->散点1图层中的补给率数据,使用层赋值的方法进行赋值。具体操作为:选中070 Kv3-网格赋值1图层,点击模拟-> MODFLOW2005->层赋值,将表格->散点1图层设为属性图层,点击确定创建层赋值1图层,将其重命名为080 Rch-层赋值1图层。
在该图层属性面板数据子面板中,将属性类别设为垂向入渗边界,将层号设为1,垂向入渗率选择ef补给率数列。在渲染子面板中,将渲染方式设为曲面网络,将色彩设为ef垂向入渗边界,点击应用完成设置,为模型设置垂向入渗边界(降水补给)。
定义定水头边界
使用网格赋值方法,将第一、二层的第一列网格设为定水头。
在项目浏览器中选择080 Rch-层赋值1图层,点击视图上方矩形选择网格
工具,在视图窗口点击鼠标拖动生成矩形,包含第一层网格东部即第一列的所有网格。必要时可点击选择面板网格标签中的mf行列层坐标选项,查看第一列所在位置。
点击模拟-> MODFLOW2005->网格赋值,生成网格赋值1图层,将其改名为090 定水头-网格赋值1图层。在该图层属性面板数据子面板中,将属性类别设为定水头边界,将固定水头设为0,层号设为1-2,点击应用完成设置,即将第一、二层网格最左列(第一列)设为水位为0的定水头边界。
在渲染子面板中将渲染方式设为曲面网络,将色彩设为efIBound,IBound为1时为模型活动网格,为-1时表示该网格为定水头边界,视图窗口如下图所示:
定义排水沟边界
排水沟底部高程呈线性变化,使用线赋值方法定义排水沟边界。
在项目浏览器中选中090 定水头-网格赋值1图层,点击Z轴向外
工具,使视角变为俯视。为方便绘制表示排水沟的线段,在该图层属性面板渲染子面板中,将渲染模式改为网络;在视窗子面板中,打开平行投影选项,消除网格透视的影响。
点击工具箱->几何体->线,点击应用,生成线1图层,将其重命名为drain-线1图层。在该图层中,打开拖拽手柄选项。在视图窗口中找到(8行,2列,1层)的网格,并将鼠标放置其中,按键盘P键创建线段起点;再找到(8行,10列,1层)网格,按P键创建线段终点。
为方便查看网格行列层信息,可参考2.2节步骤3,在090 定水头-网格赋值1图层中打开mf行列层坐标标签,交互选择网格线会出现该网格的行列层信息。
注意新生成的线段有方向,起点第2列,终点第10列。下一步将按线段长度赋值排水沟底部高程,因此线段尽量充满第8行,2-10列的网格。视图窗口如下所示:
点击工具箱->折线->折线->长度计算,生成线长度1图层,将其命名为bot线长度1图层。在该图层属性面板数据子面板中,勾选线性变换选项,将最小值设为0,最大值设为30,数列名称设为efdrain-bot。在渲染子面板中将色彩设为efdrain-bot,点击显示/隐藏颜色图例
按钮,将线宽改为3,点击应用完成设置。可看到线段左端为低值,右边为高值。
在项目浏览器中选择bot线长度1图层,点击工具箱->属性->计算器,生成属性计算器1图层,将其重命名为C-属性计算器1图层。在该图层的属性面板数据子面板中,将结果数列名称设为efdrain-C,将数值设为7430,中点击应用完成设置,为线1赋值传导系数。
选择090 定水头-网格赋值1图层,点击模拟-> MODFLOW2005->线赋值,选择C-属性计算器1图层为属性图层,点击确认生成线赋值1图层,将其重命名为100 drain-线赋值1图层。
在该图层属性面板数据子面板中将属性类别选为排水沟边界,层号为1,排水沟高程和传导系数分别选择efdrain-bot和efdrain-C数列;在渲染子面板中,将渲染方式设为曲面网络,将色彩设为ef排水传导系数,点击应用完成设置。视图窗口如下图所示,第8行,2-10列被定义为排水沟。
定义抽水井
使用网格赋值方法设置抽水井边界。
在项目浏览器中选择100 drain-线赋值1图层,点击Z轴向外
工具,使视角变为俯视。点击视图上方交互添加网格
工具,在视图窗口点击鼠标依次点击第9、11和13行的第8、10、12和14列网格,这些网格将被设置为井边界。
必要时可点击选择面板网格标签中的mf行列层坐标选项,查看所选网格行列层坐标。如选择区域有误,可点击选择网格工具条最右方的清除选择
按钮,清除错误选择,重新选择网格。
点击模拟-> MODFLOW2005->网格赋值,生成网格赋值1图层,将其改名为110 井1-网格赋值1图层。在该图层属性面板数据子面板中,将属性类别设为井边界,将井抽水率设为-12230,层号设为1,点击应用完成设置,将第一层所选网格设置为井边界。
重复步骤1-2操作,选择(4行,6列)和(6行,12列)网格,使用模拟-> MODFLOW2005->网格赋值工具,为两个所选网格第二层赋值井边界,井抽水率为-12230。
选择(5行,11列)网格,使用模拟-> MODFLOW2005->网格赋值工具,生成130井3-网格赋值1图层,为所选网格第三层赋值井边界,井抽水率为-0.15。完成三个含水层中井边界的赋值。
解释运行MODFLOW
解释运行创建好的水流模型。
选中130井3-网格赋值1图层,点击模拟-> MODFLOW2005->解释运行,生成解释运行MODFLOW1图层。在属性面板中,点击
按钮选择模型文件生成的位置,将模型名保存为grid。选择解算器为GMG,时间单位为天,长度单位为米,保存应力期为1,点击应用,系统将自动编译并运行MODFLOW模型,运行完成后会弹出调试窗口,显示MODFLOW水流模型引擎正常结束。
点击文件菜单栏中的打开选项,或点击界面上方的
按钮,选择上一步中用户指定名称的mf2005文件夹中的efModFlow2005.nam文件。对象浏览器中生成efModFlow2005.nam图层,其中hed文件为水头文件,lmt6文件为MODFLOW生成的链接文件,其中记载了边界信息、参数信息、以及逐网格的水力梯度信息。
在该图层属性面板渲染子面板中,将渲染方式改为曲面网络,将色彩设为ef水头,点击下方的选择预设调色板
按钮,选择适宜的调色板,本算例中选择RainbowRich调色板;坐标变换属性下的Z方向缩放设为15,点击应用导入MODFLOW模型水位结果。
可提取潜水层网格,使用水位值对潜水面进行标量扭曲。在项目浏览器中选择efModFlow2005.nam图层,点击工具箱->网格->结构网格->提取子网格,生成提取子网格1图层。在该图层属性面板数据子面板中,将子网格Z坐标设为0-1,即提取模型第一层网格,点击应用完成设置。
点击工具箱->网格->网格中心->散点,生成网格中心->散点1图层。点击应用完成设置,在第一层网格中心位置生成散点。
点击工具箱->散点->散点->曲面(三角化),生成散点->曲面1图层。点击应用完成设置,使用散点构成潜水面。
在项目浏览器中选择散点->曲面1图层,点击工具箱->空间拓扑->标量扭曲,生成标量扭曲1图层。在该图层属性面板数据子面板中,将标量数列设为ef水头,缩放因子设为10;在渲染子面板中将渲染方式设为曲面网络,色彩设为ef水头,点击应用完成设置。潜水面根据水位结果从二维变为三维,如下图所示。
小结
完成本指南中的算例后,可以学到以下内容:
- 如何创建并运行地下水MODFLOW水流模型;
- 如何添加ModFlow行列层坐标并作为标签展示;
- 如何在视图窗口选择网格;
- 如何使用表格数据为模型网格赋值层高程;
- 如何使用网格赋值工具为MODFLOW模型赋值;
- 如何提取模型子网格并进行可视化。