问题标签 [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.
modelica - FMU 2.0 交互 - 参数值等需要并行“容器”吗?
我在 Jupyter 笔记本中使用 pyfmi 来运行模拟,我喜欢以交互方式工作并评估参数等的增量变化。很久以前,我发现有必要引入一个字典,作为参数和初始值的“容器”。现在我想知道是否有一种方法可以摆脱这个“容器”,毕竟它在一定程度上是“模型”的平行结构?
典型的工作流程如下所示:
有一个函数 model.reset() 可以在编译时将状态恢复为默认值而无需再次加载,但您需要做的不仅仅是以下操作
所以,这是行不通的……在所有参数和初始值都需要恢复之后,我们仍然需要 parDict,但我们可以避免使用 load-command。
openmodelica - FMU 的通信频率与仿真时间
假设我们有一个 FMU,它从 Python 获取输入并以 0.001 秒的间隔进行模拟。FMI/FMU 标准是否允许我们为同一个输入多次运行 FMU(因此 Python 以 0.01 秒的间隔提供输入,而 FMU 在每一步模拟 10 次)?由于我们将通信接口减少了 1/10,这会更快吗?
python - 如何使用 FMPy 获取变量的单位?
我正在尝试从模型变量中获取单位以存储为元数据。有没有办法获取变量的单位?
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 的直接安装会更好。
谢谢!
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
反对?
simulation - 将多个 FMU 合二为一
我有一个 pandapower 网络,在一些公共汽车上,我将电池和光伏发电作为 FMU。现在我有一个主算法,可以创建不同 FMU 的输入和输出之间的连接并运行模拟。
我的问题是是否有可能将所有东西组合到一个 FMU 中,它将所有不同的输入和所有不同的输出组合在一起。
python - Jmodelica 无法通过 spyder 运行
我已经成功安装了 jmodelica,并通过 jupyter notebook 对其进行了测试。但是,当我尝试执行相同的过程,但随后打开 spyder 时出现错误。
具体来说,我正在做的是以下内容:
打开 anaconda 终端
激活我安装 spyder 的环境
cd 到安装文件夹
运行 setenv.bat 64
蜘蛛
我收到以下错误:
我在另一篇文章中注意到,创作者在使用 spyder 时也面临一些困难,但没有答案。知道我应该做什么吗?
path - 运行 JModelica 命令时出现警告(根 MODELICAPATH)
在 JModelica 命令运行期间,例如compile_fmu
我收到以下警告:
有谁知道为什么会这样?
python - 尝试使用来自 csv 文件的 4 个输入来模拟一个 FMU 时出错
我有一个 FMU 和 4 个输入,我想为它们提供 csv 文件。我做了以下事情:
但我收到以下错误:
知道出了什么问题吗?