有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step

(原创,转载请注明出处)

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图1有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图2==概述==

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图3本系列文章研究成熟的有限元理论基础及在商用有限元软件的实现方式,通过

(1)   基础理论

(2)   商软操作

(3)   自编程序

三者结合的方式将复杂繁琐的结构有限元理论通过简单直观的方式展现出来,同时深层次的学习有限元理论和商业软件的内部实现原理。

有限元的理论发展了几十年已经相当成熟,商用有限元软件同样也是采用这些成熟的有限元理论,只是在实际应用过程中,商用CAE软件在传统的理论基础上会做相应的修正以解决工程中遇到的不同问题,且各家软件的修正方法都不一样,每个主流商用软件手册中都会注明各个单元的理论采用了哪种理论公式,但都只是提一下用什么方法修正,很多没有具体的实现公式。商用软件对外就是一个黑盒子,除了开发人员,使用人员只能在黑盒子外猜测内部实现方式。

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图4

一方面我们查阅各个主流商用软件的理论手册并通过进行大量的资料查阅猜测内部修正方法,另一方面我们自己编程实现结构有限元求解器,通过自研求解器和商软的结果比较来验证我们的猜测,如同管中窥豹一般来研究的修正方法,从而猜测商用有限元软件的内部计算方法。我们关注CAE中的结构有限元,所以主要选择了商用结构有限元软件中文档相对较完备的Abaqus来研究内部实现方式,同时对某些问题也会涉及其它的Nastran/Ansys等商软。为了理解方便有很多问题在数学上其实并不严谨,同时由于水平有限可能有许多的理论错误,欢迎交流讨论,也期待有更多的合作机会。

自主结构有限元求解器iSolver介绍视频:

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图5

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图6

                                             http://www.jishulink.com/college/video/c12884

==第26篇:编写线性VUMAT Step By Step  ==

相对隐式分析,显式分析无需再计算单元刚度矩阵,因此也无需再计算应力应变关系矩阵,因此只需要根据应变增量计算当前的应力状态即可。本章将以一个Abaqus中的Step by step例子来说明VUMAT从零开始的操作过程。

Abaqus规定了VUMAT的输入输出,下表就是一些关键变量的符号说明。

                                             

0.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图8

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图9有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图101.1 Abaqus建模

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图11有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图121.1.1 创建模型

打开一个Abaqus,双击左侧模型树的Parts,选择3D,Solid,Extrude进行模型创建。

1.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图14

                                                                           图 1 创建模型

点击Continue进入草绘界面,点击如下图所示Create Lines:Rectangle功能按钮进行草图绘制。

2.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图16

                                                                      图 2 草图绘制

在下图所示输入框中分别输入(0,0)和(5,1)创建一个长方形。

3.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图18

                                                                      图 3 创建长方形

输入完成以后点击鼠标中间完成长方形的创建。

4.png

                                                                            图 4 完成创建

点击如下图所示Done按钮或者鼠标中间完成草图绘制。

5.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图21

                                                                              图 5 完成草图

在弹出的Edit Base Extrusion界面中的Depth输入框中输入0.1,点击OK完成模型的创建。

6.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图23

                                                                           图 6 设置深度

创建以后的模型如下图所示。

7.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图25

                                                                      图 7 创建以后的模型

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图26有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图271.1.2 设置用户自定义材料

切换Abaqus模块到Property,点击

1.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图29创建名为Material-VUMat的材料。设置属性如图所示:

8.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图31有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图32有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图33

                                                                  图 8 设置用户自定义材料

通过

9.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图35创建名为Section-1材料属性,在Edit Section对话框中。将里面的材料选择我们刚刚创建的Material-VUMat。

10.png

                                                                   图 9 设置section属性

接着点击

11.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图38,单击选中我们创建的part,在弹出的对话框中选中我们刚刚创建的Section-1。

12.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图40

                                                                   图 10 设置section属性

最后点击OK完成材料属性附加

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图41有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图421.1.3 创建装配体

切换Abaqus模块到Assembly,点击

0.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图44导入Part-1

14.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图46

                                                                     图 11 创建装配体

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图47有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图481.1.4 设置分析步

切换Abaqus模块到Step,点击

15.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图50创建类型为Dynamic,Explicit的分析步。

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图51

16.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图53有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图54

                                                                   图 12 创建分析步

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图55有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图561.1.5 划分网格

切换Abaqus模块到Mesh, 点击

17.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图58,设置网格大小为5。

18.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图60

                                                                   图 13 设置网格尺寸

完成网格尺寸设置以后点击

19.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图62,进行网格划分。

20.png有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图64

                                                                   图 14 网格划分以后的模型

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图65有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图661.1.6 创建载荷

切换Abaqus模块到Load, 点击

13.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图68创建载荷,选择Concentrated force类型。然后如下图所示选择对面4个顶点作为载荷施加位置,设置值为1.6e8。

22.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图70

                                                                  图 15 选择载荷施加点

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图71有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图721.1.7 创建job并计算

切换到Abaqus的Job模块下,创建Abaqus的Job,名为Job-VUMat。

23.png

                                                                      图 16 创建Job

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图741.2 VUMAT编写与运行

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图751.2.1 VUMAT编写

创建VUMAT.for文件,编辑文件。

计算应力,并更新到stressNew变量中,应力与应变增量关系如下图所示:

24.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图77

                                                                   图 17 应力与应变增量关系

已实现的VUMAT.for文件在技术邻视频《Abaqus用户子程序UMat详解与开发工具》中的附件中下载,同时应力更新理论和算法也可参考视频中的讲解。

25.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图79

                                              http://www.jishulink.com/college/video/c13034

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图801.2.2 VUMAT运行

编辑1.1.7中创建的Job,使用1.2.1中创建的VUMAT.for文件。


有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图81

26.png

                                                                 图 18 编辑Job

单击鼠标选择需要计算的Job,然后点击Submit,进行计算。

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图831.2.3 查看结果

点击Results,对选中的Job,打开计算生成的文件。

此时会自动切换到Visualization模块显示云图,得到位移结果如下。

27.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图85

                                                                 图 19 计算结果

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图861.2.4 Abaqus自带材料结果比较

1.2.4.1 最后一个增量步应力比较

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图87

28.png

                                          图 20 应力比较,左侧为VUMAT结果,右侧为Abaqus材料结果

1.2.4.2 最后一个增量步位移比较

29.png

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图90

                                        图 21 位移比较,左侧为VUMAT材料结果,右侧为Abaqus材料结果

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图911.3 联系方式

如果有任何其它疑问或者项目合作意向,也欢迎联系我们:

snowwave02 From www.jishulink.com

email: snowwave02@qq.com

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图92有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图93有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图941.4 以往的系列文章

以往的系列文章:

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图95有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图961.4.1 ========第一阶段========

第一篇:S4壳单元刚度矩阵研究

http://www.jishulink.com/content/post/338859

第二篇:S4壳单元质量矩阵研究

http://www.jishulink.com/content/post/343905

第三篇:S4壳单元的剪切自锁和沙漏控制

http://www.jishulink.com/content/post/350865

第四篇:非线性问题的求解

http://www.jishulink.com/content/post/360565

第五篇:单元正确性验证。

https://www.jishulink.com/content/post/373743

第六篇:General梁单元的刚度矩阵

https://www.jishulink.com/content/post/403932

第七篇:C3D8六面体单元的刚度矩阵

https://www.jishulink.com/content/post/430177

第八篇:UMAT用户子程序开发步骤。

https://www.jishulink.com/content/post/432848

第九篇:编写线性UMAT Step By Step

http://www.jishulink.com/content/post/440874

第十篇:耦合约束(Coupling constraints)的研究

https://www.jishulink.com/content/post/531029

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图97有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图981.4.2 ========第二阶段========

第十一篇:自主CAE开发实战经验第一阶段总结

http://www.jishulink.com/content/post/532475

第十二篇:几何梁单元的刚度矩阵

http://www.jishulink.com/content/post/534362

第十三篇:显式和隐式的区别

http://www.jishulink.com/content/post/537154

第十四篇:壳的应力方向

https://www.jishulink.com/content/post/1189260

第十五篇:壳的剪切应力

https://www.jishulink.com/content/post/1191641

第十六篇:Part、Instance与Assembly

https://www.jishulink.com/content/post/1195061

第十七篇:几何非线性的物理含义

https://www.jishulink.com/content/post/1198459

第十八篇:几何非线性的应变

https://www.jishulink.com/content/post/1201375

第十九篇:Abaqus几何非线性的设置和后台

http://www.jishulink.com/content/post/1203064

第二十篇:UEL用户子程序开发步骤

https://www.jishulink.com/content/post/1204261

有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图99有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图1001.4.3 ========第三阶段========

第二十一篇:自主CAE开发实战经验第二阶段总结

https://www.jishulink.com/content/post/1204970

第二十二篇:几何非线性的刚度矩阵求解

http://www.jishulink.com/content/post/1254435

第二十三篇:有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图101编写简单面内拉伸问题UEL Step By Step

http://www.jishulink.com/content/post/1256835

第二十四篇:有限元理论基础及Abaqus内部实现方式研究系列26: 编写线性VUMAT Step By Step的图102显式求解Step By Step

https://www.jishulink.com/content/post/1261165

第二十五篇:显式分析的稳定时间增量

http://www.jishulink.com/content/post/1263601

(10条)
默认 最新
好东西啊
评论 点赞
不错
评论 点赞

查看更多评论 >

点赞 34 评论 10 收藏 12
关注