Visual MODFLOW中文指南Word格式文档下载.docx
《Visual MODFLOW中文指南Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Visual MODFLOW中文指南Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
一、术语和符号
为使用方便,会用到以下一些术语和符号:
Type:
输入给定的词或数据;
Select:
在指示的地方单击鼠标左键;
:
按<
Tab>
键;
Enter>
[…]:
表示此键可以点击,这个键会出现在一个窗口中,或者是在菜单栏的旁边或底部;
加粗的文字表示可以点击的菜单或窗口界面,或者是可输入文字。
二、点击开始
双击桌面上的VisualMODFLOW程序图标开始。
创建并定义一个流动模型
第一部分:
建立新模型
这第一个模块将会指导你运用VisualMODFLOW界面创建一套新的模型数据所必要的步骤。
创建新模型:
在主菜单栏中单击File(文件),再单击New(新建),
就会弹出一个Createnewmodel(创建新模型)的窗口。
为方便起见,系统按已经建立了模型。
按照默认设置这个模型位于C:
\VMODNT\Tutorial
建议使用者建立一个新的文件夹,把新模型保存在此新建文件夹中。
建立新文件夹:
单击窗口中的新建文件夹图标,
输入新文件夹名称,再双击此文件夹,在文件名称栏中输入Airport,点击保存。
注意:
1、文件夹或者文件名称必须用英文字母或数字,不能出现中文。
2、如果你选择了缺省值的目录途径(C:
\VMODNT\Tutorial),并输入
相同的Airport,就会弹出一个警告对话框,提示已经存在一个
Airport.vmf的文件。
单击[NO]会把你新建的模型存入另外文件夹中;
单击[YES]会覆盖已经存在的模型。
VisualMODFLOW会在文件名末尾自动添加.vmf的扩展名。
下一步,会
在以下三个连续的步骤描述模型建立过程:
·
地下水流动和运移模拟所需的NumericEngine(数学计算软件);
与各种流动和运移参数相关的Units(单位);
模型的StartDate(初始日期)和StartTime(初始时间)
对于流动模型,可以用到以下的NumericEngine:
WHI的USGSMODFLOW-96
WHI的USGSMODFLOW-2000
HGL的MODFLOW-SURFACT
在这个示例中,选用MODFLOW-2000
在目前的VisualMODFLOW版本中,不支持MODFLOW-SURFACT的运移选项。
因此,如果在水流模型中选择了MODFLOW-SURFACT,运移选项的数字引擎就会自动不可用了。
对于运移模型,用到了以下一些NumericEngine(数字引擎):
MT3DMS
MT3Dv150
MT3D96
MT3D99
MT3Dv1.0
MT3Dv2.5
在这个示例中,选用了MT3DMS。
基于所选的运移引擎,你还要选择可用的Sorption(吸收)方法和Reaction(反应)。
在这个示例中,没有吸收,也没有选择动力反应。
在Units(单位)栏中,为每个模型的输入数据类型选择以下的信息内容:
Length:
meters
Time:
day
Conductivity:
m/sec
PumpingRate:
m3/day
Recharge:
mm/year
Mass:
kilogram
Concentration:
milligrams/liter
这个模型的StartDate(初始日期)和StartTime(初始时间)与初始模拟时
间相对应。
当前,这些数据只和非稳定流模拟有关。
在非稳定流模拟中,所记录的数据可以被导入用来为选定的边界条件(如定水头、河流、总水头和排放量)设定时间进度表。
再点击[NEXT](下一步)确定,确定这些给定值。
在第二步中,会出现下面的窗口,显示地下水流动和运移模型的默认值:
再点击[NEXT](下一步)确定这些给定值。
第三步是CreatethemodelGrid(建立网格模型)见下图:
以上的界面用来Importasitemap(添加地图),指定ModelDomain(模型版图)的维数,并且确定有限差分网格的行数、列数以及层数。
为模型中的行数、列数以及层数分别输入以下数据:
Columns(j):
40列数:
40
Rows(i):
40行数:
Layers(k):
3层数:
3
Zmin:
0Z方向最小值:
0
Zmax:
18Z方向最大值:
18
选择
Importasitemap(添加地图)
下一步,必须要选择文件扩展名为.DXF的背景地图。
点击[Browse](浏览),返回到Tutorial目录选择以下文件:
单击
Sitemap.dxf
单击[open]
单击[Finish]确定这些设定。
这时会弹出一个SelectModelRegion(选择模型区域)的窗口,提示你定义
模型区域的范围。
VisualMODFLOW会从底图(Sitemap.dxf)中读取最大最
小坐标值,并显示其在模型中心的默认位置坐标。
在屏幕显示数据的地方重新输入以下数据:
Displayarea:
X1:
0
(显示范围)Y1:
X2:
2000
Y2:
2000
ModelOrigin:
X:
(初始模型)Y:
Angel(角度):
ModelCorners:
(模型顶角)YI:
2000
单击[OK]确定。
此时会出现一个Fileattributes的窗口,显示“Sitemap.dxf”已经被保存到VisualMODFLOW工程里,并且命名为“”。
单击[OK]
就会打开Input(输入)菜单,而且在模型范围内会自动生成一个固定规格的40×
40×
3的有限差分网格。
屏幕上还会出现地图的网格形式,如下图所示:
当第一次进入Input(输入)时,网格图自动装载。
第二部分:
网格加密
网格界面为加密模型网格、勾画无效网格单元、输入各层标高、指定标高、优化(光滑)网格以及画各层标高等值线提供了一套完整的绘图工具。
这个部分描述了对所选地区进行网格加密的必要步骤,例如在供水井周围地区。
进行网格加密的原因是为了得到所选地区更详细的模拟结果,(如在水力梯度可能变化大的地区)。
例如:
如果在井周围出现水位下降,当使用了加密的网格后,水位会相对较平缓。
修改X方向的网格:
单击[EditGrid]EditColumns(编辑列)
就会弹出一个Columns(列)的窗口,显示要编辑的网格列的选项。
Add(添加)选项自动被选中,同时通过在需要增加网格线的地方单击鼠标左键,就会增加一条新的线。
把鼠标移到网格中任意地方,注意到有一条突出的垂线会随着鼠标在网格中移动。
这条线可以被用来在模型范围内任何地方增加一列。
在这次的练习中,需要修改加油站区以及供水井附近的网格。
在网格的任意位置点击鼠标右键,就会弹出一个AddVerticalLine(增加垂线)的窗口,选择
Evenlyspacedgridlinesfrom:
在调整文本框中点击,并输入以下数据:
from:
500
to:
1600
atintervalof:
25
点击[OK]确定,再点击[CLOSE]关闭Columns(列)的窗口。
下一步,要修改加油站到供水井区域Y方向的网格。
单击[EditGrid]EditRows(编辑行)
在网格的任意位置点击鼠标右键,就会弹出一个AddHorizontalLine(增加水平线)的窗口,选择
from:
400
1900
25
点击[OK]确定,再点击[CLOSE]关闭Rows(行)的窗口,退出。
修改后的网格应该如下图所示:
接下去的步骤会教你怎样查看模型的横截面以及怎样给模型增加新的层数。
查看模型的横截面:
点击左边工具栏中的[ViewColumn](查看列),
把光标移到网格中的任意位置。
当在屏幕上移动光标时,有一条红色的竖杠会使某一列突出显示,它会随着鼠标移动。
要选择一列查看,在选中的一列上单击鼠标左键,VisualMODFLOW会把网格屏幕从平面图切换到横截面图显示。
此时,模型由于没有纵向扩展,横截面图中的三层以接近一条粗线的形式显示,几乎不能分辨出这三层。
为了比较合理地显示这三层,需要纵向放大横截面:
单击屏幕底部的[F8-VertExag](纵向放大),就会弹出一个VerticalExaggeration的窗口,提示输入纵向放大的值:
输入:
40
点击[OK]模型的三个层面就会如下所示:
从以上的数据可以看出,在整个横截面每层厚度都相同。
然而自然条件下几乎不可能会有像这样水平,并且还具有相同厚度的地质条件的含水层。
在这个示例中,可以在模型区域中输入包含标高的,有确定的X和Y坐标的文本文件。
单击左边工具栏中的[ImportElevation](输入标高),就会弹出一个Creategridelevation(创建网格标高)的窗口:
这个窗口要求为网格模型各层输入一组数据。
在Layersurface栏中自动选择了Groundsurface,在窗口的右侧显示2-D和3-D(2维和3维)的插入层表面标高,以及逐格的展开层数据Array(矩阵)。
点击Option(选项)的下拉菜单
,并选择Importdate。
当选定这个选项后,就会在Option(选项)下面出现Interpolationsetting(差分组合框)。
这个组合框用于选择一个数据库文件以及差分法(NaturalNeighbors,Kriging,InverseDistance)。
Interpolation栏中自动选择了NaturalNeighbors。
然而这个示例需要在下拉菜单中选择InverseDistance。
在Datesource(数据来源)栏中点击打开文件夹的图标,
就会出现如下的Open(打开)窗口:
选择地表的顶层地层数据文件:
单击Airport-gs.asc再单击[Open]
就会出现如下的Matchfield窗口:
RequiredData(所需数据)框列出了来自数据库的纵行数据,而且根据数值差分法,Matchtocolumnnumber(和列序号匹配)框用来把数据和各自相应的数据库相连接。
如上窗口所示,在每栏中输入合适的数字,把X坐标与Column#1(第一列)匹配,Y坐标与Column#2(第二列)匹配,Elevation(标高)与Column#3(第三列)匹配。
一旦这些列都匹配好了,[NEXT]按扭就会被激活。
单击[NEXT]进入DataValidation(有效数据)界面。
由于没有发现错误输入(错误的输入会以红色的字体显示),就确保了数据库中的数据都是有效的,而且数据都存在于模型范围内,如下图的CoordinateSystemandUuits(坐标系和单位)窗口所描述的。
单击[Finish]进入CoordinateSystemandUuits(坐标系和单位)窗口,然后在CoordinateSystem(坐标系)框中选择Model(标准),在ElevationUnits(标高单位)框中选择Meter(米)。
单击[OK]对输入的标高数据进行插值,就会出现如下的窗口:
再单击[OK]
在进入下一步操作,把差分层的标高分配给选中的网格模型层之前,会出现一个Warning(警告)框,确认标准的标高是否确实需要更改。
单击[YES]
如果所提出的对模型地表标高的更改,会和之前指定的边界条件上的水头值有冲突,就会出现一条警告信息,提供修改数据的机会。
在这种情况下,不会发现潜在的问题。
下一步,将要给第一层输入底板标高:
单击[ImportElevation](输入标高);
在Layersurface栏的下拉菜单中
选择BottomofLayer1;
在Option的下拉菜单中
选择Importdata;
并在其组合框中选择InverseDistance的插分法;
并选择Airpt-b1.asc。
在Open(打开)窗口中选择第一层的标高。
再单击[Open]。
把X坐标与Column#1(第一列)匹配,Y坐标与Column#2(第二列)匹配,Elevation(标高)与Column#3(第三列)匹配。
单击[Finish]进入CoordinateSystemandUnits(坐标系和单位)窗口,然后在CoordinateSystem(坐标系)框中选择Model(标准),在ElevationUnits(标高单位)框中选择Meter(米)。
单击[OK]对输入的标高数据进行插分,
在Creategridelevation(建立网格标高)的窗口再单击[OK];
单击[YES]确认对模型标高的更改。
这时会发现第一层的底部会呈现不同的标高。
接下去再按此步骤完成对第二层和第三层标高的更改:
在Layersurface栏的下拉菜单中
选择BottomofLayer2;
并在其组合框中选择InverseDistance的插分法
并选择Airpt-b2.asc。
在Open(打开)窗口中选择第二层的标高。
这时会发现第二层的底部会呈现不同的标高。
接下去再按以上步骤完成对第三层表面标高的更改。
要注意对BottomofLayer3来说要在下拉菜单中
选择Airpt-b3.asc。
第三层的底部同样也呈现不同的标高。
模型的横截面应如下图所示(图为第38行横截面):
为了得到一个更好的纵向模型网格描绘,还可以对每层进行分层。
在左边的工具栏中单击[EditGrid]EditLayer(编辑层)
就会弹出一个Layer(层)的窗口,单击
Refinedby,在输入框中输入2,
把鼠标移到模型的横截面中,就会高亮显示该层表面。
把鼠标放在与第一层顶部相对应的线上,在那里左键单击;
然后把鼠标移到该层相对应的底线上,在那里再单击左键。
这样在第一层垂直方向上的中心位置就会增加一个已经变形的层,即平均分为两层。
重复此操作对第二层(隔水层)和第三层(下部承压含水层)也进行分层。
当完成所有这些操作时,单击Layer(层)窗口中的[Close]退出。
模型的横截面现在就由六层组成,而且应该和下图所示的相似(图中为第38行):
接下去要返回到模型的层界面,
在左边的工具栏中点击[ViewLayer]当鼠标放在第一层,并显示不同颜色时就在该层单击左键。
这样就会出现Airport地区的平面图。
第三部分:
添加抽水井
这个部分的目的是指导给模型添加抽水井的必要步骤。
在主菜单中单击[Well]
在其下拉菜单中
单击[PumpingWells]
这时会出现要求保存资料的窗口,点击[YES]保存,并继续。
一旦模型保存好了,屏幕就会切换到PumpWell(抽水井)的界面。
注意到左边的工具栏中的按扭现在是变为井选项,如添加、删除、编辑、移动以及拷贝抽水井。
在为这个模型添加抽水井之前,对抽水井周围地区进行放大(抽水井位于模型范围的右下角)。
单击[F5-ZoomIn]
把鼠标移到抽水井的右上角,左键单击。
然后覆盖抽水井所在区域,拉出一个记号框,再单击左键。
所选区域就被放大了。
接着给模型添加抽水井:
单击[AddWell]
把鼠标移到有抽水井标记的西面,然后在那里左键单击,就添加了一个抽水井。
此时会弹出一个NewWell(新建井)的窗口,提示输入指定的资料。
输入以下信息:
WellName:
SupplyWell1
X:
1415
Y:
535
要增加ScreenedInterval,
点击ScreenBottom所在列,
并输入以下值:
ScreenBottom(m):
0.3ScreenTop(m):
5.0
注意到井的过滤器长度在窗口右边的井孔图表中显示出来。
井的过滤器长度可以通过点击并拖动过滤器边缘到新的标高来改变。
要输入井的PumpingSchedule(抽水时间),在End(day)所在列下面的文本框左键单击鼠标,然后输入以下信息:
End(day):
7300
Rate(m^3/day):
-400
选用7300天作为结束时间是因为这个模拟将要进行20年。
然而,由于这是稳定流的流动模拟,可以任意确定模拟时间,但这个水流模拟的结果不会改变。
稳定流模型的意思是这个模型给每个参数赋上第一次输入的值来进行模拟,直到达到平衡,而不管相对时间如何改变。
抽水量为负值是因为这是一个抽水井。
如果在输入所需数据时失败了,VisualMODFLOW会提示再次完成表格。
下一步是用一条捷径给第二个抽水井设定参数。
这条捷径会把这个井的特征全都拷贝到另一个井。
在左边的工具栏中点击[CopyWell]
把鼠标箭头指在西边的井上(供水井1),并左键单击。
然后把鼠标移到东面的井上,再单击左键,就拷贝了一个井。
下一步要对新(拷贝)井进行编辑。
在左边的工具栏中点击[EditWell],并单击新井,就会出现一个EditWell的窗口。
当前该井的命名为“SupplyWell1
(2)”。
把WellName对应栏中井的名称改为“SupplyWell2”,
并输入:
X=1463,Y=509,Rate(m^3/day):
-550
单击[F6-Zoomout]
第四部分:
赋水流模型属性
这个部分是指导建立一个模型,其各层渗透系数相差很大的必要步骤。
在主菜单上点击Properties/Conductivity(参数/渗透系数)
在弹出的窗口中点击[YES]保存资料。
现在屏幕就切换到Conductivity(渗透系数)的输入界面,在那里可以对模型的渗透系数(Kx,Ky,Kz)进行修改。
在左边的工具栏中点击[Database]按扭,并在弹出窗口中输入以下值:
Kx(m/s):
2e-4
Ky(m/s):
2e-4
Kz(m/s):
要注意此时的Kx,Ky,Kz值都相同,这表示假设给定的值在水平和垂直方向上是各向同性的。
但也可以通过修改渗透系数给模型设定各向异性的特征值。
在这个六层的模型中,第一、第二层表示上层含水层;
第五、第六层表示下层含水层;
第三、第四层表示分隔上下含水层的弱透水层。
在这个示例中,把之前设定的渗透系数用于第一、二、五、六层(含水层),同时给第三、四层(弱透水层)设定不同的渗透系数。
要注意到第一层是模型的顶层。
在左边的工具栏中单击[Goto],就会弹出一个GoToLayer的窗口,
在窗口中输入3,单击[OK]确定。
现在就在第三层(弱透水层)的界面上。
下一步是给弱透水层(第三、四层)设定较小的渗透系数值。
可以在模型网格上指定参数值。
在左边的工具栏点击[Assign],再单击[Window],这个功能可以给指定的矩形框内赋值一个不同的渗透系数。
把鼠标移到网格的西北角,并在顶角的网格中点击左键。
然后把鼠标移到网格的东南角,并在顶角的网格中点击左键,此时就创建了一个白色的界面覆盖整个层面。
此时会出现一个Conductivity-[AssignWindow]的对话框。
单击[New],这个网格就会变成蓝色的,而且Zone#值变为2。
对新的Zone#2输入渗透系数,单击Kx对应栏,并输入以下值:
Kx(m/s):
1e-10
1e