Skip to main content

垃圾填埋场MODFLOW6模拟

info

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

算例工程下载地址 `

1 算例简介 2 操作步骤 2.1 新建项目 2.2 创建MODFLOW6模型 2.3 定义活动区域 2.4 定义网格高程 2.5 定义渗透系数 2.6 定义补给 2.7 定义定水头 2.8 定义抽水井 2.9 定义排水沟 2.10 应力期 2.11 解释运行MODFLOW6 2.12 创建GWT模型 2.13 解释运行GWT模型 3 小结

算例简介

本算例对规划中的垃圾填埋场进行环境影响评价,预测垃圾渗漏液在地下含水层中的污染烟羽,并预测是否对该区域的抽水井和河流水质产生影响。本算例将先创建MODFLOW6水流模型,并基于水流模型结果创建MODFLOW6溶质运移模型,模拟垃圾填埋厂渗漏液在区域内的运移情况。

研究区域为东德克萨斯州某地区,北部为基岩出露,西南与东部各有一条河流,交汇于区域东南角。场地东西部各有一口抽水井,东部预设一垃圾填埋场。模拟区北部的边界是零流量边界,其它的边界是指定水头边界,且水头等于河流的平均水位。假设该区域的地下水补给主要由降雨造成。该区域中有一些干涸的溪流,由于地下水的流入,偶尔会有水流流入小溪,我们把这些溪流定义为排水沟。 该模拟区域中还有两口抽水井。

如上图b 所示,一条典型的南北走向的剖面贯穿模拟区,揭示模拟区底部为灰岩覆盖,且在模拟区北部尽头出露为山区。模拟区有两个主要的沉积层。上层为非承压层,下层为承压层。

操作步骤

新建项目

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

创建MODFLOW6模型

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

  1. 单击按键,导入模型边界文件Boundary_polys.shp,生成Boundary_polys.shp图层。

  2. 选中Boundary_polys.shp图层,单击计算->通用工具箱->标注->界面,或者在右击Boundary_polys.shp图层,选择快速操作,输入命令:界面,选择对应的操作:界面。生成界面1图层。在属性面板中,为边界图层生成上覆下垫面,本算例中选择下垫面。单击应用

  3. 选中界面1图层,对其进行快速操作:曲面->曲面(均一平滑),生成曲面->曲面(均一平滑)1图层。在属性面板中,设置目标边长,和迭代次数,单击应用。以曲面网络显示如下:

    接下来,导入需进行细化的边界条件文件,包括定水头边界和垃圾填埋场边界。

  4. 单击按键,分别导入landfill_arcs.shpchd01.efdchd02.efd文件。在图层面板中,按住Ctrl键,选中导入的三个文件,单击通用工具箱->图层->图层合并。生成图层合并1图层。

  5. 选中曲面->曲面(均一平滑)1图层,进行快速操作:曲面->散点(采样加密),加密区域选择图层合并1图层,单击确定。生成曲面->散点(采样加密)1图层。在属性面板中,设置加密区边长为30,外扩步数为3,扩展区边长86.9175分区数2迭代次数2,单击应用。即可在视图1中看到加密后的模型区。

  6. 选中采样加密图层,进行快速操作:散点->曲面(泰森),生成散点->曲面(泰森)1图层,使用此图层来创建MODFLOW 6模型网格。

  7. 选中散点->曲面(泰森)1图层,点击数值模拟->MODFLOW6水流->初始化MODFLOW6模型,生成初始化ModFlow6模型1图层。重命名为010初始化MODFLOW6模型1图层。点击应用完成设置。

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

定义活动区域

  1. 图层面板中选择010初始化MODFLOW6模型1图层,点击计算->数值模拟-> MODFLOW6水流->MF6多边形赋值,或者在管道面板中,选中010图层右击快速操作,输入操作命令:多边形赋值,选中MF6多边形赋值。选择Boundary_polys.shp图层为属性图层,点击确认生成MF6多边形赋值1图层,将其改名为020有效网格-MF6多边形赋值1图层。在属性面板中进行如下设置,勾选反转,单击应用

    通过选择网格工具,可以查看内外部的网格有效性(0为无效网格,1为有效网格)。

定义网格高程

使用tif文件和散点数据定义网格高程。

  1. 单击按键,导入算例文件夹中的elev_10.tif文件,生成elev_10.tif图层,在该图层属性面板中点击应用完成设置。导入定义地表高程,即第一层网格顶部高程的tif文件。

  2. 管道面板中,右击020有效网格图层,选择快速模拟,输入操作命令:网格高程,选择MF6网格高程,选择elev_10.tif图层为高程图层,点击确认生成MF6网格高程1图层,将其重命名为030顶板高程-MF6网格高程1图层。

    030顶板高程-MF6网格高程1图层属性面板中将赋值模式设为网格属性->单层高程数列设为Band_1赋值对象设为模型顶板,勾选下方的上层优先选项,点击应用完成设置,为第一层顶部设置高程。

  3. 单击按键,导入算例文件夹中的elevs.txt文件,生成elevs.txt图层,在该图层属性面板数据子面板中勾选启用Tab分隔符选项,点击应用完成设置。导入用于定义网格第一层与第二层底板的散点文件。在视图2中以表格形式可查看其数据内容。

  4. 选择elevs.txt图层,点击通用工具箱->散点->表格->散点,生成表格->散点1图层,将其重命名为高程2-表格->散点1图层。在该图层属性面板数据子面板中,为X、Y坐标分别选择X、Y数列,勾选下方的2D散点选项,点击应用完成设置。此时生成了表示第一层和第二层底部高程的散点。

  5. 选择030顶板高程-MF6网格高程1图层,点击数值模拟-> MODFLOW6水流->MF6网格高程,选择高程2-表格->散点1图层为高程图层,点击确认生成MF6网格高程2图层,将其重命名为040第一层底板-MF6网格高程2图层。

    040图层属性面板数据子面板中选择赋值模式散点属性->单层赋值对象单层底板层号1,勾选下方的上层优先选项,点击应用完成设置,为第一层底部设置高程。

  6. 选择040第一层底板-MF6网格高程2图层,点击数值模拟-> MODFLOW6水流->MF6网格高程,选择高程2-表格->散点1图层为高程图层,点击确认生成MF6网格高程3图层,将其重命名为050第二层底板-MF6网格高程3图层。

    050图层属性面板数据子面板中选择赋值模式散点属性->单层赋值对象单层底板层号2,勾选下方的上层优先选项,点击应用完成设置,为第二层底部设置高程。

定义渗透系数

使用csv文件定义模型渗透系数。

  1. 单击按键,导入算例文件夹中的data.csv文件,生成data.csv图层,在该图层属性面板中点击应用完成设置。导入包含第二层网格水平渗透系数、垂向渗透系数、孔隙度,垂向补给信息的散点文件。在视图2中 以表格形式查看如下:

  2. 选择data.csv图层,点击通用工具箱->散点->表格->散点,生成表格->散点1图层。在该图层属性面板数据子面板中,为X、Y坐标分别选择x和y数列,勾选下方的2D散点选项,点击应用完成设置。

  3. 选择050第二层底板-MF6网格高程3图层,点击数值模拟-> MODFLOW6水流->MF6层赋值,选择表格->散点1图层为属性图层,点击确认生成MF6层赋值1图层,将其重命名为060-水平渗透系数2- MF6层赋值1图层。

    点击该图层属性面板顶部的显示/隐藏高级属性选项,在数据子面板中将属性类别选为水平渗透系数层号2水平渗透系数选择Kh2数列。在渲染子面板中将渲染方式改为曲面网络色彩设置为ef水平渗透系数,在坐标变换属性中,将Z向缩放设置为5,点击应用完成设置,视图窗口如上图所示:两层模型的水平渗透系数不同。

  4. 重复步骤3,选择060-水平渗透系数2- MF6层赋值1图层,选择表格->散点1图层为属性图层,生成070垂向渗透系数-MF6层赋值2图层。在该图层属性面板数据子面板中设置相应的参数,点击应用为第二层网格设置垂向渗透系数。

定义补给

使用csv文件和表示垃圾填埋场位置的shp文件定义模型垂向入渗边界。

  1. 选择070垂向渗透系数-MF6层赋值2图层,点击数值模拟-> MODFLOW6水流->MF6层赋值,选择表格->散点1图层为属性图层,点击确认生成MF6层赋值3图层,将其重命名为080垂向入渗边界-MF6层赋值3图层。

    在该图层属性面板数据子面板中将属性类别选为垂向入渗边界层号1垂向入渗率选择Rch数列,点击应用完成设置,为模型设置垂向入渗(降水补给)背景值。

  2. 选择landfill_arc.shp图层,点击工具箱->散点->散点->曲面(三角化),生成散点->曲面(三角化)1图层,将其重命名为landfill-散点->曲面(三角化)1图层,在该图层属性面板中点击应用完成设置。此时基于导入的shp文件创建多边形,视图窗口如下图所示:

  3. 选择080垂向入渗边界-MF6层赋值3图层,点击数值模拟-> MODFLOW6水流->MF6多边形赋值,选择landfill-散点->曲面(三角化)1图层为属性图层,点击确认生成MF6多边形赋值1图层,将其重命名为090-landfill补给率-MF6多边形赋值1图层。

    在该图层属性面板数据子面板中将属性类别选为垂向入渗边界层号1垂向入渗率选择指定值,输入指定值6e-05;在渲染子面板中将渲染方式改为曲面网络色彩设置为ef垂向入渗边界,点击应用完成设置,为模型设置垃圾填埋场区域的垂向入渗值。启动附加属性,输入污染浓度值20000。视图窗口如下图所示:

定义定水头

使用efd文件定义模型定水头边界(两条河流)。关于efd文件的创建过程可参考垃圾填埋场MODFLOW2005创建模型2.7章节步骤1-8内容。

本算例中将直接使用创建好的efd文件定义定水头。在视图2中以表格形式,可以查看两个efd文件包含的数据内容,其中stage数据列将用于定义水头值:

  1. 选择090-landfill补给率-MF6多边形赋值1图层,点击数值模拟-> MODFLOW6水流->MF6线赋值,选择CHD01.efd图层为属性图层,点击确认生成MF6线赋值1图层,将其重命名为100定水头1-MF6线赋值1图层。

    在该图层属性面板数据子面板中将属性类别选为定水头边界层号1 2固定水头选择CHD02-stage数列;在渲染子面板中将渲染方式改为曲面网络色彩设置为efIBound,点击应用完成设置,为模型赋值南部定水头边界。视图窗口如下图所示:

  2. 选择100定水头1-MF6线赋值1图层,点击数值模拟-> MODFLOW6水流->MF6线赋值,选择CHD02.efd图层为属性图层,点击确认生成MF6线赋值1图层,将其重命名为110定水头2-MF6线赋值1图层。

    属性面板中进行如下设置,单击应用

定义抽水井

使用csv文件和创建随机散点工具定义模型井边界。

  1. 单击按键,导入算例文件夹中的well1.csv文件,生成well1.csv图层,在该图层属性面板中点击应用完成设置。导入表示抽水井的csv文件。在视图2中以表格形式查看如下:

  2. 选择well1.csv图层,点击通用工具箱->散点->表格->散点,生成表格->散点3图层,将其重命名为well1-表格->散点3图层。在该图层属性面板数据子面板中,为X、Y坐标分别选择x和y数列,勾选下方的2D散点选项,点击应用完成设置。此时可在视图1中看到表示抽水井的散点。

  3. 选择110定水头2-MF6线赋值1图层,点击数值模拟-> MODFLOW6水流->MF6点赋值,选择well1-表格->散点2图层为属性图层,点击确认生成MF6点赋值1图层,将其重命名为120井边界-MF6点赋值1图层。

    在该图层属性面板数据子面板中将属性类别选为井边界层号1 2,井抽水率选择Q数列,点击应用完成设置,为模型赋值抽水井边界。

定义排水沟

使用排水沟.efd图层定义模型排水沟边界。

  1. 单击按键,分别导入算例文件夹中的drain1.efddrain1.efddrain3.efd文件。

  2. 在图层面板中,使用ctrl按键,同时选中上述三个排水沟图层。单击计算->通用工具箱->图层->图层合并,将三个图层合并为一个,生成图层合并2图层,重命名为排水沟-图层合并2

  3. 选择排水沟-图层合并2图层,对其进行快速操作网格属性->散点属性,生成网格属性->散点属性1图层。

  4. 选择120井边界-MF6点赋值1图层,点击数值模拟-> MODFLOW6水流->MF6线赋值,选择网格属性->散点属性1图层为属性图层,点击确认生成MF6线赋值3图层,将其重命名为130排水沟-MF6线赋值3图层。

    在该图层属性面板数据子面板中将属性类别选为排水沟层号1排水沟高程选择arc-elev数列,传导系数选择COND数列,点击应用完成设置,为模型赋值排水沟边界。

应力期

使用应力期.csv文件创建模型应力期。

  1. 单击按键,导入算例文件夹应力期.csv文件。生成应力期.csv图层,可在视图2中以表格形式查看其内容

  2. 选择130排水沟-MF6线赋值3图层,点击数值模拟-> MODFLOW6水流->MF6应力期,选择应力期.csv图层为应力期图层,点击确认生成MF6应力期1图层,重命名为140应力期-MF6应力期1图层。在其属性面板中,设置如下内容:

解释运行MODFLOW6

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

  1. 选中140应力期-MF6应力期1图层,点击数值模拟-> MODFLOW6水流->MF6解释运行,生成MF6解释运行MODFLOW1图层。在属性面板中,点击按钮选择模型文件生成的位置,将模型名保存为landfillRunMf6复杂度选择线性模型时间单位长度单位,勾选保存所有时间步力保存水均衡,点击应用,系统将自动编译并运行MODFLOW6模型。

  2. 单击按键,选择上一步中用户指定名称的MODFLOW文件夹中的efModFlow6.nam6文件。点击应用导入MODFLOW6模型结果。

  3. 使用网格选择工具,可查看其水头值。

  4. 由于非活动区域水位值异常高,需要对该区域进行裁切。选中efModFlow6.nam6图层,点击通用工具箱->网格->阈值裁切,生成阈值裁切1图层。在该图层属性面板数据子面板中,将标量数列设为ef水头最小值最大值分别设为0和1000;在渲染子面板中,将渲染方式设为曲面网络色彩设为ef水头,点击下方的重置颜色阈值到数值边界按钮,点击应用完成设置。模拟区水位如下图所示:

创建GWT模型

基于MODFLOW6模型的运行结果,创建GWT模型,运行地下水溶质运移模型。

  1. 选中efModFlow6.nam6图层,点击数值模拟->MODFLOW6溶质->创建GWT模型,生成创建GWT模型1图层,在属性面板数据子面板中,将默认有效孔隙度设为0.3默认纵向弥散度设为20默认横纵弥散比垂纵弥散比分别为0.20.1,点击应用完成设置。

解释运行GWT模型

解释运行创建完成的GWT模型,查看垃圾渗漏液污染烟羽。

  1. 选中创建GWT模型1图层,点击数值模拟->MODFLOW6溶质->GWT解释运行,生成GWT解释运行1图层。在该图层的属性面板中,设置结算期TVD,勾选浓度全部保存启用源汇项浓度勾选垂向入渗边界选项,将点击应用,系统将自动编译并运行GWT模型。在landfillRunMf6.mf6文件夹下所在位置生成efMF6GWT文件夹。

  2. 单击按键,选择上一步中生成的efMF6GWT文件夹中的efMF6GWT.nam6文件。图层面板中生成efMF6GWT.nam6图层。

  3. 选择面板中,使用散点标签选中浓度值,使用散点选择工具,可以查看浓度分布。

  4. 因为非活动单位格数据异常,需进行阈值裁切,选中efMF6GWT.nam6图层,单击通用工具箱->网格->阈值裁切。生成阈值裁切2图层。在其属性面板中,进行如下设置,输入裁切范围值,单击应用

小结

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

  • 如何创建并运行地下水MODFLOW6水流模型;
  • 如何使用tif文件为MODFLOW6模型赋值;
  • 如何使用csv和txt文件为MODFLOW6模型赋值;
  • 如何使用efd文件为MODFLOW6模型赋值;
  • 如何定义MODFLOW6模型中的浓度边界;
  • 如何创建并运行MODFLOW6溶质运移模型。