UEL单元开发(1)——二维弹簧单元
终于对UEL下手了!
UEL(Uer Element)是Abaqus众多子程序中最复杂的其中之一(另一个当然是Umat啦~),本篇文章将带着大家从理论到代码,step-by-step编写最简单的二维线性弹簧单元,并与Abaqus自带的弹簧单元做对比,验证代码的正确性。

图1 弹簧单元的节点位移及节点力
理论公式:
Abqus在进行迭代求解的过程中,每一个分析步的平衡方程为 式中,P为外力矢量,被Abaqus放在数组RHS中。在迭代法求解的过程中,令 式中,R为残余力矢量,问题转化为求解R=0. do 5 k1=1,4
RHS(k1,NRHS)=0
do 5 k2=1,4
AMATRX(k2,k1)=0
5 continue
AMATRX(1,1)=STX
AMATRX(1,3)
AMATRX(2,2)
AMATRX(2,4)
AMATRX(3,1)
AMATRX(3,3)
AMATRX(4,2)
AMATRX(4,4)=STY
do 85 K1=1,4
FORCE(K1)=0
DO 80 K2=1,4
FORCE(K1)=FORCE(K1)+AMATRX(K1,K2)*U(K2)
80 continue
RHS(K1,1)=RHS(K1,1)-FORCE(K1)
85 continue
计算节点间的相对位移和弹簧力,并输出给内部变量SVARS,在.dat文件中生成。
SVARS(1)=U(1)-U(3)
SVARS(2)=U(2)-U(4)
SVARS(3)=STX*SVARS(1)
SVARS(4)=STY*SVARS(2)
注:要在inp中加入如下(官方规定),详情请点击:http://wufengyun.com:888/books/sub/default.htm*USER ELEMENT, NODES=2, TYPE=U1, PROPERTIES=3, COORDINATES=2, VARIABLES=4
1,2
*ELEMENT, TYPE=U1, ELSET=SP
1001, 64,44
*UEL PROPERTY, ELSET=SP
10.0, 20.0
完整inp及for文件请在后台内回复:线性弹簧,即可自动获取例:在节点44、64之间设置ABAQUS标准弹簧。


注意:UEL单元不能像在变形图中显现出来,只能看到云图值。
相关文章,在仿真秀官网搜索:
Abaqus-Umat子程序理论基础与代码编写