一种新思路用于实现ABAQUS用户自定义单元
概述:帖子讲述了一种新思路用于实现ABAQUS自定义单元,该方法不需要在INP文件中采用“USER ELEMENT”等关键字定义单元,更重要的是,也不需要在UEL接口中进行繁琐的FORTRAN编程,只需要在INP文件中直接导入相应的矩阵即可。目前这种自定义单元适用的计算有:static, frequency extraction, modal dynamic, mode-based steady-state dynamics, complex eigenvalue extraction, and subspace-based steady-state dynamics。更多的功能还在探索之中。
这种自定义单元方式为多种CAE软件协同二次开发提供了一种可能,众所周知,ABAQUS的非线性方程组求解能力是行业翘楚,这时候如果能得到描述方程组的关键矩阵,如固体力学的运动方程中的KK、MM和CC,直接导入ABAQUS便可以求解,相较于UEL二次开发,节省了向ABAQUS主程序输出关键矩阵的编程工作,至于 KK、MM和CC,可以自己采用高级语言编程生成,也可以从其他软件中导出。再比如,COMSOL以其多场耦合计算功能著称,采用该方法就可以将COMSOl的多场耦合功能与ABAQUS结合, 本质是数学中的方程组求解 。
这种自定义单元完美解决了ABAUS传统的用于自定义单元无法完成可视化的问题 。搞过UEL二次开发的人都被自定义单元的可视化问题困扰,要么是将数据导出到第三方软件进行处理,要么是采用UMAT套一层单元进行可视化,这两种方法都需要大量的编程工作。
这种自定义单元完美的解决了ABAQUS传统的用户自定义单元无法施加面力、体力等复杂力的短板。
更多的功能还在探索之中...
下面以一个悬臂端受切向力作用为例,讲解实现方法:
()模型信息说明
模型尺寸为10x10x10,弹性模量1e10,密度2400,泊松比0.24,一端完全固定,另一端受切向力作用,切向力以节点集合的形式添加,力幅为100,边界条件和荷载示意图为:
设置两种工况:
1、ABAQUS的C3D8单元计算。
2、采用新型自定义单元,新型自定义单元的刚度矩阵和质量矩阵采用MATLAB自编程序,然后输出ABAQUS可以识别的外部文件形式,并手动修改INP文件。
()INP文件的具体修改说明。
(1)、删除INP文件中的PART ASSEMBLY等关键词,即不采用PART建模方式。
(2)、添加如下关键字:
*MATRIX INPUT,NAME=kk,INPUT=kk.txt,TYPE=UNSYMMETRIC *MATRIX INPUT,NAME=mm,INPUT=mm.txt,TYPE=UNSYMMETRIC *MATRIX ASSEMBLE,STIFFNESS=kk *MATRIX ASSEMBLE,mass=mm
(3)、将属性定义部分的数值修改为极小值
()计算结果
加载向位移云图对比如下:
第一主应变云图对比如下:
加载向支反力云图对比如下:
点击链接获取更多内容:
点赞 5 评论 收藏 9