问题标签 [dymola]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
415 浏览

modelica - Dymola 2012 输出间隔行为

当我设置模拟 Dymola 的输出间隔时,我希望在 .mat 文件中收到间隔数+ 1 个数据点。事实并非如此,为什么?

查看Dymola 2012 用户手册

输出间隔以指定存储结果的频率。可以根据模拟的间隔长度间隔数来指定它。默认情况下,结果也存储在离散事件中。

我假设期望与产生的结果之间的差异与离散事件的存储有关。如果这是正确的,我该如何关闭此功能?

0 投票
3 回答
360 浏览

types - dsin.txt 中的数据类型是如何定义的?

我目前正在开发一个 python 接口,用于使用 Dymola 运行 Modelica 模拟,但我找不到关于文件中使用的数据类型的任何文档dsin.txt

文件本身中有一些文档,但它不是很有帮助:

如您所见,我得到的类型与描述的类型完全不同。我想知道数据是 , 还是其他类型RealInteger相应Boolean地调整我的界面中的表示形式。

0 投票
2 回答
88 浏览

type-conversion - 如何将变量定义为等于不同类型的变量?

好的,所以我有这样的事情:

这运行得很好,但它抱怨不兼容的单位,正如预期的那样。我如何让它忽略这个?

0 投票
1 回答
455 浏览

modelica - Dymola 求解媒体模型的固定方程组

我正在 Dymola 中构建一个类似于 Helmholtz-Media 的媒体库,但用于 Ammonia+Water,一种混合​​物。你会得到很多无法明确求解的方程。

由于 Modelica 中媒体和流体库的结构,我需要能够从 p、h 和 x 中获取我的热力学状态。状态向量由 d、T 和 x 组成。

这是一个如何获取状态向量的简单示例:

请不要介意方程式的部分。它们由取决于状态向量的许多部分(总和和对数)组成。这是由 Dymola 中的求解器以良好的起始值解决的。但我并不真正需要 Dassl 的所有“时间相关”解决能力。

是否有内置库可以在没有求解器的情况下求解此类静止方程系统?是否可以使用这些从这个模型中创建一个函数?

我知道我可以手动编写一个简单的求解器,但对于媒体模型(VLE)的其他部分,我也需要高度可靠的固定求解器(但有 4 个非线性独立方程)

如果我没有清楚地解释自己,请告诉我。感谢您的帮助。

0 投票
1 回答
265 浏览

doxygen - Dymola 代码的自动文档生成

由于我在这里和其他论坛都找不到我的问题的答案,所以我决定向社区提问:

有人知道是否以及如何实现使用 Dymola 生成的代码的自动文档生成?

例如,背景是我想要/需要在我的模型文件中存储其他信息以解释我的建模概念并直接从模型代码中存储和获取文档,我以后希望以一种方便的方式不仅可以在 Dymola 中显示,还可以通过 html 和 LaTeX 文档显示。

我知道存在一些用于自动生成文档的工具,例如 DoxyGen 和 Python Sphinx,但我不知道它们是否可以与 Dymola 代码一起使用。另外,我对这个话题很陌生,所以我真的不知道如何找出他们是否会成功。

非常感谢大家的帮助!

问候,mindm49907

0 投票
1 回答
662 浏览

modelica - 在 Dymola 中获取当前模型名称和文件路径

我想在外部程序中打开当前模型或子模型。目前,我正在手动向所有模型添加命令。例如:

是否有返回当前模型路径和名称的函数?

编辑:
classDirectory()并且getWorkingDirectory()只返回一个目录。
模型管理库(PDF 文档)似乎能够分析模型的 AST。这看起来可以解决我的问题,但似乎有点矫枉过正,而且我没有许可证。

我曾希望找到一种简单的方法来做到这一点。例如,在 Matlab/Simulink 中,我可以只使用which(bdroot)and getfullname(gcb)

0 投票
2 回答
155 浏览

controller - 为时间段设置布尔值

我正在为加热系统编写一个控制器,该控制器响应放置加热系统房屋的电网状态。我正在尝试几个控制器,但给我带来问题的是下一个。

我正在尝试编写一个模型,该模型考虑了电网中产生的可再生能源的数量。当满足外部能量的某个阈值时,加热系统应该打开(以在本地使用能量)。它是需求侧管理的一种形式。我遇到的问题是,当门槛加热系统打开时。这反过来意味着不再满足门槛,因为能源是在当地使用的。控制器由布尔值表示。如果达到阈值,则为真,否则为假。

这是我认为有问题的代码部分:

算法

在模拟时,我得到布尔值无法计算的错误,因为满足阈值可确保加热开关打开,从而确保布尔值在同一时间段内变为错误。因此,我正在寻找一种方法来将布尔值“设置或锁定”为真,从达到阈值的那一刻到下一个时间段开始时,应该再次检查它。即使在那个时间段内,由于加热系统在开始时打开,也不会达到阈值。

我尝试了诸如 noEvent 之类的方法,但这似乎不适用于持续的问题。

谢谢你的帮助。

0 投票
1 回答
1339 浏览

if-statement - Modelica“解决错误:重载二元运算符不匹配”

我正在使用 Dymola 2014 (Modelica) 并尝试编写模型的代码。我无法“检查”模型,Dymola 给了我以下信息。使用 Dymola 的人告诉我,这可能是来自缺少“其他”的问题,但我没有看到任何缺失。

每个“if”开头的条件 xxx.activePort 来自代码中的 stateGraph 循环。请注意,并非所有代码都在这里,但如果需要,我可以发布它。检查只返回那部分代码,所以我认为问题就在这里。您可能还注意到整个代码包含方程式和算法部分。下面的代码是方程式部分的一部分。

我是 Modelica 的菜鸟,所以它可能很简单,但我没有找到任何东西可以解决我在互联网上的问题。

谢谢 !

罗曼

0 投票
1 回答
120 浏览

modelica - Modelica Dymola 半车建模连接错误

我(初学者)正在使用 dymola 为车辆和俯仰运动的半轨道车辆动态系统建模。

该模型只有车轮、转向架、车身和弹簧阻尼器连接,没有输入和棱柱接头。我只需要每个身体的垂直运动和车体的俯仰时间。尽管最后一个变体没有错误,但系统正在关闭。我应该怎么办?我有垂直轨道不规则文件作为距离的函数。我会很高兴得到任何答案。

https://drive.google.com/file/d/0B8AmxzbhEQ_FaVFCOTlvcWNnWE0/view?usp=sharing

0 投票
1 回答
370 浏览

multithreading - 使用 openMP 或 pThread 进行 FMU 协同仿真

假设我有一个车型,底盘将用作主 FMU,其发动机、变速箱、轮胎等来自第三方,我想将它们用作从 FMU。我想以这种方式并行模型,将主 FMU 放在主线程上,并在其他线程上 fork 其他所有内容。

  1. 我想知道这个简单的想法是否可以通过使用从 Dymola 导出的 FMU 来实现......
  2. 如果可能,是否值得这样做?如果并行模型在物理级别上与顺序模型一样有效,我会徘徊。(我知道一个严重并行的程序比顺序程序慢,但我只需要知道它在物理上是慢还是快)
  3. 最新的 Dymola 内置了 openMP 功能,有人用过吗?它是什么样子的?

我找到了一篇关于这个的论文:Master for Co-Simulation Using FMI http://www.ep.liu.se/ecp/063/014/ecp11063014.pdf