ADAMS中积分器的选择

在ADAMS中进行动力学分析时,积分器的选择对分析结果和精度都会有一定的影响,参考了simwe论坛整理了一些关于Adams积分器选择的方法。

lefang

动图封面

1、在ADAMS中用的最多的积分器是GSTIFF。它运用至少两种求解方程,一个是I3方程 ,另一个是SI2方程(将ADAMS/Solver选为Fortran时还有一个I1)。I3 GSTIFF方程已经有了二十年历史。它已经发展的颇为完善了。但是,也有一些模型用WSTIFF积分器可以求解而不能用GSTFF积分器求解。所以,在用GSTIFF积分器不能求解模型时,可以试试用WSTIFF积分器,或者用C++求解器中HHT积分器等新型积分器求解。

动图封面

2、拿GSTIFF SI2积分器和GSTIFF I3积分器来对比,当提及中断操作时,我们注意到I3积分器会容易求解一些。与I3积分器相比,SI2积分器能够给你更好的结果,但是它会用到更多的CPU时间,除非放松它的错误设置。所以一般来说SI2积分器的错误设置点最好是I3的10倍。

动图封面

3、如果你知道在仿真最初会有一个较高的瞬态响应,HINIT设置会非常方便。如果没有高的瞬态响应,积分器将会很快的增加求解时间步数。然而,在有高瞬态响应时,一个较小的HINIT值(如1e-7)会帮助积分器避免仿真失败。

动图封面

4、如果你希望让积分器以固定时间步运行,你可以适当设置HMAX为较小值而将ERROR值设置得较大。如果不希望积分器跳过一些较短的时间历程(如两个薄板直接的接触),也可以适当这样设置。

动图封面

5、ERROR可以帮助确定你需要的结果的精确度。需要要注意的是,ERROR在不同的积分器中的意义也是不同的。要选取适当的ERROR值以获得最优的精确度和求解效率只能通过运用一种积分器运行一段时间你的模型才能实现。太宽松的ERROR值会导致结果的不精确甚至是模型的仿真失败。太紧凑的ERROR值又会导致模型仿真CPU时间过长或者仿真失败(如果积分器自动减小时间步以达到精确要求)。

动图封面

6、将INTERPOLATE属性设置为ON可以阻止一些曲线尖峰以改善仿真结果。典型的,在用GSTIFF积分器中将INTERPOPLATE设置为ON可以减缓仿真速度。在用C++求解器中的HHT积分器时,INTERPOLATE属性的减缓效果会非常小。

动图封面

7、除非必要,最好不要去改变MAXIT的属性值。比较有效的是,设置MAXIT=7,PATTERN=F:F。这样设置后,仅在校正程序迭代7次失败时,求解器才会去重新计算雅克比矩阵。这将会加速接近线性模型的仿真,也不会经常改变其设置。

动图封面

8、在用Newton-raphson迭代方法时,如果设置PATTERN=T,求解器会在每个迭代步计算雅克比矩阵,但是收敛速度仅是平常的二次方。另一方面,设置PATTERN=F:F,那么仅在收敛失败时重新计算雅克比矩阵。还需要注意的是,FORTRAN和C++求解器在这方面有一个不同的地方。用C++求解器时,设置PATTERN=F表示用积分器来控制计算雅克比矩阵的频率。要记住,用的次数太多会费时,但太少又会导致收敛失败。当设置PATTERN=F:F,C++求解器会试着去自动寻找适合的计算雅克比矩阵的频率。总的来说,在C++求解器中设置PATTERN=F:F能包含FORTRAN求解器中设置PATTERN=F的功能。

9、如非必须,也不要经常改变KMAX的值。在模型中有较大的机械刚度时如柔性体,设置KMAX=2可能会节省仿真时间。

10、在模型用Newton-Raphson程序且难收敛时,CORRECTOR属性会比较有用。选择MODIFIED corrector,积分器可更好的令求解收敛。这种效果在有接触和不连续的模型中更为明显。用这种方法需要很细心,因为它也可能会导致计算结果与真实值不一致。

原文链接:ADAMS中积分器的选择 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值