【问题标题】:How to model mechanical stops to hydraulic cylinders in Modelica?如何在 Modelica 中对液压缸的机械停止建模?
【发布时间】:2015-10-20 09:15:57
【问题描述】:

我想知道如何最有效地对机械停止进行建模。

我在 OpenModelica 中使用受控液压缸进行液压模拟。对于液压缸,我使用 Modelica 标准库中的 sweptVolume 模型。
这个模型让我感到困扰的是,如果活塞到达气缸底部,则没有机械停止。

我尝试了几个想法,但都没有好结果。我试图通过 if 表达式将活塞的位移重置为零,如果它触及底部。但这并不是一个好的选择,因为体积是使用活塞的位移计算的。

然后我尝试引入一个力,该力等于施加在活塞上的力,如果活塞撞到挡块。此选项也不起作用,因为在这种情况下无法计算气缸内的压力。

第三次尝试是使用MassWithStopAndFriction 的MSL 模型链接到sweptVolume 模型的平移法兰,但这个模型对我来说似乎坏了。

现在我指望你们这个有能力的社区为我带来更多的想法来测试。

【问题讨论】:

  • 看起来这个问题更适合堆栈交换的机械/动力学风格
  • 您是否尝试过使用“when”语句对位移进行重置而不是“if”表达式?重置我的意思是重置(位移,0)。
  • @Orion:我认为大多数 Modelica 问题都属于这种堆栈交换的风格
  • @Adrian Pop:感谢您的建议。我尝试了“when”语句并使用 reinit 将活塞的位移设置为零。 when 子句实际上启动,但不会停止活塞的运动。我猜活塞位移设置为零,但施加在它上面的力不是,所以活塞继续运动。
  • 也许然后重新启动部队?

标签: simulation modelica openmodelica fluid-dynamics


【解决方案1】:

根据您的应用,您可以部署液压库吗?该库旨在对(可压缩)流体动力系统进行建模,并包含带有末端挡块的气缸。它的范围与您使用的 Fluid 包不同。 对这项任务使用 when 和/或 if 语句,我强烈反对经验。你可能会让一个圆柱体工作,但在更大的系统中使用它肯定会让你陷入数值问题。查看 Mechanics 包并分析 ElastoGap 是否对您有用。

【讨论】:

    猜你喜欢
    • 2020-06-06
    • 2012-06-12
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    相关资源
    最近更新 更多