作者简介

作者:江丙云

本文首发于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求解效率的七种武器相关推荐

  1. abaqus dat文件 matlab_提升Abaqus求解效率的七种武器

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

  2. 报童问题求解最大利润_仿真实例009:汽车天线仿真(双向混合求解)

    CST从2018版本开始具有双向混合求解,到2019版已经通用微波工作室的各个求解器之间的双向混合.具体的混合对象如下图: 对天线的安装和耦合仿真,意味着对复杂结构(天线)和电大尺寸环境(安装平台,如 ...

  3. 报童问题求解最大利润_数据分析案例:用数学建模和仿真模拟解决供求矛盾问题...

    在生活中通常会遇到供需不平衡的问题,如下问题:报童每天清晨用每份2元的价格从报社买进一批报纸后,在报亭以每份4元的价格零售,到晚上将没有卖掉的报纸退回,得到相应的每份1元的补偿.经过一段时间的观察,报 ...

  4. 报童问题求解最大利润_第3章 第2节 处理分类问题常用算法(二)

    ●   分层抽样的适用范围 参考回答: 分层抽样利用事先掌握的信息,充分考虑了保持样本结构和总体结构的一致性,当总体由差异明显的几部分组成的时候,适合用分层抽样. ●   LR的损失函数 参考回答: ...

  5. 报童问题求解最大利润_钢管下料问题模型

    关键词:钢管下料 Python Lingo [问题描述] 某钢管零售商从钢管厂进货,将钢管按照顾客得要求切割后售出,从钢管厂进货时得到得原料钢管都是19 m. 1) 现有一客户需要50根4 m.20根 ...

  6. 报童问题求解最大利润_利用二次函数求图形面积最值问题,注意自变量,学会解题策略...

    初中数学中,应用二次函数解决实际问题,在中考中是非常热门的考点,因为不仅牵扯到建模的问题,还会应用到数形结合的思想,最值问题等等,深受出题人的青睐.应用二次函数解决实际问题中,常见的类型之一就是求解图 ...

  7. 报童问题求解最大利润_5G仿真解决方案 | 天线布局、覆盖与场景的先进求解技术...

    点击上方actMWJC关注<微波杂志> 电尺寸的大小,是指电磁领域中的几何尺寸与工作波长的比值.当物理尺寸远大于电波长时,如10个波长.100个波长以上,一般就称之为电大尺寸问题.电尺寸再 ...

  8. 报童问题求解最大利润_SVD求解ICP问题

    下图是旋转并平移前后的两个坐标系,假设右侧坐标系变换到左侧坐标系的旋转矩阵是 ,平移向量是 .四个黑点代表四个坐标,用 表示点在左边坐标系中的坐标,用 表示点在右边坐标系中的坐标. 把右侧坐标系中的坐 ...

  9. 联想服务器销售公司,安徽联想服务器硬盘_提升运维效率

    强劲推荐:加速的步进集成镜像,asp技术,玩家学习使用(参***:电脑.鼠标.车标等).这次的四川联想服务器硬盘体系是属于hd7+以上的型号,也是规模比较大的这些全世界规模***大的三星体系,专业支持 ...

最新文章

  1. python-day05正则表达式
  2. SAP HUM 嵌套HU初探 IV
  3. .net core mvc部署到IIS导出Word 提示80070005拒绝访问
  4. 优化方法的基本认识 overview
  5. 如何禁用单个FegionClient的Hystrix的支持
  6. java 对 redis 的基本操作
  7. 如何实现 C/C++ 与 Python 的通信?
  8. 李迟2022年1月知识总结
  9. php7链接数据库报错The server requested authentication method unknown to the client
  10. 学习Selenium 自动化从一张藏宝图开始
  11. c++求两点的距离利用友元_用c++定义两个坐标点,计算两点间距离;进而计算线段的面积...
  12. 39.Linux清除用户登录记录和命令历史方法
  13. 总结Verilog中always语句的使用
  14. 利用DataGrid的超级联接传值
  15. 算法:Path Sum(路径总和)
  16. SketchUp 有哪些实用的插件?
  17. 小程序推广引导下载app的解决办法
  18. ParaView Volume MHD
  19. 烽火戏诸侯暂排第四,第四届橙瓜网络文学奖入围20年十佳仙侠大神
  20. PHP实现输入地址,获取当前位置的经纬度,$lng和$lat即为经纬度的返回值

热门文章

  1. php curl 模拟referer,php使用curl伪造来源ip和refer的方法
  2. 如何批量下载迪丽热巴图片
  3. Linux配置分布式数据/mysql集群 ndb_mgmd 实验报错摘录
  4. Fomo3D 源码解析及下载, 部署指南, truffle 套件, 含前后端
  5. J-LINK直接烧录.bin文件到开发板
  6. 国内常见网络设备提供商分析
  7. 通过手机GPRS实现移动上网
  8. 迷你打印机或中小型打印机设置纸张大小,与不规格纸张修改
  9. 知识图谱问答系列文档(一)——思知机器人简介
  10. 郭明錤:苹果5G基带芯片研发失败 2023年新款iPhone仍用高通芯片