Skip to main content

机场油库MODFLOW6模拟

info

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

算例工程下载地址

算例简介

研究区位于Waterloo市外距离飞机场很近的地方。区内地层分为三层:浅层含水层,岩性砂岩、砂跞岩;中间的粘土、淤泥半透水层;深层含水层,岩性为砂岩、砂砾岩。该区域周围有飞机燃料补充区,城市供水水源地,以及一个不连续的半透水层区。特征如图所示:

城市供水水源地有两口供水井。东边水井的流量保持在550m3/d,西边水井的流量为400 m3/d。在过去的十年中,飞机燃料定时地排入到燃料区,由于自然渗透作用使得上层含水层产生了羽毛状的污染区。区域地下水流方向从北到南。浅层和深层含水层的渗透系数为2e-4m/s和1e-4m/s,弱透水层的渗透系数为1e-10m/s。

操作步骤

新建项目

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

创建MODFLOW6模型

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

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

  2. 管道面板中,选中boundary1_arcs.shp图层,右击选择快速操作,输入命令:多边形,选择命令:折线->多边形,生成折线->多边形1图层,即将上述线段转化为多边形,用于后续定义边界。

  3. 管道面板中,选中折线->多边形1图层,右击选择快速操作,输入命令:均一平滑,选择命令:曲面→曲面(均一平滑),生成曲面→曲面(均一平滑)1图层,在属性面板中,输入平滑后网格的目标边长,和迭代次数,单击应用

  4. 接下来,点击按键,导入需要加密的区域文件river1_arcs.shp、refuelling1_arcs.shpPumping_Wells.csv。在视图1中可以查看。

  5. 管道面板中,选中Pumping_Wells.csv图层,右击选择快速操作,输入命令:散点,选择命令:表格->散点,生成表格->散点1图层,将数据转化为散点形式。

  6. 图层面板中,按住Ctrl键,同时选中river1_arcs.shp、refuelling1_arcs.shp表格->散点1图层,选择计算->通用工具箱->图层->图层合并。生成图层合并1图层,将三个图层合并为一。

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

  8. 管道面板中,选中曲面->散点(采样加密)1图层,右击选择快速操作,输入命令:散点->曲面,选择命令:散点->曲面(泰森),生成散点->曲面(泰森)1图层。在其属性面板中,选择投影平面以及是否需要外扩边界,单击应用

  9. 管道面板中,选中散点->曲面(泰森)1图层,右击选择快速操作,输入命令:初始化,选择命令:初始化MODFLOW6模型,生成初始化MODFLOW6模型1图层。右击图层,重命名为:010-初始化MODFLOW6模型1。在其属性面板中,设置模型层数层厚水平以及垂向默认渗透系数等选项,单击应用

定义网格高程

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

  1. 在管道面板空白区域,右击选择打开,打开算例文件夹airport_input\Surfer中的airport-ground-surface.grd文件,生成airport-ground-surface.grd图层,在该图层属性面板中点击应用完成设置。导入定义地表高程,即第一层网格顶部高程的grd文件。

  2. 选择010-初始化MODFLOW6模型1图层,点击数值模拟-> MODFLOW6水流->MF6网格高程,选择airport-ground-surface.grd图层为高程图层,点击确认生成MF6网格高程1图层,将其重命名为020顶部高程-MF6网格高程1图层。在属性面板中,设置赋值模式网格属性->单层高程数列Band_1赋值对象模型顶板最小层厚0.1,勾选上层优先层高布局仅设置单层。并且在坐标变换中Z方向缩放修改为50,可以看到赋值后的顶板高程如下:

  3. 按照上述操作方式,依次导入airport-layer2-top.grdairport-layer3-top.grdairport-layer3-bottom.grd文件,分别用来赋值模型第一层底板高程、第二层底板高程和第三层底板高程,针对依次生成的图层,分别命名为030第一层底部高程-MF6网格高程2040第二层底部高程-MF6网格高程3050第三层底部高程-MF6网格高程4图层。

    通过对其Z方向缩放变换,可以看到赋值高程后的地表。

定义定水头

通过导入形文件定义定水头边界。

  1. 图层面板或者管道面板右击,选择打开选项,或点击界面上方的导入数据按钮,分别导入打开算例文件夹中的CH1.shp和CH2.shp文件,生成CH1.shpCH2.SHP图层,在该图层属性面板中点击应用完成设置。

  2. CH1.shp文件的位置可代表模型第一层和第三层北部的定水头边界,两层的水头分别为19和18。

  3. 选中050第三层底部高程-MF6网格高程4图层,使用MF6线赋值,属性图层选择CH1.shp,在右侧的属性面板中设定属性类别定水头边界层号1固定水头选择指定值,输入指定值19。单击应用。生成MF6线赋值1图层,重命名为060北部第一层定水头-MF6线赋值1图层,完成第一层北侧定水头的赋值。

  4. 接下来使用相同的方法定义第三层北部定水头,和第三层南侧的定水头(CH2.shp文件代表位置,水头值为16.5)。完成设置后,使用侧视图查看,可以看到第一层的南北部和第三层的北部已经赋值上了定水头边界。

    这时管道面板中各图层关系如下:

定义河流边界

使用river1_arcs.shp文件定义模型中的河流边界。

  1. 图层面板或者管道面板右击,选择打开选项,或点击界面上方的导入数据按钮,分别导入打开算例文件夹中的river1_arcs.shp文件,生成river1_arcs.shp图层,在该图层属性面板中点击应用完成设置。

    河流边界需要三个参数值进行定义(河水位、河底高程和传导系数),接下来逐一进行定义。

  2. 在管道面板中,选中river1_arcs.shp图层,使用折线->长度计算快速操作。在该图层属性面板数据子面板中,勾选线性变换,输入最大值16.5最小值15.5输入数据名称stage。单击应用,生成折线->长度计算1图层,重命名为:河流水位折线->长度计算1图层。

  3. 在管道面板中,选中河流水位折线->长度计算1图层。使用折线->长度计算快速操作。在该图层属性面板数据子面板中,勾选线性变换,输入最大值15.5最小值15输入数据名称bottom。单击应用,生成折线->长度计算2图层,重命名为:河底高程-折线->长度计算1图层。

  4. 在管道面板中,选中080南部定水头3MF6线赋值1图层,进行MF6线赋值操作,属性图层选择河底高程-折线->长度计算1图层,单击确定。生成MF6线赋值图层,右击重命名为090河流边界-MF6线赋值4。在属性面板中,属性类别选择河流边界层号1河流水头河底高程分别选择刚计算好的stage数列和bottom数列,传导系数指定为250。单击应用

定义水平渗透系数

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

  1. 点击文件菜单栏中的打开选项,或点击界面上方的按钮,打开算例文件夹中的data.csv文件,生成data.csv图层,在该图层属性面板中点击应用完成设置。导入包含第二层、第三层网格水平渗透系数、垂向渗透系数、垂向补给信息的散点文件。导入后可以在视图2中以表格形式查看。

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

  3. 选择090河流边界-MF6线赋值4图层,点击数值模拟-> MODFLOW6水流->MF6层赋值,选择表格->散点2图层为属性图层,点击确认生成MF6层赋值1图层,将其重命名为100-2层水平渗透系数- MF6层赋值1图层。

    属性面板,在数据子面板中将属性类别选为水平渗透系数层号2水平渗透系数指定为Kh2数列。

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

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

  6. 选择120-2层垂向渗透系数- MF6层赋值1图层,选择表格->散点2图层为属性图层,生成130-3层垂向渗透系数-层赋值1图层。在该图层属性面板数据子面板中设置相应的参数,点击应用为第3层网格设置垂向渗透系数

    场地第二层中间区域有一个不连续的半透水层区,其渗透系数需要单独定义。

  7. 首先导入代表此区域位置的形文件discontinuous1_arcs.shp

  8. 点击通用工具箱->折线->折线->多边形,生成折线->多边形2图层,在该图层属性面板中点击应用完成设置。此时基于导入的shp文件创建多边形,视图窗口如下图红框内所示:

  9. 选中130-3层垂向渗透系数-层赋值1图层,使用MF6多边形赋值,给天窗区域赋值水平渗透系数,属性图层选择折线->多边形2图层,单击确认。生成新图层,重命名为140天窗Kh-MF6多边形赋值1

    140图层的属性面板中,设定属性类别为水平渗透系数,层号为2指定数值为17.28。单击应用

  10. 选中140图层,使用MF6多边形赋值,给天窗区域赋值垂向渗透系数,属性图层选择折线->多边形2图层,单击确认。生成新图层,重命名为150天窗KvMF6多边形赋值1

定义补给

使用csv文件定义模型垂向入渗边界。

  1. 选择150天窗KvMF6多边形赋值1图层,点击数值模拟-> MODFLOW6水流->MF6层赋值,选择表格->散点2图层为属性图层,点击确认生成MF6层赋值1图层,将其重命名为160-RCH- MF6层赋值1图层。

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

  2. 该区域内有飞机燃料补充区,此区域的补给值和其他区域不同,需要单独设定。首先导入代表燃料补充区的refuelling1_arcs.shp文件,然后使用折线->多边形工具,变换导入的文件,用于后续赋值。

  3. 选择折线->多边形3图层,点击通用工具箱->属性->计算器,生成计算器1图层,将其重命名为加油站污染物计算器图层,在该图层属性面板数据子面板中,结果数列名称设为ef浓度,数值为5,点击应用完成设置。

  4. 选择160-RCH- MF6层赋值1图层, 使用MF6多边形赋值,选择加油站污染物计算器图层为属性图层,点击确认生成MF6多边形赋值3图层,将其重命名为170加油站补给-MF6多边形赋值3图层。

  5. 在该图层属性面板数据子面板中将属性类别选为垂向入渗边界层号1垂向入渗率选择指定值:0.00685,勾选附加属性,输入污染物浓度5;在渲染子面板中将渲染方式改为曲面网络色彩设置为ef垂向入渗边界,点击应用完成设置,为模型设置燃料区的垂向入渗值。视图窗口如下图所示:

定义抽水井

使用csv文件定义模型井边界。

  1. 选择170加油站补给-MF6多边形赋值3图层,使用MF6点赋值,选择表格->散点1图层为属性图层,点击确认生成点赋值1图层,将其重命名为180井边界-MF6点赋值1图层。

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

    视图1窗口中,翻转模型,即可看到赋值的井边界。

应力期

通过导入应力期.csv文件定义模型应力期。

  1. 点击按键,导入应力期.csv文件,在视图2中以表格形式查看其内容如下:

  2. 选中180井边界-MF6点赋值1图层,右击快速操作,进行MF6应力期操作。应力期图层选择应力期.csv,单击确定。重命名为190-MF应力期。在属性面板中,设置应力期的相关选项,单击应用

解释运行MODFLOW

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

  1. 选中190-MF应力期图层图层,选择MF6解释运行,生成并重命名为airportMf6.mf6.efs图层。在属性面板中,点击按钮选择模型文件生成的位置,将模型名保存为airportMF6。选择复杂度线性模型时间单位长度单位,勾选所有时间布保存水均衡,点击应用,系统将自动编译并运行MODFLOW模型。

  2. 调试窗口会提示正常结束。

  3. 点击按键,选择上一步中用户指定名称的MODFLOW文件夹中的efModFlow6.nam6文件。图层面板中生成efModFlow6.nam6图层,在该图层属性面板数据子面板中,将模型原点设为(0,0,0),点击应用导入MODFLOW模型结果。

  4. 在渲染子面板中,用户可根据展示需求,选择展示方式。下图分别为曲面和矢量流线的方式。

    选择渲染模式矢量流线,系统将自动使用ModFlow计算所得的逐网格径流量绘制动态流线。流线的长度、持续时间等参数可以在渲染子面板的矢量流线处进行设定。

    更多展示方式,将在本算例(下)可视化中具体介绍。

  5. 选中efModFlow6.nam6图层,对其进行阈值裁切。在属性面板中,对层号进行裁切,即只显示第三层水头分布。

    使用矢量流线显示如下:

创建溶质运移模型

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

  1. 选中efModFlow6.nam6图层,点击数值模拟->MODFLOW6溶质->创建GWT模型,生成并重命名为000创建GWT模型1图层,在属性面板数据子面板中,将默认有效孔隙度设为0.14默认纵向弥散度设为10默认横纵弥散比垂纵弥散比分别为0.10.01线性平衡吸附中设置吸附参数如下,默认体密度1700,点击应用完成设置。

解释运行GWT模型

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

  1. 选中000创建GWT模型1图层,点击数值模拟-> MODFLOW6溶质->GWT解释运行,生成解释运行GWT图层。在该图层的属性面板中,设置解算器UPSTREAM,勾选浓度全部保存,启用垂向入渗边界。点击应用,系统将自动编译并运行GWT模型。在airportMf6.mf6.efs文件夹所在位置生成同名的efMF6GWT文件夹。运行完成后,程序提示如下:

  2. 点击按键,选择上一步中生成的efMF6GWT文件夹中的efMF6GWT.nam6文件。图层面板中生成efMF6GWT.nam6图层,在该图层属性面板数据子面板中,将模型原点设为(0,0,0),点击应用导入MT3D文件。

  3. 为了更细腻的展示污染物运移,可以对efMF6GWT.nam6图层进行时序补齐,生成时间补齐(定序)1图层。属性面板中设置时间步长10补齐模式线性补齐

  4. 选中时间补齐(定序)1图层,进行浓度阈值裁切,在属性面板中设置裁切范围,单击应用。坐标变换Z方向缩放设置为50,可更立体查看污染物分布。

    同时可以选中efMF6GWT.nam6图层可见,将其Z方向缩放设置为50,透明度调低,可同时查看污染物在模型区内的分布状况。

    通过对渲染面板的选项进行设置,看到污染物的影响范围。更多可视化操作,请参考本算例(下)中的内容。

小结

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

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