问题标签 [openmodelica]

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 回答
780 浏览

modelica - 来自文件的 Modelica 矢量参数

是否可以从文件中读取参数向量?我正在尝试创建一个对象向量,如下所示:从第 49 页开始在此处 输入链接描述。但是,我想从文本文件中提取特定的电阻和电容值。(我实际上只是用这个作为如何阅读它的例子)。
因此,该示例填写如下数据:

但是,我有一个包含类似内容的文本文件,其中第一列是索引,第二列是 R 值,第三列是 C 值:

我知道我可以使用 CombiTable1D 或 CombiTable2D 读取这些数据。但是,有没有一种方法可以将每一列数据本质上转换为一个向量,这样我就可以做类似的事情:

0 投票
1 回答
1470 浏览

modelica - 如何使用以前的仿真解决方案初始化模型?

再次用完想法,我转向你。

我敢肯定,这之前必须得到回答,尽管在我的一生中,我找不到明确的描述。

设想:

您努力使模型全部设置初始猜测等,然后求解模型中所有参数的“真实”稳态 (SS) 条件。从这个解决方案中,我想调查事件对系统的影响。

要执行与 SS 分析的这种偏差,最好能够简单地加载 SS 解决方案 .mat 文件,其中包含Dymola已经生成的所有模型参数。加载此解决方案无需先模拟模型以实现 SS 解决方案,然后再执行与 SS 调查的偏差。我可以想象,发生这种情况的一个可能步骤是在模拟的“初始化”阶段。

鉴于这似乎是一个重要的概念,我想这个想法会在 Modelica/Dymola 开发的早期阶段就被考虑在内。鉴于这些模型的大小很快变得非常大,手动提取每个单独的参数似乎并不合适。

问题:

  1. 是否可以求解模型的状态(.mat 文件),然后将该模拟加载为所有变量的“初始”值?(这将覆盖/替换系统中先前的初始猜测)
  2. 如果可能,这是如何实现的?(运行一些脚本,一些隐藏菜单选项,在模型/模拟中添加某种导入命令?)

我非常感谢您的帮助。我正在使用Dymola 2016。

0 投票
1 回答
345 浏览

matlab - 如何加载在 Matlab 中创建的共享库

我试图用液体流动和媒体创建一个 OpenModelica 模型。我在 Matlab 中有一个函数可以计算 pdetool 中的 PDE(偏微分方程)。我想通过 MCR 在 Matlab 中创建一个共享动态库(.so 文件)并将其加载到模型中。我的平台:Linux 或 Mac OS 上使用的 OpenModelica。已安装 Linux 和 Mac OS 上的 MCR。

在 Matlab 中,我只能生成 DLL(也许可以生成 libmyfunc.so?)。

当我尝试使用 extern C 函数编译模型时,出现错误:

有人可以帮我集成 OpenModelica 和 Matlab 吗?

0 投票
0 回答
50 浏览

translation - Modelica:数据[j].MM中的下标数量错误(0维的1个下标)

我正在尝试基于 MixtureGasNasa 创建新媒体并将其用于测试示例 NonCircularPipes(将标准 MSL 示例复制到新文件)。当我尝试检查模型时,我得到了新的错误:

为了详细描述情况,请在此处包含模型代码。

我做错了什么?

0 投票
1 回答
314 浏览

modelica - Modelica Flow Simulation 说除以零

我正在尝试模拟开始部分充满并逐渐填满的管道中的流动。一旦它满了,流量方程就需要改变。我已经尝试了以下代码,但是一旦管道已满,我就会得到除以零的错误。TestTrap1 是一个演示问题的演示。一旦管道已满,似乎某些方程式是不正确的。我正在使用 openmodelica 来运行它。

任何关于为什么这不起作用或如何解决它的建议将不胜感激。

0 投票
2 回答
976 浏览

simulation - 在 OpenModelica 中如何正确重新声明 Medium?

我使用了 OpenModelica 1.9.4~dev-675-gb524b08 并尝试为模拟天然气工厂创建模型。当我尝试根据示例重新声明介质时

我收到错误:

我在 OpenModelica trac #2959#2079中找到了两个请求

建议我如何更正我的模型以在 OpenModelica 中进行正确模拟?

0 投票
1 回答
222 浏览

modelica - Model flow from a pipe

I have been trying to model flow through a pipe that can be partially full, or totally full in modelica and running it in OpenModelica. I have finally reduced the example to essentially just use the area of a circle, and to have no outflow until it is full, then complete outflow. But, I am still getting errors. I have tried it a few different ways. The first way gives an error about solving a nonlinear system once the pipe becomes "filled up". Instead I want it to switch over:

This version seems to give results that are closer to what I want, but it still doesn't work. In this case, the problem is that phi is supposed to be limited to 2*pi. Instead it keeps increasing. Meanwhile, I don't actually see flowmode change. I do see the outflow go negative for a single cycle, then it jumps back to zero. I don't understand what is changing the flowmode back from channel to full, since there is no corresponding "when" to change it back.

This question that I asked is related to solving the same problem, but doesn't have the issue of a circle/cylinder. And, my second example above is based somewhat on this question.
I am using the newest beta of OpenModelica. My complete model will have other feature that are not included in either of these examples. But, hopefully if I can get this simple version working, I can expand from there.

0 投票
1 回答
120 浏览

modelica - Modelica/Dymola 中的实验数据关联

首先,我是一个相对较新的用户。我正在尝试将物理测试数据与我使用 Dymola/Modelica 构建的模型相关联。在这个模型中,“变量 1”具有一个初始值,基于该初始值计算“变量 2,3 和 4”,这些变量(2,3 和 4)用于重新计算“变量 1”和“变量”的这个值1" 必须用于下一个时间步,并且必须进行后续的重新计算。

我不确定如何将这个“更新的变量 1”作为输入传递给每个时间步的模型?有人可以帮我解决这个问题吗?

谢谢。

0 投票
1 回答
210 浏览

modelica - 如何启用modelica单元一致性检查

我想在 modelica 代码上启用有关单位不匹配(维度)的警告。这是我故意错误制定的测试代码:

这是我用于编译的脚本:

我使用以下命令编译上面的代码:

但是没有关于单位的警告。如何启用单元检查?谢谢。

omc 版本:1.9.3+dev (r25940)

0 投票
3 回答
90 浏览

dymola - 如何在组件参数 GUI 上添加滚动选项?

我正在使用 Dymola,但我希望 OpenModelica 很可能是相同的(或至少相似)。

对于给定的组件模型,有时在参数 GUI 的一个“选项卡”上显示大量参数更有意义。这可能导致 GUI 过长,由于许多原因,包括与人类如何处理信息有关的心理原因,这不是一个合适的解决方案。

为了解决这个问题,我想在参数 GUI 上添加一个垂直滚动条。我相信我见过它一次,虽然我不记得确切的地方。

出于说明目的,请查看 Web 浏览器窗口的右侧。上下移动的灰色条是滚动条:)。我知道,很明显,但你永远不知道。

我假设我需要在某处的注释中放置一些命令,尽管我不确定在哪里以及使用什么命令。例如,我发现了一些对 verticalScrollBarPolicy 的引用,但是很遗憾,我找不到任何关于此的文档。

有人知道怎么做吗?

编辑#1:当 GUI 大于屏幕时,Dymola(和 Adrian 也表示 OpenModelica)将自动创建滚动条。不幸的是(至少在 Dymola 中)几乎没有余量,所以如果您的 GUI 比窗口小一点,“确定”按钮将被屏幕底部的功能区覆盖,并且需要使 GUI 稍微大一点使滚动条自动出现。这就是为什么滚动条的手动选项会派上用场的原因。