地下水污染修复MODFLOW2005模拟
- 项目图示
- 视频教程

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。同时也发现了地下储油罐中泄露出来的石油。自那时起,就开始考虑一系列的方案用来确定污染范围,刻画场地地质和水文地质属性,移除场地污染物。还需要考虑到污染物向下层含水层的蔓延,特别是潜在的经过降解反应的污染物,例如氯乙烯。
在本部分的练习中,我们将创建概念模型,运行场地水流模型分析。在随后的练习中,将考虑多种修复方案。
操作步骤
新建项目
- 打开Envifusion软件,若软件界面仍有其他项目,点击菜单栏
按钮关闭当前项目文件。
创建MODFLOW2005模型
首先,导入场地地图,并创建用于运行MODFLOW2005模拟的网格。
点击菜单栏中的导入数据
按钮,打开算例文件夹中的ground.grd文件,生成ground.grd图层,在该图层属性面板中点击应用完成设置。导入地表高程文件,在视图1中显示如下:
在管道面板中,选中ground.grd图层,右击快速操作,输入操作命令:初始化,选中初始化MODFLOW2005模型命令。在属性面板中,设置网格划分为80*80*3,勾选水平渗透系数和垂向渗透系数并设置数值,单击应用,创建初始化MODFLOW2005模型1图层。
定义网格高程
使用grd文件定义网格高程。
选择初始化MODFLOW2005模型1图层,点击数值模拟-> MODFLOW2005->MF2005网格高程,选择Ground.grd图层为属性图层,点击确认生成MF2005网格高程1图层,将其重命名为010 顶板高程-MF2005网格高程1图层。在属性面板中,选择赋值模式为网格属性->单层,高程数列为band_1,赋值对象为模型顶板,最小层厚为0.1,勾选上层优先,单击应用。
重复步骤1,点击菜单栏中的导入数据
按钮,打开算例文件夹中从算例文件夹中分别导入surfer2.grd, surfer3.grd和surfer4.grd文件,生成surfer2.grd,surfer3.grd和surfer4.grd图层。再分别为模型网格赋值第一层底板,第二层底板和第三层底板,生成020第一层底板- MF2005 网格高程2, 030第二层的底板- MF2005 网格高程3和040第三层的底板- MF2005 网格高程4图层。
为更好的查看模型网格,在040 MF2005网格高程4图层属性面板渲染子面板中,将坐标变换属性下的,Z方向缩放设为10,点击应用完成设置,视图窗口如下图所示:
定义河流边界
使用成river1.shp图层和river2.shp图层的位置属性和ground.grd的地表高程数据,创建河流边界。
选中ground.grd图层,单击通用工具箱->图层->提取多边形,生成提取多边形1图层。
点击菜单栏中的导入数据
按钮,从算例文件夹中分别导入river1.shp和river2.shp文件,生成river1.shp和river2.shp图层。
选中river1.shp图层,单击通用工具箱->属性->采样,采样体选择river1.shp图层,数据源选择提取多边形1图层,生成采样1图层。
在管道面板中,选中采样1图层,进行快速操作:计算器。生成计算器1图层,右击重命名为河流1河底高程-计算器1图层。在属性面板中,输入计算公式:Band_1-1。
在管道面板中,选中河流1河底高程-计算器1图层,进行快速操作:计算器。生成计算器2图层,右击重命名为河流1传导系数-计算器2图层。在属性面板中,输入数列名称:cond,和计算公式:0.01。
选中040第三层底板图层,进行快速操作:MF2005线赋值。选择河流1传导系数-计算器2图层为属性图层,生成MF2005线赋值1图层,右击重命名为050河流边界-MF2005线赋值1图层。在属性面板中,选择河流边界,并进行参数设定,单击应用,即可在视图1中看到设定的河流边界。
重复步骤3-6,选中river2.shp图层,单击通用工具箱->属性->采样,采样体选择river2.shp图层,数据源选择提取多边形1图层,生成采样2图层。
在管道面板中,选中采样2图层,进行快速操作:计算器。生成计算器3图层,右击重命名为河流2河底高程-计算器3图层。在属性面板中,输入计算公式:Band_1-1。
在管道面板中,选中河流2河底高程-计算器3图层,进行快速操作:计算器。生成计算器4图层,右击重命名为河流2传导系数-计算器4图层。在属性面板中,输入数列名称:cond,和计算公式:0.01。
选中050河流边界-MF2005线赋值1图层,进行快速操作:MF2005线赋值。选择河流2传导系数-计算器4图层为属性图层,生成MF2005线赋值2图层,右击重命名为0560河流边界-MF2005线赋值2图层。在属性面板中,选择河流边界,并进行参数设定,单击应用,即可在视图1中看到设定的河流边界。
定义活动区域
在图层面板中只保留010图层的显示,点击俯拾视角:Z轴向外
工具,并单击视图1中的3D
按钮,切换为2D
查看,在渲染面板中以外框形式显示。
点击菜单栏中的导入数据
按钮,打开算例文件夹中的bound.shp文件,生成bound.shp图层。此多边形内的区域为有效网格区域。
选中图层,对其进行两次计算器操作,分别计算出补给率数值和无效单元格标记值
在图层面板中选择060河流边界图层,点击数值模拟->MODFLOW2005->MF2005多边形赋值,选择计算器6图层为属性图层,生成MF2005多边形赋值1图层,将该图层重命名为070有效网格-MF2005多边形赋值1图层。在该图层属性面板数据子面板中,属性类别设为有效网格,层号为1-3,选择计算好的ibound数值,勾选反转,点击应用完成设置。在视图1总可以看到红色区域为有效网格,绿色区域为无效网格。
定义垂向入渗边界
继续使用bound.shp文件定义模型垂向入渗边界。
在图层面板中选择070有效网格图层,点击数值模拟->MODFLOW2005->MF2005多边形赋值,选择计算器6图层为属性图层,生成MF2005多边形赋值2图层,将该图层重命名为080垂向入渗边界-MF2005多边形赋值2图层。在该图层属性面板数据子面板中,属性类别设为垂向入渗边界,层号为1,并指定垂向入渗率为计算器好的rech数据,点击应用完成设置。
针对该模型部分地区补给不同的情况,我们导入rech.shp文件来进行计算和定义。
点击菜单栏中的导入数据
按钮,从算例文件夹中rech.shp文件,生成rech.shp图层。
在管道面板中,选中rech.shp图层,进行快速操作:计算器。生成计算器7图层,右击重命名为部分地区补给-计算器7图层。在属性面板中,输入数列名称rech,和计算值:0.0000018。
在图层面板中选择080垂向入渗边界图层,点击数值模拟->MODFLOW2005->MF2005多边形赋值,选择计算器6图层为属性图层,生成MF2005多边形赋值3图层,将该图层重命名为090垂向入渗边界-MF2005多边形赋值3图层。在该图层属性面板数据子面板中,属性类别设为垂向入渗边界,层号为1,并指定垂向入渗率为计算器好的rech数据,点击应用完成设置。在视图1中可以 看到三个不同补给分布区域。
定义蒸散发边界
继续使用bound.shp文件定义模型蒸散发边界。
在图层面板中选择090垂向入渗边界图层,点击通用工具箱->网格->结构网格->提取子网格,生成结构网格->提取子网格1图层,对该图层进行网格中心->散点的操作。
在管道面板中选中网格中心->散点1图层,进行快速操作:添加位置属性,在属性面板中勾选添加散点坐标,单击应用,生成添加位置属性1图层。
在管道面板中选中添加位置属性1图层,进行快速操作:分量提取,在属性面板中将Z坐标提取出来,作为地面高程数列单独输出,单击应用,生成并重命名为地面高程-分量提取1图层。
在地面高程-分量提取1图层的基础上,进行两次计算器快速操作,分别计算最大蒸散率和极限埋深值。
在图层面板中选择090垂向入渗边界图层,点击数值模拟->MODFLOW2005->MF2005点赋值,选择极限埋深-计算器9图层为属性图层,生成MF2005点赋值1图层,将该图层重命名为100蒸散发边界-MF2005点赋值1图层。在该图层属性面板数据子面板中,属性类别设为蒸散蒸腾,层号为1,并三个相关参数,点击应用完成设置。
定义定水头边界
点击菜单栏中的导入数据
按钮,打开算例文件夹中的chead.shp文件,生成chead.shp图层。此线段代表定水头位置。将其渲染风格设置为柱状线,并设置线宽为10,可以更清楚的看到位置。
在管道面板中,选中chead.shp图层,对其进行快速操作:空间变换,生成空间变换1图层,在属性面板中,Y方向的平移设置为-35,单击应用。
在管道面板中,选中空间变换1图层,对其进行快速操作:计算器,生成并重命名为定水头-计算器10图层,在属性面板中,输入结果数列名称及数值,单击应用。
在管道面板中,选中100蒸散发边界图层,对其进行快速操作:MF2005线赋值,属性图层选择定水头-计算器10图层,生成MF2005线赋值3图层,重命名为110定水头-MF2005线赋值3图层,在属性面板中,选中定水头边界进行设置,单击应用。在视图1中可以看到赋值的定水头边界。
定义井边界
使用抽水井的表格文件定义井边界。
点击菜单栏中的导入数据
按钮,打开算例文件夹中的pumping_wells.csv文件,生成pumping_wells.csv图层。在视图2中以表格形式可以查看数据内容。
在管道面板中,选中pumping_wells.csv图层,对其进行快速操作:表格->散点,生成表格->散点1图层。将其属性转化为散点属性,便于后期赋值使用。
选中110定水头图层,对其进行快速操作:MF2005点赋值,生成MF2005点赋值2图层,重命名为120井边界-MF2005点赋值2图层,在属性面板中,选中井边界,并设定层号为3,指定井抽水率,单击应用。在视图1中可以看到赋值后的井边界。
井位于第三层,翻转模型至第三层,即可看到井边界。
展示场地图
点击菜单栏中的导入数据
按钮,打开算例文件夹中的DRUMCO.dxf文件,生成DRUMCO.dxf图层。
对DRUMCO.dxf图层,进行等维裁切操作。
基于等维裁切1图层,进行地表高程采样操作,数据源选择ground.grd图层,采样体选择等维裁切1图层,生成采样3图层。
对采样3图层进行高程标量扭曲操作,实现和地表高程同一平面的可视化效果。
解释运行MODFLOW2005
解释运行创建好的水流模型。
选中100井边界-MF2005点赋值1图层,点击数值模拟-> MODFLOW2005->MF2005解释运行,生成解释运行MF2005解释运行1图层。在属性面板中,点击
按钮选择模型文件生成的位置,输入模型名。选择解算器为PCG,时间单位为天,长度单位为米,保存应力期为1,勾选允许再湿润,点击应用,系统将自动编译并运行MODFLOW2005模型,运行完成后会弹出调试窗口,显示MODFLOW水流模型引擎正常结束。
点击菜单栏中的导入数据
按钮,选择上一步中用户指定名称的MODFLOW2005文件夹中的efMODFLOW2005.nam文件。图层面板中生成efMODFLOW2005.nam图层。
因场地内水头变化范围较小,需单独指定调色板阈值,点击应用导入MODFLOW2005模型结果。
调整为曲面渲染方式,并通过网格选择工具,查看具体水头值。
小结
完成本指南中的算例后,可以学到以下内容:
- 如何创建并运行地下水MODFLOW2005模型;
- 如何使用grd文件为MODFLOW模型赋值;
- 如何使用csv文件为MODFLOW2005模型赋值;
- 如何基于shp文件为MODFLOW2005模型赋值。