Abaqus 的UEL子程序的出现,使得大家可以自定义单元来满足解决实际科研、工程问题的需要,比如自定义粘结单元(cohesive elements)等。但另一方面,作为 Abaqus 最难的子程序,自定义单元UEL子程序需要较高的有限元力学基础、灵活的编程能力和持久的调试耐心。并且,网上涉及UEL子程序的教程较少,还主要局限在 Abaqus 在线帮助手册上对于UEL的解释内容,未能有相关结合具体问题的代码实例来对UEL子程序做一个研究学习。
下面结合一个经典的4节点平面应力单元的自定义UEL子程序来进行深入explore:
并且UEL的建模一般没有GUI(点点点式)这种方式,都是通过inp文件直接导入相关单元几何节点坐标信息,下列inp代码第5-9行。前3行为一般性的inp开头行。
代码段1:
*Heading
** Job name: 4 nodes quad Plane Model name: UEL
*Preprint, echo=YES, model=yes, history=yes, contact=NO
*Node
1,-1.,-1.
2,1.,-1.
3,1.,1.
4,-1.,1.
*User element, nodes=4, type=U1001, properties=3, coordinates=2, variables=7
1,2
*Element, type=U1001
1,1,2,3,4
*Elset, elset=El
1
*Uel property, elset=El
1.0, 2.0E11, 0.3
*Nset, nset=Node, generate
1, 4, 1
*Nset, nset=N1
1, 2
*Nset, nset=N3
3,4
*Step, name=Force
*Static
0.01, 1., 1e-05, 0.01
*Boundary
N1, 2, 2
N1, 1, 1
*Cload
N3, 2, -1e 7
*Restart, write, frequency=0
*Output, field
*Node Output
CF, RF, U
*Element Output, directions=YES
LE, PE, PEEQ, PEMAG, PS, S, VE, VEEQ, VS,SDV
*Output, history, variable=PRESELECT
*EL PRINT
SDV1,SDV2,SDV3,SDV4,SDV5,SDV6,SDV7,SDV8,SDV9
*End Step
图1 UEL Interface定义形式
图2 UEL各变量解释
图3 UEL中的Data Lines
图4 *UEL PROPERTY的注解
图5 INP文件中关于generate的注解
图6 VARIABLES的注解
Monitor界面即可查看data(.dat)文件,如图7,可看到其中输出的SDVs的数据。
图7 查看data(.dat)文件中的结果
建立分析步
图7 *STATIC下时间步长注释
添加荷载边界条件
图8 *BOUNDARY关键字注解
图9 *Cload关键字注解
图10 *restart的注解
图11 *restart分析关于frequency的解释
输出结果设置
以上内容来自秋名山有限元的分享,他是同济大学土木硕士,擅长 Abaqus,在仿真秀平台推出了许多相关课程,包括 Abaqus UEL自定义单元子程序实例专题课,以下是课程的内容简介。
Abaqus UEL自定义单元子程序专题课:手把手带你研究实例(Fortran语言)