Skip to main content

地下水污染修复MODFLOW6模拟

info

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

算例工程下载地址

1 算例简介 2 操作步骤 2.1 新建项目 2.2 创建MODFLOW模型 2.3 定义网格高程 2.4 定义活动区域 2.5 定义渗透系数 2.6 定义定水头边界 2.7 定义河流边界 2.8 定义补给边界 2.9 设置应力期 2.10 解释运行MODFLOW 3 小结

算例简介

本项目将模拟Drumco废桶填埋处置区域。厂区包含一层潜水层、一层不连续承压水层,以及一层弱透水层。上层和下层含水层都将作为居民和工厂饮用水源。

掩埋废桶中包含工业溶剂成分,主要是四氯乙烯 (PCE)。在1994年进行的常规场地调查中发现了PCE。同时也发现了地下储油罐中泄露出来的石油。自那时起,就开始考虑一系列的方案用来确定污染范围,刻画场地地质和水文地质属性,移除场地污染物。还需要考虑到污染物向下层含水层的蔓延,特别是潜在的经过降解反应的污染物,例如氯乙烯。

在本部分的练习中,我们将创建概念模型,运行场地水流模型分析。在随后的练习中,将考虑多种修复方案。

操作步骤

新建项目

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

创建MODFLOW6模型

首先,导入场地地图,并创建用于运行MODFLOW2005模拟的网格。

  1. 点击菜单栏中的导入数据按钮,打开算例文件夹中的ground.grd文件,生成ground.grd图层,在该图层属性面板中点击应用完成设置。导入地表高程文件,在视图1中显示如下:

  2. 管道面板中,选中ground.grd图层,右击快速操作,输入操作命令:界面,选中界面命令。在属性面板中,勾选下面-MinXY,单击应用,创建界面1图层。

  3. 管道面板中,选中界面1图层,右击快速操作,输入操作命令:平滑,选中曲面->曲面(均一平滑)命令。在属性面板中,目标边长设置为200,迭代次数为1。单击应用,创建曲面->曲面(均一平滑)1图层。

    接下来对对模型进行细化,首先导入需要细化区域的文件。

  4. 点击菜单栏中的导入数据按钮,打开算例文件夹中的river1.shp文件,river2.shp文件和hole.shp文件,分别生成river1.shp图层,river2.shp图层和hole.shp图层,在该图层属性面板中点击应用完成设置。可以在视图1中看到图层显示如下:

  5. 在图层面板中,按住Ctrl键,同时选中river1.shp图层,river2.shp图层和hole.shp图层,单击计算->通用工具箱->图层->图层合并,生成图层合并1图层。

  6. 在管道面板中,选中曲面->曲面(均一平滑)1图层,右击快速操作,输入操作命令:加密,选中曲面->散点(采样加密)1命令。加密区域选择图层合并1图层,单击确定,生成*曲面->散点(采样加密)1*图层,在属性面板中,设置加密参数。单击应用

  7. 在管道面板中,选中*曲面->散点(采样加密)1图层,右击快速操作,输入操作命令:曲面,选中散点->曲面(泰森)1命令。生成散点->曲面(泰森)1*图层,在属性面板中,设置投影平面和边界外扩。单击应用。可以在视图1中看到地表水体部分已经加密后的模型网格。

  8. 在管道面板中,选中*散点->曲面(泰森)1图层,右击快速操作,输入操作命令:初始化,选中初始化MODFLOW6模型命令。生成初始化MODFLOW6模型1*图层,在属性面板中,设置模型层数、层厚、渗透系数等参数。单击应用。可以在信息面板中看到初始化模型的相关信息。

定义网格高程

使用grd文件定义网格高程。

  1. 选择初始化MODFLOW6模型1图层,点击数值模拟-> MODFLOW6->MF6网格高程,选择Ground.grd图层为属性图层,点击确认生成MF6网格高程1图层,将其重命名为010 顶板高程-MF6网格高程1图层。在属性面板中,选择赋值模式网格属性->单层高程数列band_1赋值对象模型顶板最小层厚0.1,勾选上层优先,单击应用。在渲染子面板中,将渲染方式设为曲面,视图窗口如下图所示:

  2. 重复步骤1,点击菜单栏中的导入数据按钮,打开算例文件夹中从算例文件夹中分别导入surfer2.grd, surfer3.grdsurfer4.grd文件,生成surfer2.grd,surfer3.grdsurfer4.grd图层。将这三个图层进行,再分别为模型网格赋值第一层底板,第二层底板和第三层底板,生成020第一层底板- MF6 网格高程2, 030第二层的底板- MF6 网格高程3040第三层的底板- MF6 网格高程4图层。

    为更好的查看模型网格,在040 MF6网格高程4图层属性面板渲染子面板中,将坐标变换属性下的,Z方向缩放设为5,点击应用完成设置,视图窗口如下图所示:

定义河流边界

使用成river1.shp图层和river2.shp图层的位置属性和地表高程数据,创建河流边界。

  1. 在图层面板中,按住Ctrl键,同时选中river1.shp图层和river2.shp图层,单击计算->通用工具箱->图层->图层合并,生成图层合并2图层。

  2. 选中图层合并2图层,进行快速操作:采样。数据源为图层合并2图层,采样体为ground.grd图层,单击确定,生成采样1图层。

  3. 选中采样1图层,进行快速操作:计算器。生成计算器1图层,右击重命名为河底高程-计算器1图层。在属性面板中,输入计算公式:Band_1-1。

  4. 选中040第三层底板图层,进行快速操作:MF6线赋值。生成MF6线赋值1图层,右击重命名为050河流边界-MF6线赋值1图层。在属性面板中,选择河流边界,并进行参数设定,单击应用,即可在视图1中看到设定的河流边界。

定义活动区域

  1. 图层面板中只保留010图层的显示,点击俯拾视角:Z轴向外工具,并单击视图1中的3D 按钮,切换为2D 查看,在渲染面板中以外框形式显示。

  2. 点击菜单栏中的导入数据按钮,打开算例文件夹中的bound.shp文件,生成bound.shp图层。此多边形内的区域为有效网格区域。

  3. 图层面板中选择050河流边界图层,点击数值模拟->MODFLOW6水流->MF6多边形赋值,生成MF6多边形赋值1图层,将该图层重命名为060有效网格-MF6多边形赋值1图层。在该图层属性面板数据子面板中,属性类别设为有效网格层号1-3,并指定值0,勾选反转,点击应用完成设置。在视图1总可以看到红色区域为有效网格,蓝色区域为无效网格。

定义垂向入渗边界

继续使用bound.shp文件定义模型垂向入渗边界。

  1. 图层面板中选择060有效网格图层,点击数值模拟->MODFLOW6水流->MF6多边形赋值,生成MF6多边形赋值2图层,将该图层重命名为070垂向入渗边界-MF6多边形赋值2图层。在该图层属性面板数据子面板中,属性类别设为垂向入渗边界层号1,并指定值为2.86e-06,点击应用完成设置。

定义蒸散发边界

继续使用bound.shp文件定义模型垂向入渗边界。

  1. 图层面板中选择070垂向入渗边界图层,点击数值模拟->MODFLOW6水流->MF6多边形赋值,生成MF6多边形赋值3图层,将该图层重命名为080蒸散发-MF6多边形赋值3图层。在该图层属性面板数据子面板中,属性类别设为蒸散蒸腾层号1,并设定相关参数,点击应用完成设置。

定义定水头边界

  1. 图层面板中只保留010图层的显示,点击俯拾视角:Z轴向外工具,并单击视图1中的3D 按钮,切换为2D 查看,在渲染面板中以外框形式显示。

  2. 点击菜单栏中的导入数据按钮,打开算例文件夹中的chead.shp文件,生成chead.shp图层。此线段代表定水头位置。将其渲染风格设置为柱状线,并设置线宽10,可以更清楚的看到位置。

  3. 管道面板中,选中chead.shp图层,对其进行快速操作:空间变换,生成空间变换1图层,在属性面板中,Y方向的平移设置为-50,单击应用

  4. 管道面板中,选中080蒸散发图层,对其进行快速操作:MF6线赋值,生成MF6线赋值2图层,重命名为090定水头-MF6线赋值2图层,在属性面板中,选中定水头边界进行设置,单击应用。在视图1中可以看到赋值的定水头边界。

    对于水头值和底板高程值发生冲突的位置,软件按照属性中设定的忽略网格进行处理,另外还有其他处理方式,用户可根据具体项目情况进行选择。

定义井边界

使用抽水井的表格文件定义井边界。

  1. 点击菜单栏中的导入数据按钮,打开算例文件夹中的pumping_wells.csv文件,生成pumping_wells.csv图层。在视图2中以表格形式可以查看数据内容。

  2. 管道面板中,选中pumping_wells.csv图层,对其进行快速操作:表格->散点,生成表格->散点1图层。将其属性转化为散点属性,便于后期赋值使用。

  3. 选中090定水头图层,对其进行快速操作:MF6点赋值,生成MF6点赋值1图层,重命名为100井边界-MF6点赋值1图层,在属性面板中,选中井边界,并设定层号3,指定井抽水率,单击应用。在视图1中可以看到赋值后的井边界

    井位于第三层,翻转模型至第三层,即可看到井边界。

解释运行MODFLOW6

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

  1. 选中100井边界-MF6点赋值1图层,点击数值模拟-> MODFLOW6水流->MF6解释运行,生成解释运行MF6解释运行1图层。在属性面板中,点击按钮选择模型文件生成的位置,将模型名保存为chemwest.mf6。选择复杂度线性模型时间单位长度单位,勾选保存所有时间步保存水均衡,点击应用,系统将自动编译并运行MODFLOW6模型,运行完成后会弹出调试窗口,显示MODFLOW水流模型引擎正常结束

  2. 点击菜单栏中的导入数据按钮,选择上一步中用户指定名称的MODFLOW6文件夹中的efModFlow6.nam6文件。图层面板中生成efModFlow6.nam6图层。

    因场地内水头变化范围较小,需单独指定调色板阈值,点击应用导入MODFLOW6模型结果。

  3. 由于非活动区域水位值较低,需要对该区域进行裁切。选中efModFlow6.nam6图层,点击通用工具箱->网格->阈值裁切,生成阈值裁切1图层。在该图层属性面板数据子面板中,将标量数列设为水头阈值范围最大最小值设为203、1000;在渲染子面板中,将渲染方式设为矢量流线色彩设为ef水头,点击下方的重置颜色阈值到数值边界按钮,点击应用完成设置。模拟区水位如下图所示,为之后的溶质运移提供流场信息。

小结

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

  • 如何创建并运行地下水MODFLOW6水流模型;
  • 如何使用grd文件为MODFLOW模型赋值;
  • 如何使用csv文件为MODFLOW6模型赋值;
  • 如何基于shp文件为MODFLOW6模型赋值。