问题标签 [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.
modelica - 如何在 Modelica 仿真期间确定上一个时间步的值?
如何在 Modelica 仿真期间确定上一个时间步的值?我有等式Q=m*c*(Ts2-Ts1-Tr)
,我需要从中提取Ts2
价值Ts1
。
Ts2
- 是时间步 2 的值Ts1
- 是上一个时间步的值Ts
是输入信号,它在时间上有变化。每一步都有不同的价值。在我的情况下,时间步长是 1s。其他值是固定的。
我可以在方程变量中设置time
吗?例如:
还是应该在这个模型中输入?
关于 Tymofii
modelica - 用于商业分销的 Modelica 运动学仿真环境
我正在寻找一种工具来运行一个相当简单的多体运动学模拟并绘制输出,例如力。该工具旨在由第三方公司进行商业分发,并将用作设置其模拟机器的计算器。
我正在考虑基于 Modelica 的工具。是否有任何可用的模拟平台允许在没有版税的情况下进行分发?如果没有,有没有比 Modelica 更好的替代品?
modelica - 处理 FMU 的 C/C++ 库
你知道是否有一个 C 库来处理 FMU 和运行模拟,包括一个好的求解器?
据我所知有:
- QTronic 的 FMUSDK
- Modelon 的 FMI 库
两者都可以打开 FMU,但只允许运行 FMU 以使用简单的欧拉求解器进行联合仿真。
包括处理不连续性但不在 C 中的良好求解器的库是:
- Modelon 的 PyFMI:对于 Python
- 来自 Ptolemy 的 JFMY:对于 Java(不确定这是否包括一个好的求解器)
boolean - 如何在 Modelica 中延迟布尔信号?
似乎延迟块只接受真正的输入/输出。我在布尔延迟上找不到任何东西。还是我需要进行布尔到实际的转换?
我对 Modelica 很陌生,但这对我来说似乎是一个明显的内置块......
谢谢!
modelica - 使用自定义媒体的自定义 modelica 模型中的输入连接器问题
我目前正在使用 Dymola 中的 Modelica 模型来模拟化学过程。反应器建模本身已经完成到令人满意的程度,但我很难将这些模型实现到 Modelica 中,特别是在让各种媒体定义相互连接和通信方面,可以这么说。这也是Modelica实现模型的关键成果。
目前,我正在与一种特定类型的错误作斗争,尽管它看起来非常明显和直截了当,但我发现它相对难以解决。错误属于以下类型:
在给出此错误消息的特定代码中,我模仿了一个简单的集总体积,扩展了 Modelica 标准库中的基类,但错误仍然与我的完整反应器模型相同。这就是为什么理解和解决这个问题对我的任务进展至关重要。
我一直在网上搜索以了解更多有关可能导致此问题的原因,但运气不佳。有人可以详细说明这些错误,甚至可以提出解决方案吗?该委员会的任何意见都会对我有用。
提前致谢。
问候,弗雷德里克。
controls - 使用 Dymola 控制实施
我在 Modelica/Dymola 中实现内置控制算法 (LQR) 时遇到问题。我创建了一个更简单的模型来显示我遇到的问题。
基本上,我在外部调用 LQR 并向其传递一个矩阵,其中包含一个在每个时间步都发生变化的条目(名为 Ctest)。这个 Ctest 也可以通过一个名为 findC 的外部函数找到。
有趣的是,如果您使 Ctest = 0,Dymola 将运行良好,但是如果您在 if 循环中使 Ctest = 0,它会显示许多看起来像这样的错误: Unsupported: In function Modelica_LinearSystems2.Math.Matrices .dare 变量 AT 用维度“:”声明。这在 dsmodel.c 中尚不支持,如果在模型中调用该函数将失败。
例如,我使用以下代码运行了 3 个不同的案例: 1. 在函数 findC 中,如果您将 C 定义为 0(如下所示),一切运行正常。2. 如果您改为创建 C 仍为 0 的 if 循环,则模型将无法模拟。我复制了下面的 if 循环并将其注释掉。3. 如果你在案例 1 中保留 findC,但只是取消注释“Real tether_l = 151.61;”,它会给出与案例 2 相同的错误。
任何帮助将不胜感激!
函数 findK
函数 findC
非常感谢!:)
dynamic-programming - Modelica 时间相关方程
我是 Modelica 的新手,我想知道是否可以编写一种动态规划方程。假设时间由整数 i 离散化,在我的具体应用中,x 是布尔值,f 是 x 的布尔函数。
其中 d 可以是正整数或负整数。当然,我会相应地初始化 x,无论是真还是假。
任何帮助或参考将不胜感激!
sample - 将信号采样到 Modelica 中的数组
我是 Modelica 的新手,在尝试将连续的、真实的输入信号采样到数组时遇到了麻烦。我曾尝试使用“当样本”,但无法使其正常工作。下面代码的问题是每个x[i]都是每dt秒p的相同采样版本。我想要的是x[1]成为第一个相同的样本,x[2]成为第二个样本,依此类推。
任何帮助将不胜感激!
提前致谢!
modelica - 感应电机模型
我必须自己制作一个感应电机模型,我的第一步是复制一个已经存在的示例,即Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL
. 现在我已经复制了它,但我不能参数化它,AIM_SquirrelCage
因为我不能设置它的所有默认值。请看附件。并帮助谢谢。
modelica - 将 Modelica 转换为 FMU?如何通过Java实现流程
每个人。我想模拟一些modelica模型,但不使用openmodelica或dymola,所以我想如果我可以将模型代码转换为fmu,然后调用jfmi进行处理。我阅读了相应的材料,但仍然找不到一些对整个过程非常清楚的材料。那么,有没有人知道我在哪里可以得到详细的过程,或者有人已经实现了这个?