首页/文章/ 详情

【结构阻尼讨论一】瑞丽阻尼设置问题的讨论--来自OpenSEES 社区

10月前浏览3219

00

研究笔记

Angus' opnion

结构阻尼的设定是结构动力非线性的一个很重要的参数,在接下来的三个推文里,Angus 将详细探讨结构阻尼的构建的本质,瑞丽阻尼的局限,阻尼参数设置和非线性收敛优劣的关系以及对动力分析计算结果的影响。今天整理的是来自OpenSEES论坛对瑞丽阻尼设置的一些常见问题以及fmk等 前辈的回答,希望能够给大家一些思路。


提问:

我想问一个关于Rayleigh命令的问题。

Rayleigh命令的用法如下:rayleigh $alphaM $betaK $betaKinit $betaKcomm

我可以看到,$alphaM与教授Chopra所著的《结构动力学》一书中解释的'a0'项相同。而$betaKinit与结构动力学中的'a1'项有关。$betaK似乎与单元进入非弹性范围时的切线刚度有关。问题是,我不知道$betaKcomm的作用是什么。

在命令手册中,它说"factor applied to elements committed stiffness matrix."。我不知道'committed'是什么意思。如果有任何帮助、建议或参考资料推荐,我将不胜感激。

此致


fmk回复:

这些系数类似于Rayleigh阻尼的betak,这里我们只是在阻尼方面提供更多的控制。C = a0 * M + betaK * 当前刚度 + betaKinit * 初始刚度 + betaKcomm * 最后收敛步骤的刚度(编者:即上一次荷载步收敛的刚度,每一个荷载步下的迭代计算不更新结构的刚度矩阵)。Chopra教授推荐使用betaKinit 。betaK和betaKcomm可以导致一些令人思考的的力与位移曲线,例如在使用塑性铰时。其他人认为使用betaKinit可以导致较高的阻尼力,比如Hall。


提问者追问

亲爱的fmk,

感谢你,很抱歉回复的有点晚。

我理解到了。当没有提供适当的理由时,建议使用'betaKinit'。但我想问的是,在OpenSEES中如何测量'$betaKcomm'。以下是我对"$betaK"的一些推测:$betaKinit似乎与在结构(或单元等)在非常小位移时的弹性行为对应的刚度。$betaK似乎是结构在非弹性行为时的切线刚度。但我不知道如何测量$betaKcomm?

我还想提出另一个问题。我阅读了一些关于Rayleigh阻尼的论文,我发现了这篇文章:http://onlinelibrary.wiley.com/doi/10.1 ... 2/abstract

该论文建议使用OpenSEES中实施的“模态叠加法”。这个方法仍在开发中吗?还是已经实施了?


fmck回复:

betaKcomm上一个时间步更新使用刚度矩阵。对于模态问题,这个功能在可下载的版本中可用。并非所有求解器都已修改为与其配合使用,除了稀疏求解器外,其他求解器都应该能正常工作,而且目前还不支持并行计算。

有两个命令:modalDamping $ratiomodalDampingQ $ratio

后者在切线矩阵中不添加任何阻尼部分。该命令使用现有的特征向量,因此必须先执行eigenvector命令。当前无法通过wipe命令移除该因子,因此如果在脚本中想要使用模态阻尼,然后使用Rayleigh阻尼,需要在分析之前以0比例调用modal命令。可以通过modal命令与Rayleigh命令一起使用,以阻尼未被覆盖的高频模态,正如Powell教授在PERFORM手册中建议的那样。至今还没有遇到这个问题(根据我查看的回复),所以不知道这是否是一个问题,因为至少对于位移响应来说,响应是由基频模态控制的。

我还没有完全完成它,还有一些我想要添加的功能,比如能够为不同的模态设置不同的阻尼比,并使其能在并行计算中工作。如果你注意到任何问题,请告诉我,因为我仍在确保它适用于所有情况之前,这些命令将会添加到命令手册中。


提问者追问

亲爱的fmk,

非常感谢你的回复!

我会尝试使用modalDamping命令,并且如果有任何问题,我会向你请教的。

我还想再问一个问题。如果'betaKcomm'是最后一个已提交时间步的刚度矩阵,那么betaKCurrent和betaKcomm之间有什么区别呢?这对我来说真的很令人困惑...因为我原本认为'当前刚度矩阵'是最后一个已提交时间步的刚度矩阵... betaKCurrent是否与试验时间步的刚度矩阵有关?


fmk回复:

betaKCurrent表示当前非线性迭代中的当前尝试迭代步的刚度矩阵。而betaKcomm表示上一个荷载步最后一个迭代尝试步的刚度矩阵。


另一个用户补充回复

在手册中的案例中,使用"betaKcomm"来定义Rayleigh阻尼(xi=0.02),并且"betaKCurrent"和"betaKinit"都为零,可能是因为这些案例主要是为了演示如何使用最后一个已提交时间步的刚度矩阵("betaKcomm")来应用阻尼。在结构动力学分析中,使用最后一个已提交步的刚度矩阵来应用阻尼是一种常见做法。

然而,选择"betaKcomm"、"betaKCurrent"和"betaKinit"取决于具体的分析需求和假设。以下是对每种选项适用情况的简要说明:

  1. "betaKcomm":当您希望基于最后一个已提交时间步的刚度矩阵应用阻尼时,通常使用这个选项。适用于希望在每个已提交步骤时更新阻尼的情况,如非线性分析。

  2. "betaKCurrent":当您希望基于非线性迭代中当前试验步骤的刚度矩阵应用阻尼时使用此选项。通常在考虑非线性行为对阻尼影响时使用。

  3. "betaKinit":当您希望基于结构的初始刚度矩阵应用阻尼时使用此选项。适用于假设弹性模态特性且阻尼在分析过程中不会发生显著变化的情况。

选择哪种选项取决于具体的问题、分析要求和您希望准确捕捉的行为。

希望这次能满足你的要求。如果还有其他问题,请随时提问。谢谢。


fmk补充回复:

在与 Chopra 教授一起研究这个主题之后,我还没有更新案例以反映这一点。因为很多示例已经在网上,获取它们将会很有趣。此外,OpenSEES用户不能排除在总的切向刚度矩阵排除部分单元的几何刚度影响(这些单元可能很大程度使得计算收敛性很差)。结构的阻尼是来源于单元,然后加入到整体结构刚度矩阵中的。

来源:xinchenxuan828
非线性二次开发理论控制试验STKO
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-27
最近编辑:10月前
OpenSEES抗震笔记
博士 Angus.Zhang
获赞 51粉丝 78文章 48课程 1
点赞
收藏
未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈