Skip to main content

机场油库地下水模拟

info

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

算例工程下载地址

算例简介

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

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

操作步骤

新建项目

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

创建MODFLOW模型

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

  1. 点击计算->创建数据体->MODFLOW->创建MODFLOW2005模型,创建流场模拟(MODFLOW2005)图层。

  2. 在右侧的属性面板中,将模型网格划分设置为(60,60,3),即XYZ方向的网格数分别为40、40和3。模型X边界分别设置为(0,2000)Y边界分别设置为(0,2000)Z边界分别设置为(0,1)默认水平垂向渗透系数17.28,点击应用完成设置。

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

    视图1中可以看到创建的模型网格,如下:

定义网格高程

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

  1. 点击快捷键导入数据选项,打开算例文件夹airport_input\Surfer中的airport-ground-surface.grd文件,生成airport-ground-surface.grd图层,在该图层属性面板中点击应用完成设置。导入定义地表高程,即第一层网格顶部高程的grd文件。

  2. 选择airport-ground-surface.grd图层,点击计算->通用工具箱->网格->网格中心->散点,(或者可以在管道面板中,从airport-ground-surface.grd图层右侧的圆点拖拽出线条,生成快捷操作窗口,输入网格中心,选择对应工具),生成网格中心->散点1图层,在该图层属性面板中点击应用完成设置。原始状态下grd文件中的高程信息保存在网格属性中,此步操作将grd文件中的网格转换为散点,便于下一步的高程赋值。

  3. 选择网格中心->散点1图层,点击通用工具箱->空间拓扑->标量扭曲(或者在管道面板中使用快捷操作方式),生成标量扭曲1图层,将其重命名为标量扭曲1图层。在该图层属性面板数据子面板中,将标量数列选为Band1缩放因子设为1,点击应用完成设置。此时上一步生成的散点面基于Band1(高程)数值,在Z方向进行扭曲。

  4. 选择创建ModFlow2005模型1图层,点击数值模拟-> MODFLOW2005->MF网格高程,选择标量扭曲1图层为高程图层,点击确认生成网格高程1图层,将其重命名为010MF2005网格高程1图层。

  5. 010MF2005网格高程1图层属性面板中选择散点Z坐标->单层,将赋值对象设为模型顶板,勾选下方的上层优先选项,点击应用完成设置,为第一层顶部设置高程。

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

    接下来按照上述同样的操作,分别导入代表地层第二层顶板(airport-layer2-top.grd)、第三层顶板(airport-layer3-top.grd)和第三层地板(airport-layer3-bottom.grd)的高程数据,然后进行赋值。

  6. 点击快捷键导入数据选项,打开算例文件夹airport_input\Surfer中的上述三个grd文件,生成对应的.grd图层,在该图层属性面板中点击应用完成设置。导入定义地表高程,即第2层网格顶部高程的grd文件。

  7. 对导入的三个grd文件均进行计算->通用工具箱->网格->网格中心->散点通用工具箱->空间拓扑->标量扭曲操作。分别生成了标量扭曲2标量扭曲3标量扭曲4图层。完成操作后的图层内容如下所示:

  8. 选中010MF2005网格高程1图层,使用拖拽的快捷方式,选择MF2005网格高程赋值

  9. 模型工程图层选择010MF2005网格高程1图层,高程图层选择标量扭曲2图层,单击确定。生成MF2005网格高程1图层,重命名为020 MF2005网格高程1。在右侧属性面板中,设置为第一层的底板(即第二层顶板)。单击应用。完成对第二层顶板的高程赋值。

  10. 第二层顶板高程如下图所示:

  11. 依次完成剩余两个底层的设置后,图层面板内容和地层高程显示如下:

定义定水头

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

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

  2. CH1.shp文件的位置可代表模型第一层和第三层北部的定水头边界,两层的水头分别为19和18。选中CH1.shp图层,使用快捷方式筛选出计算器,计算出水头数据19和18指定至CH1图层。

  3. 选中040MF2005网格高程1图层,使用MF2005线赋值,属性图层选择计算器1,在右侧的属性面板中设定属性类别为定水头边界,层号为1,水头值选择计算器1中得出的efCHstage1,单击应用。生成MF2005线赋值1图层,重命名为050定水头1MF2005线赋值1图层,完成第一层北侧定水头的赋值。

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

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

定义河流边界

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

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

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

  2. 选中river1_arcs.shp图层,使用线性赋值。在该图层属性面板数据子面板中,勾选拖拽手柄选项,按住键盘上的Ctrl+1Ctrl+2依次点击视图窗口线段右侧和左侧(即河流的上游和下游位置),矢量线段两端会自动磁吸至弧段两端。

  3. 属性阈值中分别填入16.515.5,为河流两端的河水位值,将结果数列名称设置为efRiverStage,点击应用完成设置。生成线性赋值1图层。

  4. 选中线性赋值1图层,再次进行线性赋值操作,这次使用和上面同样的方法,定义河流底部高程。河流西侧和东部的底部高程分别为15.5和15。单击应用,完成设定,生成线性赋值2图层。

  5. 选中线性赋值2图层,使用计算器的方法,设置传导系数,在右侧的属性面板中,设置efConductance为250,单击应用,生成计算器4图层。

  6. 选中070定水头3MF2005线赋值1图层,进行MF2005线赋值操作,属性图层选择计算器4图层,单击确定

  7. 在右侧的属性面板中,选择属性类型为河流边界,层号为1,河流水头为efRiverStage,传导系数为efConductance,河底高程为efriverbottom,单击应用,生成MF2005线赋值1图层,重命名为080RiverMF2005线赋值1图层。

定义水平渗透系数

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

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

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

  3. 选择080图层,点击模拟-> MODFLOW2005->MF2005层赋值,选择表格->散点1图层为属性图层,点击确认生成层赋值1图层,将其重命名为090-水平渗透系数2-层赋值1图层。

  4. 点击该图层属性面板顶部的显示/隐藏高级属性选项,在数据子面板中将属性类别选为水平渗透系数层号2水平渗透系数选择Kh2数列。

  5. 渲染子面板中将渲染方式改为曲面网络色彩设置为ef水平渗透系数,在坐标变换属性中,将Z向缩放设置为5,点击应用完成设置,视图窗口如上图所示:第二层模型的水平渗透系数已经和默认设置的渗透系数不同。

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

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

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

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

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

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

  11. 选择散点->曲面1图层,点击通用工具箱->属性->计算器,生成计算器5图层,在该图层属性面板数据子面板中,结果数列名称设为ef天窗Kh,数值为17.28,点击应用完成设置。

  12. 选中120-垂向渗透系数3-层赋值1图层,使用多边形赋值,给天窗区域赋值水平渗透系数,属性图层选择计算器5图层,单击确认。生成新图层,重命名为130天窗KhMF2005多边形赋值1

  13. 130图层的属性面板中,设定属性类别为水平渗透系数,层号为2,选择具体系数值为刚计算出的ef天窗Kh系列数据。单击应用

  14. 选中130图层,使用多边形赋值,给天窗区域赋值水平渗透系数,属性图层选择计算器5图层,单击确认。生成新图层,重命名为140天窗KvMF2005多边形赋值1

定义补给

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

  1. 选择140天窗KvMF2005多边形赋值1图层,点击模拟-> MODFLOW2005->层赋值,选择表格->散点1图层为属性图层,点击确认生成层赋值1图层,将其重命名为150-RCH- MF2005层赋值1图层。

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

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

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

  4. 选择150RCH-MF2005层赋值1图层, 使用MF2005多边形赋值,选择计算器6图层为属性图层,点击确认生成多边形赋值1图层,将其重命名为160天窗补给-MF2005多边形赋值1图层。

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

定义抽水井

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

  1. 打开算例文件夹中的Pumping_Wells.csv文件,生成Pumping_Wells.csv图层,在该图层属性面板中点击应用完成设置。

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

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

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

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

解释运行MODFLOW

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

  1. 选中170-井边界1-点赋值1图层图层,选择MF2005解释运行,生成解释运行MODFLOW1图层。在属性面板中,点击按钮选择模型文件生成的位置,将模型名保存为airport。选择解算器GMG时间单位长度单位,保存应力期1,点击应用,系统将自动编译并运行MODFLOW模型。

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

  3. 点击文件菜单栏中的打开选项,或点击界面上方的按钮,选择上一步中用户指定名称的MODFLOW文件夹中的efModFlow2005.nam文件。对象浏览器中生成efModFlow2005.nam图层,在该图层属性面板数据子面板中,将模型原点设为(0,0,0),点击应用导入MODFLOW模型结果。

    其中hed文件为水头文件,lmt6文件为MODFLOW生成的链接文件,其中记载了边界信息、参数信息、以及逐网格的水力梯度信息。

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

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

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

创建MT3DMS模型

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

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

  2. 接下来给燃油区设置污染参数。选择折线->多边形1图层,进行计算器操作,生成计算器7图层,设置数列名称为ef污染浓度,数值为5,单击应用

  3. 选择000创建MT3DMS模型1图层,进行 MT3D多边形赋值,选择计算器7图层为属性图层,点击确认生成多边形赋值1图层,将其改名为010燃料区补给浓度MT3D多边形赋值1图层。

    在该图层属性面板中选择属性类别入渗补给浓度层号1入渗补给浓度选择为ef污染浓度数列,点击应用完成设置。

解释运行MT3DMS模型

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

  1. 选中010燃料区补给浓度MT3D多边形赋值1图层,点击模拟-> MT3DMS->解释运行,生成解释运行MT3DMS1图层。在该图层的属性面板中,设置总模拟时间7300输出步数10GCG收敛标准设为0.0001。点击应用,系统将自动编译并运行MT3DMS模型。在airport.mf2005文件夹所在位置生成同名的airport.mt3dms文件夹。运行完成后,程序提示如下:

  2. 点击文件菜单栏中的打开选项,或点击界面上方的按钮,选择上一步中生成的model.mt3dms文件夹中的MT3D.CNF文件。对象浏览器中生成MT3D.CNF图层,在该图层属性面板数据子面板中,将模型原点设为(0,0,0),点击应用导入MT3D文件。

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

小结

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

  • 如何创建并运行地下水MODFLOW水流模型;
  • 如何使用tif文件为MODFLOW模型赋值;
  • 如何使用csv和txt文件为MODFLOW模型赋值;
  • 如何使用shp文件为MODFLOW模型赋值;
  • 如何对shp文件进行提取与赋值;
  • 如何定义MT3DMS模型中的浓度边界创建并运行MT3DMS模型。