问题标签 [modelica]

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

python - 适用于 python/matlab/simulink/maple 用户的 Modelica?

我正在尝试学习来自 Python/MATLAB/Simulink/Maple 背景的 Modelica。是否有任何资源可供具有其他语言/环境经验的人学习 Modelica?

当我从 MATLAB 背景的上下文中学习 Python 时,我发现NumPy 对 Matlab 用户有很多帮助。有没有类似的学习Modelica的资源?

0 投票
3 回答
2517 浏览

conditional - 条件组件声明和以下 if 等式

我正在尝试建立一个模型,该模型将根据是否存在某些组件(在我的情况下为流体端口)具有略微不同的方程。

如下代码将不起作用:

我该如何解决这个问题?

0 投票
1 回答
1772 浏览

icons - Modelica - 创建图标

我想为结合了 Modelica 标准库中的两个组件的模型创建一个图标。这两个组件是 Modelica.Blocks.Sources.Sine 和 Modelica.Electrical.Analog.Sources.SignalVoltage。我已经连接了这两个组件,因此代码如下所示:

注释由 OMEdit 自动完成。

现在我想实现以下目标:我想创建一个图标

  • 包含 signalvoltage1 的引脚
  • 通过双击可以访问 sine1 的属性。

我知道 annotation(Icon(...)) 和 annotation(Placement(...)) 命令,但我不知道如何将 signalvoltage1.p 和 signalvoltage1.n 带到图标层。而且我不知道如何通过双击访问 sine1 的属性,例如,我可以使用 OMEdit 轻松绘制的矩形。

提前致谢。

0 投票
2 回答
1454 浏览

modelica - 在 Modelica (SystemModeler) 中生成白噪声

我正在尝试将测量噪声添加到模拟中。这在例如 Simulink 中是可能的,但在 Modelica 和 SystemModeler 中似乎更难。

关于如何做到这一点的任何想法?

0 投票
2 回答
1315 浏览

modelica - 示例功能在 Dymola 上不起作用

我尝试使用 Dymola 编译以下代码:

并且time = 0变量j2. 但它应该以j = 1.
有人对这个问题有想法吗?

0 投票
1 回答
483 浏览

modelica - 如何从算法部分提取值?

我正在使用与代数方程混合的抛物线 PDE,并且所有这些方程都是耦合的。我在 OM(1.9.1)("residualFcn[some number]") 中使用了欧拉方法(Dassl 太慢)和大容差(用于快速模拟)和接收错误(两种类型)。问题是求解器不能t 求解非线性系统(数学上,系统是正确的)。第一个问题是什么类型的方法在 OM 中使用欧拉积分法(显式或隐式或 Crank-Nicholson ......或......)?所以我试图用数字解决它(显式欧拉方法(在“new [N]”下面的代码中)(也许问题可能是CFL条件。),但我有问题(特定采样时间的样本重建)。所以,第二个问题是指重现特定采样时间的值?!在下面的代码中有数组“a [3]”。想法是针对每个“

还有一件事,如果 delta(t)/(delta(x))^2 >= 0.5 (delta(t) 定义用户,并指代方程部分,则 delta(x) 如下面的代码所示,并使用空间离散化在方程部分(经典前馈方法)),是否满足数值稳定性?同样的例子,但算法部分?问候

这是代码:

0 投票
2 回答
404 浏览

modelica - 变量的增量出错

变量现在从 j = 1 开始,但增量是错误的。对于 t = 0.5,它的值应该是 2,对于 t = 1,j = 3 等等...您会在下图中看到错误

变量 j

提前致谢。

0 投票
1 回答
705 浏览

modelica - Dymola 标记等距时间网格并在事件中存储变量

是否有指定模拟的标志/脚本方式:

  • 在事件中存储变量,与模拟设置\输出\在事件中存储变量相同
  • 等距时间网格,与模拟设置\输出\等距时间网格相同

我知道它可以作为注释添加到模型中:

annotation experiment(__Dymola_NumberOfIntervals=501), __Dymola_experimentSetupOutput(equdistant=true, events=true));

问候, 吉尔斯

0 投票
2 回答
270 浏览

modelica - 如何一对一模拟执行 2 个模型?

我试图通过状态图在模拟中一个一个地执行 2 个模型。伪代码如下。在模型测试中,有两个块,stateA 和 stateB。在模拟开始时,执行 stateA。10 秒后,stateA 停止,而 stateB 执行。停止点 v 的值需要从 stateA 转移到 stateB。有人可以给我一些建议吗?非常感谢!



另一件事是为什么我无法在 openModelica 中模拟以下简单示例?

错误:在范围 StateMachine1 中找不到类 initialState

0 投票
5 回答
2783 浏览

modelica - 如何在 Dymola/Modelica 的启动路径中添加自定义包?

我有一个自定义包,我发现自己在 Dymola 模型中重复使用它,我想将此包放在一个公共目录中,该目录在我启动 Dymola 时会自动加载。我目前的策略是在加载我正在处理的模型时加载自定义包,然后保存总计。这并不优雅,因为自定义包的内容最终保存在我硬盘上的多个位置,如果我更改其中一个,更改不会反映在任何地方。我想要一种更强大的方式来将此自定义包分发到我的所有模型。有没有办法告诉 Dymola 每次都自动加载我的自定义包装?