问题标签 [jmodelica]
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 - 使用包含数组的三个方程编译代码时出现初始化错误
我正在尝试准备一个模型代码来理解数组和 for 循环。编译代码时,出现以下错误。
由于以下等式,初始化问题不一致: 0 != 1 = 1.0 - I[0] 初始化错误。存储结果并退出。
使用 -lv=LOG_INIT -w 获取更多信息。模拟过程失败。以代码 -1 退出。
我试图调整数组编号,看看是否可以解决。无法追踪代码失败的原因。
我期望得到三条曲线。
fmi - 使用 JModelica 设置 fmu 参数时出现问题 - “无法设置真实值”
我正在尝试使用用户手册第 4.4.1 节中给出的方法在 JModelica 中设置参数的值;但是,当我加载 fmu 并尝试更改值时,我收到消息:
我可以使用这种方法设置 fmu 的一些参数,但是这个方法就是不想工作。我还尝试使用 .get() 直接从 fmu 读取相同的变量来设置参数,但错误仍然存在。
有谁知道导致此错误的原因以及如何解决?
编辑:我尝试了其他一些参数,似乎只有分配了单位的参数才会出现错误,即功率和质量 [W] 流量 [kg/s] 单位的参数。这是否意味着只能使用这种方法更改 FMU 中真实且没有单位的参数?
jmodelica - JModelica 编译失败(make install)
我试图在我的 Ubunute 18.04 上安装 JModelica,但我总是得到一个 make 错误。(我已经安装了 python 和 python3 所需的包)
我按照其 userGuide.pdf ( https://jmodelica.org/downloads/UsersGuide.pdf ) 中的安装指南进行操作,直到我不得不安装它。
我得到以下错误输出(最后几行):
编辑: 几乎一切都在建设,但目标:
构建-python-packages
这会从上面抛出错误。但我无法识别错误的行。
modelica - 生成两个具有不同采样周期的随机时间依赖变量
在这个问题之后,我试图生成两个与时间相关的随机函数omega1
并tau
使用这个例子。不同之处在于我需要分别有两个不同的采样周期for和0.05
for 。我只是复制了我认为可以完成工作的部分:0.17
omega1
tau
但是我收到错误消息:
符号错误
给定的系统是混合确定的。[索引 > 3]
请检查选项“--maxMixedDeterminedIndex”。
翻译错误
没有生成符号初始化系统
如果您能帮助我了解问题所在以及如何解决,我将不胜感激。
PS考虑到这段代码在 Dymola 上编译得很好,这可能是 OpenModelica 的问题。因此,我添加了 JModelica 标签,以防这些人可以帮助我知道它是否在那里编译。
python - 无法将结果从 JModelica 检索回 Python
按照这个问题,我正在尝试使用 JModelica 编译和模拟 Modelica 模型。型号为:
Python代码是:
当我尝试调用结果时,该time = res['time']
命令似乎工作正常,但对于所有 lother 变量,例如vel = res['v']
,它返回此错误:
如果您能帮助我了解问题所在以及如何解决,我将不胜感激。
PS1。我也在Modelica Language Discord 频道上发布了这个问题。
PS2。我认为问题的出现是因为我正在解决一个包。如果改为模拟一个简单的模型,它可以检索变量。
PS3。我想我解决了这个问题。该行model_name = 'friction1D'
需要更改为model_name = 'friction1D.fricexample_1'
. 基本上应该是<packageName>.<modelName>
modelica - OpenModelica 和 JModelica 提供了截然不同的结果
在这个问题之后,我试图比较 JModelica 和 OpenModelica 之间的模拟结果。Modelica 文件与上述帖子相同,JModelica 包装器是更正版本:
导致:
和
但是如果我将 OpenModelica 中的模拟选项设置为:
这导致:
和
如果您能帮助我了解为什么结果如此不同以及如何使用这两种不同的编译器实现类似的模拟,我将不胜感激。
PS在 OpenModelica 论坛上发布了一个后续问题。
modelica - 具有超过 10000 个方程的模型 / NonLinearTearing / OpenModelica 标志用法
我正在运行相同的模型,但方程数量不同:
- 案例 1. - 方程数 < 10000
- 案例 2. 和方程数 > 10000
通过改变离散化(节点数)来改变方程的数量。
- 案例 1. (9974 eq.) - 运行没有任何问题,模拟相当快(总时间 18 秒)。
- 案例 2. ( 10410 eq.) – 仿真时间急剧增加 ~1h++。
我尝试使用:
--maxSizeNonlinearTearing=11000 标志,通过在“模拟设置”->“翻译标志”->“附加翻译标志”中添加。
不过模拟时间没有变,相比18sec还是很长,没有任何意义。所以我认为,撕裂的旗帜不起作用。
另外,我尝试同时使用两个标志:
--maxSizeNonlinearTearing=11000 --maxSizeLinearTearing=1000”</p>
当鼠标悬停在“附加翻译标志”上时,我通过添加一个空格来分隔标志,因为它在弹出窗口中显示。启动模拟后,我收到消息:
“标志 maxSizeNonlinearTearing 的类型无效,需要一个整数值,但得到一个值列表..”
所以很可能我没有正确使用它们。我试图在https://www.openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html上找到一些信息
但我找不到任何例子。作为一名非计算机科学家,我认为很少有简单的、真实的例子。
如果有人能建议如何处理具有超过 10000 个方程的 OpenModelica 标志和模型,那就太好了。
modelica - 不同的 Modelica 仿真环境有什么区别?
有不同的 Modelica 仿真环境,包括 Dymola、Wolfram SystemModeler、OpenModelica 和 Jmodelica。所以,我尝试加载一个热流体库(ThermoSysPro https://github.com/Dwarf-Planet-Project/ThermoSysPro),但除了 Dymola,其他软件上的结果都以错误结束。
如果库和仿真环境都基于 Modelica 规范标准,为什么会出现兼容性问题?我认为该库可能包含一些仅由 Dymola 支持的功能。谁能澄清这些模拟环境之间的区别?
modelica - 替换 Modelica 中已弃用的函数基数(c)
在文档中指出,该cardinality()
功能已被弃用,不应再使用。但是,它仍然在 ThermoSysPro 等库中使用。
例如
C
在哪里FluidInlet
或FluidOutlet
谁能举一个简单的例子来说明如何替换它?
modelica - 如何在 JModelica 中读取 .mat 输出文件?
为了节省时间,我试图读取.mat
文件而不是再次模拟模型。
我用过scipy.io.loadmat
,但效果不好:
键不是变量名,我不知道如何获取变量值。
然后我搜索分辨率,发现DyMat,它适用于其他变量但无法获取time
.
那么,如何在 JModelica 中获取所有结果?(当然不用打开 Matlab。)比如,JModelica 中的内置函数?
非常感谢!