显式动力分析计算时间的决定因素
本帖最后由 wdhd 于 2016-3-7 16:17 编辑弹塑性分析越来越被设计院和设计人员所接收,也逐渐走出高大上的服务器计算机房,走进个人pc机上,根本原因在于随着硬件和软件的发展,对弹塑性分析的计算效率有显著的提高。其中,最容易让人接受而计算效率恒定的方法就是显式动力积分方法。
显式积分算法目标是解运动方程,整个过程就是显式动力时程分析,由于采用了显式格式,对方程可以完全的解耦,计算的时间为线性变化。通常显式积分格式多采用中心差分法,阻尼模式分瑞雷阻尼和振型阻尼,那么在这种方法的基础上,其计算时间的长短是由哪些因素所决定呢?
说这个问题,大多数人都可以例举一堆因素,比如自由度数,节点数,单元数,材料本构,单元类型,硬件等等。确实如此,这些都会影响计算时间的长短,这里先排除下硬件,这个没法比,只能论述下在同一硬件环境下计算不同模型的时间长短问题。
先看下运动方程,经过显式差分格式的转换后得到的方程如下:
显式动力分析计算时间的决定因素
要解这个方程且解耦必须解决的问题几个问题:
1、K乘以位移怎么算?
2、阻尼乘以下一步的位移怎么解耦
3、质量怎么解耦?
先看问题3,质量矩阵如果严格按照节点自由度组装就是一个对称稀疏矩阵,为一致质量矩阵,不能解耦到节点自由度上来,因此必须转为集中质量矩阵,即对角阵,OK,大多数软件都这么干的
问题2,阻尼的模拟通常有瑞雷阻尼和振型阻尼,如果为瑞雷阻尼,左端分解为M项和K项,K乘以下一步位移这个无法进一步解耦,只能把beta项去掉,也就左端为对角阵了。如果是振型阻尼呢,引入广义振型阻尼来转换也可以解耦,但会变成一个n*m的矩阵保留并乘以另外一个n*m*m*1的矩阵,因此这里计算量会比瑞雷阻尼(去beta)增加不少。
再看下问题1,k好像无法避免的要组装啊,考虑到k=BDBt积分得到,乘以位移后就变成了内力,因此可采用等效不平衡内力来代替K乘以位移。那么等效不平衡力怎么求呢,得先求应变、应力、单元内力再转换到整体坐标系进行组装为节点内力。其中本构的调用就是在从应变求应力的过程。
好了,通过上面分析,可以确定的是:
1、质量乘以位移非常块,就是向量相乘
2、振型组你是需要矩阵相乘,矩阵大小决定与自由度和振型数,对于同一个工程来说,选取的振型数会线性的增加该部分计算量
3、等效节点不平衡内力的计算过程复杂,且为多个矩阵连乘,其中涉及到本构的调用。耗时最多。在细分下,节点不平衡内力是由单元内力组装而来,组装过程简单,但单元内力求解复杂,这个部分的时间大都在单元上完成。
4、对一维本构简单而有效,计算时间不会太长,对二维本构由于屈服面的变化,需要循环查找直到收敛,耗时相对多些
5、瑞雷阻尼去掉beta后简直是业界良心,计算量大幅下降
6、差分方程很easy,就是加减乘,耗时几乎为0
这下可以确定了计算时间的长短决定于:
1单元数目的多少,而不是自由度数的多少,有人说自由度多,单元也就多啊,兄台,自由度跟节点有关的哦,比如四个节点我可以做6个单元不重合
2一维单元的计算速度比二维的块,具体看本构
3振型阻尼的时间增加是游离于节点等效不平衡内力之外的计算时间,是独立而线性的过程,具体可参考本博客文章(http://blog.sina.com.cn/s/blog_9925e04d0102v24o.html)
4本构的复杂度影响很大
OK,可以看出计算时间长短基本在于单元的多少和二维单元的多少以及本构的复杂情况。而振型阻尼时间的增加跟单元无关,只跟自由度有关。
转自:http://blog.sina.com.cn/s/blog_9925e04d0102v37x.html
页:
[1]