提升Abaqus求解效率的七种武器
责任编辑:沐小月     时间:2021-02-04     来源:CAE交流之家
责任编辑:沐小月
时间:2021-02-04  来源:CAE交流之家
分类: 技术分享
浏览量: 696

路漫漫其修远兮,设置好Abaqus模型,开始运行Job,上下而求索,打开监视器窗口,饮余马於咸池兮地保持空白,比你想象的还空空如也。模拟花费的时间比希望或预期的更久,怎样才能在不砸钱买硬件的基础上,更快更高效的求解,同时不会显著降低结果的准确性呢?

第一种武器:不要使用超出必要的单元

影响运行速度的主要因素之一是自由度的数量,2倍自由度将导致模拟速度降低2倍多。因此,具有较少单元的相同类型模拟速度将更快。

对于对称问题,只仿真一半模型,能够减少至少2倍的求解时间,后处理再通过可视化选项,可视化完整模型;如果能够使用轴对称方法,更将进一步缩短仿真时间,同时后处理允许构造整个模型的可视效果。

在某些情况下,几何形状和第1个加载步是轴对称的,而后续的加载步不是。比如,轮胎充气加压时,可以使用轴对称单元模拟,在后续的使用载荷工况分析,则从轴对称模型生成3D模型,把轴对称模型中的载荷状态映射到3D模型。使用此方法也可大大节省求解时间。

第二种武器: 确保临时数据匹配系统的RAM

如果分析的临时数据不再能完全保存在内存中,则许多自由度变得特别有问题。在进行数据检查时,估算所有临时数据所需的内存量,并在“内存最小化I / O”的.dat文件中写出。当Abaqus需要的内存超过可用RAM的内存时,将使用虚拟内存:磁盘空间用作附加内存。写入和读取磁盘需要额外的时间,从而降低性能并增加求解时间。

第三种武器:不要让单个单元破坏Abaqus/Explicit中的求解速度

显式算法是条件稳定的,因此,使用的时间增量必须足够小以确保稳定。当使用较小的时间增量时,需要更多的增量步来模拟相同的总时间量,并且需要更长的时间。

稳定的时间增量基于单元密度、尺寸和刚度,稳定的时间增量随着密度和尺寸的减小,以及更大的刚度而降低。

在Abaqus/Explicit中,对每个单元计算最大稳定时间增量,然后采用将所有单元的最小时间增量用于分析,这意味着如果除了一个之外的所有单元具有1e-5的稳定时间增量,但有一个单元具有1e-7的稳定时间增量,则将使用1e-7的时间增量。由于这个单一单元具有较小的稳定时间增量,模拟将花费100倍的时间!

因此,重要的是要知道哪些单元限制时间增量并在可能的情况下修改它们。网格模块中的“验证网格”工具可以突出显示具有小于指定值的稳定时间增量的单元,有助于确定并更改可能产生最大影响的单元。时间增量为多少以及由哪些单元确定也会写入.msg文件,可从作业诊断中查看。

更改网格单元以使这些单元的尺寸增加,将减少模拟求解时间,特别对只有少数单元具有比其余单元小得多的稳定时间增量的情况。

第四种武器: 在Abaqus/Explicit中使用缩放进行准静态分析

在显式分析中,总时间减少或者稳定时间增量增加,都可以减少模拟时间。对于准静态分析,有时可以通过更快地施加负载来减少求解的总时,但这不可无限:当负载施加得太快时,动态效果开始发挥作用,求解方案也会发生变化。同时,当使用与率相关的属性时,也应缩放这些属性,可更容易增加稳定的时间增量。

通过增加质量可以增加稳定的时间增量,可以通过指定更大的密度完成,当然Abaqus也可以自动增加密度,增加稳定的时间增量并使求解运行更快。这称为质量缩放。

可以在“质量缩放”选项卡下的“显式步骤”的步骤编辑器中使用,因为增加质量,惯性力将被修改,因此,当负载施加得更快时,应注意惯性效应不会影响结果。

第五种武器:使用并行运算

减少运行时间的最有效方法之一是使用并行求解。在理想的仿真中,并行仿真时间可以是其除以核数,但在实践中,情况不会如此理想,因为需要花费时间分布在不同核上。但是,在某些情况下,你可以非常接近。

可以从“编辑作业”对话框的“并行”选项卡中设置并行,如是命令行工作时,添加字符cpus=N,其中N表示要使用的核数。

已知的一些因素会限制并行求解效率:

 - 有限的自由度(DOF)。当DOF的数量较小时,并行开销相对较大。我们甚至看到一个在更多内核上运行的实例实际上比在更少的内核上运行更慢。根据经验,每个核上应该至少有5000个自由度。

- 涉及模型大部分的接触/约束。如果模型的一半包含在无法在核上分配的单个约束中,则使用2个以上的核心时,模型将无法正确扩展。

对于Abaqus不建议使用超线程,合理的最大处理器数量是物理核心的数量,而不是虚拟核心的数量,可以在电脑BIOS中关闭超线程。

如果存在足够的令牌和计算机资源,则可以在不同数量的核心上运行分析的第一部分,以查看其扩展程度和确定最佳核心数量。

 第六种武器:注意约束

即使不限制并行,约束也会对Abaqus/Explicit中的仿真时间产生负面影响。对于诸如TIE,COUPLING,MPC和CONNECTORS之类的约束,在Abaqus/Explicit中使用隐式方法,可以大大降低运行速度,尤其是涉及到许多节点时。

第七种武器:定期重启系统

在我Windows工作站上运行大分析之间重新启动系统,可以减少运行时间。虽然重启可能不是唯一的原因,但它确实有帮助。


来源:CAE交流之家

回复:

Copyright © 2021 .长沙麦涛网络科技有限公司 All rights reserved. 湘ICP备20015126号-2
联系我们