首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Modelica诉Simscape

Modelica诉Simscape
EN

Stack Overflow用户
提问于 2017-09-11 11:47:40
回答 3查看 11.3K关注 0票数 10

这个问题实际上有两个主要方面。刚开始的时候,我不得不承认,我对物理建模完全陌生,我也很乐意得到纠正,而不仅仅是得到答案。对于那些觉得太长而无法阅读的人,我可以给出的简短摘要

代码语言:javascript
运行
复制
1) Simulink vs Modelica

2) Simscape vs Modelica

1)第一种是建模方法的比较。按照惯例,我要比较的两种主要方法有不同的名称:

#信号流方法/基于块的建模/因果建模.:Simulink中的典型模型。在两者之间有输入和输出以及传递函数的盒子。

vs

#网络方法/基于组件的建模/分句(非因果)建模.有物理端口代替信号I/O,流动实体(电流、热量等)可以双向流动。

在这个比较中,我在网上阅读了一些观点,并搜索了一些论文。据我所知,这可以归结为基于Modelica的开发环境和Simulink (例如)的比较。我更清楚这两者的缺点和优点,而不是我想问的另一点。

2)在阅读了大量关于第一次比较的文章之后,我更倾向于使用基于组件的建模。然而,Modelica并不是这里唯一的选择。还有西姆布莱,您可以使用它(如Modelica中的组合物理端口 )对Simulink进行基于块的建模。

我想知道Simscape Modelica比较的优缺点。为了避免误解,我需要强调Modelica是一种语言。因此,将任何Modelica环境与Simscape进行比较将更有意义,比方说,OpenModelica Simscape

EN

回答 3

Stack Overflow用户

发布于 2017-09-12 13:35:48

好吧,既然似乎没有人回答这个问题,我就试一试。

看来你似乎已经把第一个问题弄明白了。基本的答案是,因果建模涉及大量的前期工作,否则编译器就可以完成这些工作。更糟糕的是,如果您想要支持不同的因果关系,则需要重新实现组件和/或具有支持不同因果关系的多个版本。建模复杂的物理混合连续和离散行为是足够棘手的,而不必做所有这些繁琐,耗时和容易出错的工作,理清因果关系。

这就引出了你关于SimScape和Modelica的第二个问题。SimScape似乎是对我在上一段中提到的问题的认可。老实说,第三方很难向您提供SimScape与Modelica之间的分析,因为这在很大程度上取决于可能与其他人不同的因素。

此外,我真的没有经常使用SimScape,所以我不能对它进行太多的评论。但我肯定能告诉你莫西卡的力量。Modelica是由一个由开发人员、用户和学者组成的设计小组开发的。我认为这实际上是Modelica的巨大隐藏力量。因此,新特性必须得到所有群体的支持才能取得成功。在我看来,一个群体施加太多的影响是有害的。

Modelica的开放性意味着您可以从许多不同的工具(免费和商业)获得Modelica支持。反过来,这意味着外面有很多不同的库。这种开放性不仅与规范本身有关,而且与生态系统(开放工具、开放库等)有关。

最后,证据就是看到人们正在解决的各种问题。Modelica被广泛地应用于工程领域,以解决各种各样的问题。在我看来,这证明了语言和图书馆设计的稳健性。这种成功并不是大量营销资金的结果,而是技术从根本上来说是强大的,世界各地的人们已经认识到这一点,并将其用于解决现实世界中的problems...over问题。

我鼓励你翻阅过去的Modelica会议的文件。每一篇论文都可以在modelica.org网上免费获得。

无耻的插件:如果你想通过各种工程学科的例子来学习Modelica,你可能想看看免费的、交互式的和在线的书Modelica通过实例

票数 16
EN

Stack Overflow用户

发布于 2017-09-13 07:21:22

对于此比较,冲突点可以是FMI导入/导出能力。

功能模拟接口是一个非常有前途的解决方案,用于不同建模环境之间的模型传递和共享。提取的功能模拟单元(FMU)可以导入到另一个环境中,也可以使用第三方工具进行数值模拟。

大多数Modelica平台提供了足够的FMI导入/导出功能。我至少可以对OpenModelica、JModelica.org和MapleSim这样说。有关可用性的进一步信息,请参阅请看这里

Matlab/Simulink支持度如何?据说他们提供了这种可用性,但是没有官方的软件包可以从MathWorks下载。有像FMI工具箱Simulink编码器的FMI目标这样的第三方软件包,但它们似乎是商业化的。我尝试了Modelon软件包的演示版本,FMI工具箱,但是使用演示版本只能在演示版本的模型上工作。

根据此链接的说法,实际上还有另一个官方的Simulink软件包。我联系了他们,问他们我能不能看一看,并尝试一个研究项目(这不是谎言,这是一个研究项目)。该工具只能通过电子邮件与链接中提到的团队一起获得,并且只有FMI Import (无导出)的功能。Simulink是一个商业工具,它不想让模型逃到其他环境中去。重要的注意事项,从评论中可以看到,这个软件包现在可以在官方发布的Simulink R2017b中找到,该版本于2017年9月20日发布。

总的来说,Modelica平台更支持FMI,它可以解决未来的许多问题。尽管我应该明确地说,到目前为止,我还没有很好地使用FMI来解决我的模型。它有时非常慢,而且OpenModelica的结果与使用从同一模型中提取的FMU的解决方案之间存在差异。模型交换的求解器选项受到限制。至于协同模拟,也许我做错了什么。然而,在我看来,这是一个需要改进的非常有希望的工具。

对2012年FMI标准存在的问题的研究可以是在这里发现的。在FMI2.0发布之后,大多数这些问题都被认为得到了解决。我在此感谢克里斯蒂安·伯茨对我发布的可能错误的信息进行了纠正。一般来说,FMI是一个很好的工具,在行业中变得越来越重要。它的优势和支持FMI的工具可以在其网站上找到。

票数 5
EN

Stack Overflow用户

发布于 2017-11-02 10:43:49

我个人的经验,作为合著者的植物和目前的Physiolibrary.models。

  1. 在我们的小组中,我们得出结论,在Modelica中,分句和以信号为导向的方法相结合是合适的。条款方法适合于将组件建模、被建模系统的基本物理规律结合起来--这些组件更具有可重用性。信号方法适用于在已知或假设因果关系(控制心率等)的建模系统中添加专有组件。我们在https://doi.org/10.1016/j.compbiomed.2014.08.025或最近在https://doi.org/10.1016/j.bbe.2017.08.001上讨论了细节
  2. Simscape的一个缺点是库,或者说缺少它。为了模拟心血管系统,你可能需要用电路的类比。虽然这一简化通常在研究或工业中被接受,但你可能会放松精确性,增加出错的可能性。这也是Modelica中的问题,直到第三方库Physiolibrary可用为止。
  3. 然而,在Modelica中复制(重新实现) Simscape模型比在任何面向块的模型中更容易,比如在纸http://mj.mefanet.cz/mj-04140914中--不管是在Modelica还是Simulink中。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46155030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档