不同 Modelica 仿真环境之间有什么区别?

2024-01-03

有不同的 Modelica 仿真环境,包括 Dymola、Wolfram SystemModeler、OpenModelica 和 Jmodelica。所以,我尝试加载热流体库(ThermoSysProhttps://github.com/Dwarf-Planet-Project/ThermoSysPro https://github.com/Dwarf-Planet-Project/ThermoSysPro),但除了 Dymola 之外,其他软件上的结果都以错误结束。

如果库和仿真环境都是基于Modelica规范标准,为什么会出现兼容性问题?我认为该库可能包含一些仅 Dymola 支持的功能。谁能澄清这些模拟环境之间的区别?


一般来说:

  1. 您使用的工具可能不支持某些 Modelica 语言元素

    仅仅因为一个工具支持 Modelica,并不意味着它已经实现了 Modelica 标准定义的所有内容。以OpenModelica为例,它在v1.12之前并不完全支持同步功能。

  2. 库的代码可能不符合您的工具使用的 Modelica 语言规范 (Modelica spec) 版本

    有些工具允许某些 Modelica 规范中未定义的功能:可能是因为 Modelica 规范在某个主题上不够精确,或者可能它们有点超前并且已经支持可能成为未来规范版本一部分的功能。

    在 Dymola 中,您有两个选项可以更严格地检查您的代码是否符合当前的 Modelica 语言规范:使用迂腐模式进行检查并设置标志Advanced.EnableAnnotationCheck=true让 Dymola 也检查注释

在你的具体例子中:存在各种问题ThermoSysPor图书馆,这可能会解释你的问题。

  1. 该库是用相当旧的 Modelica 标准库 (MSL) 3.2.1 编写的,它基于 Modelica 语言规范 3.2。

    当前的 Dymola 版本 (2020) 使用 Modelica 语言规范 3.4(请参阅每个版本的 Dymola 发行说明以了解这一点)。 OpenModelica 显然支持 Modelica 3.3(如发行说明中所述)。

    与此同时,MSL 也发生了一些变化,当前版本为 3.2.3。

    因此,需要将 ThermoSysPro 更新到最新的 MSL 版本 3.2.3 以及该工具支持的 Modelica 规范。然后您可以开始比较它在哪些工具中有效,在哪些工具中无效。

  2. 该库在 Dymola 中也不能完全运行

    我使用最新的 Dymola 版本和 Dymola 2016 FD01 进行了测试,其中包含 MSL 3.2.1。

    1. Dymola 2016 FD01:31 个错误,62 个警告
    2. Dymola 2020:175 个错误,095 个警告
  3. 该库包含无效的语言元素。两个例子:

    1. In ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPumpOpenModelica v1.14 beta 2 抱怨说cardinality未以合法方式使用。显然 Dymola 2020 并不关心(即使在迂腐模式下),但它违反了 Modelica Spec 3.4。

    2. 许多模型都包含注释DymolaStoredErrors,这不符合标准。自定义工具注释必须以“__”开头。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不同 Modelica 仿真环境之间有什么区别? 的相关文章

  • 第四讲 系统建模方法

    系统建模一般流程 实际系统的分析方法大致类似 但对于实际系统的模型实现方式则有多种 1 面向方程 图框 的因果建模 基于图框进行系统模型实现 的软件很多 如Simulink AMESim 应用于控制领域 等 2 面向对象 非因果 的物理建模
  • 如何在 Openmodelica 中指定介质?

    我正在 Modelica 中模拟热泵热水系统 我附上了我的模特的照片 但是 当我运行模型时 出现错误 Medium 是部分的 部分类中不允许进行名称查找 您能告诉我吗 我该如何指定水箱 热泵冷凝器和管道中的水 我应该如何指定热泵蒸发器中的空
  • modelica 中的功能集成

    我想在 Modelica 中对时间以外的变量函数进行积分 但我不知道该怎么做 例如 如何计算上限为 5 下限为 2 的 x dx 的积分 x dx x 2 2 Modelica 并不是像 Maple Mathematica 或 Matlab
  • 如何在 Dymola (Modelica) 中使用 /bigobj 进行编译

    我正在将一个相对较小的有限元 FE 模型集成到 Modelica 中 为此 我创建了一个模型 Modelica 类 它可以读取 Matlab 二进制文件格式的质量 M 和刚度 K 矩阵 我将 FE 模型与 Modelica 标准库 Mode
  • 来自 Dymola mos 脚本的 mkdir

    我有一个用于运行多个模拟的 mos 脚本 在运行模拟之前 我想cd to a new目录 以便保存所有结果和日志文件并且永远不会被覆盖 目前只能cd据我所知 到现有目录 任何人都建议如何创建名为例如的目录temp modelname and
  • 非线性代数方程的初步猜测

    我有一个非线性代数方程组需要求解 如何使用计算值 具有连续时间变化 作为解变量的初始猜测 而不是使用参数作为起始值 初始方程部分可以用于此目的吗 我创建了一个测试模型来解释这个问题 model Teststartvalue Real val
  • modelica:计算随时间变化的连续变量的最小值/最大值

    如上所述 我希望计算连续变量随时间变化的最小值 和 或最大值 这是一个演示的最小示例 model MinMaxTest Real u Real u min start 10 Real u max start 10 equation u si
  • Modelica 仿真和方程初始化总时间计算

    我想测量 DAE 系统的总模拟和初始化时间 我对挂钟时间感兴趣 就像 Matlab 中函数 tic toc 给出的时间 我注意到在 Modelica 中 模拟时间有不同的标志 但实际上 与我按下模拟按钮到模拟结束所经过的时间 大约用手机时钟
  • 如何在 modelica 中进行局部敏感性分析

    我想在 Dymola 中进行局部敏感性分析 以评估影响建筑物 多户住宅 能耗的不同参数 谁能给我一些建议 如何在 Dymola Modelica 软件中做到这一点 您可以将模型导出为 FMU 然后按照多种不同路径之一使用 FMU 进行敏感性
  • 是否可以在 Windows 机器上从 Dymola 编译 Linux 可运行的 fmus?

    我正在尝试使用 Dymola 从 Windows 计算机导出 FMU 以便在 Linux 和 Windows 操作系统上使用 我猜这样的 fmu 将有 linux64 和 linux32 二进制文件以及 win32 和 win64 二进制文
  • 如何在 Dymola 中隐藏模拟变量

    模拟模型后是否可以隐藏对象或输出 我有很多东西 我觉得我在浪费时间筛选它们试图找到我的正确答案 如果没有 有没有办法组织我的输出在模拟选项卡中的显示方式 Thanks Dymola 的主要可能性是 使组件受到保护 默认情况下 受保护的组件不
  • 在仿真期间暂停 JModelica 并传递增量输入

    您好 Modelica 社区 我想在 JModelica 中并行运行两个模型 但我不确定如何在模型之间传递变量 一个模型是 python 模型 另一个是 EnergyPlusToFMU 模型 JModelica 文档中的示例具有在模型仿真之
  • 不同 Modelica 仿真环境之间有什么区别?

    有不同的 Modelica 仿真环境 包括 Dymola Wolfram SystemModeler OpenModelica 和 Jmodelica 所以 我尝试加载热流体库 ThermoSysProhttps github com Dw
  • 在 Modelica 模拟中包含因果关系会导致模型扁平化时出现平移错误

    我想模拟基于能量工作的质量弹簧模型的控制器 model model parameters parameter Real m 1 parameter Real k 1 parameter Real Fmax 3 parameter Real
  • 使用“在模型中保存起始值”选项来帮助 Dymola 中的收敛

    I build a model in dymola Even though there are some errors during the initialization process but the calculation succee
  • 如何在 Modelica 中构建液体平衡连接器?

    帖子状态 200313 得到了代码 DEMO v42 的答案 我接受了赏金 200310 我评论了昨天建议的两篇关键论文 还是不明白如何更新DEMO v41 200309 我想强调的是 关键问题是如何在代码DEMO v41 如果可能的话 中
  • Ubuntu 18.04 上的 JModelica

    你好 JModelica 社区 我已经成功在 CentOS 上编译 JModelica 但在 Ubuntu 18 04 上仍然失败 编译本身是成功的 但是运行 from pyjmi examples import cstr casadi c
  • 使用内部/外部传播包

    我想在我的模拟中放置一个 系统 组件 类似于Modelica Fluid System and Modelica Mechanics MultiBody World 所有其他组件都可以从中访问Medium包 以便在整个流程图中仅设置一次工作
  • 使用 pyFMI 进行模拟时出现 CVodeError

    我尝试在 Anaconda Python 3 6 8 上设置 pyFMI 安装 pyFMI 站点上列出的所有必需软件包 fmu 加载没有问题 但当我尝试模拟 fmu 时 出现错误 Could not find cannot import n
  • DYMOLA:opc 服务器如何使用 MATLAB 使用 dsin.txt 或 mat 文件进行初始化

    我在 DYMOLA 中创建了一个 OPC 服务器 现在我在 DYMOSIM 中有这个可以单击并初始化 使用 dsin txt 的 MAT 文件 现在我在 MATLAB 中创建了一个 GUI 文件 并获取变量的输入并创建了一个 mat 文件

随机推荐

  • SSRS 和 PowerShell:获取 Excel 格式的报告

    我正在尝试让 PowerShell 向我们的 SSRS 服务器发送 Web 请求并捕获结果 我已经使用了撞墙rs FORMAT EXCELSSRS url 字符串中的参数 我有以下内容 首先 初始化凭据 User MYDOMAIN MyUs
  • jquery 插件在其他公共函数中调用公共函数

    我定义了我的插件基于http docs jquery com Plugins Authoring http docs jquery com Plugins Authoring function var methods init functi
  • 使用 httplib 进行不完整读取

    我在从特定网站获取 RSS 提要时一直遇到问题 我最终编写了一个相当丑陋的程序来执行此功能 但我很好奇为什么会发生这种情况以及是否有更高级别的接口正确处理此问题 这个问题并不是真正的问题 因为我不需要经常检索提要 我已经阅读了一个捕获异常并
  • AngularJS Protractor E2E 模拟

    我有一个 Angular SPA 从节点后端检索其数据 由于节点项目完全覆盖了测试 我想模拟 Angular HTTP 调用 我不想开始讨论一般的功能 冒烟测试 谢谢 我想要的是 像这样 Api injector get Api sinon
  • 按位 XOR(异或)是什么意思?

    我试图理解 C 或一般情况下的二元运算符 特别是 异或 http msdn microsoft com en us library zkacc7k1 aspx 例如 给定一个正整数数组 除了一个出现奇数次的数字外 所有数字都出现偶数次 在
  • nodejs socket.io 在函数循环内发出

    我想通过循环内的 socket io 发出 为此 我制作了一个运行良好的触发器 但在每个触发器中我调用 socket emit 并且只有第一个发出有效 这是服务器代码 var server require http createServer
  • 从动态 PHP 页面生成 HTML 静态页面 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个脚本来在运行时从动态内容生成静态 HTML 页面 我基本上想做的就是保存那些缓存那些ht
  • 用于提取 HTML 图像属性的正则表达式

    我需要一个正则表达式模式来提取图像标签的所有属性 众所周知 存在大量格式错误的 HTML 因此该模式必须涵盖这些可能性 我正在看这个解决方案https stackoverflow com questions 138313 how to ex
  • 用于乐观更新的操作存储是 Redux/Flux 中的一个好方法吗?

    我一直在 React Flux 应用程序中进行乐观更新 并看到了两件事 如果用户在存在某些未完成的操作时尝试关闭窗口 会发生什么情况 例如 在 Facebook 中 即使没有真正持久化 消息也会出现在墙上 这就是乐观更新的作用 对用户来说是
  • flag_shih_tzu 可以处理的最大标志数量是多少?

    我正在使用 flag shih tzu gem 我想知道它可以处理的最大标志数量是多少 或者它是否取决于 int 标志列中的长度 我需要它来处理 64 个标志 can it 我是 flag shih tzu 的维护者 最佳实践 出于性能原因
  • 我是否正确使用了 Automapper 2.0 的 Include 功能?

    要么我没有 要么它不起作用 我有一个 Source 类 我想将其映射到彼此继承的多个视图 基本上 基类是 Detail 子类是 Edit 或 Update 它们使用与 Detail 相同的所有数据 再加上几个其他字段来管理自己的列表或其他内
  • 如何更改 allauth 中的电子邮件验证链接

    我在 django 应用程序中使用 allauth 创建用户后 它会发送一封包含如下链接的电子邮件http localhost 8001 account confirm email asdfafsd 不过 我希望链接是http localh
  • 通过 AlamofireImage 下载 UIImage? [复制]

    这个问题在这里已经有答案了 我有一个 URL 想通过返回函数下载图像 但是我无法让它正常配合 这是我的函数 func getTabImage url URL gt UIImage Alamofire request url response
  • 为多个客户端运行 Magento - 单个安装与多个安装

    我希望为多个客户端设置 Magento 社区版 安装 并且已经研究了几天这个问题 我可以看到企业版中有我需要的东西 但令人惊讶的是我不愿意支付每年 12 000 美元的订阅费用 似乎有一些选项可供选择 但我担心我将从各种选项中获得的性能 选
  • 删除 TensorFlow 图中除少数节点之外的所有节点

    我的 TensorFlow 用例要求我为每个需要处理的实例构建一个新的计算图 这最终会增加内存需求 除了少数几个tf Variables这些是模型参数 我想删除所有其他节点 其他有类似问题的人也发现了tf reset default gra
  • 如何在 Windows 中使用正则表达式匹配行尾

    我在 Windows 中创建了一个 txt 文件 现在应该在 Linux 中进行编辑 我想用 grep 匹配行尾 假设我要在文件中找到的行的内容是 foo bar bar 然后我发出命令grep r bar 但没有产生任何输出 在 Wind
  • 多线程 COMObject 和 UI 线程 (C#)

    这是我在这里发表的第一篇文章 因为实际上我通常用很棒的方法解决我所有的问题 您可以在这里找到邮政数据库 但我现在实际上陷入困境 我正在开发一个遵循 MVVM 的项目 其中包括一个 COM 对象 正如我在研究过程中所读到的那样 我了解到 CO
  • 具有多个代理的 Ember CLI

    问题 我有一个 Ember CLI 应用程序 它将使用多个 API 我需要在开发模式下代理这些 API 背景 我有一个遗留的 api 它在以下位置公开服务 api在我的本地开发机器上运行localhost 3000 我有一个新的 api 它
  • 申请家庭内如何分配?

    我有包含多个因素的 data frame 我想重命名所有这些因素的因素级别 例如 mydf lt data frame col1 as factor c A A NA NA col2 as factor c A NA NA A mydf l
  • 不同 Modelica 仿真环境之间有什么区别?

    有不同的 Modelica 仿真环境 包括 Dymola Wolfram SystemModeler OpenModelica 和 Jmodelica 所以 我尝试加载热流体库 ThermoSysProhttps github com Dw