![a26a02e237be88ac67e76305b4f81ea7.png](https://img-blog.csdnimg.cn/img_convert/a26a02e237be88ac67e76305b4f81ea7.png)
资料来源:Boulbes, R.J., 2019.Troubleshooting Finite-Element Modeling with Abaqus: With Application in Structural Engineering Analysis. Springer Nature.
章节三 - Debug模型的方法
3.1 debug的流程
Boulbes 在这里画了一个很长的流程图,感兴趣的同学可以认真阅读一下。我自己是跳过了,尽管我知道这是来自一位老工程师的呕心沥血,但是我看到这么多分枝真的是怕了。
![aca805a721ef04354a50443aeb038260.png](https://img-blog.csdnimg.cn/img_convert/aca805a721ef04354a50443aeb038260.png)
![6149f0ed5474d47093991cdbfe8143a2.png](https://img-blog.csdnimg.cn/img_convert/6149f0ed5474d47093991cdbfe8143a2.png)
3.2 任务诊断
这是流程图里的第一步。
3.2.1 测试模型和确定单位
对于大的模型,强烈建议先做个简化的测试模型,比如简化模型尺寸、简化形状、简化材料等等。同时还要注意单位的一致性。下图是abaqus的单位表。
![6d6f4e352d36e6831685cf8e989b7623.png](https://img-blog.csdnimg.cn/img_convert/6d6f4e352d36e6831685cf8e989b7623.png)
a 国际单位制
b 应力也等于每单位体积的能量(做功)密度
c 密度等于每单位体积的重量
d slug是基于重量的度量系统中的质量派生单位,在美制和英制单位体系中比较常见
f 每平方英寸的磅力,是基于avoirdupois单位的压力或应力单位,也就是力作用于单位面积上的结果
在建模时,应对照上表保持单位的一致。测试模型最好能具备下列特性:
- 使用简单的单元类型、线性材料以及简化的荷载作用。
- 粗略的网格划分
- 先不要装配,单独加载每个部件可能受到的力
- 如果你对要使用的新功能不熟悉,尽量用更简化的模型测试新功能
- 对于explicit model,可以将一个step分成多个小的steps,逐步检查
- 降维,三维化成二维或一维
3.2.2 输出结果检查
在提交文件之前,可以在Field Output Requests或者History Output Requests中选择更多的输出变量,这有助于后期的检查。以下是推荐的一些变量:
(1).dat文件有助于确定load path:*ENERGY PRINT得到能量历史;*NODE PRINT得到Reaction Force;*NODE PRINT得到接触力
(2)对于热传导分析:NT得到节点温度;HFL得到heat flux vector;RFL得到规定温度产生的reaction flux values;RFLE得到节点上的total flux value;HFLA得到面上的heat flux vector;HTLA得到HFLA的时间集合结果。
(3)对于施加了预应力的螺栓连接,TF1可以得到螺栓预应力和时间的关系。方向1是预应力默认的施加方向。
(4)如果用了connector单元,建议使用NFORC得到节点的接触力。对于CFT(切向接触力),CFN(法向接触力)和CFS(面接触力),它们都是master 面上的力。
(5)对于接触问题,CSTRESS得到接触应力、CDISP得到接触位移、CFORCE得到接触力、CSTATUS得到接触状态(开/闭)、CNORMF得到接触法向力、CSHEARF得到接触切向力。
3.2.3 语法字符检查 (这段可能是针对使用input文件运行模型的)
首先需要在文件所在的文件夹内打开MSDOS命令提示符。最简单的方法是创建一个txt文件,在保存和关闭文件之前输入命令"cmd.exe"。然后,重命名该文件并把后缀从txt改为bat。双击打开文件,对应不同的abaqus版本输入不同的语法检查命令,比如你的abaqus是6.14-5的,就可以输入:abq6145 syntaxcheck j=my-input-file-name-without-extension
abauqs在运行以后会产生许多的文件,它们对应的意思是:
- com:命令文件,在abaqus执行过程中产生;
- dat:结果文件,包括了分析过程、语法检查和参数检查,Abaqus/Explicit和Abaqus/CFD不会把这些写入结果文件;
- log:包括了模型开始分析和结束的时间。(log文件在检查子程序的时候有重要作用,可以用于开发者和abaqus进行交互,检查计算结果);
- odb:输出数据库,集合模型分析后所有的结果,同时也可以同于重启模型;
- 023:交流文件,适用于Abaqus/Standard和Abaqus/Explicit,在分析和数据检查时产生;
- fil:结果文件,Abaqus/Standard会自动产生,Abaqus/Explicit在convert=select 和convert=all 的时候产生;
- mdl:模型文件,在数据检查时产生,被用于重启模型分析;
- msg:信息文件
- prt:部件文件,用于存储part和assembly的信息,也用于重启模型分析;
- res:重启模型文件,存储了继续之前分析所需要的信息
- stt:状态文件,包含和数据检查的信息,可以被用于重启模型分析。
3.2.4 数据检查
和上一节一样,可以用命令提示符进行数据检查,例如:abq6145 datacheck j=my-input-file-name-without-extension
当出现error或者warning的时候,首先检查dat、msg和odb文件。具体需要检查:
- dat或者msg中的warning信息;
- 在viewer模式下通过odb文件检查模型的变形和应力分布是否复合预期;
- 有些warning不可避免,有些需要考虑如何解决;
- 在dat文件中检查字符存储信息,尤其是MINIMUM MEMORY和MEMORY REQUIRED TO MINI