关于瞬态中时间步长观念的纠正
fluent吧
全部回复
仅看楼主
level 12
这篇本来是我发在个人知乎上的文章,现做了一些局部文字修改后,重新发出来
很多fluent初学者,甚至一些相当有经验的使用者,在瞬态分析中,在时间步长上弄不清楚,经常遇到报错,什么浮点溢出等问题,大多数原因是时间步长太大的原因。再具体说,就是时间子步太大了,为什么时间子步会设置的很大,我分析原因 ,主要是以下两种,第一是受到视频教程的误导,因为视频教程为了演示需要,工况很简单,所以时间子步设置的很大通常在0.01以内,不可能跑了三天两夜完成后,再回来讲解的话,这样时间成本太高了,时间就是金钱,还有合理的时间子步是先调试出来的,这个过程也不可能播放给你,如同一场晚会,经过太过的彩排,彩排过程是不可能播放出来的,最关键的是,这个需要调试的过程,任何视频教程是不会说的。
瞬态分析中,时间步长就是将这个所要计算物理时间段内的时间,离散化成很多细小的时间段,每个时间子步内相当于一个稳态分析。那么稳态分析大家都知道,要收敛,同样在瞬态分析中,每个时间步长内要收敛,软件默认迭代20次,所以,要求在这20次内要收敛。收敛的标准,按软件的默认标准1e-3,通常工况的复杂性,20步内很难收敛,为了实现这个目标,只能将时间步长再减小,具体有多小没人能知道,只能不断的试,调试出来为止,所以正式求解之前,要进行若干步(比如十步)试算,如果发散了或者没收敛,重新初始化再把时间子步改小,重新运算,反复这个过程,直到20步内收敛为止。这个时间步长内收敛的话,会自动跳到下个时间子步进行运算。假设每个时间子步没有收敛,也能正常运算,那么精度误差积累会越来越大甚至到最后就报错了,如果增加每个时间子步的迭代步数,不减小时间步长,那是不科学的。只能在调试过程中,可以这样操作,正式运算时,建议最大不能超过30步,总之要通过减小时间步长来达到收敛,而不是增加时间子步内的迭代步数来实现这个目的。
时间子步与网格有很大的关系,网格越小,时间子步就要越小,还与边界条件有关系,边界条件越剧烈,时间子步就要越小,否则就发散报错,现实中工况是复杂的,特别是动网格之内,运算过程中,时间子步是变化的,可能前面一段时间,稍大的时间子步就可以收敛,后面流场剧烈的时候,时间子步要改小,否则立即发散,还有无论你把时间子步设置的有多小都无法收敛,这时候就要重新调试了,尝试从其他方面解决了。
总之,瞬态的计算量非常大,因为时间子步小的原因,所以尽可能把瞬态转为稳态进行分析,尽可能简化方案模型,开始用较粗糙的网格等多种手段减小计算量,而不是通过增大时间步长来减小计算量,如果这个方案是可行的话,那服务器还有采购的必要吗,直接把时间步长改大,一台办公笔记本就能仿真出计算整个宇宙。
下一篇再去介绍,瞬态计算过程中,经常遇到残差曲线突然上升甚至发散的原因
2024年11月25日 02点11分 1
level 4
学到了
2024年11月25日 02点11分 2
level 12
确实
2024年11月25日 05点11分 3
level 1
为什么不能超过30,为什么增大子步数不科学?
2024年11月25日 09点11分 4
有空时做个回复
2024年11月25日 23点11分
level 10
之前动网格做瞬态分析,就是死活不收敛
2024年11月26日 10点11分 5
level 12
只要设置正确那就是时间步长太大的原因了
2024年11月26日 13点11分 6
level 12
每次瞬态发散,或者动网格负体积问题等,我好心提示先尝试一下时间子步改的足够小试试,都不愿意接受,直接说不能改小,否则计算时间太长了,或者说改小过了还不行
2024年12月08日 23点12分 7
level 1
谢谢UP!!
2024年12月16日 01点12分 8
level 1
想要请教一下,我现在改小时间步长到1e-9,没有报错负体积了,但是总时间太短了,根本看不出变化来了,计算时间也太长了,请问有什么其他的方法吗
2024年12月16日 15点12分 9
如果实际工况条件决定了,那就没办法了,做动网格之前先要运动预览,如果没问题再动网格运动测试,最后再跑运算,都没问题的话,那就是计算物理时间不够长的原因了
2024年12月16日 23点12分
level 4
请教一下大佬,为什么我跑垂直轴风力机的时候,在瞬态中,我要检测风轮的力矩然后求功率,为什么刚开始是正的(很大),然后一直有正有负,最好跑了一个负的,是不是我跑错了还是怎么回事?
而且我之前有个人给我说取一圈的力矩值,然后求平均值,这种是对不对?求大佬解答
2024年12月17日 02点12分 10
level 12
纯仿真软件方面看,每个时间步长内有没有收敛?
2024年12月17日 04点12分 11
level 1
‘时间子步与网格有很大的关系,网格越小,时间子步就要越小’,我也发现了,但是这样就没法进行网格无关性验证了啊,我一增加网格数,就需要减小步长,这样没法控制变量
2025年05月12日 07点05分 12
网格尺寸越小,时间步长就小,这不矛盾啊
2025年07月26日 10点07分
level 1
楼主,我在做一个风扇噪音仿真,用fluent mesh做的网格,spaceclaim共节点,在fluent中拆分出来做正常交界面设计,稳态计算正常,但是切换到瞬态,如果采用ddes模型,有时报左手面警告,然后计算发散,改小时间子步,也是在计算一定步数后发散,改sas或les模型也是一样的问题,能看出来大概原因嘛?现在只能用稳态结果,使用FWH gutin noise模型,看能不能先弄出一组叶片表面声源的噪音。
2025年07月26日 03点07分 13
参考我的另外一个贴子,关于交界面的
2025年07月26日 10点07分
level 1
想请教一下,我把时间步长调小(从0.2s调整到0.005s)之后,监测的截面的质量流量突然减小,从2.8kg/s变到2.05kg/s并且持续变小,该怎么办呀,并且调之前的截面流量更符合质量守恒
2025年09月23日 05点09分 14
1