问题标签 [dymola]
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.
utf-8 - Modelica 编码问题
从 Modelica 3.2(2010 年 3 月发布)开始,允许在注释、描述字符串和/或注释中使用任意 Unicode 字符。
但由于某种原因,我在使用如下代码时遇到了问题:
要重现我的问题,请尝试以下 UTF-8 往返:
- 将上述文本复制并粘贴到您喜欢的文本编辑器中
- 使用 UTF-8(带或不带 BOM,或任何其他编码)保存文件并关闭
- 在最喜欢的编辑器中再次打开,然后在 OpenModelica 和 Dymola 中打开(按此顺序)
- 如果一切看起来还不错,请点击 Dymola 中的保存按钮(可能删除一个字符并重新输入)
- 在最喜欢的编辑器 OpenModelica 和 Dymola 中再次打开
- 至少某些符号在某处看起来会有所不同
有人可以告诉我如何以一种在任何地方看起来都不错的方式保存该文件吗?还是我期望太高?什么必须修复,在哪里?
dymola - Modelica Dymola:如何在状态图仿真期间更改组件参数?
假设我有一个流体模型,具有初始压力、温度、阀门设置等。
有没有办法运行状态图模拟,其中每个状态都包含模型的新组件参数设置,即某些选定组件的某些参数在一个状态期间更改,并在下一个状态期间再次更改?
例如,在 State1 期间,让我们设置以下组件参数的值:
- 源压力 = 1
- 源.温度 = 1
- 阀门1.开度 = 1
直到 State1 切换到 State2,其中参数为:
- 源压力 = 0.5
- 源.温度 = 0.5
- 阀门1.开度 = 0.5
谢谢你的时间 :-)
modelica - Dymola 中的录音通话问题
以下包'RecordTest'(重现更大模型的错误的示例)包含一个记录来定义一些数据的结构。进一步在包“DataDefintion”中定义了两组数据。最后,此数据应在包“UseOfData”中使用。这里读取数据集,并在函数“FunctionWithData”中评估所有数组 A 的总和。
模型“FunctionCall”的模拟在 OpenModelica 中运行良好。在 Dymola 中,我收到错误消息:“对于变量包常量 RecordTest.UseOfData.ReadData[1].A,数组变量的下标 RecordTest.UseOfData.ReadData.Index 不是整数。”
我想念什么吗?常量“Index”被定义为记录“DataStructure”中的一个整数。此外,该模型在 OpenModelica 中运行。我不明白 Dymola 的错误。
提前致谢。
modelica - 使用 Dymola 模拟电气驱动器
是否有人在电气驱动模拟领域与 Dymola 合作?
modbus - Modelica Modbus 通信
我需要创建一个硬件在环测试设置。我将使用 Modelica (Dymola) 对系统进行实时仿真。Dymola 应该向/从某些硬件发送/接收数据,并将接收到的数据输入到模型中。我正在尝试通过串行连接与 Modbus 通信。硬件是类似 PLC 的设备,因此这似乎是首选方法。
我还没有硬件,所以我正在使用 Arduino Uno 进行测试。我已经从这里在 Arduino 上安装了一个 Modbus 从库,并使用 Modbus 测试仪对其进行了测试。
我不知道如何与 Dymola 交流。我已经尝试过Modelica_DeviceDrivers库,并且能够从 arduino 发送或接收(不能同时发送)数据,但不能通过 Modbus 协议。我的问题是是否有任何用于 modbus 通信的 modelica 库或任何其他方式从 Dymola/modelica 完成此任务?
algorithm - Modelica 算法和方程 - 变量和方程的数量
我正在尝试将输入/输出连接器构建为接口并将它们添加到包装模型的包装器类中。连接器的变量是使用条件声明定义的。当我在包装类中实例化输出连接器时,当我使用“方程式”部分时,我可以在 Dymola 中成功编译该类。但是当我将其更改为“算法”部分时,我收到一个错误:
我很难理解这个错误。我知道算法部分和方程式部分之间的一般区别,但无法将我的知识与我得到的错误联系起来。我创建了一个我要编译的小例子:
以下是连接器定义:
和包装模型
谁能帮我解决这个问题?非常感谢!
python - Python/Modelica:模拟扩展模型
我想在 python 中运行 modelica(Dymola) 参数研究。
我的代码:
我设置:我期望每个变量有 262800 个值——但我只得到每小时值(8761)。当我直接在 Dymola 中导出值时,我得到 262800。
matrix - 在 Dymola/Modelica 中使用矩阵操作的最大大小是多少?
我想知道我们可以在 Dymola(Modelica) 上使用的每个已知和可能的操作的矩阵维度是否有限制或最大值?
如果它存在,这个限制会因为其他操作而减少到什么程度?例如 Open Modelica 的值是否相同?
compilation - Dymola 中的初始化受注释标志评估的影响
正如标题中已经提到的,我的(多体)模型的初始化受注释(评估)的影响。
在模型中实现新参数par
后,如果我使用初始化总是失败:
但如果我使用
有用。
不幸的是,第一个选项对我来说不是一个好的解决方案,因为我希望能够在编译时间之后设置参数值。
当其中一个参数设置为 时,模型结构究竟会发生什么evaluate=false
?除了初始条件,我还应该检查什么?
function - Dymola getExperiment() 访问
有谁知道如何访问 Dymola 内置函数 getExperiment(); 的特定输出?不幸的是,它只返回实数标量 StartTime。该函数似乎定义如下:
我的测试模型是:
具有以下功能:
我得到的错误信息是:
编译和链接模型 (Visual C++)。
dsmodel.c dsmodel.c(32):错误 C2079:“dummy_mult_”使用未定义的结构“getExperiment_struct” dsmodel.c(32):警告 C4013:“getExperiment”未定义;假设 extern 返回 int dsmodel.c(33):错误 C2224:“.StartTime0_0_0member”左侧必须具有结构/联合类型 dsmodel.c(34):错误 C2224:“.OutputInterval0_0_0member”左侧必须具有结构/联合类型
生成 Dymosim 时出错。
预先感谢您的帮助!