本推送是迭代三部曲的最后一篇。第一篇推送【OpenSEES】浅析Newton迭代(一):减少刚度重构工作量与减少迭代次数谁更有意义?分享了几类基础的牛顿迭代算法;第二篇推送【OpenSEES】浅析Newton迭代(二):基于LineSearch优化迭代算法分享线搜索在牛顿迭代中的应用。本次推送将和大家分享克雷洛夫子空间优化迭代算法(Krylov-Newton)的原理及其相应的实例。点击“阅读原文”可下载本推送的算例模型、相应工具源码及参考资料。
数学中的Krylov
但当刚度矩阵K为大型稀疏矩阵时,求逆则异常困难。Krylov想出一种聪明的方法来代替矩阵求逆,如式(2)所示。式中Betai为未知量,m为Krylov子空间维度(需小于刚度矩阵k的维度)。如此处理,便不用再对大型系数矩阵求逆,只要求出方程中Betai的值便齐活!
针对这种情况,最常用的方法之一是最小二乘法,对Betai偏导得式(4)进而求解Betai,顺利将高维矩阵求解转化为m个方程m个未知数的方程组问题。
采用与推送【OpenSEES】浅析Newton迭代(一):减少刚度重构工作量与减少迭代次数谁更有意义?相同的测试模型。为让每个迭代算法均各尽其能,简单补充了小算法:当分析不收敛时自动缩短积分补步长并增加最大迭代次数(点击“阅读原文”可下载,包含于“1_Function.tcl”)。
迭代方法分别采用搜索容差0.1的线搜索牛顿法(NRLS)、维度3及维度8的克雷洛夫牛顿法(KNR),采用人工波进行0.6g、0.8g、1.0g的动力弹塑性时程分析。
-
收敛性对比
-
迭代耗时对比
从迭代次数及迭代耗时的角度,带线搜索的牛顿法(NRLS)迭代次数及耗时均优于克雷洛夫牛顿迭代(KNR)。这主要由于KNR基于常刚度假定进行迭代优化,因此易导致错误迭代方向致使产生大量无效迭代。
-
小结
提升子空间维度可提高收敛性,但小容差线搜索优化效果明显优于克雷洛夫。
点击“阅读原文”可下载本推送的算例模型、相应工具源码及参考资料。更多信息详看”README.md“。
精彩回顾: 【会议总结】OpenSEES Days Eurasia 2019 in PolyU 【PBSD】2019年更新历史——结构抗震性能设计软件PBSD 【PBSD】超限工程好助手:结构抗震性能设计软件PBSD功能简介 OpenSees 【OpenSEES】OpenSEES历史版本下载:v1.7.2-v3.1.0 【OpenSees】应力元纤维单元的Localization Issues 【OpenSEES】浅析迭代(二):基于LineSearch优化迭代算法 【OpenSees】SecAggregator为DispBC赋予剪切刚度乃无用功 工具 【工具】OSRun [OpenSees运行辅助工具][开源]