首页/文章/ 详情

高手勿进!带你手撕Abaqus UEL单元子程序开发应用

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
5月前浏览2652
导读:大家好,我是木木同学,仿真秀专栏作者,新疆大学土木工程专业毕业,木木对计算力学情有独钟,研二时就在研究之余捣鼓UMAT、UEL、FEM简单的一些编程算例等。看到不少大佬在仿真秀分享Abaqus子程序视频教程,木木同学也想带大家入门UEL。木木认为,对于具体的案例,如内聚力单元、XFEM、晶体塑性的编写,可以在基础理论的基础上进行了解,一定要在源代码的基础上,会看,会改,会用即可不要试图自己从0开始写!完全没必要!
木木同学尽量使用容易让人理解的语言讲述,争取让有限元基础薄弱的人群也可以听懂,会用,会改代码,代码对应哪些公式,也会拆下来揉碎了,展现给大家,本系列内容主要针对人群:想要入门UEL子程序的初学者,高手勿进!

木木同学

一、写在文前

在Abaqus/Standard模块中,用户可以利用子程序UEL来开发自定义单元,用以实现一些通过Abaqus内置单元无法实现的功能。如果编写恰当,用户自定义单元可以正常使用Abaqus/Standard的大部分功能,并且在用户子程序UEL中可以编写多个自定义单元,这些单元可以同时使用。

相比于开发完整的有限元程序,使用Abaqus来开发单元的优势是非常明显的:首先,Abaqus提供了大量的结构单元、分析程序以及前处理工具,这些功能可以与Abaqus UEL配合使用;其次,Abaqus中可以完成自定义单元的部分后处理工作;并且,开发子程序的效率也远高于开发完整的有限元程序。

尽管用户子程序UEL为在Abaqus中进行有限元分析提供了非常强大和灵活的工具,但由于开发自定义单元需要较高的数学和力学理论基础,加之前、后处理过程不便,因此相比于诸如UMAT之类的子程序,可供参考的资料非常少。本篇文章木木将带着大家从理论到代码,step-by-step编写最简单的二维线性弹簧单元,并与Abaqus自带的弹簧单元做对比,验证代码的正确性。

图1 弹簧单元的节点位移及节点力

二、理论公式

节点力和节点位移关系如下:

K为弹簧刚度系数。
用矩阵表示: 

即F=KU,
Abqus在进行迭代求解的过程中,每一个分析步的平衡方程为

式中,P为外力矢量,被Abaqus放在数组RHS中。在迭代法求解的过程中,令 

式中,R为残余力矢量,问题转化为求解R=0.
三、UEL讲解
将数据初始化:
          do 5 k1=1,4      RHS(k1,NRHS)=0      do 5 k2=1,4      AMATRX(k2,k1)=0    5 continue
    读入弹簧刚度系数K_x,K_y
      STX=PROPS(1)STY=PROPS(2)
      建立弹簧的刚度矩阵K,即应用上述矩阵
        AMATRX(1,1)=STXAMATRX(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=41,2*ELEMENT, TYPE=U1, ELSET=SP1001, 64,44*UEL PROPERTY, ELSET=SP10.0, 20.0
              例:在节点44、64之间设置ABAQUS标准弹簧。

              图2 Abaqus标准弹簧单元结果变形图  
              Dat文件输出结果:

              图3 UEL弹簧单元结果变形图

              Dat文件输出:

              两者结果一致,程序正确。

              注意:UEL单元不能像在变形图中显现出来,只能看到云图值。
              四、UEL单元子程序开发视频教程
              此外,木木同学还写过其他关于UEL科普文章,UEL单元开发之一维杆单元、CST单元、Q4单元、梁单元和三节点梁单元。都可以在仿真秀-易木木响叮当的专栏查看(点击文尾阅读原文查看)。此外木木同学还录制了《ABAQUS UEL单元子程序开发19讲》视频教程(有试看),围绕有限元理论和Fortran程序数值实现过程讲解,希望对学习者有所帮助,并提供VIP群和答疑服务。

              以下是课程大纲

              《ABAQUS UEL单元子程序开发19讲》

              课程可随时回放,可开具发票
              讲师提供vip群知识圈答疑和模型下载

              扫码立即试看

              该课程是木木同学自接触UEL以来,积攒下来的学习心得,在这里分享给大家。围绕着有限元理论和Fortran程序的数值实现过程讲解,主要分享UEL实现的过程,最终获得位移结果,对于非线性过程等暂未涉及,请看清课程说明进行购买!

              1、用户得到

              从UEL内部实现原理入手,逐渐过渡到单元的编写,有限元常用的杆系单元(弹簧、杆、梁)、平面单元(三角形单元、等参四边形单元)、空间单元(C3D8实体单元),以及如何在INP中引入外部文件、云图显示问题等,都会逐一讲解。需求可酌情加餐视频内容,并为学员提供答疑服务。

              2、适合哪些人学习

              (1)学习型仿真工程师

              (2)理工科院校学生

              (3)对有限元理论感兴趣的人群

              (4 想要入手UEL子程序的小

              (完)

              来源:仿真秀App
              Abaqus非线性UM理论CST科普
              著作权归作者所有,欢迎分享,未经许可,不得转载
              首次发布时间:2023-12-07
              最近编辑:5月前
              仿真圈
              技术圈粉 知识付费 学习强国
              获赞 9206粉丝 20494文章 3194课程 206
              点赞
              收藏
              未登录
              还没有评论

              课程
              培训
              服务
              行家

              VIP会员 学习 福利任务 兑换礼品
              下载APP
              联系我们
              帮助与反馈