前言
在工程计算中,计算刚开始时,可能会遇到以下问题,
(1)刚开始计算时会出现异常点。例如温度场,在计算刚开始时会出现异常的温度点,但是这些异常温度点的数值又不会扩散.
(2)例如流场计算,刚开始计算就会发散,导致无法计算下去。
本文提供一种可能解决此类问题的方法——自定义时间步长内部迭代。使用此方法的前提是,网格质量没有问题。具体操作流程如下。
一 创建场函数
首先创建一个场函数,该场函数是用来定义时间步长内部迭代的变化。时间步长内部迭代可以根据时间、时间步变化。具体操作步骤:(2402版)自动化→场函数(右键)→新建→标量。
(1)根据时间步创建迭代步变化
当时间步小于5,则内部迭代执行100步;时间步<10,内部迭代执行50步;时间步>=10,内部迭代执行10步。
程序:${TimeStep}<5?100:(${TimeStep}<10?50:10)
(2)根据时间创建迭代步变化
当计算时间小于5s,则内部迭代执行100步;计算时间<10s,内部迭代执行50步;计算时间>=10s,内部迭代执行10步。
程序:${TimeStep}<5?100:(${TimeStep}<10?50:10)
二 场函数应用
场函数创建完成后,停止标准→Maximum Inner iterations→属性→最大内部迭代,选择新创建的场函数。可根据自己创建的根据与时间/时间步变化的迭代步数场函数选择。
三 小结
以上为自定义时间步长内部迭代的创建与应用,需要注意的是根据实际的计算工况与计算结果进行设计迭代时间步长内部迭代。步长内部过大则会影响计算时间,步长内部迭代过小也就违背了采用变迭代步场函控制的初衷。
那么合理的内部迭代步长应该是计算残差不再发生变化,具体的迭代步数可根据实际的计算的残差收敛结果结果进行调整应用。
同理更改时间步长也是一样的操作。