在Adams中,与仅涉及代数方程求解的运动学和静态仿真不同,动力学仿真更为复杂,因为它们涉及微分方程和代数方程(DAE )的求解。Adams Solver 中有两种基本类型的算法可用于执行动态分析所需的数值积分:
1、使用隐式后向差分公式(BDF )求解DAE的刚性求解方法。
2、使用显式公式求解常微分方程(ODE )的非刚性解方法,这些常微分方程是通过坐标划分方法从DAE中获得的。
——
Adams在这两种情况下,都将隐式方法应用于公式以找到解决方案。
Adams Solver中目前有四个刚性积分器和一个非刚性积分器。四个刚性积分器是:
◾Gear (GSTIFF)
◾Modified Gear (WSTIFF)
◾Constant BDF (Adams Solver (FORTRAN) only)
◾RKF45 (Adams Solver (FORTRAN) only)
非刚性积分器是Adams-Bashforth-Adams-Moulton(ABAM )(Adams Solver (FORTRAN) only)。
还有两个新的积分器,HHT (Hilber Hughes-Taylor)和Newmark ,它们只适用于Adams Solver(C++)。
HASTIFF、HHT和Newmark仅适用于Adams Solver(C++))。
注意:如果您的模型使用了未使用或不再支持的积分器,则会出现未知。例如,如果导入的数据集(.adm)文件包含已停止的语句“INTEGRATOR/HASTIFF”,Adams View将显示Unknown。如果尝试选择“未知”,Adams View默认为GSTIFF。
◾使用反向微分公式。
◾使用固定系数进行预测和校正。
◾是默认方法。
◾使用反向微分公式。
◾使用可变系数进行预测和校正。
◾使用反向微分公式。
◾使用固定系数进行预测和校正。
◾允许的最大步长控制积分器的精度。
◾不计算每一步的局部积分误差。
◾使用坐标划分将全套微分和代数方程(DAE)简化为一组较小的常微分方程(ODE)。
◾使用Adams Bashforth进行预测;使用Adams Moulton进行更正。
◾单步方法。
◾主要用于在导数评估不昂贵的情况下求解非刚性和轻度刚性微分方程。
◾不太准确。
◾仅Adams Solver(C++)
◾预计会导致较少的雅可比评价。
◾与BDF类型的公式不同,它的行为类似于低通滤波器;它可以在准确地保留低频振荡的同时,减少高频杂散振荡。
◾可以通过调整选项Alpha来控制截止频率;值越小,截止阈值越低。
◾在积分步长较小的情况下稳定。
◾仅Adams Solver(C++)
◾类似HHT的行为。
◾低阶。
◾具有两个控制参数。
如果选择了积分方法GSTIFF、WSTIFF、HASTIFF或Constant BDF,需要为积分器选择一个公式,Adams中一共有三个公式可供选择
I3
◾确保解决方案满足所有约束。
◾不能确保计算的速度和加速度满足所有一阶和二阶时间导数。
◾只监测系统位移中的积分误差,而不监测速度。
◾速度很快。
◾雅可比矩阵在小步长下可能会变得病态。
SI2
◾在求解运动方程时考虑约束导数。该过程使GSTIFF积分器能够监测速度变量的积分误差,因此,可以进行高度准确的模拟。
◾雅可比矩阵在小步长下保持稳定,这反过来又增加了校正器在小步长上的稳定性和鲁棒性。
SI1
◾在求解运动方程时考虑约束导数。
◾监测系统中拉格朗日乘子脉冲的积分误差。这些额外的保护措施使积分器能够监测速度变量中的积分器误差和拉格朗日乘子的脉冲。
◾非常准确。
◾雅可比矩阵在小步长下保持稳定,这反过来又增加了校正器在小步长上的稳定性和鲁棒性。
可以更改几个动态仿真参数以帮助克服收敛失败:
◾设置精度:应该始终从较少或增加收敛公差开始,在校正器阶段,零件位移和力的所有变化都必须满足收敛公差。
◾更改迭代次数:可以在每个校正器阶段增加Adams Solver尝试的迭代次数。
◾重新计算雅可比矩阵:可以增加Adams Solver在校正器阶段重新计算雅可比矩阵(偏微分矩阵)的频率。为了获得更高的效率,Adams Solver使用了一种改进的Newton-Raphson方法,该方法不会在每次迭代时更新Jacobian。
◾控制最大步长
请注意,当更改收敛容差的默认参数、最大迭代次数和更新Jacobian的模式时,可能并不总是有助于解决问题。例如,如果放松收敛容差,随着时间的推移,可能会在解决问题中积累太多错误,并且整体解决问题的准确性可能会受到影响。
如果增加Adams Solver在每个错误校正尝试的迭代次数,则可能会降低解决方案的效率。通常,当Adams解算器无法使用默认迭代次数使校正器收敛时,最好让解决方案在时间上后退一步,并使用较小的时间步长向前预测,而不是尝试更多的校正迭代次数。