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。
Formulation of an element with user subroutine UEl
The element's principal contribution to the model during general analysis steps is that it provides nodal forces ABAQUS UEL 计算过程浅谈 that depend on the values of the nodal variables ABAQUS UEL 计算过程浅谈 and on the solution-dependent state variables ABAQUS UEL 计算过程浅谈 within the element: