第四章 运行选项 =S\^j"
本章将详细给出: :uB?h1|
¨ 以工程或批处理方式运行模型; 6R^32VeK($
¨ 编辑层宽变量; rx 74v!
¨ 编辑运行时间选项。 /$]S'[5uF
4.1运行模块菜单 TQ:5@1aT
从主菜单的下拉菜单中选择Run进入运行屏幕后,会出现下列对话框: cWZ uph\
用户必须选定当前进行的模拟是瞬变流还是稳定流。选定后,用户可以看到流动运行模块的下拉式菜单的选项(见图)。 K*2s-,b *
4.1.1流动的运行模块菜单 e`H>}O/ai
File Basic Solver Recharge Layers BCF OC Pathlines Run/Translate MT3D Tools Help 5uahfJk
File 保存或返回主菜单。 r@]`#PL
Basic 设立模型时间步参数(如果模拟瞬变流),指定初始水头(或者是每层保持不变,或者从Surfer,ASCII文件,或前一次Visual MODFLOW 运行结果中输入)。 }9W[7V?
Solver 选择MODFLOW 求解器包。 9N{?J"ido
Recharge 给模型顶层或最上面的活动单元指定初给量。 ?U[6X|1
Layers 按MODFLOW 手册所述指定模型中各层的类型。 7I#C[:7x
BCF 定义块中心流动选项:单元二次湿润和层的各向异性。 m@+QC$6S
OC 指定保存结果(输出控制)的时间和格式。 D`!BjhlW
Pathlines 设置用于USGS MODPATH的质点选项。 ~piE$"]&
Run/Translate 将Visual MODFLOW 文件转换成MODFLOW、MODPATH、ZONE BUDGET和MT3D格式的文件以及按要求运行模型。 j~V$q/7S
MT3D 转至Visual MODFLOW 的MT3D运行模块。 VpAwvMw
Tools 激活单元检查器。 uDkX{<_Xe
Help 运行菜单的通用帮助屏幕。 q
:~/2<o
4.1.2 MT3D的运行模块菜单 b_6cK#
从流动运行模块的菜单上选择MT3D菜单项,设置进行MT3D模拟的选取项。用户将会见到如下的MT3D运行模块的下拉式菜单(见图)。 ]0 = |?n$7
File Advection Output/Time Steps Initial Concs. Run/Translate Flow Tools Help wB'!@>db
File 保存或返回主菜单。 LyNmn.nN
Advection 设置MT3D的求解方法的选项。 iGz*4^%
Output/Time Steps设置将MT3D结果保存到文件的时间。 X>Q4 4FV!
Initial Concs. 告诉MT3D使用哪种初始浓度(在MT3D模块中指定、从SURFER、ASCII文件或前一次MT3D解中输入)。 ]\A=[T^
Run/Translate 将Visual MODFLOW 文件转换成MODFLOW、MODPATH、ZONE BUDGET和MT3D格式的文件以及按要求运行模型。 m;hp1VO)
Flow 转至Visual MODFLOW 的流动运行模块。 &+A78I
Tools 激活单元检查器。 [7~AWZU3
Help 运行菜单的通用帮助屏幕。 mSYm18
4.2文件(File)菜单 .9=4Af
在运行菜单中选择File,会出现一下拉菜单: .5!`wwVi
Save 以原数据集名保存选项。 ~@PD\
Export... 将Visual MODFLOW 图形窗口输出到AutoCAD的DXF文件(世界坐标或局部坐标)或WMF文件。
!sEhjJV^7
Main Menu 返回主菜单。 F[%k;aJ
4.3基本资料(Basic)菜单 E`(=n(Qu
在运行菜单中选择Basic,会出现一下拉菜单: oF]]Pl{W
Time 定义每个应力期的时间步数和时间步乘数。本项只在瞬变流模式下才有效。 ti6X=@ P:
Initial Heads 定义起始水头。其选项有:每层水头保持不变、从SURFER的.grd文件中输入水头、以及使用前一次的Visual MODFLOW 运行轮次、SURFER的.grd文件或ASCII文件中的水头。 (n:A`]
4.3.1时间(Time) @_$$'XA7
如果选择的是瞬变流模式,那么你的Basic下拉菜单下就会有Time选项。你会看到如下的应力期(Stress Period)窗口,你可以输入每个应力期的时间步数和时间步长乘数。 oQ/T5cOj
MODFLOW 中的模拟时间被Visual MODFLOW 分为应力期。应力期的定义为系统上所有的应力(边界条件、抽水速率等)保持不变的时间期。Visual MODFLOW 利用用户加入的边界条件来确定瞬变流模拟的每个应力期的长度。应力期限的长度不能由用户直接设置。接着每个应力期又可以分为时间步。在每个应力期内,时间步组成几何级数。用户要定义时间步数的时间步长乘数,或者说是每个时间步与前一时间步的比例。Visual MODFLOW 利用这些定义来计算应力期内每个时间步的长度。 kZ)}tA7j
MODFLOW 在各应力期、时间步和打印时间上是有区别的。每个时间步都会计算水头场。但水头场只在每个打印时间(printout time)结束时才保存到某个文件中去。在默认情况下,打印时间就是应力期的结束,而用户可以通过OC菜单的选项对此进行修改。但在输入模块中指定的观测点的水头和降深值却是在每个时间步都计算并加以保存。 ER~RBzp
一般情况下,时间步长越小,其对流场的瞬时变化的刻画就越好。因此增加时间步数能使水头或降深的曲线更加光滑。 ILl~f\xG)
4.3.2初始水头(Initial Heads) !l0"nPM=
对稳定流模式,MODFLOW 需要一个水头分布的初始猜测值,而对瞬变流模拟,MODFLOW 需要起始水头分布。降深值也从初始水头中算得。对稳定流模拟,一个好的猜测值可以极大地减少所需的运行时间。从Basic菜单中选择Initial Heads后,会出现如下弹出窗口。 \}W3\To_
它允许用户指定初始水头分布是否是按层保持不变,或者从SURFER的.grd文件、ASCII文件还是前一次的Visual MODFLOW 运行结果中输入。 _[rQt8zn
4.3.2.1按层保持不变 gp{C89gP
按层保持不变是默认选择。如果没有选择Initial Heads,程序就会用它来模拟。如果选择了“Constant by Layer ”,就会出现如下的窗口。 |[mmEYc
该窗口允许用户按层设置初始水头的猜测值。 <%%)C>l
4.3.2.2从SURFER的.grd文件或ASCII文件中输入 3h>L0
Visual MODFLOW 允许初始水头从已有的数据中插值求得。如果水位资料可用,它就能从SURFER的.grd文件或ASCII文件中插值出来,将有一个与如下窗口类似的窗口出现。 #qF1z}L(
如果选择了ASCII文件,其类型可以是ASC,TXT或XYZ。然而,文件必须以空格为分隔符,每组X,Y,Z坐标占一行。对SURFER,文件必须是GRD格式,其扩展名必须是GRD。 Sw"h!\c`
ASCII和SURFER选项都是用距离倒数插值方法确定每个单元的初始水头的。 $RRX-
4.3.2.3前一次Visual MODFLOW 运行结果 DCZG'eb
“Previous Visual MODFLOW Run”选项允许用户将上一次的HDS文件作为初始水头的猜测值。选择该项后,将出现如下窗口。 Gos#=H
HDS文件必须与当前的模型具有相同的行、列和层数。这在模型校正和敏感性分析时是十分有用的,因为它为模型提供了接近于解的猜测值。如果网格作了重新剖分,旧的HDS文件就不能再用了。 <]KQ$8dtD
4.4求解器(Solver)菜单 4vN:Kj
选择Solver后就会出现求解器的选项表列。对每个求解器都会出现一个不同的“Solver Parameter”对话框。你可根据所需的计算水头分布的精度在其中修改默认的收敛标准。一般情况下,默认值就可以得到较好的结果。然而,我们推荐用户去试验这些数,以确信迭代的解确实是收敛的。这也是用户的责任所在。 _izjvg
选择Solver后就会出现如下对话框。 @R%qP>_
4.4.1 前承条件共轭斜量程序包(PCG2) dR< d7
PCG2用前承条件共轭斜量法(Preconditioned Conjugate-Gradient)来求解模型的联立方程。可以模拟线性和非线性的流动条件。PCG2有两个前承条件选项:改进的不完全Cholesky前承条件,它在标量计算机上效率很高;多项式前承条件,它对计算机的存储要求不高,并且通过针对计算机的优化,在矢量计算机上效率极高。求解器的收敛条件采用水头变化和残差判别标准。非线性问题采用Picard迭代算法。对PCG2的说明见USGS的Water-Resource Investigations Report 90-4048,它也已包含在用户参考手册中。 EmrkaV-?k
对求解器参数的解释 #}@8(>T
PCG2求解器在每个时间步上用双层迭代法求解。外层迭代用于向解的方向改变前承条件参数矩阵。每进行一次外层迭代,前承条件参数矩阵中的流动系统的水文地质参数(即水力传导系数、饱水厚度、储水系数)就作了一次更新。 +[MHl
最大外层迭代次数(Maximum Number of Outer (non-linear) Iterations)默认值=50 GH-Fqz
本参数指定外层迭代次数的上限。这个值只有在迭代结束前不能达到收敛解的时候才用到。对大多数问题而言,25次就足够了。然而,如果达到了最大迭代次数,而不能得到较好的质量平衡差异,就应加大该值。 chUYLX}45
最大内层迭代次数(Maximum Number of Inner Iterations)默认值=10 4@Db $PHs
本参数指定内层迭代次数的上限。这个值只有在迭代结束前不能达到当前外层迭代的矩阵条件下的收敛解的时候才用到。对大多数问题而言,10次就足够了。超过10次的迭代往往对解并没有什么用处,因为在返回外层迭代时,解要进行更新。 9$e$L~I#u
收敛的水头变化判别标准(Head Change Criterion for Convergence):默认值=0.01 PX/{!_mM
在所有的外层迭代完成后,求解器就会检查每个单元的解,找出最大的变化量。如果这个值小于收敛标准(以英尺或米为单位)。就认为解已收敛,求解器就停止运行,否则开始新的外层迭代过程。 N[\J#x!U
通常对大多数问题来说,解的精度达到0.01ft或m就足够了,除非模拟区域的水头的最大差值小于1(ft或m)。如果内外层迭代的次数没有达到上面所设置的最大值,却没有得到较好的质量平衡结果,可以将这个值减少一个数量级,如0.001。 V>Z4gZp5sc
收敛的残差判别标准(Residual Criterion for Convergence):默认值=0.01
JrLh=0i9
水头变化的判别标准用于判断整个求解器的收敛,而残差判别标准则用于判断求解器内层迭代的收敛情况。如果所有节点上的残差的最大绝对值小于这里指定的值(单位:长度3/时间),那么就进行下一个外层迭代。 Hd\oV^>
通常,水头变化和残差判别标准是等价的。一般0.01ft3/s或m3/s就足够了。然而,如果你注意到所有的外层迭代都只运行了一些内层迭代,而却没有得到较好的质量平衡结果,则可以将该值减少一个或几个数量级。 hLuv
注意:残差判别标准与所用的单位是有关的。如果你所用的长度单位是英尺或米,时间单位是秒,则0.01就足够了。如果不是,你就应该将默认值乘上你所用的时间单位的秒数(例如,如果时间单位是天,则残差判别标准应采用864)。 #-f9>S9_
打印间隔(Printout Interval):默认值=10 ty#6%
打印间隔的值说明了将水头资料写入表列文件(.LST)之间要进行的迭代次数。 }v|_]
4.4.2 强隐式求解程序包(SIP) F:P2:s<d-
强隐式求解法(SIP)是一种通过迭代来求解大型联立方程组的方法。其优点是非常稳定且常常可以收敛于某个解,但通常很慢。它不如PCG法快速,但占用的计算机内存要少。由于每个方程最多可涉及7个未知水头以及在整个网格中某个方程与其下一个方程的未知量是不同的,所以整个网格上的方程必须在每个时间步上都同时求解。本程序包的说明见MODFLOW 手册第十二章。 U?{oxy_[ 2
4.4.3 分层连续超松弛程序包(SOR) d_pIB@J
分层连续超松弛法(Slice-Successive Overrelation)是一种用迭代求解大型线性方程组的方法。在SOR中通过将有限差分网格分成垂向的层,并将节点方程重新组成分开的方程组,每组对应于一层。在每次迭代中将这些方程按顺序求解,就得到各层的一组新的水头估计值。当处理各层方程时,它们首先写成两次相连迭代间的计算水头的变化的形式。然后,通过将相邻层的项当作已知量,用高斯消去法直接求解相应层的方程组。接着,计算出来的水头变化值乘上一个加速因子T,T一般在1-2之间;这个结果就作为该层在此次迭代中的水头变化值。按顺序对每个层重复这个过程,直到三维阵列中的所有层都计算完成,就完成了一次整个模拟区域的迭代。然后再重复这个求解序列,直到相邻两次迭代之间的水头计算值的差值小于网格中所有的节点的判别标准为止。SOR程序包详见MODFLOW 手册第十三章。 cAwqIihZ
参数说明 MI(#~\Y~P
最大迭代次数(Maximum Number of Iterations):默认值=50 {5X,xdzR
本参数指定迭代次数的上限。这个值只有在迭代结束前不能达到收敛解的时候才用到。对大多数问题而言,50次就足够了。然而,如果达到了最大迭代次数,而不能得到较好的质量平衡差异,就应加大该值。 F@q9UlfB-
加速因子(Acceleration Factor):默认值=1 %bF157X5An
加速因子用于控制两次迭代间的水头变化的大小。它必须是正数。该值如大于1将会加大迭代间的水头的变化;可能可以较快得到解但也易使解失稳。小于1的值会使水头变化减少,因而增加了迭代次数。 r"{jrBK$
收敛的水头变化判别标准(Head Change Criterion for Convergence):默认值=0.01 l-v m`-_#
在每次迭代完成后,求解器就会检查每个单元的解,找出最大的变化量。如果这个值小于收敛标准(以英尺或米为单位)。就认为解已收敛,求解器就停止运行,否则开始新的迭代过程。通常对大多数问题来说,解的精度达到0.01ft或m就足够了,除非模拟区域的水头的最大差值小于1(ft或m)。如果迭代的次数还没有达到上面所设置的最大值,却没有得到较好的质量平衡结果,可以将这个值减少一个数量级。 i.Y2]1
打印间隔(Printout Interval):默认值=10 ;ZAwf0~
打印间隔的值说明了将水头资料写入表列文件(.LST)之间要进行的迭代次数。 :*|Ua%L_
4.4.4 WHS的Visual MODFLOW求解器(WHS) .AO-S)wHR
WHS使用了一种双共轭斜量稳定(Bi-CGSTAB)加速程序,它由用于预处理地下水流动偏微分方程的Stone不完全分解作为补充。这个求解器如同其它所有的迭代算法的求解器一样通过对近似解的迭代来求得大型偏微分方程组的解。由于地下水流动的矩阵方程最初是“病态的”,因而要求得一个有效解,就必须对这些矩阵进行有效的预处理。WHS中有两种等级的因式分解。程序在一级因式分解时收敛所需的迭代次数要少一些。而随着因式分解等级升高,运行程序所需内存变大。而且,在一级因式分解时,每次迭代的工作量也加大了,因而总计算时间未必比采用0级因式分解少。 *<67h*|)
参数说明 lkJxb~S
WHS求解器在每个时间步上用双层迭代法求解。 -2[4 @
外层迭代用于向解的方向改变因式分解参数矩阵。每进行一次外层迭代,因式分解参数矩阵中的流动系统的水文地质参数(即水力传导系数、饱水厚度、储水系数)就作了一次更新。不同等级的因式分解允许这些矩阵进行不同的初始化,以增加求解效率和模型稳定性。内层迭代用于迭代求解外层迭代建立的矩阵。 #>)z}a]
最大外层迭代次数(Maximum Number of Outer (non-linear) Iterations)默认值=100 \ HUDZ2 s
本参数指定外层迭代次数的上限。这个值只有在迭代结束前不能达到收敛解的时候才用到。对大多数问题而言,50次就足够了。然而,如果达到了最大迭代次数,而不能得到较好的质量平衡差异,就应加大该值。 - QY<o|
最大内层迭代次数(Maximum Number of Inner Iterations)默认值=25 7rRI-wZ
本参数指定内层迭代次数的上限。这个值只有在迭代结束前不能达到当前外层迭代的矩阵条件下的收敛解的时候才用到。对大多数问题而言,500次就足够了。然而,如果所有的内层迭代都达到了最大迭代次数,而不能得到较好的质量平衡差异,就应加大该值。 d|Wqx7t]P
收敛的水头变化判别标准(Head Change Criterion for Convergence):默认值=0.05 =JfwHFHd#
在所有的外层迭代完成后,求解器就会检查每个单元的解,找出最大的变化量。如果这个值小于收敛标准(以英尺或米为单位)。就认为解已收敛,求解器就停止运行,否则开始新的外层迭代过程。通常对大多数问题来说,解的精度达到0.01ft或m就足够了,除非模拟区域的水头的最大差值小于1(ft或m)。如果内外层迭代的次数没有达到上面所设置的最大值,却没有得到较好的质量平衡结果,可以将这个值减少一个数量级。 @M-w8!.~
收敛的残差判别标准(Residual Criterion for Convergence):默认值=0.005 c"lwFr9x7
水头变化的判别标准用于判断整个求解器的收敛,而残差判别标准则用于判断求解器内层迭代的收敛情况。如果相邻两次迭代的变化小于这里指定的值(单位:长度3/时间),那么就进行下一个外层迭代。 =:w,wI.
残差标准对大多数问题来说0.001是比较合适的。然而,如果你注意到所有的外层迭代都只运行了一些内层迭代,而却没有得到较好的质量平衡结果,则可以将该值减少一个或几个数量级。 fi*b]a\'
外层迭代阻尼因子(Dampening Factor for the Outer Iterations):默认值=0.5 vWESu4W`L
这个因子允许用户在每两次相邻的迭代中减少(阻减)计算的水头变化。对大多数“井型”或物理意义上的地下水流动问题,阻尼因子选择1就可以了。这个参数可以用于非收敛(摆动或发散)的问题中,使其稳定下来,可以得到一个解。这是将该因子减少到0-1之间(很少小于0.6)来运行的。该因子类似于其它求解器中的加速因子。 \a|~#N3?
相对残差判别标准(Relative Residual Criterion):默认值=0 x=7:D
本参数是另一种检查内层迭代的方法。该方法是将最近一次内层迭代的残差与最开始时的内层迭代的残差相比较。一旦最近一次内层迭代的残差小于最开始时的内层迭代的残差乘上相对残差判别标准,当前外层迭代就完成了,开始进行新的一次外层迭代。例如: oNPvks dC;
如果:最近一次内层迭代的残差 fw,,cu`YA
< 最开始时的内层迭代的残差 ´ 相对残差判别标准 K`9~#Zx$
因式分解等级(Factorization Level):默认值=1 E%D .a=UX,
0级(Level 0)需要 1级(Level 1)需要 .0xk},
较多的外层迭代次数 较少的外层迭代次数 3fQ`}OcNr
较少的内存 较多的内存 }cCIYt\RK
4.5补给(Recharge)菜单 PpG;5
在Visual MODFLOW 中补给仅限于最上一层。然而,补给允许通过某列的无效单元(默认条件)。常水头边界总是截断补给,防止更深的渗透。因此,当你从运行屏幕上选择了Recharge时,就会有以下的对话框让你选择要用哪种补给。 JZxA:dg
l
4.6层(Layers)菜单 0%L:jq{5
当你在运行屏幕中选择Layers时,就会有以下的对话框让你选择每个层的类型。 x X3I`
Type 0 Confined 在整个模拟期间,该层的导水系数和储水系数保持不变。 3ddw'b'aQ
Type 1 Unconfined 层的导水系数是变化的,它从饱水层厚度和水力传导系数中计算出来。储水系数保持不变;本类型只适用于第1层。 a*X{hU9P
Type 2 Confined/Uncofined 层的导水系数和储水系数保持不变。储水系数可以有承压和非承压两种值。 $3p 48`.\
Type 1 Unconfined/Confined 层的导水系数是变化的,它从饱水层厚度和水力传导系数中计算出来。储水系数可以有承压和非承压两种值。如果是含水层稀释,则限制从上面来的垂向渗透。 [[<TW}
4.7块中流(BCF)菜单 :* ]#n
在块中流(Block-Centered-Flow BCF)选项下,你可以指定单元二次湿润参数和层各向异性比率。 Bi
\fB-|
4.7.1二次湿润 w8Z#]kRv
最初的USGS的MODFLOW 是不允许在一次模拟中变干的单元再次饱水;它们简单地处理为无效单元。然而,USGS后来扩展了BCF包(BCF2),使得用户可以让干的单元二次湿润。其缺点是数值解的稳定性会下降。关于单元二次湿润和BCF包更详细的说明可见MODFLOW 程序包参考手册。 :fL7"\
pf~
BCF菜单下的Rewetting选项可以让用户激活BCF2程序包中的湿润选项并指定二次湿润参数。通过单击“Activiate cell wetting”框可激活单元二次湿润选项。 o jxK8_kl
单元湿润控制(Cell Wetting Control) ;K8}Yq9p9
单元的湿润的控制有两种:通过单元底部的水头直接控制或通过四个相邻的水平单元加上其底下的单元的水头控制。第一种方法更稳定一些,并且在相邻单元难以指示是否一个单元应该湿润的时候就特别有用(例如在很陡的垂向水力梯度的地区或底板高程变化的地区)。在某些情况下,会导致干的单元处在湿的单元下。 Fs4shrt
湿/干阈值(Wet/Dry threshold) P,)D0i
对一个要湿润的单元来说,相邻单元的水头必须大于当前单元底部高程与湿/干阈值之和。例如,有一个底部高程为10的干单元,如果湿/干阈值设置为2,单元湿润由下面的单元控制,那么,该单元只有在下面的单元的水头达到12后才能被二次湿润。 uk$MQv*D
总是在使用,以确定单元在何时湿润。 A_U=`M=-
单元湿润间隔(Cell Wetting Interval) !xR9I0V5
单元湿润间隔表明了MODFLOW 多久就测试是否要湿润单元。例如,如果单元湿润间隔为2,则每隔一次迭代就看看是否要进行单元湿润检查。 8[X"XThj
单元湿润计算(Cell Wetting Calculations) -['& aey}a
单元湿润时,新水头可用以下两个方程之一来计算: ."BXA8c;A
水头= Z底部+湿润因子(相邻水头—Z底部) aBaiXv/*
水头= Z底部+湿润因子(湿/干阈值) 8g_kZ^<[
其中Z底部是当前单元的底部高程。 Ekq(
通常,第一个方程认为更合理一些,因为单元的新水头是随相邻水头而变化的,而正是后者使其湿润的。然而在MODFLOW 在迭代时高估水头变化的情况下,该方程有可能会不收敛。此时可用方程2来获得一个较稳定的解。 DDGDj)=`
解的收敛 e/+.^ '{
单元二次湿润常产生不收敛或不稳定的解,这可从单元不断地湿润排干看出。如果发生这种情况,我们推荐你试试以下方法: Lm`-q(!7w
a. 将你已知肯定不会湿润的单元设置为无效单元。 )=K8mt0qob
b. 加大湿/干阈值。这会使单元的湿润更加困难,因而让MODFLOW 从不停地重复开关单元的过程中停止下来。然而,这可能会降低解的精度,因为应该湿润的单元会一直处在干的状态。 7"aN7Q+EbI
c. 改变湿润因子。这会增加或减少湿润单元的水头。 LB]3-FsU+
d. 改变控制单元湿润的相邻单元。 m`8{arz2
e. 改变计算湿润单元新水头的方程。 S
WTZ6(!oW
f. 试用SIP或PCG求解器,并修改求解器参数。 ] WYub1
g. 对稳定态解,用符合最终条件的较好的初始猜测值开始求解。这将很好地指示哪个单元会湿润和排干,因而将单元在干湿之间的变换降至最小。 Qu'#~#L`
4.7.2各向异性 ,ps?@lD
水平各向异性是指列向的导水系数或水力传导系数与行向的分量的比值。从BCF选择该项时,会出现如下对话框。 viYrPhH+z
各向异性系数可逐层设定或保留水力传导系数数据库(Hydraulic Conductivity Database)中的值。如果你选择逐层设置,则必须为每层输入一个Ty/Tx系数。选择逐层设定并不会冲去Ky的原始值,但将用Ty/Tx系数重新对它们进行计算。 Y(1?uVYW\d
4.8输出控制(OC)菜单 v8 =#1YB;
当你从运行屏幕上选择OC(输出控制)菜单项时,会出现一个包括Output Control和List File Opts选项的下拉菜单。 o*7NyiJ@z
4.8.1输出控制(Output Control) wt9f2
输出控制可让你指定哪些资料要写入LST、BGT和HDS文件中以及其写入的频率。表列文件(LST)包含了关于MODFLOW 运行情况的信息。这个文件在模拟出现错误而你想知道MODFLOW 运行到了哪一步,或者你想检查给定时间间隔内的水头或降深时是很有用的。在默认情况下,信息将在每个应力期的结束时存入二进制文件中,而在每次模拟结束时存入LST文件一次。 C|Gk}
区域均衡程序BGT文件来计算区域间的流动情况。因而,要改变输出区域均衡信息的输出频率,要在F. Term in Bin中改变保存间隔。 )ADI[+KW
要选择某个输出项目,单击方框,要写入LST、BGT或HDS文件的资料就会出现一个Ö。 =e# h;x2
输出控制窗口包括以下内容: \Q}Y"oq
保存到二进制文件(Save to Binary) ?b(wZ-/
Heads 将水头存入二进制水头文件(HDS)中。 .,qh,m\Fo
Ddown 将降深存入二进制降深文件(DDN)中。 L#a!fd
F. Term 保存流量项(逐单元流量项)到均衡文件(BGT)中。(MODFLOW 只允许流量项信息保存入二进制文件或者LST文件中) %2I>-0]B
写入LST文件(Print to LST) MLTS<pW/
Heads 将水头存入列表文件中。 tF/Ni*\^rV
Ddown 将降深存入列表文件中。 ;Qt/(/
F. Term 保存流量项(逐单元流量项)到列表文件中。 nxuH22:
Bud. 将均衡存入列表文件中。 Wm"#"l4
¨保存FLO文件(Save FLO file) 屏幕底部的“Save FLO file”选择框让你可以在MT3D不在运行时逐单元保存用于MT3D的流动项资料。 ALF21e*n
后两列说明了资料写入的应力期和时间步。对稳定模拟来说,这些值总是1,但对瞬变流模拟来说,在每个时间步这些值将组成一条直线。 N&
F.hi$_
4.8.2列表文件选项(List File Opts.) =d"5kDK-m
表列文件选项让你可以指定将哪些信息写入LST文件,同时也可以指定其格式。 q+8de_"]
4.9 线路(Pathlines)菜单 AHuIA{AdUR
选择Pathlines后,会有一个如下的菜单出现: aizws[C
Discharge 设置控制质点放置的选项。 %?+Lkj&
Reference Time 设置质点参考时间的选项。 /]J\/Z>
4.9.1放置(Discharge) xWY\,'+Q
如果选择Discharge,就会出现如下对话框。 Y&,}q_Z:
这三个放置选项指明了边界条件对质点追踪方法的影响。汇是一种将质点从系统中移走的边界条件。因而,抽水井是汇,第一层中具有蒸发作用的单元也是。因为MODPATH 并不能知道质点遇到弱汇时是否会被移走,所以它提供了以下三种选项: "eTALRL'o
l 质点通过弱汇单元, N\tFK*U^I
l 质点在进入内源单元后停止运动, 2eRk_j]
l 当汇的排泄量超过单元入流量的某个特定百分比时,质点停止运动。默认情况下该值为5%。 ~V ?z!3r-)
4.9.2参考时间(Reference Time) l}(HE+?
如果选择Reference Time,就会出现如下对话框。 G+2fmVB*X
MODPATH“参考时间”是作为向前或向后追踪的质点的模拟起始时间。MODPATH的瞬变模式的参考时间的设置有两种:
H6nH
1) 用应力期(Prd)、时间步(Stp)和时间步内的相对时间(Rel. Tm)来指定参考时间。 l{^s4
2) 按从模拟开始的绝对时间来指定参考时间。 *mj=kJ7(
4.10运行(Run)菜单 |LLpG37_
Visual MODFLOW 包含有Win32 MODFLOW 程序包,它包括32位的在Windows95/NT环境下运行的MODFLOW 、MODPATH、ZONE BUDGET和MT3D。这套独特的工具可运行所有的数值引擎,并且可以为MODFLOW 的解的收敛情况和Zone Budget的流量资料提供一种图形化的进程报告。另外,它还允许在迭代进行期限间对求解器参数进行运行间修改。 ipGxi[Vav
当你在运行屏幕上选择Run/Translate后,Visual MODFLOW 将提示你在对话框中选择你想要执行的数值模型。Visual MODFLOW 支持以下的数值引擎,它们可在主菜单窗口的Setup下选择: b1'849i'y=
l USGS MODFLOW 88 K>~YO~~
l USGS MODFLOW 96 +$>aT(q
l USGS MODPATH K0v S
l USGS Zone Budget oKz!Xu%Hl
l USEPA MT3D 1.1 K^"l.V#J
l DOD MT3D 1.5 NM:$Q<n
l S.S. Padadopulos MT3D 1.86 &J9 + 5L8
l S.S. Padadopulos MT3D96 G,<d;:
要执行其中之一或全部的MODFLOW 、MODPATH、ZONE BUDGET或MT3D都可以。你可以指明运行这四个模块中的一个,或者是四个模块的任意组合。然而,MODFLOW 必须在其余三者之前运行。 oBub]<.J
运行模型后,在每个数值模型运行期间都会出现数值引擎控制窗口(Numeric Engine Control Window)。 &D-z|ZjgHi
Translate & Run 将输入文件转化为如上的模型ASCII文件,并运行所选择的模型。 "R)n1,0
Translate 将所选择的MODFLOW 和MT3D程序包以及MODPATH和Zone Budget的选项转化为MODFLOW 、MODPATH、Zone Budget和MT3D模型的输入ASCII文件。然而,并不运行模型。本选项在你准备以批处理方式运行MODFLOW或MT3D时非常有用。在此情况下,你可以将转化到各自的目录下,然后在以后建立模型,连续运行。 5/U{b5
Cancel 不作保存退出对话框。 M/[_~
Advanced>> 展开对话框,显出如下所示的每个模型的各种转化选项。 cQd?,B3#F
在Advanced对话框中有四个附加选项。 0'A"]6
Close & Save 关闭对话框,保存设置。 }JQy&V%
Run 只运行所选模型,不转化任何文件。它在你已修改了某些以前转化的文件,而又想运行那些没有被Visual MODFLOW 的新的转化覆盖的文件的模型时有用。 A+H8\ew2,
<<Standard 转回简减的转化/运行(Translate &Run)窗口。 Mby4(M+&n
Batch Run 本选项在运行一系列项目或大型模型时显得很方便。模型可在Visual MODFLOW 未打开情况下在后台运行。下面是批处理运行选的详细说明。 $E; Tj|W
4.10.1运行(批处理方式) / s Apj
在主菜单上选择Run进入运行屏幕,再选择下拉菜单中的Batch,将出现如下窗口。 j$6Q]5KdoS
要使用批处理运行功能,你的Visual MODFLOW 项目必须用Visual MODFLOW 2.7版来保存和转化。转化过程将产生所有的MODFLOW 、MODPATH、Zone Budget和MT3D所需的输入文件。另外,转化过程也生成一个项目批处理文件(modelname.BAT),它将调用所有的选定的模型(如MODFLOW 、MODPATH、Zone Budget和MT3D)并调用这些模型所需的相关文件(如modelname.BAS、modelname.BCF等等)。 $A,YQH+
如果你还没有转化Visual MODFLOW 项目文件,请返回主菜单并按下列步骤进行: '/loJz 1
+ Run hop|
xtai;
+ Run/Translate /TB{|_HbW
+ 合适的模型(如MODFLOW 、MODPATH、MT3D) `wj'
+ Translate (#85<|z
对每个你想要包括进批处理文件的模型都按上述步骤进行操作。将会出现批处理运行功能(Batch Run Utility)对话框。要开始你的批处理运行,你需要先通过Add选项或载入一个包含的要运行的模型列表的文件来编写你所要运行的模型的列表。 byt$Wqdl
要将文件名加入到你的批处理运行列表中: 3
.j/D^
从顶部菜单上选择: ct,;V/Dx
+ File )+,h}XqlX
从下拉菜单上选择: /4 Kd
+ Add %{V7|Azt
在模型选择(Model Selection)窗口中选择Visual MODFLOW 项目文件(扩展名为vmf)以便加入你要加入到批处理运行的模型。 lqrI*@>Tz
+ Open a0A=R5_
要载入批处理运行选择(Batch Run Selection)文件 >tMI%r
+ 从顶部菜单选择File K3=0D!D q
+ 从下拉菜单上选择Loading from file... =)jo}MB
+ 找到批处理运行选择文件(filename.txt) v/~&n
+ Open _~umE/tz
要保存批处理运行选择文件 6q`)%"4k
+ 从顶部菜单选择File yXEI%2~)
+ 从下拉菜单上选择Save as... {/5aF_0D.
+ 输入一个文件名以保存批处理表 (s|WmSQ
+ Save Ax=)J{4v
批处理运行功能包先去寻找Visual MODFLOW 的以VMF为扩展名的项目文件,然后,在让你运行批处理模拟前检查是否有下列文件存在: :nl,Ac
l modelname.BAS *+6iXMwe
l modelname.BCF T?Z&\g0yp
l modelname.BAT g__s(
IJ
如果以上的任一文件在VMF文件目录中不存在的话,所选的VMF文件将以高红亮色表示,同时Run按钮无效。在运行开始前所有不完整的项目都应删除,点中那些不完整的项目,按Delete按钮删除。 qvWi;
在加入项目后,你可以改变它们运行的顺序。先选中一个项目,再按Up或Down调整项目执行顺序。在表列前面的项目先运行。按Run即可开始运行这些项目。 }Cfl|t<5f
4.10.2 MODFLOW 程序包 tZg)VJQys
USGS的MODFLOW 由许多个“程序包”组成。Visual MODFLOW 可以支持大多数MODFLOW 的程序包。Visual MODFLOW 所支持的MODFLOW 程序包说明见MODFLOW 参考手册(MODFLOW Reference Manual)和MODFLOW 程序包参考手册(MODFLOW Packages References Manual)。前者包括了原有的MODFLOW 程序包,而后者则包括了一些新的程序包及原有和程序包的新版本。 y>h9:q|
在前一个对话框中选择Advanced>>按钮可展开高级选项,你可以选择让Visual MODFLOW 转化及运行哪一个程序包。 ]D,_<Kk
MODFLOW 所需的程序包最低要求有基本包(Basic Package),块中流包(BCF Package),输出控制包(Output Control Package)和一个求解器包(Solver Package)。这些包必须处于运行状态,但其转化功能可以处于不活动状态。其它的包由你自己选择。 <0~1
Visual MODFLOW 将会把所有活动程序包的名字转化到控制文件中。该文件详见MODFLOW 参考手册的MODFLOW’96补充说明。Visual MODFLOW 假定这些文件名是遵循它的文件命名原则的。即每个文件都以项目名为文件名称,而以标准的MODFLOW 扩展名结束。 %Q}(.h%M
各程序包特别的选项可通过运行菜单下的下拉式对话框进行设置。 n?D/bX p
4.10.3 MODPATH选项 X6t9*|C
MODPATH选项卡可让你开闭向前和向后质点追踪方法。在硬盘空间紧张时可以设置一下这个选项。 (5+g:mSfr
4.10.4 Zone Budget选项 t3^`:T\
区域均衡程序读入MODFLOW 输出数据并在用户定义的区域上计算水量均衡。 a!u5}[{
一般情况下,设置均衡区是为了校验。例如你可能想知道有多少水通过常水头边界流出了模型。Visual MODFLOW 给各个导水系数不同的区域和边界条件分配区域号。然而,默认条件下,这些区域并没有处于活动状态,因为你可能有别的目的。 e~'z;%O~
在对话框,你可以编辑区域的名称。 >P} XCAU
4.10.5 MT3D程序包 WL,2<[)Ew
与MODFLOW 相类似,MT3D也是模块化程序。其基本包(Basic Package)一直处于运行状态,但可以关闭转化功能。其它四个程序包都可以不运行或不转化。其说明见MT3D参考手册。MT3D的特别选项Run下MT3D对话框进行编辑。
8sI$
4.11 Win32 MODFLOW程序组 f2Xn !]o
Visual MODFLOW for Windows95/NT(2.5及以上版本)带有Win32 MODFLOW程序组。它包括了MODFLOW 、MODPATH、ZoneBudget和MT3D程序包。它们是32位WINDOWS95/NT应用程序。 <ycR/X
在Visual MODFLOW下运行Win32 MODFLOW程序组时,将出现显示所选模型状态的数值引擎控制窗口。出现检验标志意味着数值引擎运行完毕,跑马意味着目前正在运行,红圈意味着正等待运。 X6w+L?A
每个引擎都有一个显示模拟结果和进展的信息窗口。从数值引擎控制窗口选择Minimize All可使这些窗口最小化。在数值引擎控制窗口中单击特定模型也可再次打开这些窗口。 HSU?4=Q
4.11.1 MODFLOW Tw*p^rU
对MODFLOW 会出现如下窗口。 tGXH)=K
窗口的上部是项目名称及MODFLOW 正在模拟的当前应力期与时间步。其下为求解器的参数及解收敛情况的图形化显示(最大残差水头对迭代次数)。如选择了þView Output Window,也可以显示数值输出情况。 OfA+|xT&
4.11.1.1解的收敛情况的图形化显示 l(F\5Ys
解的收敛情况可以以图形方式显示最大残差水头对迭代次数变化情况。该图每迭代一次就会更新一次。 &dni6E4
由Min/Max按钮可改变该图的范围。选择¤User Defined,输入X,Y坐标即可。如果选择¤Default再按Apply,就会恢复原先的范围值。一般地,最大残差在开始时大后来小,见图。选择Show Tail后,该图就会从当前的迭代开始绘制,Y的范围也会更为适合。图形显示也可以用项目名称下的工具栏进行修改。工具条有下列选项: LLzxCMc9*
复制图形(作为位图)到剪切板上。 \4<|QE
将输出图形打印到当前选定的WINDOWS打印机上。 G^VOA4
将该图从二维转化为三维。 g6.I~oQj
沿X或Y轴旋转图件。(只在三维时有效) @ %q>Jd
放大,按下并拖拉鼠标选择放大区。 .YB/7-%M[
显示或隐去垂向网格线。 4!96k~d}
显示或隐去水平网格线。 R/E6n &R
编辑标题名称。 \x4:i\Fx@
改变文字的字体。 # SJJ@SM
工具条下的颜色条用来改变屏幕的颜色。要改变某项的颜色,在想要的颜色上按下鼠标不放并将其拖至该项上即可。 %`lJA W[
4.11.1.2修改求解器参数 DaGny0|BB
求解器和求解器收敛判别标准在MODFLOW 窗口的右侧。这些东西也可以修改。先选择Pause,然后输入新的参数或换一种求解器,再按Apply接受修改。按Resume就可重新运行MODFLOW了。 3q@JhB
如果改变了求解器的类型,MODFLOW 将会重新开始整个模拟过程。否则MODFLOW 将根据修改的参数的情况决定是否要重新开始模拟。下列参数的变化都将使MODFLOW 重新开始模拟过程。 =^{MyR7
PCG2 最大外层迭代次数 EDnZ/)6Gg
最大内层迭代次数 DC BN89#
前承条件的方法 <*u^8lCA
SIP 最大迭代次数 "j8=%J{
前承条件的方法 mZ:#d;0
SOR 最大迭代次数 fsnZHL}=n
WHS求解器 最大外层迭代次数 :Zob"*T
最大内层迭代次数 uD{ xs
因式分解等级 /S~ =qodS
如果必须要重新开始MODFLOW,将会出现一个错误信息:“非正常结束:用户中止”。选择OK重新运行MODFLOW。 {5%d#|?
4.11.2 MODPATH &?xmu204
MODPATH将会有如下的消息窗口。 gyh8
该窗口显示了MODPATH计算的结果及其进展情况。它还提供了所有质点的行走时间的汇总资料以及在模拟期间每个质点在何处转为无效或停止的资料。 bBo>Y7%
4.11.3 Zone Budget区域均衡 Nx*1m
BC
下列窗口是区域均衡计算结果的图形化显示。 2cGiE{
窗口的上部是项目名称及当前应力期与时间步。该图可以按进出含水层的累积流量或单个的流量(定水头边界和河流等)显示。右侧有三个选项卡:Output、Charts和Ztree。 0u( 0*Xl
4.11.3.1 输出(Output)选项卡 q j9q
它是区域均衡计算量包括文件输入输出的情况的汇总。 CS-jDok
4.11.3.2 图形(Charts)选项卡 vLq%k+D#
区域均衡结果可用两种图形来显示。第一种是Inflow/Outflow(流入/流出)图,它可以显示每个区的累积流入流出情况。第二种是Flow Terms(流动项)图,它可以显示当前模型中所用的下述流动项中每一个的流量(流入或流出模拟区)情况: R(P(G;#j
l 定水头 D8Mq '$-
l 排水沟 yUxz,36wZ
l 河流 bt.3#aj
l 一般水头边界 <1*\ ~CX
l 补给 uKD
}5M?{
l 蒸发 &u6n5-!v
l 井 nf&5oE^
l 水贮 k:@N6K/$P^
默认条件下,显示的是区域均衡的第一应力期和最后一个时间步的结果。通过应力期和时间步旁边的上下箭头就可以改变应力期和时间步。 r[GH#vF;7
图形显示也可以用项目名称下的工具栏进行修改。工具条有下列选项: Y"s8j=1m
复制图形(作为位图)到剪切板上。 `/!FZh<
复制数据(作为文本)到剪切板上。 yxf#@Je"
将输出图形打印到当前选定的WINDOWS打印机上。 2:nI4S
改变图形的形式 w5/6+@}
将该图从二维转化为三维。 >w.%KVBJ
沿X或Y轴旋转图件。(只在三维时有效) 9!Xp+<
放大,按下并拖拉鼠标选择放大区。 R1%J6wZq
显示或隐去图例 =43NSY
显示或隐去垂向网格线。 tc\ZYCFr
显示或隐去水平网格线。 ?q2Yk/P
编辑标题名称。 tuuwoiQ*`
改变图形选项,如序列性质、标题、比例尺和三维视点。 `GCK%evLG
4.11.3.3 Z形树(Ztree)选项卡 OTJMS_IT
该选项卡可以让你改变你在图上看到的应力期、时间步、区域以及相应的区域流量。Z形树是一个以“应力期”为分支的目录树。每个应力期都可以扩展开来,按顺序显示相关时间步、区域和流量。按“X”就会展开下一级,按“-”就缩回。 P7/Xh3
要选择让某项显示在图上,只要在其紧左边的框中按下鼠标左键即可。要取消某项,在其紧左边的框中按下鼠标左键取消选中标志即可。 [EZ=t k
4.11.4 MT3D ryA+Lli.
MT3D有如下信息窗口显示。 MOp "kA
MT3D运行时,它会显示运移步、运移步长和总用时。当前应力期和运移步在项目名称的旁边。 0,.|-OZ
窗口中有两个进度条。步数进度条显示的是目前运移步数占最大允许运移步数的百分比例。时间进度条则显示目前已模拟了多少时间。 Rxlv:
4.12工具 &2q<#b
单元检查器可在输入、运行和输出模式下调用。详见第三章:输入的说明 Bm%|WQK
4.13帮助 MpJ<. |h
在运行菜单的Help下,你可获得关于Visual MODFLOW 运行的一般帮助。 ,7k1n{C)
4.14对流项 l]&x~K}
对默认的对流项参数进行修改需要对溶质运移的对流部分的求解技术有一定的了解才行。我们鼓励用户去学习MT3D参考手册。下面是MT3D的一个简要说明,其中所用的符号都与MT3D中保持一致。 '}bmDb*
从菜单中选择Advection后,将会出现如下的“Advection Parameters”窗口。 e5 zi "~
下面介绍对流项输入窗口中出现的参数。 '#,C5*`
4.14.1对流项的类型(MIXELM) Ss\?SEq
上游有限差分法 Wyeb1
上游有限差分技术是通过将上游加权方法应用于固定欧拉网格的标准有限差分法来直接求解未扩展的对流项和源/汇项。有限差分法在解决浓度锋很陡(低弥散性)的问题时,可能会引起显著的数值弥散。但是,因为纯有限差分不涉及质点追踪计算或浓度插值,其计算效率一般较特怔值法要高。而且,由于有限差分法以质量守恒原则为基础,因而质量平衡差异就很小。 zM<L_l&
如果选择了上游有限差分方法,那么将只有“Courant Number”参数可以被修改。 fy|I3
特征值法(MOC) |Sua4~yL(
特征值法采用一种基于欧拉-拉格朗日方法的传统质点追踪技术来求解对流项。而用有限差分法来计算弥散、汇/源混合、化学反应各项。MOC技术在时间上向前追踪大量的运动质点并记录每个质点的浓度和位置。 =#<bB)59
MOC技术的优点在于它实际上避免了数值弥散问题。然而,MOC技术的主要缺陷在于它的速度会很慢,并需要大量的计算机内存。 U^U
hZ!
改进的特征值法(MMOC) elpTak@
改进的特征值法是为了改进MOC技术的计算效率而发展起来的。MOC技术要记录大量的移动质点的浓度与位置,与MOC法不同的是,MMOC技术在每个新时间层上在每个单元的中点上放置一个质点。通过向后追踪这个质点来找出它在旧时间层的位置,并用旧时间层相应的浓度用来估算新时间层的浓度。 3=} P l,
与MOC相比,MMOC技术要快一些,且对计算机内存要求更少。但是,如采用MT3D中的低阶插值方案,MMOC技术会引入一些数值弥散问题。 X6qgApyE
混合特征值法(HMOC) ({!H()
HMOC技术通过一种自动适应方案将MOC与MMOC技术的长处相结合。在陡浓度前锋时采用MOC技术而在远离这些前锋的地方采用MMOC技术。只要给MOC与MMOC方案的控制开关选择一个合适的评判标准,这个方法就可以为尖锋或非尖锋问题提供准确的解。 /<(-lbq,
与上游有限差分法不同的是,混合欧拉-拉格朗日方法(MOC、MMOC和HMOC)并不完全基于质量守恒原理。由于运动质点的离散性,它们的解不能保证进入某单元的质量等于离开该单元的质量。在其初期。这些质量平衡差异可能会相当大,但一般到了后期就会减少。可以通过调节各种参数,如运动质点的数量和初始放置方法、质点追踪方法以及步长来减少这些质量平衡差异。 r_
B.bK
下表是这四种MT3D溶质运移求解技术的比较: [cl+AV "
对流项类型 优点 缺点 适用条件 y}|E)
上游有限差分(FD) 计算效率高质量平衡差异最少 有数值弥散问题 弥散前锋Pelect数<2 aD_7^8>
特怔值法(MOC) 数值弥散少 有质量平衡差异问题 非弥散前锋Pelect数>10 zfg+gd)Z
改进的特怔值法(MMOC) 计算效率高 有数值弥散问题有质量平衡差异问题 弥散前锋Pelect数<0.1 N#$]W"U
混合特怔值法(HMOC) 计算效率高数值弥散少 要选择自适应标准有质量平衡差异问题 全部