【OpenSEES】浅析Newton迭代(三):基于Krylov优化迭代算法
测试模型简介
算例如图2所示:杆件由柔性杆(element elasticBeamColumn 1 1 2 20 29000 1400 1)和刚性杆约束(rigidLink -beam 2 3)组成,一段支座固接,一段支座为滑动支座。因此,节点2和节点3应具有相同的水平位移和转角,节点2和节点3之前的垂直位移差等于转角乘以刚性杆长度。体系刚度矩阵如图1所示。
Lagrange拉格朗日乘子法
Lagrange(拉格朗日乘子法)命令主页如图2所示。Lagrange将拉格朗日乘子作为未知量引入平衡方程,通过调整比例因子可任意缩放约束方程。为在本算例中实现约束条件,与Penalty罚数相同,取1E4倍的柔性杆线刚度为比例因子,此时刚度矩阵如图2所示。可见,Lagrange增加了刚度矩阵的维度,将一定程度增加矩阵求解耗时。
由图2可知,采用Lagrange后刚度矩阵对角线上出现零值,但该矩阵并不奇异。此时采用部分求解器,如默认的ProfileSPD,将出现如图3所示的错误信息。
Transformation通过静态凝聚来实现多点约束,在收敛准则及求解器的选择上没有要求,但当某个节点包含多种不同形式的约束时,可能会产生错误的求解结果。如本算例,采用Transformation的求解结果如图5所示,结果不正确且未出现任何错误信息。
针对该问题,官网上有简短的总结,如图6所示。”If multiple nodes are constrained, make sure that the retained node is not constrained in any outher constraint “,用更简洁的话来说:多点约束的从节点不可被施加其他约束。
本推送算例中,通过“rigidLink -beam 2 3”进行刚性约束,其中节点3为从节点。此时,在Transformation中不允许节点3被施加其他约束,而该算例中通过“fix”约束节点3的竖向位移,因此出现错误的求解结果。可将“rigidLink -beam 2 3”修改为“rigidLink -beam 3 2”,使节点3变为主节点,求解结果如图7所示,为有效的求解结果。
-
小结
-
Plain仅适用于处理“fix”及“EqualDOF“约束问题; -
Penalty引入罚数实现约束,罚数应足够大以满足约束需求,但也不应过大避免方程组病态。由于罚数的存在,应使用仅与位移相关的收敛准则;
-
Lagrange将拉格朗日乘子作为未知量引入平衡方程(矩阵维度增加),通过比例因子实现约束。由于矩阵对角线存在零值,对求解器选择有要求(可使用UmfPack),若比例因子较大应使用仅与位移相关的收敛准则; -
Transformaion通过静态凝聚实现约束,对收敛准则及求解器无要求,但需注意多点约束的从节点不可被施加其他约束。
笔者推荐首选Transformation,当存在多点约束的从节点存在多类型约束时,建议使用Plenaty处理约束。
精彩回顾:
【会议总结】OpenSEES Days Eurasia 2019 in PolyU
【PBSD】【OpenSees】在2019日本E-Defense盲测比赛的表现
-
PBSD
【PBSD】2019年更新历史——结构抗震性能设计软件PBSD
【PBSD】超限工程好助手:结构抗震性能设计软件PBSD功能简介
【PBSD】【OpenSEES】【YTO】智能化的结构弹塑性分析全套解决方案
【PBSD】V1.0.5.0版正式发布:免费地震动工具箱之教学视频
【PBSD】【PERFORM-3D】性能前馈集中塑性铰单元的定义、优势与测试
【PBSD】性能前馈集中塑性单元PFLPH与纤维单元力学性能对比
-
OpenSees
【OpenSEES】OpenSEES历史版本下载:v1.7.2-v3.1.0
【OpenSees】应力元纤维单元的Localization Issues
【OpenSees】新版Ibarra-Medina-Krawinkler(IMK)模型的前世今生
【OpenSEES】浅析迭代(二):基于LineSearch优化迭代算法
【OpenSEES】浅析迭代(三):基于Krylov优化迭代算法
【OpenSees】SecAggregator为DispBC赋予剪切刚度乃无用功
-
WSAP
-
编程与工具
【工具】OSRun [OpenSees运行辅助工具][开源]
【工具】FSV [OpenSees纤维截面可视化工具][开源]