确保建模正确和物理参数合理是复杂模型分析的难点。模型中产生错误的可能原因多种多样,为了保证模型正确和合理,模型测试是必不可少的重要环节。好的测试方法可以节省大量时间,建议读者按照下列步骤进行测试:
1)根据已有经验、实验数据和类比等方法了解模型的本质,解决下列问题:模型是二维、轴对称还是三维流动模型;模型是不可压缩、微可压缩、低速可压缩还是高速可压缩流动状态;是否需要考虑流体的多孔介质属性;模拟该问题最好的方法是哪一种;数值稳定性、存储容量和CPU效率如何;哪些因素会引起建模或分析困难;模型的哪些部分可以进行简化处理等。
2)如果可能,最好的做法是首先建立简化模型进行测试。例如,可以在建立三维模型之前首先建立简化的二维模型,然后再按照后续步骤进行测试。
3)使用较稀疏网格以及可以迅速得到结果的材料和载荷,对模型进行快速测试计算(例如,高黏度、小流速、小拖拽力等),以检查输入数据的合理性,其中,材料和边界条件的类型都应该与实际模型一致。无论是物理意义上还是数值模拟上,测试模型的目的是容易理解或易于求解,因此,测试工作也要易于完成。如果输入参数有误,则这些错误也很容易在测试模型中识别出来。测试过程中,读者不要希望测试结果精确度很高,只要验证计算结果的物理意义和趋势合理即可。如果测试模型在计算时出现了问题,此时可以施加一个与结果非常接近的初始条件,并且可以仅进行一次迭代计算(设置一个比较大的收敛容差),以检查模型结果的响应。通过查看结果的*.out和*.log文件来查找模型的问题所在。
①如果某个边界附近的结果不合理,则可能该边界条件施加错误。
②流体流入的方向通过速度矢量来显示,如果前处理AUI中存在错误,则可以通过查看速度矢量来识别单元的连接问题。(www.xing528.com)
③当流动方向与预期结果相反时,则可能是边界条件的方向定义错误。例如,拖拽力边界(与几何模型的方向有关)、反向的速度边界或没有定义需要施加的壁面边界等。
④检查模型计算时出现的错误或警告信息。如果出现了很多错误或警告信息,则应该首先查看第一个错误或警告信息。如果错误信息提示第一个时间步的第一次迭代三角阵的值非常大(大约1020),则表明模型可能是病态的或不稳定的。例如,没有指定需要固定压力的点、材料的黏度和热导率为零、可压缩流体中压力或者温度为零等,这些都可能导致模型出现不稳定。
⑤如果速度或温度的自由度出现奇异,则表明材料参数可能输入有误。例如,输入了零黏度或零热导率。
对于某些关键参数应该逐个进行修改测试,以查看参数对结果合理性的影响。采用真实材料和真实荷载进行更进一步的测试。如果收敛困难,则应该查找出导致该结果的关键因素。这些因素通常可能是:非常大的流速、非常小的黏度、非常大的热膨胀系数、非常大的热通量载荷或温度载荷非常高的雷诺数、佩克莱特数或瑞利数等。除了第3步中材料和边界条件的值,其他都不要更改,这样就不会再引入其他不收敛的因素。由于在第3步中对模型进行了测试和修正,如果此时出现收敛问题,则肯定不是由于输入错误造成的。因为采用的是稀疏网格,计算时间应该不会很长,所以可以对模型进行彻底测试以发现潜在的问题。该阶段完成后,测试模型在数值上应该是稳定的,分析结果的物理意义也是合理的。由于模型在下一步计算时将更加困难,因此,此处更关注模型计算的稳定性。为了确保最终阶段的模型是稳定的,可在测试中多引入一些可能引起收敛困难的因素。通过该测试,可以确定时间步长、载荷增量、CFL值、特征数等。
测试的最后一个阶段应该对网格进行细化,以得到更真实的结果。细化网格同样可以处理很多复杂的模型,例如,流体循环系统、流体冲击等。通常情况下,网格越细密,模型将更加稳定,收敛性也将得到增强。但在某些情况下,求解方程数量的增加将加大截断误差,从而导致模型的收敛性出现困难;对于迭代求解器,还将增大最大迭代次数(求解方程数量大于25万时)。此时,则应该考虑采用减小载荷增量、减小时间步长、减小CFL值等方法来处理。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。