我正在尝试将3个滑动体的一维系统模拟为I have explained here:
这是我实施的代码:
/var/lib/docker/volumes/..
Wolfram SystemModeler能够运行模拟直到t = 6秒,但结果不是我期望的I have explained here。当我使用OpenModelica来解决模拟时,我得到以下错误:
C:/Users/foo/AppData/Local/Temp/OpenModelica/OMEdit/friction.exe -port = 64457 -logFormat = xmltcp -override =开始时间= 0时,停止时间= 10,stepSize的= 0.02,公差= 1e-如图6所示,解算器= DASSL,OUTPUTFORMAT =垫,variableFilter =。* -r = friction_res.mat -jacobian = coloredNumerical -w -lv = LOG_STATS 警告:迭代的最大数量达到了,但没有发现的根 警告:迭代的最大数量达到了,但没有发现的根 错误求解非线性系统42在时刻0.2 错误求解非线性系统42在时刻0.2 非线性系统42失败:在t = 0.2 求解非线性系统42在时间= 0.2失败。 欲了解更多信息,请使用-lv LOG_NLS。 模拟过程失败。退出,代码-1。
如果您能帮我了解问题是什么以及如何解决,我将不胜感激?
答案 0 :(得分:2)
您正在尝试编写自己的摩擦模型。
在Modelica中,通常的方法是使用例如s参数化。继承自:Modelica.Mechanics.Translational.Interfaces.PartialFriction(或使用现有的模型)。
具体来说,Fs12和Fs23是最大的粘附摩擦力,如果它们是常数,则可以工作 - 但这里它们依赖于Ff12和Ff23 - 而它们依赖于Fs12和Fs23;这不起作用。
答案 1 :(得分:2)
对于干摩擦建模,我可以推荐https://github.com/dzimmer/ZimmersModelicaTutorial/blob/master/Tutorial2015/BaseComponents/Friction/IdealDryFriction.mo,它以简单干净的方式重用Modelica.Mechanics.Translational.Interfaces.PartialFriction。