问题标签 [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.
python - 适用于 python/matlab/simulink/maple 用户的 Modelica?
我正在尝试学习来自 Python/MATLAB/Simulink/Maple 背景的 Modelica。是否有任何资源可供具有其他语言/环境经验的人学习 Modelica?
当我从 MATLAB 背景的上下文中学习 Python 时,我发现NumPy 对 Matlab 用户有很多帮助。有没有类似的学习Modelica的资源?
conditional - 条件组件声明和以下 if 等式
我正在尝试建立一个模型,该模型将根据是否存在某些组件(在我的情况下为流体端口)具有略微不同的方程。
如下代码将不起作用:
我该如何解决这个问题?
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 轻松绘制的矩形。
提前致谢。
modelica - 在 Modelica (SystemModeler) 中生成白噪声
我正在尝试将测量噪声添加到模拟中。这在例如 Simulink 中是可能的,但在 Modelica 和 SystemModeler 中似乎更难。
关于如何做到这一点的任何想法?
modelica - 示例功能在 Dymola 上不起作用
我尝试使用 Dymola 编译以下代码:
并且time = 0
变量j
以2
. 但它应该以j = 1
.
有人对这个问题有想法吗?
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) 如下面的代码所示,并使用空间离散化在方程部分(经典前馈方法)),是否满足数值稳定性?同样的例子,但算法部分?问候
这是代码:
modelica - 变量的增量出错
变量现在从 j = 1 开始,但增量是错误的。对于 t = 0.5,它的值应该是 2,对于 t = 1,j = 3 等等...您会在下图中看到错误
提前致谢。
modelica - Dymola 标记等距时间网格并在事件中存储变量
是否有指定模拟的标志/脚本方式:
- 在事件中存储变量,与模拟设置\输出\在事件中存储变量相同
- 等距时间网格,与模拟设置\输出\等距时间网格相同
我知道它可以作为注释添加到模型中:
annotation experiment(__Dymola_NumberOfIntervals=501), __Dymola_experimentSetupOutput(equdistant=true, events=true));
问候, 吉尔斯
modelica - 如何一对一模拟执行 2 个模型?
我试图通过状态图在模拟中一个一个地执行 2 个模型。伪代码如下。在模型测试中,有两个块,stateA 和 stateB。在模拟开始时,执行 stateA。10 秒后,stateA 停止,而 stateB 执行。停止点 v 的值需要从 stateA 转移到 stateB。有人可以给我一些建议吗?非常感谢!
另一件事是为什么我无法在 openModelica 中模拟以下简单示例?
错误:在范围 StateMachine1 中找不到类 initialState
modelica - 如何在 Dymola/Modelica 的启动路径中添加自定义包?
我有一个自定义包,我发现自己在 Dymola 模型中重复使用它,我想将此包放在一个公共目录中,该目录在我启动 Dymola 时会自动加载。我目前的策略是在加载我正在处理的模型时加载自定义包,然后保存总计。这并不优雅,因为自定义包的内容最终保存在我硬盘上的多个位置,如果我更改其中一个,更改不会反映在任何地方。我想要一种更强大的方式来将此自定义包分发到我的所有模型。有没有办法告诉 Dymola 每次都自动加载我的自定义包装?