有限元理论基础及Abaqus内部实现:面内拉伸问题UEL Step By Step

==概述==

本系列文章研究成熟的有限元理论基础及在商用有限元软件的实现方式,通过

1)   基础理论

2)   商软操作

3)   自编程序

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

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

有限元理论基础及Abaqus内部实现方式研究系列23: 编写简单面内拉伸问题UEL Step By的图4

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




==编写简单面内拉伸问题UEL Step By Step==

面内拉伸问题是弹塑性力学的经典基础问题之一,即仅考虑平面里受力拉伸,而忽略力垂直于该面方向的情况。Abaqus在二维情况下采用平面应力单元,三维情况下采用壳单元。当然壳单元考虑的不仅仅是面内拉伸问题,还包括弯曲、剪切等其它问题,具体内容可以参照我们之前的文章:《有限元理论基础及Abaqus内部实现方式研究系列1:S4壳单元刚度矩阵研究》。本次我们仅考虑面内拉伸问题,并以UEL的方式实现。


1.1 模型来源

本文中所使用的模型文件是从一个简单壳单元的面内拉伸问题算例修改而来,即将单元定义和材料属性部分改为自定义单元的属性,具体修改方法,可以参照我们之前的文章:《有限元理论基础及Abaqus内部实现方式研究系列20: UEL用户子程序开发步骤》。也可直接从技术邻网页下下载,包含两个模型文件,一个是原始S4R模型的inp文件,一个是修改后使用UEL的inp文件:


1.2 算法步骤

有限元方法有其基本步骤:

1、          离散化和选择单元类型;

2、          选择位移函数;

3、          定义应变/位移和应力/应变关系;

4、          推导单元刚度矩阵和方程。

5、          组装单元方程得出总体方程并引进边界条件

6、          解未知自由度(或广义位移)

7、          求解单元应变和应力

8、          解释结果

在Abaqus的建模过程中我们已经完成了步骤1,在求解过程中Abaqus会自动完成步骤5、6、7、8,本文的算法步骤则侧重于计算单元刚度矩阵和方程,即步骤2、3、4,也就是UEL的编写。

结合UEL接口,针对面内拉伸问题的一般算法步骤:

1、计算形函数

2、计算B矩阵,即应变/位移关系矩阵

3、计算D矩阵,即应力/应变关系矩阵

4、计算总体单元刚度矩阵

5、计算不平衡力

注:计算不平衡力用于Abaqus静力分析时进行收敛判断。


1.3 UEL编写与运行


1.3.1 UEL编写

UEL接口和For文件创建和使用方法可参照文章:《有限元理论基础及Abaqus内部实现方式研究系列20: UEL用户子程序开发步骤》,接下来就按照算法步骤编写UEL文件。

1、计算形函数

                                           

1.png

有限元理论基础及Abaqus内部实现方式研究系列23: 编写简单面内拉伸问题UEL Step By的图12

2、计算B矩阵

2.png

有限元理论基础及Abaqus内部实现方式研究系列23: 编写简单面内拉伸问题UEL Step By的图14

3、计算D矩阵

3.png

有限元理论基础及Abaqus内部实现方式研究系列23: 编写简单面内拉伸问题UEL Step By的图16

4、计算刚度矩阵

K=B’*D*B*wt*h*det(Jacob)


5、计算不平衡力

RHS=RHS-K*U

完成以后保存for文件。编程过程中有不明白的问题可以参照我们的视频教程:

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


1.3.2 UEL运行和调试

UEL运行和单步调试的方法也可见我们之前的文章:《有限元理论基础及Abaqus内部实现方式研究系列20: UEL用户子程序开发步骤》,涉及到的单步调试插件DUS,见帖子:http://www.jishulink.com/content/post/424513。

1.3.3 结果对比

我们在运行完成之后,将Abaqus的S4R单元和我们编写的UEL单元运行的结果进行对比,如下图所示。结果上存在一些差异,这是由于Abaqus的S4R单元做了很多其它的工作,譬如厚度方向积分、基于工程经验的修正等。

4.png

图 25 位移云图,左侧为UEL,右侧为S4R

==总结==

本文通过简单面内拉伸问题UEL的编写,介绍解决有限元问题从理论到算法再到编程实现的一般流程。文中介绍了有限元方法的基本步骤,面内拉伸问题的基本算法步骤,旨在让大家对这些基本流程有初步的认识和了解,为后续的系列文章和视频打下基础。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关推荐
技术文档
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空