为了说明各向同性线弹性仿真的子程序调用原理,笔者在Abaqus当中分别演示了两种求解过程:一种是使用Abaqus中的内置模块;另一种是通过子程序的方式。
如需获取实践所需的材料以及演示过程,请点击【阅读原文】直达B站同期视频。
在Abaqus当中完成建模后,会自动生成包含模型数据的INP文件。笔者提前创建了简单的剪切变形模型。在Abaqus的作业管理器(Job Manager)中可直接创建新作业(Create Job),附上INP文件后提交作业(Submit)。具体的操作演示可参考视频。
该函数的主要作用是叠加计算所得的应力增量,完成应力更新。在【UMAT1】中篇中我们已经简要介绍了各向同性线弹性本构,由此得到函数体内的代码如下:
2. Abaqus求解器通过识别INP文件当中关键字来决定是否使用子程序。
由此,我们需要对原INP文件的内容进行手动更改:
原INP文件中
*ELASTIC, TYPE = ISOTROPIC
200000.0, 0.3, 0.0
替换为:
*User Material, constants = 2
200000.0, 0.3
关键字constants表示材料属性中的数组个数,该本构仅涉及杨氏模量和泊松比两个材料属性。
3. 我们仍然在Abaqus的作业管理器中提交作业,此时注意在提交INP文件的同时需要附上子程序FOR文件,操作界面如图:
左侧为使用Abaqus中的内置模块的仿真结果,右侧为使用二次开发的子程序仿真结果。两者无任何差异。