ABAQUS子程序技术文档
我们将有限元软件(以ABAQUS为例)分割来看,分为:前处理,单元部分,求解器。在这三个模块当中,每个主流商业软件手册中都会注明各个单元的理论采用了哪种理论公式,但是只是提一下用什么方法修正,很多没有介绍具体实现的公式。这也会让许多使用人员感觉在用黑盒子,对于分析问题的本质会造成很大的阻碍。下面我们主要讲解UEL用户子程序的使用方法。
UEL用户子程序开发步骤
用户子程序主要是用来实现特定的材料本构模型和单元算法的有效接口,便于商用软件和求解器之间的交互迭代。
编程语言主要采用Fortran,当然也可以修改子程序接口,使用Matlab或者C++等语言进行实现。
1. UEL的关键输入输出参数
|关键参数名称| 类型 |描述|
RHS输出 第一列是残余力向量;第二列是节点外部载荷增量|
AMATRX 输出 刚度/质量/阻尼矩阵,由LFLAGS决定
SVARS 输入/输出 状态相关变量,大小为NSVARS
ENERGY 输入/输出 单元能量
NDOFEL 输入 单元自由度数量
NRHS 输入 载荷向量个数RHS的列数,非线性算法一般为1
NSVARS 输入 单元状态变量的数量
PROPS 输入 用户定义的单元属性数据,浮点数组
NPROPS 输入 用户定义的单元属性数据的数量
COORDS 输入 单元节点的坐标
MCRD 输入 任意节点用户所需定义的最大坐标数的最大值
NNODE 输入 单元节点数
U, DU 输入 当前增量步单元节点的位移,位移增量
V 输入 相关变量的时间变化率
A 输入 相关变量的加速度
JTYPE 输入 定义单元类型的整型值
TIME 输入 当前分析步时间和时间总量
DTIME 输入 时间增量
KSTEP 输入 当前分析步的数
KINC 输入 当前增量步数
JELEM 输入 用户指派的单元号
PARAMS 输入 和求解过程相关的