- A+
abaqus强大的原因很大程度上得益于其强大的可编程能力和后处理能力。相对更早进入中国市场的固体分析软件anlysis 来说优势明显。这一点从abaqus uel (用户子单元)充分得以体现。理论上来说,任何偏微分方程来说,都是可以利用abaqus的来进行求解,只要可以建立对应的用户子单元即可。而利用python程序对结果进行后处理,这一点很像分子动力学软件lamps。那么uel是什么呢?
Uel顾名思义,User defined element 用户自定义子单元。对于Uel的编写要把握Uel的输入与输出,及理解uel做的是什么事情。我们知道弹性力学的有限元是按照位移求解的,给出位移最终得到应力相应。基于全局求解的难度,提出了有限元离散的思想。Uel 其实也是这样,只不过uel进行的是单元的位移应力求解,及核心分析单元刚度矩阵。还是以力学来谈,uel是将节点位移,(中间的桥梁及单元刚度矩阵,因为单元刚度矩阵与节点位移的乘积及节点力)通过程序来求出节点力,并更新软件计算的一些参量,比如RHS(残余应力的不平衡量)。用户首先根据节点的位移,根据形状函数插值得到单元位移,根据弹性力学的几何方程得出单元的应变。这其中需要得到一个B矩阵,(在Uel编写中大家经常会遇到的一个矩阵),通过UMAT中定义的本构,更新单元的应力,得到单刚,最终得到单元节点位移与节点力直接的关系。完成UEL的更新。其中注意到Umat是uel的一部分。
所以可以说,abaqus在某种程度上并不是一种商业化的软件,而是一款强大的偏微分方程的求解器。对于科学计算,必须要有很深的UEL的编程基础(用于前期的求解),以及python编程能力,因为uel的后处理是较为复杂的,不能直接利用abaqus进行,需要借助python。