Skip to main content

网格法创建地下水模型

info

本页面中的短视频为简短操作介绍,获取完整EnviFusion教学课程,请访问 在线课程

算例工程下载地址

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,并假设为稳定流情况进行计算。

操作步骤

新建项目

  1. 打开ENVIFUSION软件,若软件界面仍有其他项目,点击菜单栏关闭工程按钮关闭当前项目文件。

创建MODFLOW模型

首先,创建用于运行MODFLOW2005模拟的网格。

  1. 点击创建->MODFLOW->创建ModFlow2005模型,创建创建ModFlow2005模型1图层。将模型网格划分设置为(15,15,3)。模型X边界分别设置为(0,22860)Y边界分别设置为(0,22860)Z边界分别设置为(-215,60)。勾选垂向渗透系数和初始水头选项,默认水平垂向渗透系数分别为151.5默认初始水头设为60,点击应用完成设置。

    用户应自行确认模型单位的一致性,单位会在后续操作中进行设置。本算例长度单位为,时间单位为。此时系统将产生初始MODFLOW模拟图层。

    点击属性面板右上角的显示/隐藏高级属性,打开高级属性。在创建ModFlow2005模型1图层属性面板渲染子面板中,将渲染方式设为曲面网络,将坐标变换属性中的Z缩放设为15,视图窗口如下所示:

  2. 网格赋值时需要选择相应的网格,为方便选择,为网格添加MODFLOW行列层坐标。选择创建ModFlow2005模型1图层,点击工具箱-> 属性->添加位置属性,生成位置属性1图层,将其重命名为010位置属性1图层。

    在该图层属性面板数据字面板中,开启添加ModFlow行列层坐标选项;在渲染面板中将渲染方式设为曲面网络,点击应用完成设置。

  3. 选择面板的网格标签属性中,勾选mf行列层坐标,即可为视图窗口中所选网格显示ModFlow模型行列层坐标的标签。如在界面中未找到选择面板,则点击视图->选择,调出选择面板。如果需要对标签字体、大小、颜色等进行调整,点击散点标签右下角的编辑选择标签属性按钮,打开选择标签属性对话框,设置完成后可点击左下角保存当前设置为系统默认按钮,将当前标签格式设置为系统默认标签格式。

  4. 视图窗口中,点击窗口上方的交互添加网格选项,在视图中点击任意网格,会出现该网格的行列层坐标标签。如需显示其他网格属性,可在选择面板的网格标签按钮中进行选择。

定义网格高程

本模型一共三层网格,四个模型层面,除上一节中定义的第一层顶部高程和第三层底部高程外,还需要定义第一层和第二层网格的底部高程,使用外部准备的csv数据定义网格高程。

  1. 由于本模型参数比较简单,其中高程、渗透系数、补给率等参数均为一层网格一个数值,可在外部准备csv数据作为参数库。数据如下图所示,包含位于网格区域中心点的XY坐标,四个模型层面的高程、各层水平渗透系数和垂向渗透系数、垂向补给率等。将该文件命名为grid.csv

  2. 数据点击文件菜单栏中的打开选项,或点击界面上方的按钮,打开算例文件夹中的grid.csv文件,在该图层属性面板中点击应用完成设置,生成grid.csv图层。

  3. 选择grid.csv图层,点击工具箱->散点->表格->散点,生成表格->散点1图层,在该图层属性面板数据子面板中,为XYZ坐标选择相应的属性,开启2D散点保留坐标选项,点击应用完成设置。

  4. 选择010位置属性1图层,点击模拟-> MODFLOW2005->网格高程,选择表格->散点1图层为属性图层,点击确认生成网格高程1图层,将其重命名为020 bot1网格高程1图层。

    020 bot1网格高程1图层属性面板中将赋值模式设为散点属性->单层,将高程数列选为Bot1赋值对象单层底板层号1,勾选下方的上层优先选项,点击应用完成设置,即为第一层网格底板赋值Bot1数列中的高程。

  5. 重复步骤4,将020 bot1网格高程1图层设为模型工程图层,将表格->散点1图层为属性图层,生成030 bot2网格高程1图层。在该图层属性面板数据子面板中,将高程数列设为Bot2层号设为2;在渲染子面板中,将渲染方式设为曲面网络,点击应用完成设置。模型高程设置完毕,视图窗口如下图所示:

定义渗透系数

使用矩形选择的工具选择网格,使用网格赋值为模型定义渗透系数。

  1. 项目浏览器中只保留030 bot2网格高程1图层的显示,点击俯视视角工具,使视角变为俯视。

  2. 点击视图上方矩形选择网格工具,在视图窗口点击鼠标拖动生成包含第一层所有网格的矩形,完成后可旋转视图查看是否选中第一层所有网格。如选择区域有误,可点击选择网格工具条最右方的清除选择按钮,清除错误选择,重新选择网格。

  3. 选择030 bot2网格高程1图层,点击模拟-> MODFLOW2005->网格赋值,生成网格赋值1图层,将其改名为040 Kh2-网格赋值1图层。在该图层属性面板数据子面板中,将属性类别设为水平渗透系数,将水平渗透系数设为0.9层号设为2,点击应用完成设置,即将第二层网格水平渗透系数设为0.9。

  4. 重复3次步骤1-3,最终生成070 Kv3-网格赋值1图层,分别为模型第三层网格赋值水平渗透系数2、为模型第二层和第三层网格赋值垂向渗透系数0.180.4

    070 Kv3-网格赋值1图层属性面板渲染子面板中,将渲染方式设为曲面网络,将色彩设为ef垂向渗透系数,点击应用,视图窗口如下所示,三层网格垂向渗透系数不同。将色彩改为ef水平渗透系数,查看三个网格的水平渗透系数。

定义补给边界

使用网格赋值和层赋值的方法为模型第一层网格定义补给边界。

  1. 可以重复2.4节步骤1-3,使用矩形选择网格工具选中第一层网格,使用模拟-> MODFLOW2005->网格赋值工具、生成080 Rch-网格赋值1图层,在该图层属性面板中,将属性类别设为垂向入渗边界垂向入渗率设为0.0009层号设为1的方法设置补给边界。

  2. 还可以利用表格->散点1图层中的补给率数据,使用层赋值的方法进行赋值。具体操作为:选中070 Kv3-网格赋值1图层点击模拟-> MODFLOW2005->层赋值,将表格->散点1图层设为属性图层,点击确定创建层赋值1图层,将其重命名为080 Rch-层赋值1图层。

  3. 在该图层属性面板数据子面板中,将属性类别设为垂向入渗边界,将层号设为1,垂向入渗率选择ef补给率数列。在渲染子面板中,将渲染方式设为曲面网络,将色彩设为ef垂向入渗边界,点击应用完成设置,为模型设置垂向入渗边界(降水补给)。

定义定水头边界

使用网格赋值方法,将第一、二层的第一列网格设为定水头。

  1. 项目浏览器中选择080 Rch-层赋值1图层,点击视图上方矩形选择网格工具,在视图窗口点击鼠标拖动生成矩形,包含第一层网格东部即第一列的所有网格。必要时可点击选择面板网格标签中的mf行列层坐标选项,查看第一列所在位置。

  2. 点击模拟-> MODFLOW2005->网格赋值,生成网格赋值1图层,将其改名为090 定水头-网格赋值1图层。在该图层属性面板数据子面板中,将属性类别设为定水头边界,将固定水头设为0层号设为1-2,点击应用完成设置,即将第一、二层网格最左列(第一列)设为水位为0的定水头边界。

  3. 渲染子面板中将渲染方式设为曲面网络,将色彩设为efIBound,IBound为1时为模型活动网格,为-1时表示该网格为定水头边界,视图窗口如下图所示:

定义排水沟边界

排水沟底部高程呈线性变化,使用线赋值方法定义排水沟边界。

  1. 项目浏览器中选中090 定水头-网格赋值1图层,点击Z轴向外工具,使视角变为俯视。为方便绘制表示排水沟的线段,在该图层属性面板渲染子面板中,将渲染模式改为网络;在视窗子面板中,打开平行投影选项,消除网格透视的影响。

  2. 点击工具箱->几何体->线,点击应用,生成线1图层,将其重命名为drain-线1图层。在该图层中,打开拖拽手柄选项。在视图窗口中找到(8行,2列,1层)的网格,并将鼠标放置其中,按键盘P键创建线段起点;再找到(8行,10列,1层)网格,按P键创建线段终点。

    为方便查看网格行列层信息,可参考2.2节步骤3,在090 定水头-网格赋值1图层中打开mf行列层坐标标签,交互选择网格线会出现该网格的行列层信息。

    注意新生成的线段有方向,起点第2列,终点第10列。下一步将按线段长度赋值排水沟底部高程,因此线段尽量充满第8行,2-10列的网格。视图窗口如下所示:

  3. 点击工具箱->折线->折线->长度计算,生成线长度1图层,将其命名为bot线长度1图层。在该图层属性面板数据子面板中,勾选线性变换选项,将最小值设为0最大值设为30数列名称设为efdrain-bot。在渲染子面板中将色彩设为efdrain-bot,点击显示/隐藏颜色图例按钮,将线宽改为3,点击应用完成设置。可看到线段左端为低值,右边为高值。

  4. 项目浏览器中选择bot线长度1图层,点击工具箱->属性->计算器,生成属性计算器1图层,将其重命名为C-属性计算器1图层。在该图层的属性面板数据子面板中,将结果数列名称设为efdrain-C,将数值设为7430,中点击应用完成设置,为线1赋值传导系数。

  5. 选择090 定水头-网格赋值1图层,点击模拟-> MODFLOW2005->线赋值,选择C-属性计算器1图层为属性图层,点击确认生成线赋值1图层,将其重命名为100 drain-线赋值1图层。

    在该图层属性面板数据子面板中将属性类别选为排水沟边界层号1排水沟高程传导系数分别选择efdrain-botefdrain-C数列;在渲染子面板中,将渲染方式设为曲面网络,将色彩设为ef排水传导系数,点击应用完成设置。视图窗口如下图所示,第8行,2-10列被定义为排水沟。

定义抽水井

使用网格赋值方法设置抽水井边界。

  1. 项目浏览器中选择100 drain-线赋值1图层,点击Z轴向外工具,使视角变为俯视。点击视图上方交互添加网格工具,在视图窗口点击鼠标依次点击第9、11和13行的第8、10、12和14列网格,这些网格将被设置为井边界。

    必要时可点击选择面板网格标签中的mf行列层坐标选项,查看所选网格行列层坐标。如选择区域有误,可点击选择网格工具条最右方的清除选择按钮,清除错误选择,重新选择网格。

  2. 点击模拟-> MODFLOW2005->网格赋值,生成网格赋值1图层,将其改名为110 井1-网格赋值1图层。在该图层属性面板数据子面板中,将属性类别设为井边界,将井抽水率设为-12230层号设为1,点击应用完成设置,将第一层所选网格设置为井边界。

  3. 重复步骤1-2操作,选择(4行,6列)(6行,12列)网格,使用模拟-> MODFLOW2005->网格赋值工具,为两个所选网格第层赋值井边界井抽水率-12230

    选择(5行,11列)网格,使用模拟-> MODFLOW2005->网格赋值工具,生成130井3-网格赋值1图层,为所选网格第层赋值井边界井抽水率-0.15。完成三个含水层中井边界的赋值。

解释运行MODFLOW

解释运行创建好的水流模型。

  1. 选中130井3-网格赋值1图层,点击模拟-> MODFLOW2005->解释运行,生成解释运行MODFLOW1图层。在属性面板中,点击按钮选择模型文件生成的位置,将模型名保存为grid。选择解算器GMG时间单位长度单位,保存应力期1,点击应用,系统将自动编译并运行MODFLOW模型,运行完成后会弹出调试窗口,显示MODFLOW水流模型引擎正常结束

  2. 点击文件菜单栏中的打开选项,或点击界面上方的按钮,选择上一步中用户指定名称的mf2005文件夹中的efModFlow2005.nam文件。对象浏览器中生成efModFlow2005.nam图层,其中hed文件为水头文件,lmt6文件为MODFLOW生成的链接文件,其中记载了边界信息、参数信息、以及逐网格的水力梯度信息。

    在该图层属性面板渲染子面板中,将渲染方式改为曲面网络,将色彩设为ef水头,点击下方的选择预设调色板按钮,选择适宜的调色板,本算例中选择RainbowRich调色板;坐标变换属性下的Z方向缩放设为15,点击应用导入MODFLOW模型水位结果。

  3. 可提取潜水层网格,使用水位值对潜水面进行标量扭曲。在项目浏览器中选择efModFlow2005.nam图层,点击工具箱->网格->结构网格->提取子网格,生成提取子网格1图层。在该图层属性面板数据子面板中,将子网格Z坐标设为0-1,即提取模型第一层网格,点击应用完成设置。

  4. 点击工具箱->网格->网格中心->散点,生成网格中心->散点1图层。点击应用完成设置,在第一层网格中心位置生成散点。

  5. 点击工具箱->散点->散点->曲面(三角化),生成散点->曲面1图层。点击应用完成设置,使用散点构成潜水面。

  6. 项目浏览器中选择散点->曲面1图层,点击工具箱->空间拓扑->标量扭曲,生成标量扭曲1图层。在该图层属性面板数据子面板中,将标量数列设为ef水头缩放因子设为10;在渲染子面板中将渲染方式设为曲面网络色彩设为ef水头,点击应用完成设置。潜水面根据水位结果从二维变为三维,如下图所示。

小结

完成本指南中的算例后,可以学到以下内容:

  • 如何创建并运行地下水MODFLOW水流模型;
  • 如何添加ModFlow行列层坐标并作为标签展示;
  • 如何在视图窗口选择网格;
  • 如何使用表格数据为模型网格赋值层高程;
  • 如何使用网格赋值工具为MODFLOW模型赋值;
  • 如何提取模型子网格并进行可视化。