问题标签 [pyfmi]

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 投票
0 回答
105 浏览

python - 在 PyFMI 中联合仿真两种联合仿真类型的 FMU

如何使用 PyFMI 对连接在反馈回路中的两种联合仿真类型的 FMU 进行联合仿真?PyFMI 中的协同仿真设置如何工作?连接是如何定义的

  1. 输入给“y_ref”
  2. 到“u”的输入实际上是在“SUM Block”之后的信号。

在耦合的 FMU 模拟设置中,我得到所有结果都归零。这是我正在使用的一段 scipt

问候, 在此处输入图像描述

0 投票
0 回答
46 浏览

modelica - FMU 2.0 交互 - 参数值等需要并行“容器”吗?

我在 Jupyter 笔记本中使用 pyfmi 来运行模拟,我喜欢以交互方式工作并评估参数等的增量变化。很久以前,我发现有必要引入一个字典,作为参数和初始值的“容器”。现在我想知道是否有一种方法可以摆脱这个“容器”,毕竟它在一定程度上是“模型”的平行结构?

典型的工作流程如下所示:

有一个函数 model.reset() 可以在编译时将状态恢复为默认值而无需再次加载,但您需要做的不仅仅是以下操作

所以,这是行不通的……在所有参数和初始值都需要恢复之后,我们仍然需要 parDict,但我们可以避免使用 load-command。

0 投票
1 回答
46 浏览

openmodelica - FMU 的通信频率与仿真时间

假设我们有一个 FMU,它从 Python 获取输入并以 0.001 秒的间隔进行模拟。FMI/FMU 标准是否允许我们为同一个输入多次运行 FMU(因此 Python 以 0.01 秒的间隔提供输入,而 FMU 在每一步模拟 10 次)?由于我们将通信接口减少了 1/10,这会更快吗?

0 投票
1 回答
45 浏览

python - 如何使用 FMPy 获取变量的单位?

我正在尝试从模型变量中获取单位以存储为元数据。有没有办法获取变量的单位?

0 投票
0 回答
84 浏览

python - 如何在 ARMv8 架构中安装最新版本的 PyFMI 以通过 Raspberry Pi 4B 在 docker 容器中运行

有一段时间我试图使用 docker 容器在 Raspberry Pi 4B 上安装 PyFMI。我设法以某种方式成功。但是,仍然缺少更新日晷。如果有人可以帮助找到解决方法来更新它,我将不胜感激。目前,我将发布我所做的。它可能对其他人有帮助(即使它不是一个完美的解决方案)。

PyFMI 的问题在于它不适用于 ARMv8 架构。我尝试在 docker 中使用作为基本映像 mini-forge(miniconda 不适用于 ARMv8),但即使使用该映像也无法使用 conda 命令直接安装(conda install -c conda-forge pyfmi)。所以,我需要从源代码编译所有 PyFMI。我将这篇文章用作帮助:Ubuntu 18.04 中 Python 3 环境中的 PyFMI

按照代码:

需要注意的几点:

  • 定义环境变量 TZ 是为了避免在 Ubuntu 安装中手动输入其值。
  • 使用 FMI 库的路径创建环境变量。
  • 最新版本的日晷与最新版本的 Assimulo 不兼容。Assimulo 安装要求一个名为“sundials_sparse.h”的文件,该文件在 Sundials 的最新版本中不存在。这就是为什么要安装 4.1 版的原因。
  • 安装 Assimulo 需要指定日晷、blas 和 lapack 的路径。但是,如果不直接指定根目录,安装就可以正常完成。
  • PyFMI 需要指定 FMI 库的路径和路径的环境变量。

如果有人找到如何安装最新版本的日晷,我将不胜感激。或者,更好的是,如果有人可以在 conda-forge 中为 ARMv8 架构创建 PyFMI 的直接安装会更好。

谢谢!

0 投票
0 回答
34 浏览

python - 酸洗/缓存 PyFMI FMUModel 对象

我正在开发一个FMU使用pyfmi库加载的应用程序:

我们正在尝试做的不是每次我们想要缓存或腌制 fmu_obj 时都加载 fmu。我试着跟随腌制 fmu_obj

但有例外:

更新:

我也尝试使用 pickle.dumps() 但得到了同样的异常:

试图将其转换为使用 bytearray() 作为:

但有例外TypeError: 'pyfmi.fmi.FMUModelME2' object is not iterable

有没有办法pickle或任何其他方式来serialize处理pyfmi对象?或者有什么方法可以cache pyfmi.fmi.FMUModelME2反对?

0 投票
1 回答
106 浏览

simulation - 将多个 FMU 合二为一

我有一个 pandapower 网络,在一些公共汽车上,我将电池和光伏发电作为 FMU。现在我有一个主算法,可以创建不同 FMU 的输入和输出之间的连接并运行模拟。

我的问题是是否有可能将所有东西组合到一个 FMU 中,它将所有不同的输入和所有不同的输出组合在一起。

0 投票
0 回答
21 浏览

python - Jmodelica 无法通过 spyder 运行

我已经成功安装了 jmodelica,并通过 jupyter notebook 对其进行了测试。但是,当我尝试执行相同的过程,但随后打开 spyder 时出现错误。

具体来说,我正在做的是以下内容:

  1. 打开 anaconda 终端

  2. 激活我安装 spyder 的环境

  3. cd 到安装文件夹

  4. 运行 setenv.bat 64

  5. 蜘蛛

我收到以下错误:

我在另一篇文章中注意到,创作者在使用 spyder 时也面临一些困难,但没有答案。知道我应该做什么吗?

0 投票
0 回答
29 浏览

path - 运行 JModelica 命令时出现警告(根 MODELICAPATH)

在 JModelica 命令运行期间,例如compile_fmu我收到以下警告:

有谁知道为什么会这样?

0 投票
0 回答
38 浏览

python - 尝试使用来自 csv 文件的 4 个输入来模拟一个 FMU 时出错

我有一个 FMU 和 4 个输入,我想为它们提供 csv 文件。我做了以下事情:

但我收到以下错误:

知道出了什么问题吗?