首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dymola_InlineAfterIndexReduction

Dymola_InlineAfterIndexReduction
EN

Stack Overflow用户
提问于 2013-08-09 19:25:57
回答 1查看 56关注 0票数 0

这个问题与我在玩积木时遇到的一个问题有关。这是我的模型,

正如您所看到的,有两种连接,第一个连接的输入(从上到下)是u[1],u[2],u[3],其他的块都很清楚(所有默认值,除了步骤输入块的startTime = 5 )。

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

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

但是,第一个连接的行为非常不同。我们可以看到,它们都是法兰连接,角速度都是由flange_a/b.phi计算的,所以不管输入(realExperssion1)是什么,离合器中都没有角速度差。但有趣的是,当我模拟模型时,离合器的左法兰不动,右凸缘是旋转的。这是我结果的两幅图。

Connection1

Connection2

实际上,我希望看到flange_a.phiflange_b.phi都为零,然后我意外地删除了move块中的注释__Dymola_InlineAfterIndexReduction = true,然后模型的行为与我预期的一样。如果有人能帮我解释我所看到的,我很感激。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-10 14:13:41

Move模型的文档清楚地表明

用户必须保证输入信号是一致的。

在你的情况下,它们是不一致的。所以我不太惊讶你会得到一个奇怪的答案。我不清楚你为什么要走这条路。你在信息中暗示你会解释为什么,但我肯定不明白你的动机。我怀疑Move模型的存在是为了允许用户提供自己的位置、速度和加速度的显式函数,Dymola将在指数缩减期间使用这些函数,而不是从基本方程中生成这些函数。除非您能够提供一致的函数,否则根本不应该使用这个块。

你真的应该使用一个源,其中你只指定一个位置,速度和加速度。如果这是不可能的,那么我恐怕你将不得不解释为什么,所以我们可以试着理解你在这里真正想要达到的目标。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18154223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档