19.1.6 解算器的选择与控制

Navigation:  水流模型校准 > 19. 模型检查与验证 > 19.1 理解和改进模型收敛 >

19.1.6 解算器的选择与控制

Previous pageReturn to chapter overviewNext page

 

解算器的选择

可以通过选择适宜的模型解算器和控制参数来提高模型收敛概率。MODFLOW中使用了几种解算器,发展更有效更强大的解算器一直是研究的重点之一。MODFLOW的新解算器示例可以参看Hussein (2001)和Detwiler and others (2002)。在选择解算器时需要注意以下几点:

       解算器运行状态针对每一个模型都有不同;

       没有任何一个解算器可以单独解决所有问题;

       解算器参数的选择对解算器的运行有很大的影响。

有两篇文献基于这些要点进行了叙述:

       USGS的Dr. Mary Hill(Hill,1990)通过对几个真实世界中解算器的运用进行评估得出:尽管她致力于发展新的共轭梯度解算器(PCG2程序包),但有些情况下,旧的SIP解算器的运行效果更佳。她指出,建模的不同阶段需要使用不同的解算器来达到更好的建模结果。

       Osiensky and Williams (1997)的研究中表明,选择错误的解算器会产生潜在的错误。在研究中,他对SIP、SSOR解算器于PCG2解算器进行了比较测试,结果表明SIP和SSOR会得到错误的结果,其模拟结果会收敛到错误的解算结果。

 

解算器效果实例

以下对一个均质非承压含水层进行稳定流模拟,通过运行不同的解算器来证明解算器选择的重要性。

方案1:SIP解算器,HCLOSE=10-3,ACCL=1.0

方案2:SIP解算器,HCLOSE=10-3,ACCL=0.1

首先的两个方案均使用SIP解算器,模拟的终止标准均为10-3 ft,其中方案1中SIP的加速参数设为1.0,其解算结果如下图所示。在水位迭代过程中发生了单元格人为干枯。为了减轻这个问题,我们设置了方案2,将加速参数减小为0.1。尽管阻止了单元格变干,但如下图所示,解算结果依旧很差。

yqi_clip0159

方案3:SIP解算器,HCLOSE=10-6,ACCL=0.1

方案3依旧是用SIP解算器,加速参数为0.1,但终止标准改为10-6 ft,此时解算结果如下图所示,匹配较好。

yqi_clip0160

从方案2和3中可以看出,SIP终止标准需要随加速参数的降低而降低。虽然没有明确的理论研究证明为什么,但大多MODFLOW的建模者都应当知道这个注意事项。详细描述请参看Barbara Ford的研究文献。方案1和3中可以看出,SIP的加速参数是如何在迭代中限制水头的变化。方案1的迭代过程如下图所示,解算过程很迅速,每次迭代间有较大的水头变化,迭代开始时有相当大的水头变化(接近0.7 ft)。这些较大的水头变化会导致模型顶层水位低于其底部高程。

yqi_clip0161

方案3的迭代过程如下图所示,解算过程逐渐逼近终点。运行开始的水头变化降低到0.15 ft,单元格人为变干的趋势减缓。但正如我们之前所述,需要更多的迭代过程来达到水头终止标准,因此在减小加速参数的同时需要减小终止标准。

yqi_clip0162

方案4:PCG2解算器,50次内部迭代

PCG2解算器有2个附加运行过程。该解算器的优点在于需要两个终止标准,一个用于水头,另一个用于单元格间水流平衡。通过设定合适的水流平衡标准,确保质量平衡后才完成解算过程。PCG2解算器还有内部和外部迭代,在内部迭代中,只有对水头的估计在变化;在外部迭代中,通过对水头和系数矩阵的位置的更新来反映非承压和可变模型层渗透厚度的变化。与之相反,SIP解算只在每次迭代中更新系数矩阵,即只进行外部迭代。这需要大量的计算工作。

内部迭代数量的选择对模型收敛影响较大。在方案4中,我们在每个外部迭代中设置了最大次数为50的内部迭代。具体的迭代过程如下图所示,迭代过程很快到达终点,使得迭代间的水头变化较大。然而,每一系列内部迭代之后的结果并不准确,与渗透厚度的改变不吻合,因此在每次进行外部迭代前还需要进行大量的调试,否定很多之前内部迭代的结果。

yqi_clip0163

方案5:PCG2解算器,5次内部迭代

方案5在每个外部迭代间设置了最大次数为5的内部迭代,具体的解算过程如下图所示。此时的迭代过程变缓,迭代间的水头变化减小。解算器在外部迭代开始前要做的调整相对减少,所得结果变平滑。同时,减少内部迭代有阻尼的作用,即单元格人为变干的趋势被抑制。PCG2后期还增加了衰减参数,该参数可以减轻单元格变干造成的收敛问题。

yqi_clip0164