问题标签 [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 投票
2 回答
236 浏览

dymola - 在 Dymola 中将 Modelica 类设为只读

有没有办法让用户编写的类在 dymola 中只读?在处理使用它的模型时,我想避免错误地修改它。

0 投票
0 回答
52 浏览

algorithm - Modelica:哪个算法适用于哪个模型?达斯尔,欧拉

OpenModelica 或 Dymola 提供了几种算法来模拟模型:Dassl、Euler、Rungekutta、inline-rungekutta、Radau...

如何选择合适的?

0 投票
0 回答
165 浏览

modelica - 来自 Dymola 的 FMU 衍生值参考

这个问题是关于 Dymola 如何将值引用 (VR) 分配给其变量(尤其是导数)。我知道这有点像关于如何分配 VR 的秘密,但我们将不胜感激。

例如,我有一个从 Dymola 导出的模型,衍生变量的 VR 看起来像这样

可以发现,从der_1der_6的 VR 是一致的,除了der_4。并且不一致因为这个der_4也是一个状态,所以这个VR和它的状态VR是一样的。所以我很理解这部分。

我的问题是关于最后两个 VR。它们突然变得不一致,它们不是状态变量。我不明白为什么。

我查看了模型中的那些变量,我发现那些导数似乎有这样的形式

所以我相信 Dymola 有理由为这些变量分配不同的 VR。(代数环?)

这些衍生物有什么具体的名字吗?以及如何在 Dymola 中处理这些衍生物?

谢谢

0 投票
1 回答
86 浏览

modelica - OpenModelica 中的多边形创建

在 OpenModelica 的图标/图表层中创建正多边形时,我可以理解原点是多边形的中心/质心,并且使用原点作为参考来计算多边形点的坐标。

谁能告诉我不规则多边形的原点坐标和点坐标是如何在 OpenModelica 中生成的?

0 投票
2 回答
527 浏览

modelica - 在 Dymola 中检测 RealInput 变量的变化

我需要检测 RealInput 值 X 何时发生变化。我尝试检查 X == pre(X),但只收到一个错误和警告,即 Real 无法比较相等性。我也考虑过使用 X 的导数,但没有明确的表达方式。

我的其他想法是尝试将连续输入采样为我可以比较的离散变量。这能以某种方式起作用吗?

0 投票
1 回答
817 浏览

modelica - Modelica:阶跃函数的初始条件

想问一个Modelica什么时候函数的问题,下面的源码不能正常运行。变量 Pstart_CONV 是 if 语句中 der(x_calc) 的初始条件,当“when 语句”为真时,Pstart_CONV 的值由 x 给出。因为 x 是一个阶跃函数,所以我想为 der(x_calc) 分配一个初始条件,以便 x 可以在整个域中继续。

非常感谢你,

来源:

0 投票
3 回答
921 浏览

modelica - 教学 Modelica Medical 非 SI 单位

我想在医学环境中的 Modelica 模型中使用非 SI 单位。我在 Dymola 中使用 Modelica。作为一名工程师,我更喜欢 SI 单位。但是我的模型参数来自医学出版物,我想避免转换错误。医疗单位还简化了与医生的沟通。

例如,使用单位“mmHg”(毫米汞柱)代替“Pa”表示压力。压力变量在模型中定义如下:

转换模型以进行仿真会为模型中的每个非 SI 变量产生以下警告(总共约 300 个警告):

如果对模型的更改导致新的警告,则几乎无法检测到。因此我需要教 Modelica 单位“mmHg”。

我目前对该主题的了解:
- Modelica 语言规范 3.3,第 19 章单位表达式:“可以支持用户定义的单位符号。” 然而,该文件并未对此进行详细说明。
- 用户可以定义用于模拟 GUI 的显示单位(Real 属性“displayUnit”),只要在 Dymola 目录下的“displayunit.mos”文件中定义转换系数,如下所示:

这不是一种选择,因为它会降低模型的可移植性。它必须在每台运行模型并需要管理员权限(我没有)的计算机上手动执行。

提前感谢您的帮助,非常感谢!

编辑(可能对将来遇到此问题的任何人有所帮助):
发布时的版本:Modelica Standard Library 3.2, Dymola Version 2014 (64-bit) 2013-03-25

我忘记在我目前关于该主题的知识中添加以下内容:Physiolibrary 2.1.1 为 GUI 定义了 displayUnits。对于编码,作者使用以下技巧:

这样,Modelica 将压力类型的变量处理为单位帕斯卡 (N/m2),但将代码中输入的每个值除以给定的标称值。

更正
在本节中,我之前说过生理库使用 Real 属性nominal 进行单位转换。不是这种情况。感谢 Marek Matejak(Physiolibrary 的作者)纠正我。名义属性的唯一目的是出于稳定性原因对数值问题进行缩放。

0 投票
1 回答
66 浏览

contextmenu - 如何在 dymola 中制作上下文菜单?

如何在 dymola 中制作自己的上下文菜单?我想在 MATLAB 中做同样的事情,我可以做一个链接中显示的上下文菜单:http: //blogs.mathworks.com/pick/2011/05/20/add-a-list- of-favorite-blocks-to-the-simulink-context-menu/

0 投票
1 回答
108 浏览

keyboard-shortcuts - 在 Dymola 中创建快捷方式以执行操作

我想创建快捷方式(键盘)以在 Dymola 中执行某些操作。例如,我想按下一个键(或键组合)来模拟当前模型或模拟确定的开放模型。

第二种可能性是完美的,因为当我们处理子模型时,需要在模拟之前打开主模型。

此外,Dymola 中的键盘快捷键很差,我想改进用户界面

谢谢。

0 投票
0 回答
1067 浏览

initialization - FMU 初始化问题

我最近在 Dymola 2015 中导出了 FMU 2.0 模型,但初始化时遇到了一些问题。

在导出模型之前,我通过将输入连接器连接到一些知道确切输出值的常量值来检查模型的有效性,结果一切看起来都很好。该模型可以按预期进行转换、初始化和模拟。

然后我继续将我的模型导出为 ME FMU 2.0 RC。在C中可以实例化,进入初始化前fmiSetupExperiment调用成功,但是在调用fmiEnterInitializationMode后初始化失败。

错误如下图所示 在此处输入图像描述

我尝试根据这篇在 Simulink 中初始化 Dymola FMU 的帖子为模型分配一些合理的输入值,但没有帮助。

然后我发现我有几个具有 initial="approx" 的标量变量,但是当我在 Dymola 中检查它们的最终值时,初始近似值非常接近最终值。

所以我对接下来要尝试什么感到很困惑......我想知道这里是否有人可以帮助我(我什至不知道这个错误消息是什么意思......)我将不胜感激。

谢谢!