Board logo

标题: 动力松弛法的收敛条件 [打印本页]

作者: 尽一日之勤    时间: 2014-10-2 18:41     标题: 动力松弛法的收敛条件

动力松弛法用于张力结构的静力分析时,根据文献Form Finding and Analysis of Tension Structures by Dynamic Relaxation (作者Barnes)给出的算法收敛及稳定准则,虚拟质量可取为K/2(偏保守),其中K为节点的最大可能刚度,然而这一提法本身就概念模糊,因为张力结构的切线刚度要用刚度矩阵来表示,而与某节点相关的刚度系数则对应于刚度矩阵的某一行,而无法用一个值来描述,而大多数国内文献采用汇交于该点所有单元的轴向刚度和和力密度代数相加并求和,个人认为没有道理,如这样取值,由于每一步的力密度都在变化,虚拟质量每一步也要跟着变化吗?求高人赐教,谢谢。
作者: sofwater    时间: 2014-10-6 19:34

其实单个点K的取值并没有太大关系,这个算法重点在于不同的点的相对刚度要大致符合结构的特征。虚拟质量可以每一步变化,也可以根据初始状态一直不变,这取决于你选取的初始状态是不是比较接近平衡状态。

其实动力松弛法从本质上来说只是一种解方程的收敛算法,关键点在于它采用点位移的平方之和作为判断收敛的标准,与物理上的动势能转化比较类似,所以就打了这块牌子,让这个算法看上去比较高大上,所以实际运用中深究这个理论中的虚拟质量其实没有什么意义。
作者: 尽一日之勤    时间: 2014-10-7 00:03

sofwater wrote:
其实动力松弛法从本质上来说只是一种解方程的收敛算法,关键点在于它采用点位移的平方之和作为判断收敛的标准,与物理上的动势能转化比较类似,所以就打了这块牌子,让这个算法看上去比较高大上,所以实际运用中深究这个理论中的虚拟质量其实没有什么意义。

如您所说,动力松弛法只是借助“伪振动”概念求解平衡方程的收敛算法,从理论上讲,的确不必深究虚拟质量的取值,但从应用的角度,如何以简便易行的方法优化参数(如虚拟质量)以求得最快的收敛速度, 仍然是一个值得研究的问题。因为在某些大型问题中,需要求解的平衡状态可能上万个,如果求解每个平衡状态的迭代次数太多,总的工作量还是非常大的。目前虽然很多文献涉及如何加速收敛,但实质性的结论和建议很少,个人感觉主要还是通过试算,像我在帖子中提到的Barnes的文章“Form Finding and Analysis of Tension Structures by Dynamic Relaxation”,虽然不完善,但至少给出了保证算法收敛的虚拟质量的通用求法,让大家操作起来有据可依,但个人认为这方面的研究还可以更加精细化。
作者: sofwater    时间: 2014-10-7 00:32

收敛的速度在结构不是太简单的情况下,和太多的因素有关,想用调整质量的大小,保证收敛,很少能够实现。也就是说如果用K/2 不收敛,用K/8 也很难收敛。

想提高收敛效果,最主要的方法是控制单元的形变比,也就是计算过程中,尽量不要让有些单元过大,另一些单元过小。
作者: 尽一日之勤    时间: 2014-10-7 12:38

至少对于索杆结构的静力分析这一块,基本上认为动力松弛法收敛与否及收敛速度取决于虚拟质量和步长的设定,也就是说虚拟质量与步长间有一个最佳的关系,如设置接近这个关系,则收敛较快,反之收敛缓慢或不收敛。
sofwater wrote:
想提高收敛效果,最主要的方法是控制单元的形变比,也就是计算过程中,尽量不要让有些单元过大,另一些单元过小

您所说的“控制单元的形变比”能具体说说吗?
作者: sofwater    时间: 2014-10-8 00:43

当然如果很顺利的收敛,可以把质量调小,达到最快速度,不过对于中等的计算机或者笔记本电脑,这个加速在模型不是特别复杂的情况下不是很明显,因为加载数据和输出数据的耗时是一样的。

单元的形变比,是在基本动力松弛法的基础之上,加上一些参数,这个参数是基于 单元变形后的面积或者边长/初始条件下的面积或边长,打比方说,平均变形比是0.5,某些单元是0.3,那么就要加大这个单元的质量,让它在下一步变形的小一些,或者某些单元0.8,就减少单元质量,加大下一步的变形。

也可以在每一步的结果之后对所得到的曲面进行调节,总之目的是控制住单位的变形比




欢迎光临 中华钢结构论坛 China Structure Forum (http://okok.org/) Powered by Discuz! 5.0.0