我正在 Dymola 中构建一个大型系统,我计划利用 Dymola 中的并行模拟潜力,但我只在帮助文档中找到两个常规设置。
我的问题是:
Modelica标准库中SpecificEnergy和SpecificEnthalpy的单位是“J/kg”,但我想用“kJ/kg”作为显示单位,我首先想到的是修改Modelica标准库,但我不是确定它会不会导致意想不到的问题,所以我想找到一种方法来自定义我自己的 Modelica 标准库。这样,我可以选择使用自己的版本或标准版本。
我的问题是:有这样的方法吗?
我想在Dymola中继承一个组件的时候修改注解部分,但是我不确定Modelica是否支持这种操作。
我的问题是:
Dymola*.bak-mo在删除文件时生成带有扩展名的备份文件。我可以完全永久地关闭它吗?我使用版本控制,所以我不需要那个文件。删除包时,甚至整个目录都保留下来。我也可以关掉吗?
我正在阅读 Modelica 标准库的代码。至于Modelica.Media.Examples.Utilities.ShortPipe,我发现图形显示与文本代码不一致。
我工作的一个简单的模型,其中包括的DY / DX衍生物,但在Modelica的,我不能这个方程直接写,我可以使用组合的x=time和der(y),但我认为这是因为Modelica的语言限制的妥协.
我的问题是:是否有另一种更好的方法来描述 Modelica 中的导数?
这是代码:
model HowToExpressDerivative "dy/dx=5, how to describe this equation in Modelica?"
Real x,y;
equation
x = time;
der(y) = 5;
end HowToExpressDerivative;
Run Code Online (Sandbox Code Playgroud)
我也试过用der(y)/der(x)来表达dy/dx,但是当 x 等于 时出现错误time^2。
model HowToExpressDerivative "dy/dx=5, how to describe this equation in Modelica?"
Real x,y;
equation
x=time^2;
der(y)/der(x)=5;
end HowToExpressDerivative;
Run Code Online (Sandbox Code Playgroud)
Error: The following error was detected at time: 0
Model error - division by zero: (1.0) / (der(x)) = (1) / …Run Code Online (Sandbox Code Playgroud) 我试图在Dymola中使用.mos文件进行多次模拟,因此我使用了for循环,但是它无法在我的计算机上打开多线程,我想问是否有一个函数可以让我在 .mos 文件中打开多线程?我已经知道“扫描参数”可以打开多线程,但我想使用.mos文件,因为我需要在几个不同的模型上进行模拟,而我只能在一个模型上使用“扫描参数”?
每次我在 Dymola 中进行模拟时,都会在工作目录中创建许多“无用”(对我来说)文件 - 即dsfinal.txt、dsin.txt、dslog.txt、dsmodel.c、dymosim.exe。我觉得这很烦人,因为它弄乱了我的目录。
有没有办法在模拟后只选择需要保留的输出文件,而不需要手动删除不需要的文件?
我\xe2\x80\x99已经使用 Dymola(2017 版)三个月了,我\xe2\x80\x99d 只是想问一个我几乎每天都会思考的简单问题。文件工具\xe2\x80\x9cOpen\xe2\x80\x9d和\xe2\x80\x9cLoad"之间有什么区别吗?我习惯使用Load进行 \xe2\x80\x9cload\xe2\x80\x9d库包和Open for \xe2\x80\x9copen\xe2\x80\x9d 模型文件,但我尝试切换它们几次,但我没有 \xe2\x80\x99 注意到任何差异。我猜它是\ xe2\x80\x99t 相关,实际上它\xe2\x80\x99s 只是出于好奇,但也许这个社区中的某人能够阐明为什么有两个按钮。提前致谢。
\n我在 Modelica 中有两个模型 (A&B),我想在模型 B 中调用模型 A 的参数。事实上,模型 A 计算参数的值,我需要访问模型 B 中的该值。我该怎么做?
我尝试“扩展”命令来连接两个模型,但组件也已连接,但我只需要该特定参数。