作者简介

作者:江丙云

本文首发于iCAETube公众号,技术邻CAE学院授权转载。

江丙云,上海交通大学博士,CAEMC-国际注册CAE工程管理咨询工程师,《汽车实用技术》编委会副秘书长。专职于汽车零部件、3C电子产品分析和优化;熟悉Abaqus(达索技术支持专家认证),专注于联合仿真和复材分析等;编著有《ABAQUS工程实例详解》、《ABAQUS Python二次开发攻略》、《ABAQUS分析之美》和《ANSYS Workbench有限元分析工程实例详解》等4本专著。

如有相关的业务咨询点击阅读原文,或在技术邻站内、技术邻APP搜索专家姓名即可。

路漫漫其修远兮,设置好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工作站上运行大分析之间重新启动系统,可以减少运行时间。虽然重启可能不是唯一的原因,但它确实有帮助。

-END-

abaqus dat文件 matlab_提升Abaqus求解效率的七种武器相关推荐

  1. 报童问题求解最大利润_提升Abaqus求解效率的七种武器

    作者简介 作者:江丙云 本文首发于iCAETube公众号,技术邻CAE学院授权转载. 江丙云,上海交通大学博士,CAEMC-国际注册CAE工程管理咨询工程师,<汽车实用技术>编委会副秘书长 ...

  2. abaqus dat文件 matlab_基于MPCCI的FLUENT与ABAQUS流固耦合分析步骤

    FSI实例 FLUENT+ABAQUSMPCCI 以一个实例为例,说明如何采用多场耦合平台MPCCI将ANSYS Fluent的流场数据在每个计算步长内传递至ABAQUS中进行固体分析. 1.准备阶段 ...

  3. abaqus dat文件 matlab_工程师联盟科普系列|ABAQUS中的各种文件类型详解-dat文件如何打开...

    ABAQUS产生几类文件:有些是在运行是产生,运行后自动删除:其它一些用于分析.重启.后处理.结果转换或其它软件的文件则被保留,详细如下: 1. model_database_name.cae 模型信 ...

  4. Intellij IDEA必备插件,提高效率的“七种武器”!

    常言道"工欲善其事必先利其器",作为一个程序员,一个好的IDE可以起到事半功倍的效果.2020 JVM 生态报告显示 Intellij IDEA 已经成为Java开发者的首选.In ...

  5. 缩小Abaqus结果文件的方法

    大多数 FEA 求解器生成的输出文件比较大.在某些情况下,这可能会导致我们空间瞬间被占满的问题,尤其是在使用的硬盘空间有限时,我们的输出文件太大,可能直接导致软件瘫痪.那么,我们该怎么做呢?应该如何缩 ...

  6. abaqus各种文件说明

    .abq--状态文件,仅用于ABAQUS/Explicit分析,重启动分析时需要此文件 .cae--模型数据库文件,记录模型信息.分析任务等 .cid--自动释放文件,包含服务器继续和暂停运行所需要的 ...

  7. ABAQUS INP文件详解

    说明: 本INP文件以及解释参考石亦平博士所著的<ABAQUS有限元分析实例详解>: 注释行以**口头,以保持与INP文件的格式一致(为方便起见以绿色显示). *Heading ** Jo ...

  8. 16进制 dat matlab_用MATLAB生成DAT文件

    用MATLAB生成DAT文件 f1=10;f2=100;fs=400;N=400; x = linspace(0,N/fs,N); y1 = sin(2*pi*f1*x); y2 = sin(2*pi ...

  9. 基于主动学习算法减少人工标注量,提升文本标注效率的方案探究

    基于主动学习算法减少人工标注量,提升文本标注效率的方案探究 阅读 451 收藏 23 2018-06-26 原文链接:yq.aliyun.com OPPO技术开放日第三期,未来的探索 · AI& ...

最新文章

  1. JavaScript 面向对象 (prototype 原型模式)
  2. python【数据结构与算法】循环赛日程表(分治)
  3. 用python中的cv2库打开摄像头
  4. epoll 接口以及原理说明
  5. 原生sql实现restful接口调用
  6. python replace替换多个字符_关于python:使用string.replace(x,y)替换所有
  7. mysql convertgrp_Mysql中几种sql的常见用法
  8. 用cxf编写基于spring的webservice之上篇
  9. java-redis字符类数据操作示例(一)
  10. word打开提示“所用加密类型不可用”
  11. 强烈推荐深入浅出jBPM
  12. C++课程设计(电影院自助售票管理系统)
  13. windows环境下curl 安装和使用
  14. ldc1614 c语言编程,LDC1614读回来的数据为固定值不变
  15. 《Docker》高级篇
  16. 树梅派 raspberrypi 更换清华源
  17. linux系统fasta程序,快速计算fasta序列长度的方法
  18. Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a19_DS18B20_LCD1602
  19. Java为 pdf、word和excel添加水印
  20. Mysql innodb 间隙锁

热门文章

  1. SCCM2012升级SP1系列之配置管理SCCM2012④配置SCCM2012补丁分发
  2. 阿里云虚拟主机的使用,附幸运券领取
  3. docker运行storm及wordcount实例
  4. DirectX SDK (June 2010)安装错误S1023,解决方法
  5. Exchange 2010 UM角色安装后无法启动服务,错误 1000,1001
  6. 一牛人总结的开发流程工具组合
  7. JAVA操作文件大全(一)
  8. VLOOK Markdown 主题包和增强插件
  9. JavaScript 虚拟键盘 A-Keyboard
  10. Python数据科学学习进阶