2.3.2 时间步长控制
Radioss中每一步(cycle)使用的时间步长都是程序内部计算的。为了保持数值计算的稳定性和防止发散,Radioss会将计算出的理论临界时间步长乘以时间步长比例因子ΔTsca。计算出的理论临界时间步长可以在Radioss的starter输出文件中打印出来:
如果在engine中使用默认的时间步长控制,比如使用以下设置:
那么在engine计算中的最小时间步长为
那么在engine计算中的第一个循环中就可得到以下结果:
除了选用上面的自由时间步长(即Δtmin设置为0),还可以通过一些方法来调整和控制时间步长。
一些复杂的结构网格中存在为数不多的尺寸非常小的单元,那么时间步长就会被这些单元所控制,计算效率大大降低,这时推荐使用时间步长控制的方法来解决,比如使用CST(传统的质量缩放技术)来控制,它的形式如下:
使用这种方法时,如果最小时间步长小于定义的最小时间步长,即ΔTsca×min(Δtmesh)≤ΔTmin,那么时间步长控制就开始起作用。
举例如下。
在starter中的最小时间步长显示如下:
而在engine中定义的时间步长如下:
那么engine中初始的时间步长为
当初始的时间步长小于ΔTmin(7.0E-7)时,Radioss就会通过增加微小的质量来提高临界时间步长 (即Δtc↗=)。
增加的质量使得ΔTsca×min(Δtmesh)≤ΔTmin,也就是节点的临界时间步长为
此时engine中打印的时间步长依然是7E-07,但是在MAS.ERR中会显示质量的增量。
注意,当时间步长比例因子ΔTsca设置为0.67而不是0.9时,就需要增加更多的质量才能满足最小的稳定计算时间步长是7E-07,此时的节点稳定计算时间步长为
另外,时间步长控制中的比例因子ΔTsca取值在0~1之间。这个参数在Radioss中默认是0.9。某些分析中甚至推荐用户设置更小的值(比如0.66)。那么什么情况下需要这样的设置呢?这其实也是和材料属性有关的。
图2-9中的Ⅰ图所示应力应变曲线为常见的钢的材料曲线图, 在材料进入塑性阶段后, 有效弹性模量比最初的弹性阶段的有效弹性模量小,而且这个硬化阶段的有效弹性模量随着应变的增加是逐渐变小的, 因此临界时间步长是随着变形的增加而变大的, 此时一般不需要用比例因子减小时间步长来满足计算过程中每个时刻的稳定计算, 使用默认的0. 9就完全可以满足要求; 图Ⅱ中显示的有效弹性模量是逐渐增大的; 图Ⅲ中有效弹性模量在某一区域后急剧增大 (比如泡沫橡胶等材料), 此时临界时间步长随着构件变形的增大而变小, 因此需要通过比例因子来进一步调小Radioss计算中使用的时间步长, 以保证在整个过程中的计算稳定性。
图2-9 不同材料变形过程对时间步长的影响
那么究竟如何设置一个合适的时间步长比例因子呢?首先需要保证不能让增加的虚拟质量太大,一般控制在1%以内对整个模型计算精度的影响可以忽略,这样既保证了计算精度又提高了计算效率;其次不能无限制地让Radioss增加质量,也就是不能在CST中设定太大的最小时间步长而导致增加太多的虚拟质量,从而增加太多的动能,毕竟在非线性动态数值分析中需要保证质量守恒、能量守恒和动量守恒,否则数值计算的结果正确性会受影响;此外,当计算出现“负体积”报错时也有可能是因为设置的强制时间步长太大。更多关于时间步长的信息请参见Radioss理论手册(Radioss Theory Manual)。通常对时间步长比例因子除了默认为0.9外,还有如下建议。
1)使用AMS技术时在 /DT/AMS 中建议设置为ΔTsca=0.67。
2)对于泡沫材料,则ΔTsca=0.66。
3)模型如果只有一个单元,则ΔTsca=0.1。
4)模型如果只有两个单元,则ΔTsca=0.2。
5)模型如果多于三个单元,则ΔTsca=0.9。
6)时间步长比例因子一定不能大于1.0。
Radioss中控制时间步长的卡片除了CST,还有STOP、DEL等,即一旦当前的时间步长小于用户给定的最小时间步长计算就终止(STOP),或单元就删除(DEL)。另外,局部增加的质量可以通过在engine中使用/ANIM/MASS卡片在HyperView中以云图形式展现。