Adams积分器选择我用Adams进行仿真,积分器设为BDF,但是出现错误提示The Adams/Solver C++ can not be used to run this model.这是怎么一回事?仿真类型是dynamic,使用的是Adams/view

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 07:08:27
Adams积分器选择我用Adams进行仿真,积分器设为BDF,但是出现错误提示The Adams/Solver C++ can not be used to run this model.这是怎么一回事?仿真类型是dynamic,使用的是Adams/view

Adams积分器选择我用Adams进行仿真,积分器设为BDF,但是出现错误提示The Adams/Solver C++ can not be used to run this model.这是怎么一回事?仿真类型是dynamic,使用的是Adams/view
Adams积分器选择
我用Adams进行仿真,积分器设为BDF,但是出现错误提示The Adams/Solver C++ can not be used to run this model.这是怎么一回事?
仿真类型是dynamic,使用的是Adams/view

Adams积分器选择我用Adams进行仿真,积分器设为BDF,但是出现错误提示The Adams/Solver C++ can not be used to run this model.这是怎么一回事?仿真类型是dynamic,使用的是Adams/view
这是我从simwe论坛下载的 别人的帖子里的一段话 希望可以 帮到你 a)迄今为止ADAMS中用的最多的积分器是GSTIFF.它运用至少两种求解方程,一个是I3方程,另一个是SI2方程(将ADAMS/Solver选为Fortran时还有一个I1).I3 GSTIFF方程已经有了二十年历史.它已经发展的颇为完善了.但是,也有一些模型用WSTIFF积分器可以求解而不能用GSTFF积分器求解.所以,在用GSTIFF积分器不能求解模型时,可以试试用WSTIFF积分器,或者用C++求解器中HHT积分器等新型积分器求解.
b)拿GSTIFF SI2积分器和GSTIFF I3积分器来对比,当提及中断操作时,我们注意到I3积分器会容易求解一些.与I3积分器相比,SI2积分器能够给你更好的结果,但是它会用到更多的CPU时间,除非放松它的错误设置.所以一般来说SI2积分器的错误设置点最好是I3的10倍.
c)如果你知道在仿真最初会有一个较高的瞬态响应,HINIT设置会非常方便.不要担心将它的值设置得很小;如果没有高的瞬态响应,积分器将会很快的增加求解时间步数.然而,在有高瞬态响应时,一个较小的HINIT值(如1e-7)会帮助积分器避免仿真失败.
d)如果你希望让积分器以固定时间步运行,你可以适当设置HMAX为较小值而将ERROR值设置得较大.如果不希望积分器跳过一些较短的时间历程(如两个薄板直接的接触),也可以适当这样设置.
e)ERROR可以帮助确定你需要的结果的精确度.需要要注意的是,ERROR在不同的积分器中的意义也是不同的.要选取适当的ERROR值以获得最优的精确度和求解效率只能通过运用一种积分器运行一段时间你的模型才能实现.太宽松的ERROR值会导致结果的不精确甚至是模型的仿真失败.太紧凑的ERROR值又会导致模型仿真CPU时间过长或者仿真失败(如果积分器自动减小时间步以达到精确要求).
f)将INTERPOLATE属性设置为ON可以阻止一些曲线尖峰以改善仿真结果.典型的,在用GSTIFF积分器中将INTERPOPLATE设置为ON可以减缓仿真速度.在用C++求解器中的HHT积分器时,INTERPOLATE属性的减缓效果会非常小.
g除非必要,最好不要去改变MAXIT的属性值.比较有效的是,设置MAXIT=7,PATTERN=F:F.这样设置后,仅在校正程序迭代7次失败时,求解器才会去重新计算雅克比矩阵.这将会加速接近线性模型的仿真,也不会经常改变其设置.
h在用Newton-raphson迭代方法时,如果设置PATTERN=T,求解器会在每个迭代步计算雅克比矩阵(这会非常费时!),但是收敛速度仅是平常的二次方.另一方面,设置PATTERN=F:F,那么仅在收敛失败时重新计算雅克比矩阵.还需要注意的是,FORTRAN和C++求解器在这方面有一个不同的地方.用C++求解器时,设置PATTERN=F表示用积分器来控制计算雅克比矩阵的频率.要记住,用的次数太多会费时,但太少又会导致收敛失败.当设置PATTERN=F:F,C++求解器会试着去自动寻找适合的计算雅克比矩阵的频率.总的来说,在C++求解器中设置PATTERN=F:F能包含FORTRAN求解器中设置PATTERN=F的功能.
i如非必须,也不要经常改变KMAX的值.在模型中有较大的机械刚度时如柔性体,设置KMAX=2可能会节省仿真时间.
j在模型用Newton-Raphson程序且难收敛时,CORRECTOR属性会比较有用.选择MODIFIED corrector,积分器可更好的令求解收敛.这种效果在有接触和不连续的模型中更为明显.用这种方法需要很细心,因为它也可能会导致计算结果与真实值不一致.