问题标签 [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.

0 投票
2 回答
1445 浏览

visual-studio-2010 - 如何在 Dymola (Modelica) 中使用 /bigobj 进行编译

我正在将一个相对较小的有限元 (FE) 模型集成到 Modelica 中。为此,我创建了一个模型(Modelica 类),它可以读取 Matlab 二进制文件格式的质量 (M) 和刚度 (K) 矩阵。我将 FE 模型与 Modelica 标准库 (Modelica.Mechanics.MultiBody) 中的一些组件连接起来。如果 M 和 K 非常小(例如 20x20),则 Dymola 能够运行模型并提供与 Abaqus 相比相当准确的结果(但计算效率不高)。但是,如果我增加包含较大 M 和 K 的 FE 模型的复杂性(例如 size(M)=[200,200]),则 Dymola 会提供以下错误:

编译和链接模型 (Visual C++)。

设置使用 Microsoft Visual Studio 2010 x86 工具的环境。dsmodel。 C

生成代码...

c:\sentient\src\gll\gearlibrary\dsmodel.c(185115):致命错误 C1128:超出目标文件格式限制的节数:使用 /bigobj 编译

生成 Dymosim 时出错。

我将 Visual Studio C++ Express Edition (10.0) 与 Dymola 连接起来。

在我看来,Dymola 为 M 和 K 的每个实体提供了一个变量名。这超出了 C++ 编译器的最大对象限制。

我怎样才能防止 Dymola 这样做?如何在 Dymola 环境中设置 /bigobj?

0 投票
1 回答
55 浏览

modelica - Dymola_InlineAfterIndexReduction

这个问题与我在玩一些积木时遇到的问题有关。这是我的模型,在此处输入图像描述

如您所见,有两种连接,第一种连接的输入(从上到下)是u[1],u[2],u[3],其他块非常不言自明(所有默认值,除了startTime = 5步进输入块)。

据我所知,第一种连接只输出角速度,但不输出角和角加速度(它们都为零),这有点不现实(我会解释为什么这样做)。第二个连接也输出角速度。

我的问题是,在第二次连接中,离合器似乎工作正常(5秒后离合器接合(相对角速度w_rel = 0))

但是,第一个连接的行为完全不同。我们可以看到它们都是法兰连接,角速度都是从 计算出来的flange_a/b.phi,所以我们应该期望无论输入(realExperssion1)是什么,离合器都没有角速度差。但有趣的是,当我模拟模型时,离合器的左法兰没有移动,而右法兰在旋转。这是我的结果的两个图。

连接1 在此处输入图像描述

连接2 在此处输入图像描述

实际上,我应该期望看到flange_a.phiflange_b.phi都为零,然后我不小心删除__Dymola_InlineAfterIndexReduction = true移动块中的注释,然后模型的行为符合我的预期。如果有人可以帮助我解释我所看到的,我将不胜感激。多谢!

0 投票
1 回答
484 浏览

modelica - Dymola/Modelica 中的 openModelFile 和 openModel 命令有什么区别?

这个问题中,我询问了如何在启动时将自定义包添加到 MODELICAPATH,但答案有些含糊。根据答案,我可以使用

或者

我想知道这些命令有什么不同,如果有的话,以及何时使用其中一个。

编辑:如果您回答,请在 Modelica 文档中提供来源。我什至不知道如何浏览文档以找到这些命令,所以这可能是一个很大的障碍。

0 投票
3 回答
418 浏览

modelica - 如何解决此代码中与维度相关的错误?

我在 Modelica 中编写了一个代码来为我的硕士论文训练一个前馈两层神经网络。该代码接收一个包含六个元素的向量 (u[nin]) 并提供一个包含两个元素 y[nout] 的输出向量。当我在 dymola 中翻译代码时,我收到一条错误消息,指出特定代码行中包含的部分的维数必须相等。一旦我删除了这个特定的行,代码就会成功翻译。我真的花了很多精力试图解决这个错误,但徒劳无功!任何有关该问题的帮助将不胜感激。

代码如下:(请注意,导致翻译错误产生的行在代码中用 // 标记)。

0 投票
2 回答
1074 浏览

interpolation - Dymola/Modelica 中的插值?

我需要在 Dymola Modelica 中对一些表格数据进行插值,但我只能找到一个进行线性插值的函数 (Modelica.Math.Vectors.interpolate)。我真的需要某种高阶插值,例如多项式或最好是样条。有没有人写过一个函数来做到这一点?

0 投票
1 回答
309 浏览

python - Python - Modelica connection fails due to import error

I am trying to connect Modelica and Python using the Python27 block, provided by the Berkeley Simulations Lab:

http://simulationresearch.lbl.gov/modelica

I use this block to call a Python function:

works perfectly.

Now I need to import some modules

works aswell

Only now I want to import a module that is not part of Python but a site-package:

This does not work. It does not matter if I import the BACpypes module inside a function or globally - the error is always

Colleagues pointed me to the idea that it might be related to a multiple import problem. The function is being called by Modelica every 10 seconds (real-time-simualtion).

If I call the function Test1 outside of Modelica, there is no problem. It only fails using the Python27 block!

Does anyone have an idea about how to make the BACpypes import work?

UPDATE 2013-10-16:

I printed out the value of sys.argv for the script excecution in the Python directory and an excecution from Modelica.

sys.argv from Python directory:

sys.argv if function is called from inside Modelica:

Might this in any way be related to the error message I get?

0 投票
1 回答
1287 浏览

arrays - Modelica中向量和数组的区别

我在 Modelica 库 (Modelica.Blocks.Continuous.TransferFunction) 的传递函数块中注意到以下行:

我不明白“向量”函数调用的作用,以及为什么它甚至是必要的。不会

导致同样的结果?

我在 Modelica Language Specification 3.2 中找到了以下解释,但它并没有真正帮助:

“vector(A) - 如果 A 是一个标量,则返回一个 1 向量,否则返回一个包含数组所有元素的向量,前提是最多只有一维size > 1。”

我假设整个故事是基于 Modelica 中数组和向量之间的一些差异。如果有人帮我解决问题,我将不胜感激。

0 投票
2 回答
497 浏览

modelica - Dymola 问题:“Dymosim.exe 已停止工作”

我正在使用 Dymola 2012 运行大型热流体系统仿真。

在模拟结束时,我收到以下警告消息:“Dymosim.exe 已停止工作”。我可以通过单击“关闭程序”(另一个选项是单击“调试”)来解决此问题,然后模拟可以成功完成。但是,这在运行参数研究时会带来一些麻烦,我必须为每次运行手动单击“关闭程序”。

有人遇到过 Dymola 的此类问题吗?如果您能为我分享一些建议,我将不胜感激。上述问题发生在 32 位和 64 位 Dymola 2012 中,我使用 Visual C++ 2010 Express Edition 作为编译器。

非常感谢,

鹏飞

0 投票
2 回答
430 浏览

modelica - Modelica.Media.R134a 错误

在 Modelica 标准库 3.2.1 中包含了制冷剂 R134a 的模型,但它似乎无法与 Modelica.Fluid 一起正常工作。在一个简单的例子中DynamicPipe,它会导致以下错误:

use_T_start是假的。这里有什么问题?如何解决?

TIA

更新:

选择的状态是 h 和 p,因为它应该是。pTX 调用的参数似乎是所选介质的默认值。

PartialStaggeredFlowModel使用Medium.density_pTXand Medium.setState_pTX,但将它们更改为各自的 phX 函数并不能解决问题。

0 投票
1 回答
781 浏览

dymola - 在modelica中编译后如何改变参数

我写了一个有限体积模型。参数 n 表示卷数。翻译后参数不可修改。Dymola 给出了这样的信息:

警告:设置 n 对模型没有影响。翻译后您只能设置文字起始值和非评估参数。

我认为问题在于参数 n 用于方程式部分。在那里我使用以下代码:

我还使用 n 来计算 T 的初始值。

目的是制作一个重复执行模型但具有不同 n 的脚本。我怎样才能做到这一点?