用户可用下列方式选择预条件共轭残差求解器:
GUI:Main Menu︱Solution︱FLOTRAN Set Up︱CFD Solver Controls︱DOF,弹出求解器选择面板,选择PGMA,单击OK按钮,则激活预条件广义极小残差求解器,并弹出图4-4所示共轭梯度求解器控制参数面板。该求解器面板包括六个控制参数,其中四个参数与共轭残差求解器中的一样。此外还有FILL和MODP参数。FILL参数表示L和U分解矩阵时每一行允许额外单元的数量。一个额外单元被定义为除了原始矩阵的行中非零单元的数量。FILL的取值范围从0~10,默认值为6;MODP参数代表使用TDMA执行总体迭代的次数,如果达到了设置的迭代次数计算问题还没有收敛,则采用PGMR算法继续计算。但是第一次总体迭代总是使用PGMR方法,默认值为0,即总采用PGMR算法。通常使用MODP参数即可以满足温度方程对求解精度的要求,也可以节约计算时间。
PGMR求解器控制参数设置面板,对于求解不同自由度方程略有不同。求解动量方程和压力方程时,没有MODP求解控制参数;求解湍流动能和湍流动能耗散率方程时没有MODP和DELT参数。
图4-4 预条件广义极小残差求解器控制参数设置面板
当构造L和U分解矩阵时,PGMR方法使用完全填充。PGMR方法使用LU预条件将系统方程转换成一系列较易求解的方程。对于预条件共轭残差法方程。系数矩阵被分解成近似的LU矩阵。在预条件共轭残差方法中,初始矩阵的稀疏模式被保留在L和U矩阵中。
因此,当用户使用PGMR方法求解压力或温度方程时必须指定填充数量FILL,此外用户必须指定搜索矢量SRCH。
对于不同的问题SRCH的取值范围较大。如果用户设置了较大的SRCH值,则会导致计算过程的存储要求超过计算机所能提供的存储空间,造成终止计算。如果遇到这种情况,则建议用户使用惯性松弛。建议用户不使用该求解器来求解速度。
对于非FLOTRAN分析被相关联的求解输出记录在Jobname.out文件中。FLOTRAN的迭代求解器的输出被记录在jobname.dbg文件中。事实上,Jobname.dbg记录了PGMR求解器的使用情况。如果达到了收敛,达到了最大迭代次数但没有收敛或求解终止,都会显示出该文件。(www.daowen.com)
对于下列问题PGMR方法会失效:
●求解的代数方程组为病态问题。
●问题的代数方程组不合适。
●指定的收敛容差因子太小。
●指定的迭代次数过少。
如果PGMR算法停止计算,原因可能是求解问题为病态或形成的代数方程组不合适。如果求解问题是病态的,则建议用户调节控制参数来改进求解问题。用户可以输入较大的FILL或SRCH值。用户也可以使用惯性松弛。如果是形成的代数方程组不合适,原因可能是输入的流体属性参数错误或施加的边界条件不恰当。用户需要重新检查输入参数和施加的边界条件以确保其准确性。FLOTRAN不允许用户设置的收敛容差因子比程序的默认值大,如果用户输入了一个比默认收敛容差因子大的值,则程序会弹出一个i警告,并且在计算时会自动采用默认值。如果达到了最大迭代次数,但问题还没有收敛则建议用户增加迭代次数。
如果用户对于PGMR求解器计算得出的结果有疑问,可以将收敛容差因子设置一个更小的值再重新计算一遍然后进行对比。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。