创建Modelica库

创建Modelica库,modelica,openmodelica,Modelica,Openmodelica,我自己创建了一个小型Modelica库。我创建它的方式是在一个文件中。但是我想让它成为一个合适的Modelica库,就像在每个子包都有多个目录的库中一样 这就是我所遵循的。文件>新建Modelica类>专门化-包>未选中将内容保存在一个文件中。我从单个文件库复制了整个包代码,粘贴到这里并保存了它。在这样做的过程中,我注意到这个库丢失了大部分extends子句,很少有模型丢失 我是否按照正确的程序创建了库,还是做错了什么 有人能给我指出正确的方向吗?@MSK,我无法帮助您使用OpenModelic

我自己创建了一个小型Modelica库。我创建它的方式是在一个文件中。但是我想让它成为一个合适的Modelica库,就像在每个子包都有多个目录的库中一样

这就是我所遵循的。文件>新建Modelica类>专门化-包>未选中将内容保存在一个文件中。我从单个文件库复制了整个包代码,粘贴到这里并保存了它。在这样做的过程中,我注意到这个库丢失了大部分extends子句,很少有模型丢失

我是否按照正确的程序创建了库,还是做错了什么


有人能给我指出正确的方向吗?

@MSK,我无法帮助您使用OpenModelica,因为我与Dymola一起工作。不过,我最近确实手动将单个文件库(在Modelica中称为package)拆分为多个文件。我这样做是为了在文件系统层次结构中表示库层次结构(即,库文件夹中的多个子文件夹和.mo文件)。对于35000行代码,这大约需要10个小时。只需遵循以下步骤:

  • 创建与库同名的文件夹
  • 在此文件夹中,创建一个文本文件“package.mo”
  • “package.mo”必须以语句开头

    package[您的包的名称,即文件夹名称…不带括号]

  • 现在您想在这个包中创建一个子类。为此,请创建另一个包含名为“package.mo”的文本文件的文件夹


  • 在[您的包的名称]中
    并像往常一样声明模型

  • 继续执行库层次结构的所有步骤

  • 在最低层次结构级别,您不再需要创建文件夹。您只需创建一个名为最低级别类的.mo。像往常一样,以
    在[包的名称].[子类1].[子类2]内

  • 有关实现的示例,请参考在中找到的Physiolibrary或Modelica标准库,该库也使用此结构。

    @MSK,我刚刚发现了一些可以避免手动拆分包的东西。单击“文件-->另存为…”时,会出现一个选项窗口,您可以在其中勾选“将包的内容保存在一个文件中”选项。您可以解除此锁定,以便自动拆分包。虽然我还没有尝试过这个选项……但是如果自动拆分在相关的地方不可用,我会感到惊讶: