复杂形态钢结构设计培训班

首页 结构乌托邦-公众号 【OpenSees】浅析约束处理方法(二):Lagrange、Transformation

【OpenSees】浅析约束处理方法(二):Lagrange、Transformation

“Lagrange拉格朗日乘子法、Transformation
OpenSees分析模块有约束处理方法ConstraintHandler、自由度编排方式DOF_Numberer、迭代算法SolutionAlgorithm、线性方程求解器Solver、收敛准则ConvergenceTest五部分组成。其中,迭代算法的推送可见:
【OpenSEES】浅析Newton迭代(一):减少刚度重构工作量与减少迭代次数谁更有意义?
【OpenSEES】浅析Newton迭代(二):基于LineSearch优化迭代算法

【OpenSEES】浅析Newton迭代(三):基于Krylov优化迭代算法

为处理模型中的单点约束(如fix)及多点约束(如rigidDiaphragm、EqualDOF),必须通过ConstraintHandler定义约束处理方法。OpenSees具有四种约束处理方法:PlainPenalty(罚数法)Lagrange(拉格朗日乘子法)Transformation。采用任意一种约束处理方法,在特定的情景下均可能出现求解问题
上期推送(【OpenSees】浅析约束处理方法(一):Plain、Penalty)分享PlainPenalty(罚数法)。本期推送将通过算例,在浅析Lagrange(拉格朗日乘子法)Transformation的同时,复现可能会引发错误的环节。点击“阅读原文”可查看与本推送相关的测试算例。

测试模型简介

算例如图2所示:杆件由柔性杆(element elasticBeamColumn 1 1 2 20 29000 1400 1)和刚性杆约束(rigidLink -beam 2 3)组成,一段支座固接,一段支座为滑动支座。因此,节点2和节点3应具有相同的水平位移和转角,节点2和节点3之前的垂直位移差等于转角乘以刚性杆长度。体系刚度矩阵如图1所示。

图1 测试算例与体系刚度矩阵

Lagrange拉格朗日乘子法

Lagrange(拉格朗日乘子法)命令主页如图2所示。Lagrange将拉格朗日乘子作为未知量引入平衡方程,通过调整比例因子可任意缩放约束方程。为在本算例中实现约束条件,与Penalty罚数相同,取1E4倍的柔性杆线刚度比例因子,此时刚度矩阵如图2所示。可见,Lagrange增加了刚度矩阵的维度,将一定程度增加矩阵求解耗时

图2 Lagrange主页与处理后的刚度矩阵

由图2可知,采用Lagrange后刚度矩阵对角线上出现零值,但该矩阵并不奇异。此时采用部分求解器,如默认的ProfileSPD,将出现如图3所示的错误信息。

图3 Lagrange与ProfileSPD
为解决此问题,可使用UmfPackFullGeneral求解器。求解后可获得如图4所示的有效求解结果。若引入较大的比例因子,与Penalty罚数法相同,应采用仅与位移相关的收敛准则(如NormDispIncr等)。

图4 Lagrange与UmfPack

Transformation

Transformation通过静态凝聚来实现多点约束,在收敛准则及求解器的选择上没有要求,但当某个节点包含多种不同形式的约束时,可能会产生错误的求解结果。如本算例,采用Transformation的求解结果如图5所示,结果不正确且未出现任何错误信息

图5 Transformation错误的求解结果

针对该问题,官网上有简短的总结,如图6所示。”If multiple nodes are constrained, make sure that the retained node is not constrained in any outher constraint “,用更简洁的话来说:多点约束的从节点不可被施加其他约束

图6 Transformation主页

本推送算例中,通过“rigidLink -beam 2 3”进行刚性约束,其中节点3为从节点。此时,在Transformation中不允许节点3被施加其他约束,而该算例中通过“fix”约束节点3的竖向位移,因此出现错误的求解结果。可将“rigidLink -beam 2 3”修改为“rigidLink -beam 3 2”,使节点3变为主节点,求解结果如图7所示,为有效的求解结果。

图7 Transformation正确的求解结果
  • 小结
结合上期推送,可得以下小结论:
  • Plain仅适用于处理“fix”EqualDOF约束问题;
  • Penalty引入罚数实现约束,罚数应足够大以满足约束需求,但也不应过大避免方程组病态。由于罚数的存在,应使用仅与位移相关的收敛准则

  • Lagrange将拉格朗日乘子作为未知量引入平衡方程(矩阵维度增加),通过比例因子实现约束。由于矩阵对角线存在零值,对求解器选择有要求(可使用UmfPack),若比例因子较大应使用仅与位移相关的收敛准则
  • Transformaion通过静态凝聚实现约束,对收敛准则及求解器无要求,但需注意多点约束的从节点不可被施加其他约束

笔者推荐首选Transformation,当存在多点约束的从节点存在多类型约束时,建议使用Plenaty处理约束。

点击“阅读原文”可查看与本推送相关的测试算例。

精彩回顾:

【会议总结】OpenSEES Days Eurasia 2019 in PolyU

【PBSD】【OpenSees】在2019日本E-Defense盲测比赛的表现

【YJK】弹性时程分析如何考虑周期折减系数
  • PBSD

【PBSD】2019年更新历史——结构抗震性能设计软件PBSD

【PBSD】超限工程好助手:结构抗震性能设计软件PBSD功能简介

【PBSD】功能介绍及应用教学回顾[含视频]

【PBSD】构件变形指标VS材料应变指标:从评估敏感性出发

【PBSD】【PERFORM-3D】YTP导模工具使用手册

【PBSD】【OpenSEES】【YTO】智能化的结构弹塑性分析全套解决方案

【PBSD】V1.0.5.0版正式发布:免费地震动工具箱之教学视频

【PBSD】地震动工具箱:多频段选波方法详解

【PBSD】一键弹塑性报告功能演示

【PBSD】【PERFORM-3D】性能前馈集中塑性铰单元的定义、优势与测试

【PBSD】性能前馈集中塑性单元PFLPH与纤维单元力学性能对比

【PBSD】【PERFORM-3D】弹塑性模型刚度调整

【PBSD】人工波生成功能测试 [开源]

【PBSD】弹性时程分析的实现与功能测试

【PBSD】【OpenSEES】2019年精选推送集锦

【广东省性能设计规程】与国家高规对比浅谈反应谱的修正与完善

【广东省性能设计规程】性能设计基本方法与PBSD的实现
  • OpenSees

【OpenSEES】OpenSEES历史版本下载:v1.7.2-v3.1.0

【OpenSees】浅析两类纤维单元:位移元与应力元

【OpenSEES】24类纤维截面剖分TCL函数

【OpenSees】浅析纤维单元的数值积分方法

【OpenSees】浅析分布塑性铰单元的数值积分方法

【OpenSees】应力元纤维单元的Localization Issues

【OpenSees】宏观梁柱单元的强度软化模拟

【OpenSEES】浅析纤维单元(一)

【OpenSEES】浅析纤维单元(二)

【OpenSEES】浅析纤维单元(三)

【OpenSees】新版Ibarra-Medina-Krawinkler(IMK)模型的前世今生

【OpenSees】浅析剪力墙宏观单元:MVLEM

【OpenSees】浅析剪力墙宏观单元:SFI-MVLEM

【OpenSees】浅析剪力墙宏观单元:分层壳单元

【OpenSEES】浅析迭代(一)

【OpenSEES】浅析迭代(二):基于LineSearch优化迭代算法

【OpenSEES】浅析迭代(三):基于Krylov优化迭代算法

【OpenSees】SecAggregator为DispBC赋予剪切刚度乃无用功

【OpenSEES】PM截面分析实例

【OpenSees】如何利用应变控制截面分析的进程

【OpenSEES】低周往复加载实例:荷载位移双控

【OpenSees】SDOF非线性动力时程分析的实现与算例

  • WSAP

【WSAP】结构力学求解器(一):二阶效应分析[开源]
【WSAP】结构力学求解器(二):模态分析[开源]
【WSAP】结构力学求解器(三):杆端释放[开源]
【WSAP】结构力学求解器(四):单元荷载定义[开源]
  • 编程与工具

【编程】Python效率测试与调用.Net的基本方法

【编程】分段解析法及多软件反应谱求解结果对比探究[开源]

【编程】基于神经网络预测加速度反应谱——SRP第一课

【编程】基于C#绘制反应谱曲线——SRP第一课

【工具】PC端文字识别小工具2.0[Mini_OCR]

【工具】OpenSEES_XML分析结果提取工具[开源]

【工具】OSRun [OpenSees运行辅助工具][开源]

【工具】FSV [OpenSees纤维截面可视化工具][开源]



本文来自网络,不代表钢构人的立场,转载请注明出处。搜索工程类文章,就用钢构人网站。 https://www.ganggouren.com/2020/12/ef11e83157/
上一篇
下一篇

作者: ganggouren

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部