如何让弹塑性分析算的更快?
经常有SAUSAGE软件客户问:100米左右的结构计算一个工况大概需要多长时间?要想回答这个问题还真有些难度,主要是影响因素比较多,这些因素不清楚,很难给出一个准确的结论。本文针对影响弹塑性分析软件计算效率的因素进行了一些研究工作。对一个模型计算时间的影响因素从大的方面分为两大类:
· 第一类是内因,即模型本身的因素。包括:模型自由度、计算步长、地震波长度、阻尼模型、振型数量、计算方法等。
· 第二类是外因,主要是指计算设备的影响。
一、模型自由度
模型自由度决定了一个模型的体量。一般情况下模型划分网格后的每个单元节点具有6个自由度,这样模型自由度数即为单元节点数的6倍。很显然,在其他条件相同的情况下,单元自由度数越多,计算量越大,计算时间越长。
下图中电脑采用相同配置,显卡为NVIDIA GTX TITAN,32G内存。为保证所有项目计算步长一致,因而将计算步长统一修改为5e-5。
计算自由度除与模型建筑面积和楼层高度等有关以外,还与模型网格划分的尺寸有关系。网格划分得越精细,节点数越多,自由度数越大,计算时间越长。
锦囊:
SAUSAGE软件默认的单元细分尺寸为0.6~0.8米,可以将细分尺寸适当放大(如1米),可以有效的减小自由度,提高计算效率。
二、计算步长
计算步长首先跟动力分析的计算方法有关系,如果采用隐式方法求解动力学方程式,一般计算步长取为0.01s或0.02s。如果采用显式方法求解动力学方程式,为了保证算法的稳定性,需要保证动力分析的计算步长小于临界稳定步长,而临界稳定步长与模型中单元的最大频率有关,结构的构件单元尺寸越小,重量越轻,临界稳定步长越小。
某23层100米框筒结构,69万自由度,采用相同配置电脑,程序计算的默认步长为1.079784e-004秒,通过修改步长,计算时间变化如下表所示。显然,步长越小,计算时间越长。
最小单元尺寸一般是由网格划分时设置的尺寸来控制的,它也与网格规则程度直接相关。网格越规则,越不容易出现较小单元,则计算步长越大。如果模型中存在比较畸形的网格单元,如内角非常小的三角形网格单元,则计算步长一般很小。
锦囊:
如果SAUSAGE软件计算得到的计算步长比较小,可以采用如下方法修改模型以增加步长。
菜单:分析→检查网格质量,找到三角形单元中内角最小的单元“最小内角= 3 TRI_ID = 7164”,解锁模型,通过移动节点等操作修改模型。反复该操作直至步长变大。
三、地震波长度
如下图所示,模型计算量的大小跟地震波的长度是成正比的。
选取地震波时,在满足规范要求的前提下,我们总是倾向于选取那些长度不是特别长的地震波,有时还会将所选地震波进行截断。这里需要提醒大家的是对于地震波的截断应该要慎重。如果地震波末段幅值基本趋近于0,一般情况下截断地震波对于分析结果影响不大。如果地震波末段仍有较大的幅值,此时截断地震波,将影响地震波的频谱特性,截断后的地震波已经不是原来的那个地震波了。另外,从分析后的节点位移时程曲线上看,节点位移时程如果仍处于增加的态势,结构的损伤可能仍在增加,显然这样截断地震波是有问题的。
锦囊:
如果地震波末段幅值趋近于零,可以适当进行截断以节省计算时间。
四、阻尼模型及阵型数量
目前动力时程分析一般采用的阻尼模型有两种,一种是瑞利阻尼,一种是振型阻尼。
选择瑞利阻尼时,=α+β,α、β分别为质量阻尼系数和刚度阻尼系数。如果考虑刚度阻尼,一般会使显式积分时间步长减小1~2个数量级,整体计算时间会增加几十倍,因而一般不予考虑。忽略刚度阻尼以后,阻尼矩阵仅与质量矩阵有关,采用集中质量时矩阵为对角阵,因而阻尼矩阵也为对角阵,方程组可以很方便的进行解耦求解。
选择振型阻尼时,由于振型对于质量矩阵和刚度矩阵均具有正交性,可利用这种特点对阻尼矩阵进行变换,也可以实现方程组的解耦。但是求解动力学方程式时需要进行大量的矩阵相乘,因而计算量会比瑞利阻尼增加不少。同一模型采用振型阻尼和瑞利阻尼计算时间对比如下表所示,采用瑞利阻尼相较振型阻尼可以节省40%左右的时间。
尽管瑞利阻尼计算效率较高,但由于瑞利阻尼忽略刚度阻尼,导致高阶振型阻尼比偏小,以致于高阶振型影响较大。因而一般还是推荐大家采用振型阻尼进行弹塑性分析。
如果阻尼模型选择振型阻尼,矩阵相乘的计算量取决于自由度数和振型数。振型数量越多,则计算时间越长。振型数量与计算时间关系曲线如下图所示。
锦囊:
对于规则结构,一般每个方向取三阶振型即可保证结构阻尼的充分考虑,对于复杂结构(如多塔结构)则需要适当多取一些振型。此外,SAUSAGE 2018版本中增加了简化振型阻尼功能,保证精度基本不变的同时可以将计算速度提升30%~40%。
五、计算方法
SAUSAGE 2018版本中增加了快速非线性分析算法。对于一个自由度达到126万的结构模型,采用显式的差分算法,需要3个小时45分钟,而采用快速算法只需要6分钟,效率的提升非常明显。当然,这种快速计算也有代价,需要牺牲一定的精度。如果结构处于方案阶段,仅需要整体上把握结构的抗震性能和薄弱位置,采用这种方法再适合不过。到了最后做超限报告的时候,我们建议还是采用准确的差分方法来进行分析,保证结果的准确性。
快速非线性分析算法和上一节中提到的简化振型阻尼算法均出自曹胜涛博士等研发团队,为了帮用户提高计算效率,他们花了不少心思。这两个功能也已经增加到了2018版本当中,欢迎大家使用。
锦囊:
方案阶段可以采用快速非线性分析算法,分分钟掌握结构性能。
六、计算设备
SAUSAGE软件支持采用CPU和GPU计算,一般而言,采用GPU计算时,计算效率要优于CPU。
采用GPU计算时,不同的显卡设备效率也区别很大。显卡的计算效率主要取决于流处理器主频及数量,显存大小、频率及位宽等。显卡流处理器的参数决定了计算的效率,而显存的参数决定了数据传输的效率。采用CPU与GPU计算效率对比请参见下图。
锦囊:
花两千块钱配一个性价比较高的GPU显卡,与CPU相比,可以将计算效率提高近10倍。
七、结论
想要提高动力弹塑性分析速度,您可以做如下几件事情:
· 适当增加网格尺寸,减少自由度;
· 存在畸形网格时需调整模型,以增大计算步长;
· 对地震波进行适当截断;
· 采用简化振型阻尼方法进行提速;
· 方案阶段采用快速算法;
· 配个显卡,事半功倍。
来源:SAUSAGE非线性公众号(ID:BRSC-SAUSAGE),作者:侯晓武。
页:
[1]