Fal*_*rbo 9 modeling simulink modelica openmodelica simscape
这个问题实际上有两个主要方面.在开始的时候,我不得不承认我对物理建模完全不熟悉,并且很高兴能够得到纠正,不仅要回答.对于那些发现阅读时间太长的人,我可以给出一个简短的总结:
1) Simulink vs Modelica
2) Simscape vs Modelica
Run Code Online (Sandbox Code Playgroud)
1)第一个是建模方法的比较.传统上,我想要比较的两种主要方法有不同的名称:
# 信号流方法/基于块的建模/因果建模......:Simulink中的典型模型.它们之间有输入和输出以及传输功能的盒子.
VS
# 网络方法/基于组件的建模/非因果(非因果)建模......:有物理端口而不是信号I/O,流实体(电流,热量等)可以在两个方向上流动.
在这个比较中,我已经在网上阅读了一些意见并搜索了一些论文.它归结为基于Modelica的开发环境和Simulink (例如)的比较,据我所知.与我要问的另一点相比,这两者的缺点和优点对我来说更清楚.
2)在对第一次比较进行了大量阅读之后,我更倾向于使用基于组件的建模.但是,Modelica并不是唯一的选择.还有Simscape,您可以使用它来组合物理端口(如在Modelica中)和基于块的Simulink建模.
我想知道这个Simscape 与 Modelica比较的优点和缺点.为了避免误解,我需要强调Modelica是一种语言.因此,将任何Modelica环境与Simscape进行比较会更有意义,比如OpenModelica vs Simscape
Mic*_*ler 13
好吧,既然没有人似乎在回答这个问题,我会对它进行一次拍摄.
看来你似乎已经在第一个问题上找到了问题.最基本的答案是,因果模型涉及大量的前期由工作你,否则会被编译器完成.更糟糕的是,如果您想要支持不同的因果关系,您需要重新实现您的组件和/或有多个版本支持不同的因果关系.对混合连续和离散行为的复杂物理进行建模是非常棘手的,而不必完成所有这些繁琐,耗时且容易出错的工作来解决因果关系.
这让我想到了SimScape与Modelica的第二个问题.SimScape似乎是对我在前一段中提到的问题的认可.老实说,第三方很难为你提供SimScape和Modelica的分析,因为这很大程度上取决于你和其他人可能不同的因素.
此外,我真的没有太多使用过SimScape所以我不能在那里做太多评论.但我当然可以告诉你Modelica的力量.Modelica是由一个由大致相同的开发人员,用户和学者组成的设计小组开发的.我认为这实际上是Modelica的隐藏力量.因此,新功能必须得到所有群体的支持才能获得成功.在我看来,一个群体的太大影响是有害的.
Modelica的开放性意味着您可以从许多不同的工具(免费和商业)获得Modelica支持.反过来,这意味着有很多不同的库.这种开放性不仅涉及规范本身,还涉及生态系统(开放工具,开放式库等).
最后,证据确实可以看到人们正在解决的各种问题.Modelica用于广泛的工程领域,以解决各种各样的问题.在我看来,这是对语言和图书馆设计合理性的证明.这种成功不是许多营销资金的结果,而是由于这项技术从根本上强大并且世界各地的人们已经认识到这一点并用它来一遍又一遍地解决现实世界的问题.
我鼓励您浏览过去的Modelica会议的论文.每篇论文都可以在modelica.org免费在线获取.
无耻插件:如果您想通过各种工程学科的示例学习Modelica,您可能需要查看免费的,交互式的在线书籍Modelica by Example.
对于此比较,冲突点可以是FMI导入/导出功能.
功能模拟接口是一种非常有前景的解决方案,用于不同建模环境之间的模型传输和共享.提取的功能模型单元(FMU)可以导入到另一个环境中,也可以使用第三方工具进行数值模拟.
大多数Modelica平台都提供足够的FMI导入/导出功能.我至少可以说OpenModelica,JModelica.org和MapleSim.有关可用性的更多信息,请参阅此处.
如何支持Matlab/Simulink?据说它们提供了这种可用性,但是没有可以从MathWorks下载的官方软件包.有第三方软件包,如FMI Toolbox和FMI Target for Simulink Coder,但它们似乎是商业性的.我尝试了Modelon软件包的演示版,FMI Toolbox,但是使用演示版本只能用于演示版本的模型.
根据此链接,实际上还有另一个针对Simulink的官方FMI包.我到达并问他们我是否可以看看并尝试研究项目(没有谎言,这是一个研究项目).该工具只能通过与链接中提到的团队通过电子邮件获取,并且只有FMI导入功能(无导出).Simulink是一种商业工具,不希望模特逃到其他环境.重要提示,正如评论中所见,此软件包现在可以在2017年10月20日发布的Simulink R2017b的官方版本中找到.
一般来说,Modelica平台对FMI更有支持,可以解决未来的大量问题.虽然我应该明确地说我到目前为止还没有很好的使用FMI解决我的模型的经验.它有时非常慢,OpenModelica的结果与使用从同一模型中提取的FMU的解决方案之间存在差异.模拟交换限制了解算器选项.至于Co-Simulation,也许我做错了.然而,在我看来,这是一个非常有前途的工具,需要改进.
有关2012年FMI标准的问题的研究可以在这里找到.在发布FMI 2.0之后,据说大多数这些问题都得到了解决.我感谢Christian Bertsch纠正了我发布的错误信息.总的来说,FMI是一个在行业中变得更加重要的伟大工具.它的优势和支持FMI的工具可以在其网站上找到.
小智 6
我作为《Physiolibrary》和《Physiolibrary.models》合著者的个人经历。
在我们小组中,我们得出的结论是,非因果方法和面向信号的方法的组合在 Modelica 中是合适的。非因果方法适用于组合对建模系统的基本物理定律进行建模的组件 - 这样的组件更可重用。信号方法适合将专有组件添加到因果关系已知或假设的建模系统(控制心率等)。我们在https://doi.org/10.1016/j.compbiomed.2014.08.025或最近在https上讨论了详细信息://doi.org/10.1016/j.bbe.2017.08.001
Simscape 的一个缺点是库,或者说缺乏库。例如,要对心血管系统进行建模,您可能需要使用电路类比。虽然这种简化通常在研究或行业中被接受,但您可能会失去精确性并增加出错的可能性。在第三方库 Physiolibrary 可用之前,这也是 Modelica 中的问题。
然而,与任何面向块的模型相比,在 Modelica 中重现(重新实现)Simscape 模型要容易得多,就像我们在论文http://mj.mefanet.cz/mj-04140914中所做的那样 - 无论是在 Modelica 还是 Simulink 中。
| 归档时间: |
|
| 查看次数: |
5405 次 |
| 最近记录: |