ABAQUS子程序UMAT里弹塑本构的实现

更新时间:2024-06-19 21:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

前 言

有限元法是工程中广泛使用的一种数值计算方法。它是力学、计算方法和计算机技术相结合的产物。在工程应用中,有限元法比其它数值分析方法更流行的一个重要原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越普及。

ABAQUS软件一直以非线性有限元分析软件而闻名,这也是它和ANSYS,Nastran等软件的区别所在。非线性有限元分析的用处越来越大,因为在所用材料非常复杂很多情况下,用线性分析来近似已不再有效。比方说,一个复合材料就不能用传统的线性分析软件包进行分析。任何与时间有关联,有较大位移量的情况都不能用线性分析法来处理。多年前,虽然非线性分析能更适合、更准确的处理问题,但是由于当时计算设备的能力不够强大、非线性分析软件包线性分析功能不够健全,所以通常采用线性处理的方法。

这种情况已经得到了极大的改善,计算设备的能力变得更加强大、类似ABAQUS这样的产品功能日臻完善,应用日益广泛。

非线性有限元分析在各个制造行业得到了广泛应用,有不少大型用户。航空航天业一直是非线性有限元分析的大客户,一个重要原因是大量使用复合材料。新一代波音 787客机将全部采用复合材料。只有像 ABAQUS这样的软件,才能分析包括多个子系统的产品耐久性能。在汽车业,用线性有限元分析来做四轮耐久性分析不可能得到足够准确的结果。分析汽车的整体和各个子系统的性能要求(如悬挂系统等)需要进行非线性分析。在土木工程业, ABAQUS能处理包括混凝土静动力开裂分析以及沥青混凝土方面的静动力分析,还能处理高度复杂非线性材料的损伤和断裂问题,这对于大型桥梁结构,高层建筑的结构分析非常有效。

瞬态、大变形、高级材料的碰撞问题必须用非线性有限元分析来计算。线性分析在这种情况下是不适用的。以往有一些专门的软件来分析碰撞问题,但现在ABAQUS在通用有限元软件包就能解决这些问题。所以,ABAQUS可以在一个软件完成线性和非线性分析。

ABAQUS给用户提供了强大二次开发接口,尤其是在材料本构方面,给用户开发符合实际工程的材料本构模型提供了强大帮助,本文将针对其用户材料子程序展开研究,总结常用材料模型的开发方法。

目 录

摘 要 ......................................................................................................................................... I ABSTRACT ............................................................................................................................ II 1. 绪论 ................................................................................................................................... 1

1.1. 课题的研究背景 ..................................................................................................... 1 1.2. 本文的研究内容和方法 ......................................................................................... 2 2. 基于ABAQUS软件的二次开发 ..................................................................................... 3

2.1. ABAQUS介绍 ....................................................................................................... 3 2.2. ABAQUS各模块简介 ........................................................................................... 3 2.3. ABAQUS的二次开发平台 .................................................................................... 5 2.4. ABAQUS的二次开发语言 .................................................................................... 6 3. 用户材料子程序UMAT ................................................................................................... 8

3.1. UMAT开发环境设置............................................................................................. 8 3.2. UMAT注意事项..................................................................................................... 9 3.3. UMAT接口的原理 ............................................................................................... 10 3.4. UMAT的使用方法 ............................................................................................... 12 4. 材料非线性问题 ............................................................................................................. 14

4.1. 材料的弹塑性本构关系 ....................................................................................... 14 4.2. 非线性有限元算法理论 ....................................................................................... 17 4.3. 增量理论常刚度法公式推导 ............................................................................... 20 4.4. 增量理论切线刚度法公式推导 ........................................................................... 21 5. UMAT程序设计和编码 ................................................................................................. 25

5.1. 本构关系描述 ....................................................................................................... 25 5.2. 常刚度法程序设计 ............................................................................................... 27 5.3. 常刚度法程序编码 ............................................................................................... 29 5.4. 切线刚度法程序设计 ........................................................................................... 32 5.5. 切线刚度法程序编码 ........................................................................................... 36 5.6. 程序的调试 ........................................................................................................... 39 6. 程序验证 ......................................................................................................................... 40

1

6.1. 问题描述 ............................................................................................................... 41 6.2. 本构关系 ............................................................................................................... 42 6.3. ABAQUS自带材料模型计算 ............................................................................. 42 6.4. 常刚度法的UMAT验证...................................................................................... 44 6.5. 切线刚度法的UMAT验证.................................................................................. 46 6.6. 两种算法的比较分析 ........................................................................................... 48 7. 结论与展望 ..................................................................................................................... 52

7.1. 结论 ....................................................................................................................... 52 7.2. 展望 ....................................................................................................................... 52 致 谢 ...................................................................................................................................... 54 参考文献 ................................................................................................................................ 55 附1:ABAQUS自带弹塑性材料验证的INP文件 ........................................................... 56 附2:用于算法验证的INP文件 ......................................................................................... 62

2

摘 要

ABAQUS软件功能强大,特别是能够模拟复杂的非线性问题,它包括了多种材料本构关系及失效准则模型,并具有良好的开放性,提供了若干个用户子程序接口,允许用户以代码的形式来扩展主程序的功能。

本文主要研究了ABAQUS用户子程序UMAT的开发方法,采用FORTRAN语言编制了各向同性硬化材料模型的接口程序,研究该类材料的弹塑性本构关系极其实现方法。

本文紧紧围绕UMAT的二次开发技术,首先对其接口原理做了详细介绍,然后针对非线性有限元增量理论中的常刚度法和切线刚度法的算法理论做了深入的剖析,推导出了常刚度法和切线刚度法的算法理论的具体表达式,然后分别编制了两种算法的UMAT程序,最后建立了一个具体的验算模型,通过与ABAQUS自带弹塑性本构关系的计算结果相比较,验证两者的正确性。

本文还对常刚度法和切线刚度法得算法效率做了对比,得出了在非线性程度较高时切线刚度法效率高于常刚度法的结论。

关键字: ABAQUS、UMAT、有限元、材料非线性、FORTRAN、切线刚度

I

ABSTRACT

ABAQUS software powerful, especially to simulate complex non-linear problem, which includes a wide range of material constitutive model and failure criteria, and has a good open, providing a number of user subroutine interface that allows users to code form to expand the functions of the main program.

This paper studies the user subroutine UMAT of ABAQUS development methods, the use of FORTRAN language isotropic hardening material model of the interface program, studied the effects of such material is extremely elastic-plastic constitutive relation method. This article UMAT tightly around the secondary development of technology, the first principle of its interface detail, and then for the theory of nonlinear finite element incremental stiffness of the regular tangent stiffness method and the theory of algorithms to do an in-depth analysis of deduced a regular tangent stiffness and rigidity of the law of the specific expression of algorithm theory, and then the preparation of the two algorithms, respectively, of the UMAT program, and finally the establishment of a specific model checking, bringing with ABAQUS elasto-plastic constitutive relation of the calculated results compared to verify the correctness of the two.

This article also often stiffness and tangent stiffness method was to do a comparison of algorithm efficiency is obtained when a higher degree in the non-linear tangent stiffness method more efficient than the conclusions of law often stiffness.

KEY WORDS:ABAQUS、UMAT、Finite element、Material nonlinearity、FORTRAN、Tangent stiffness

II

1. 绪论

1.1. 课题的研究背景

有限单元法基本思想的提出,可以追溯到克劳夫(R.W.Clough)在1943年的工作[1],他第一次尝试应用定义在三角形区域上的分片连续函数和最小位能原理相结合,来求解St. Venant扭转问题。1960年克劳夫进一步处理了平面弹性问题,并第一次提出了“有限单元法”的名称,使人们开始认识了有限单元法的功效。

四十多年来,随着电子计算机的广泛应用和发展,有限单元法的理论和应用都得到迅速的,持续不断的发展,其应用己由弹性力学平面问题扩展到空间问题、板壳问题,由静力学问题扩展到稳定问题、动力问题和波动问题。分析的对象从弹性材料扩展到塑性、粘弹性、粘塑性和复合材料等,从固体力学扩展到流体力学、传热学等连续介质力学领域。在工程分析中的作用已从分析和校核扩展到优化设计并和计算机辅助设计。

利用有限元软件解决工程和科学问题,是有限元理论应用于工程设计和科学研究实践的主要形式。由于工程设计的巨大市场需要,有限元软件的发展是很迅速的,目前常用的大型有限元软件常见的有Sap2000,ADINA,MSC/NASTRAN,MSC Marc,ANSYS,ABAQUS等,这些软件的共同特点是具有丰富的单元库和求解器,强大而可靠的分析功能,人们利用这些软件解决了很多工程建设和工业产品设计中遇到的问题,取得了巨大的经济技术效益。

由于工程问题的千差万别,不同的用户有不同的专业背景和发展方向,通用软件不免在具体的专业方面有所欠缺,针对这些不足,大部分的通用软件都提供了二次开发功能,以帮助用户减少重复性的编程工作、提高开发起点、缩短研发周期、降低开发成本,并能简化后期维护工作,给用户带来很多方便。基于通用软件平台进行开发,是目前研究的一个重要发展方向。

ABAQUS也提供了若干用户子程序(User Subroutines)接口,它是一个功能非

1

常强大且适用的分析工具,与命令行的程序格式相比,用户子程序的限制少得多, 从而使用更加灵活方便。针对ABAQUS所提供的本构关系模型种类有限,无法满足 工程应用需要的问题,用户子程序中的用户材料子程序(User-defined Materia Mechanical Behavior,简称UMAT)接口可以帮助用户定义自己的材料本构模型和算 法,这是ABAQUS的独到之处。由于其操作方便,能被灵活地应用于各个领域中, 尤其受到用户的青睐。

1.2. 本文的研究内容和方法

ABAQUS中用户材料子程序UMAT的开发主要解决两方面的问题:本构模型的建立和积分算法的选择。

本文主要研究非线性材料的UMAT实现方法,并重点研究其迭代算法部分,目前,用户材料子程序UMAT的迭代算法主要是常刚度法,常刚度法的优点在于算法原理较简单,程序编写较方便,缺点是当遇到复杂非线性材料时,其迭代次数较多,收敛速度也较慢,在这个情况下,本文采取的是一种迭代次数较少且收敛速度较快的切线刚度法,具体就是采用FORTRAN语言编制了基于Von-Mises模型的接口程序,并采用切线刚度算法,通过与ABAQUS自带本构关系计算的结果相比较,验证其正确性。 本文的研究工作紧紧围绕UMAT的二次开发技术,首先根据有限元方法推导材料非线性问题算法的公式,然后参考UMAT接口规范设计程序的算法流程,继而编写出该程序,最后建立一个具体的本构和具体的模型做测试,验证程序的正确性,在这一过程中,调试是一个非常重要的过程,占用了大量的时间,在调试程序时采用了将中间变量输出到文本的方式,这样能明确跟进迭代过程,发现算法或程序的缺陷。 本文采用的本构关系是经过归纳和抽象的,也就是说本文的程序并不仅仅是只针对某个具体模型和问题,而是针对所有符合抽象出的各向同性硬化材料,这样做的好处是能保证程序的通用性和复用性,避免以后的重复劳动,当然,这也是符合ABAQUS软件设计UMAT接口的宗旨的。

2

2. 基于ABAQUS软件的二次开发

2.1. ABAQUS介绍

ABAQUS是一套功能强大的基于有限元法的工程模拟软件[2],其解决问题的 范围从相对简单的线性分析到最富有挑战性的非线性模拟问题。ABAQUS具备十分丰富的、可模拟任意实际形状的单元库。并与之对应拥有各种类型的材料模型库,可以模拟大多数典型工程材料的性能,其中包括金属、橡胶、高分子材料、复合材料、钢筋混凝土、可压缩弹性的泡沫材料以及岩石和土这样的地质材料。 作为通用的模拟分析工具,ABAQUS 不仅能解决结构分析中的问题,还能模拟和研究各种领域中的问题,如热传导、质量扩散、电子元器件的热控制(热一电耦合分析)、声学分析、土壤力学分析(渗流——应力耦合分析)和压电介质力学分析。

ABAQUS为用户提供了广泛的功能,且使用起来又十分简明。最复杂的问题也可以很容易地建立模型[3]。例如复杂的多部件问题可以通过对每个部件定义材料模型和几何形状,然后再把它们组装起来而构成。在大部分模拟分析问题中,甚至在高度非线性问题中,用户也只需要提供结构的几何形状、材料性能、边界条件和荷载工况这样的工程数据就可以进行分析。在非线性分析中,ABAQUS能自动选择合适的荷载增量和收敛精度。不仅能选择这些参数值,而且能在分析过程中不断地调整参数来保证有效地得到高精度的解,很少需用户去定义这些参数。

2.2. ABAQUS各模块简介

ABAQUS 有两个主要的分析模块:ABAQUS/Standard 和ABAQUS/Explicit 。ABAQUS/Standard还有两个特殊用途的附加分析模块:ABAQUS/Aqua和ABAQUS/Design。另外,还有ABAQUS 分别与ADAMS/Flex,C-MOLD和Mold flow的接口模块:ABAQUS/ADAMS,ABAQUS/C-MOLD和ABAQUS/ MOLDFLOW。ABAQUS/CAE是完全的ABAQUS

3

工作环境模块,它包括了ABAQUS模型的构造,交互式提交作业、监控作业过程以及评价结果的能力。ABAQUS/Viewer是ABAQUS/CAE的子集,它具有后处理功能,这些模块之间的关系见图2- 1

图2-1

ABAQUS/Standard

ABAQUS/Standard是一个通用分析模块,在数值方法上采用有限元方法常用的 隐式积分。它能够求解广泛的线性和非线性问题,包括结构的静态、动态问题、热 力学场和电磁场问题等。对于通常同时发生作用的几何、材料和接触非线性可以采 用自动控制技术处理,也可以由用户自己控制。 ABAQUS/Explicit

ABAQUS/Explicit是一个在数值方法上采用有限元显式积分的特殊模块,它利用对时间的显式积分求解动态有限元方程。它适合于分析诸如冲击和爆炸这样短暂、瞬时的动态问题,同时对高度非线性问题如模拟加工成型过程中接触条件的改变等也非常有效。 ABAQUS/CAE

ABAQUS/CAE是ABAQUS进行有限元分析的前后处理模块,也是建模、分析和后处理的人机交互平台。该模块根据结构的几何图形生成网格,将材料和截面的特性分配到网格上,并施加载荷和边界条件。该模块可以进一步将生成的模型投入到分析模块中进行高效率的后台运行,并对运行情况进行监测,对计算结果进行后处理。ABAQUS/CAE的后处理支持ABAQUS分析模块的所有功能,并且对计算结果的描述和解释提供了范围

4

很广的选择,除了通常的云图,等值线和动画显示之外,还可以用列表,曲线(包括部分常用运算)等其他常用工具来完成对结果数据的处理。该模块的许多独特功能与特点,例如CAD特征化建模、参数化建模、适应设计者要求的数据管理系统等极大的方便了ABAQUS的使用者。 ABAQUS/Aqua

ABAQUS/Aqua的一系列功能可以附加在ABAQUS/Standard中应用。它偏向于模拟海上结构,如海洋石油平台。它的功能包括模拟波浪,风载荷及浮力的 影响。在本指南中不讨论ABAQUS/Aqua。 ABAQUS/ADAMS

ABAQUS/ADAMS允许ABAQUS有限元模型作为柔性部件进入到MDIADAMS产品族中去进行分析。 ABAQUS/C-MOLD

ABAQUS/C-MOLD把注模分析软件C-MOLD中有限元网格、材料性质和初始应力数据转换成为ABAQUS 输入文件。 ABAQUS/Design

ABAQUS/Design 的一系列功能可附加在ABAQUS/Standard 中进行设计敏度计算。 ABAQUS/MOLDFLOW

ABAQUS/MOLDFLOW 模块把MOLDFLOW 分析软件中的有限元模型信息 转换成ABAQUVS 输入文件的一部分。

2.3. ABAQUS的二次开发平台

ABAQUS的脚本语言接口非常友好,其自嵌的脚本语言是Python[4],系国际上广泛使用、功能强大、具有良好开放性的一种面向对象程序设计语言。所以,应用Python在ABAQUS中进行二次开发也比较方便,且可移植性强。ABAQUS以基于Python的语法规则向二次开发者提供了许多库函数,这些库函数主要是用来增强ABAQUS的交互式(GUI)操作功能。用户可以通过ABAQUS的交互式(GUI)界面实现分析对象的特征造型、指定材料属性、完成网格剖分和控制、提交并监控分析作业,也可以使用ABAQUS脚本

5

语言越过ABAQUS的交互式(GUI)界面直接高效地向ABAQUS内核提交任务。使用Python可以进行参数化建模,修改交互式建立的模型,还可以一次提交多个作业。

出了脚本语言接口,ABAQUS还为用户提供了功能强大的用户子程序接口(Abaqus User Subroutines ),以帮助用户开发基于ABAQUS内核的程序,常用的用户子程序包括UEL(User subroutine to define an element ,用户单元子程序),UMAT(User subroutine to define a material's mechanical behavior,用户材料子程序 )[5],其中UMAT的使用最为广泛,它主要用于用户开发自己的材料模型,以弥补ABAQUS自带材料模型的不足,帮助用户完成各种材料分析,功能极为强大。

在国外,众多的有限元分析和研究者热衷于使用ABAQUS,一个很重要的原因就在于ABAQUS给用户提供了功能强大,使用方便的二次开发工具和接口,使得用户可以方便的进行富含个性化的有限元建模、分析和后处理,满足特定工程问题的需要。通过用户材料子程序接口,用户可定义任何补充的材料模型,不但任意数量的材料常数都可以作为资料被读取,而且ABAQUS对于任何数量的与解相关的状态变量在每一材料计数点都提供了存储功能,以便在这些子程序中应用。

2.4. ABAQUS的二次开发语言

ABAQUS的二次开发语言主要有3种:Python,FORTRAN,C++

Python语言主要用于GUI开发,FORTRAN语言主要用于用户子程序开发,而c++语言主要专注于其他高级开发部分。

本文主要是针对用户子程序的开发,所以采用FORTRAN语言,下面简要介绍一下该语言极其特点:

FORTRAN语言是世界上第一个被正式推广使用的高级语言[6]。它是1954年被提出来的,1956年开始正式使用,至今已有三十多年的历史,但仍历久不衰,它始终是数值计算领域所使用的主要语言。

FORTRAN语言是Formula Translation的缩写,意为“公式翻译”。它是为科学、工程问题或企事业管理中的那些能够用数学公式表达的问题而设计的,其数值计算的功能较强。

FORTRAN语言问世以来,根据需要几经发展,先后推出了不同的版本,主要版本有FORTRAN 77,FORTRAN 90,FORTRAN 95,ABAQUS采用FORTRAN 77,通常用固定格式编写代码。

6

FORTRAN77语言同C语言一样,是一种结构化编程语言

结构化程序设计方法规定,在结构化的程序中,只能有三种基本结构: (1)顺序结构

这是一种最简单的基本结构形式,它的特点是,在这个结构内的各个功能模块或语句序列,是按其出现的先后顺序执行的,如赋值语句、输入/输出语句等。它有一个入口和一个出口,并在入口和出口之间包含着若干个功能块,其中每一个功能块可以是一个非转移语句。因此,顺序基本结构块是由一系列的顺序执行语句组成的。 (2)分支选择结构

在给定的条件下,分支选择结构判断选择哪一条路径执行,不同路径完成的功能是不同的。实现分支选择结构主要由块IF语句、ELSE语句、END IF语句以及ELSE IF语句组成的IF-THEN-ELSE结构。 (3)循环结构

循环结构也称重复处理结构,即重复执行某一功能块,直到满足(或不满足)某一条件为止。实现循环结构的FORTRAN90语句主要是DO语句、块IF语句和逻辑IF语句的结合。

以上三种基本结构,是组成结构化程序的基本结构形式。这里有两层意思:一是结构化的程序中,各个模块均由这三种基本结构组成;二是结构化程序本身,从宏观上也是这三种基本结构形式之一。

7

3. 用户材料子程序UMAT

3.1. UMAT开发环境设置

由于UMAT是采用FORTRAN语言编写,那么要运行UMAT就需要安装FORTRAN的开发环境, 同时还需要ABAQUS的支持,本文采用的ABAQUS版本为6.81,支持INTEL Fortran9.1-10.1,Intel Fortran安装时又需要安装Microsoft Visual Studio的相应版本,经过比较,本文选用ABAQUS6.81+Intel Fortran10.1+Microsoft VisualC++ 2005,相对于ABAQUS来说,UMAT开发环境的设置较为繁琐,这给子程序的使用带来诸多不便,为了解决这一问题,我用C#语言编制了ABAQUS子程序编译环境设置工具,只需要将安装文件解压到ABAQUS的安装目录,运行安装程序就可以了,整个过程不需要人工干预,也不需要安装庞大的VisualC++ 2005,如图3-1所示

图3-1

8

3.2. UMAT注意事项

ABAQUS的用户子程序是根据ABAQUS提供的相应接口,按照Fortran语法, 用户自己编写的代码。它是一个独立的程序单元,可以独立的被存储和编译,也能 被其它程序单元引用,因此,利用它可带回大量数据供引用程序使用,也可以用它 来完成各种特殊的功能。它的一般结构形式是:

SUBROUTINE S(x1,x2,??,xn)

INCLUDE‘ABA_PARAM.INC’(用于ABAQUS/Standard用户子程序中) OR INCLUDE‘VABA_PARAM.INC’)(用于ABAQUS/Explicit用户子程序中) ?? RETURN END

x1,x2,??,xn是ABAQUS提供的用户子程序的接口参数,有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINE DLOAD中的KSTEP、KINC、COORDS,有些是需要用户自己定义的,例如F,文件aba_param.inc和vaba_param.inc随着ABAQUS软件的安装而包含在操作系统中,它们含有重要的参数,帮助ABAQUS主求解程序对用户子程序进行编译和链接。当控制遇到RETURN语句时便返回到引用程序单元中去,END语句是用户子程序结束的标志。

在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以.for为扩展名的文件中。运行带有用户子程序的算例同时有两种方法:一是在CAE中运行,在EDIT JOB菜单中的GENERAL子菜单的USER SUBROUTINE FILE对话框中选择用户子程序所在的文件即可;另外是在ABAQUS.COMMAND中运行,语法如下:

abaqus job=job-name user={source-file|object-file}

编制用户子程序时应注意

(1)用户子程序相互之间不能调用,但可以调用用户自己编写的Fortran子程序和ABAQUS应用程序。ABAQUS应用程序必须由用户子程序调用。当用户编写Fortran子程序时,建议子程序名以K开头,以免和ABAQUS内部程序冲突。

(2)当用户在用户子程序中利用OPEN打开外部文件时,要注意以下两点:一是设备号的选择是有限制的,只能取15~18和大于100的设备号,其余的都已被ABAQUS占用;二是用户需提供外部文件的绝对路径而不是相对路径。

9

图4-1

塑性应变有下列特性:

(1)总应变分为弹性和塑性两部分,即

ep??ij (4-2) ?ij??ij或者:

ep?d?ij (4-3) d?ij?d?ij(2)塑性变形取决于加载路径,而应力应变之间没有一一对应的关系。所以必须确定二则之间的本构关系,这种本构关系可以用偏微分方程或者增量形式来描述。 总之,弹塑性理论主要包括以下几个方面: (1)应变张量的分解; (2)应力空间的屈服条件; (3)流动法则; (4)强化法则; (5)协调性条件。 1:本构模型

塑性力学的应力-应变曲线通常有5种简化模型[8]:

(1)理想弹塑性模型,用于低碳钢或强化性质不明显的材料。 (2)线性强化弹塑性模型,用于有显著强化性质的材料。

(3)理想刚塑性模型,用于弹性应变比塑性应变小得多且强化性质不明显的材料。 (4)线性强化刚塑性模型,用于弹性应变比塑性应变小得多且强化性质明显的材料。

15

(5)幂强化模型,为简化计算中的解析式,可将应力-应变关系的解析式写为 σ=σy(ε/εy)n,式中σy为屈服应力,εy为与σy相对应的应变,n为材料常数。

图4-2 2:屈服条件

在复杂应力状态下,判断物体屈服状态的准则称为屈服条件[9]。屈服条件是各应力分量组合应满足的条件。对于金属材料,最常用的屈服条件为最大剪应力屈服条件(又称Tresca屈服条件)和弹性形变比能屈服条件(又称Von Mises条件)。对于岩土材料则常用Tresca屈服条件、Drucker-Prager屈服条件和Mohr-Coulomb屈服条件。对于强化或软化材料,屈服条件将随塑性变形的增长而变化,改变后的屈服条件称为后继屈服条件。当已知主应力的大小次序时,使用Tresca屈服条件较为方便;若不知道主应力的大小次序,则使用Von Mises屈服条件较为方便。对于韧性较好的材料,Von Mises屈服条件与试验数据符合较好。

Von Mises屈服准则具体形式是,对于各项同性材料,应力偏量第二不变量J2等于某一定值时,材料开始进入了塑性状态。

F?3J2??y(k)?0 (4-4)

3:强化法则

对理想的弹塑性材料而言,因无强化作用,所以,整个塑性变形过程中,屈服函数值保持一个常量,强化定义了屈服面在应力空间的演化准则。

f(?ij,k)?0

(4-5)

16

其中,k是强化参数。

通常采用的强化法则有以下几种: (1) 各向同性强化

此法则规定材料进入塑性变形以后,加载曲面在各方向均匀的向外扩张,没有畸变。而其形状、中心及其在应力空间的方位均保持不变[10]。需要指出的是:各向同性强化法则主要适用于单调加载情况。如果用于卸载情况,它只适合反向屈服应力等于应力反转点的材料,而通常材料不具备这种性质,因此在塑性力学中还发展了其它强化准则。 (2) 随动强化

此法则规定材料进入塑性状态以后,加载曲面在应力空间作刚体移动而没有转动,因此初始屈服面的形状、大小和方向仍然保持不变。 (3) 混合强化

把各向同性强化模型和随动强化模型加以组合,得到混合强化模型。它假定在塑性变形过程中,加载曲面不但作刚性平移,还同时在各个方向作均匀扩大。

在以上几种强化模型中,各向同性强化模型应用最为广泛。本文也是采用该硬化法则,这一方面是由于它便于进行数学处理;另一方面,如果在加载过程中应力方向(或各个应力分量的比值)变化不大,采用各向同性强化模型的计算结果与实际情况也比要符合。随动强化模型可以考虑材料的包兴格(Bauschinger)效应,在循环加载或可能出现反向屈服的问题中,需要采用这种模型。

由于塑性变形与变形历史有关, 因此反映塑性应力-应变关系的本构关系用应变增量形式给出比较方便。用应变增量形式表示塑性本构关系的理论称为塑性增量理论。增量理论的本构关系在理论上是合理的,但应用比较麻烦,因为要积分整个变形路径才能得到最后结果。因此,又发展出塑性全量理论,即采用全量应力和全量应变表示塑性本构关系的理论。在比例变形的条件下,可通过积分增量理论的本构关系获得全量理论的本构关系。当偏离比例变形条件不多时,全量理论的计算结果和实险结果比较接近。本文的程序都是基于增量理论。

4.2. 非线性有限元算法理论

对于非线性问题,在有限元求解该问题时,对一个自由度总可以表达成

H??f?0,式中,?为基本未矢量。如果是线性问题,H与?无关,而?是一次项,

17

显然这是一个线性方程。如果H与?相关,则方程的?出现非一次项,变成非线性问题,在实际工程中,特别是塑性成型问题,材料的几何方程,本构方程以及边界条件往往是非线性的也体现在K中出现了?,所以变为了非线性问题,要得到最基本的未知量,就必须求解非线性方程组 1:直接迭代法

又称常刚度法[11],这是种最简.单的求解方法,在每次求解前,利用上次的?解来求出这一次的H值,然后利用f和H的倒数的乘积求出?的当前值

???H(?)?1f (4-6)

表达为迭代形式

(n?1)n?1??H(?)f (4-7) ?上式可以看出,这种方法首先需要有一个初始的?值,以便开始迭代。另外,每一次求解都需要对H求倒数,如果求解方程组,就是对刚度矩阵求逆,这种方法在求解中控制两次求解?之差,当其值很小时,就认为接近真实值了,迭代结束

图4-3

2:Newton-Raphson方法

18

Newton-Raphson方法的算法与常刚度法不同[12],如果?得近似表达式H??f?0是不成立的,存在着残余值,即H??f?0,此式也可以作为近似值与真实值的差值量度,实际上在具体计算时,也可以控制其值,当??H??f?0极小时,就认为?接近真实值了,当第n?1次迭代的?值

?n?1?????是真实解,则可以按照Taylor级数展开得到

nn?(?n?1)??(?)?(nd?d?)???0nn

?????(?)/(nnd?d?)???(?)/(nnH(?)?d?nn)???(?)/(H(?)??H(?))nnnnn

图4-4

3:切线刚度法

在复杂非线性问题求解中,刚度H与?的大小是有一定关系的,在用增量法来求解这种问题时,H就等于结构任一点处力与位移的曲线的局部梯度,称为切线刚度[13],刚度矩阵的倒数很难用自变量显示表达,通过增量方式求解,在每一步荷载增量范围内把问题线性化,求解方法与Newton-Raphson方法相同

19

总结以上可以得到:

以上几种算法中,通过比较,不难发现,直接迭代法采用了固定的刚度,适合解决非线性程度不高的本构关系,而切线刚度法采用了变化的刚度,在每一步上都做了实时的修正,对非线性程度较高本构关系任然有效,在效率和迭代精度方面,切线刚度法采用的修正更符合非线性材料的应力应变关系,具有较大的优势,这也是本文采用切线刚度法计算的原因,当然,非线性有限元算法还有很多,切线刚度法也不见得就是最好的能解决所有问题的算法,但是它是在程序开发难度不高和精度方面较高的条件下相对来说最好的

本文采用的本构关系是同性硬化弹塑性模型[14],采用Mises屈服准则,下面将根据J2理论[15],分别推导常刚度法和切线刚度法计算该问题的的算法公式

4.3. 增量理论常刚度法公式推导

由应力应变关系得:

d{?}?d{?}e?d{?}p (4-8)

(4-9)

d{?}?[D]e(d{?}?d{?}p)其中

[D]e是弹性矩阵,它的表达式为

??????????????1?2??2(1??)??

?1????1??????1??E(1??)?De?(1??)(1?2?)?0???0???0??d{?}p1对10001?2?2(1??)001?2?2(1??)0称?1??000是塑性应变增量,它的表达式为

???{?}

d{?}p?d?p

20

d?p其中为等效塑性应变增量,它的表达式为

{??}[D]eTd?p??{?}d{?}????'TH?{}[D]e?{?}?{?}

[D]e???[D]e3[?x,?y,?z,2?xy,2?yz,2?zx]?'''T3G[?x,?y,?z,?xy,?yz,?zx]'''T????2??T([D]??T??????e????)????[D]e???????

H'为切线模量

对于3维空间问题,流动方向:

??''''''T?{?}?32?[?x,?y,?z,2?xy,2?yz,2?zx]

等效应力

??12{[(?x??y)2?(?2y??z)?(?2z??x)]}

应力偏量

?'x??x?(?x??y??z)/3?'y??y?(?x??y??z)/3?'z??z?(?x??y??z)/3?'xy??xy?'yz??yz?'zx??zx

4.4. 增量理论切线刚度法公式推导

本文采用的是一种切线刚度法,其应力应变关系为

d{?}?d{?}e?d{?}p d{?}?[D]e(d{?}?d{?}p) 21

(4-10)

(4-11)

{??}T3-14两端左右同乘 ?{?},得到:

{??T??T?{?}}d{?}?{?{?}}[D]e(d{?}?d{?}p)

对于强化材料,Mises准则

d??{???{?}}Td{?}?H'd?p

代入可得

H'd??T]????p?{??{?}}[Ded??{?{?}}T[D]e?{?}d?p

其中,

d?p为等效塑性应变增量,它的表达式为

{??}T[D]ed?p??{?}d{H'?{???{?}}T[D]???}e?{?}

由于:

[D]??3'''T3G'''e?????[D]e2?[?x,?y,?z,2?xy,2?yz,2?zx]??[?x,?y,?z,?xy,?yz,?Tzx]T([D]??T??????e????)?????????[D]e??

由流动法则可知

d{?}p?d???p?{?}

应用上式得

??[D]????T?ed{?}??[D]?{?}{?{?}}[D]e??e??d{?H'?{??}T???}???{?}[D]e?{?}??

所以得到

d{?}?[D]epd{?} 这就是切线刚度法的矩阵表达式

22

(4-12)

[D]ep其中为弹塑性矩阵,在ABAQUS里面称为雅可比矩阵,它的表达式为

[D]ep?[D]e?[D]p

其中[D]e是弹性矩阵,它的表达式为

?1????1??1对????1??1称DE(1??)?1???e?(1??)(1?2?)??0001?2?2(1??)???00001?2?2(1??)???00000?Dp为塑性矩阵,它的表达式为

[D]??e{??}T[D]e[D]?{?}?{?}p?H'?{???{?}}T[D]??e?{?}

对于3维空间问题

流动方向

??3''?{?}?2?[?x,?y,?'''Tz,2?xy,2?yz,2?'zx]

所以

??'2??x''?'2???x?yy对?2?[D]9G?'x?'y?''y?z?'2z称?p?(H'?3G)?2???''x?xy?''?''?y?xyz?xy?'2xy???'?'?xyz?''?'''''2y?yzz?yz?xy?yz?yz????'x?'zx?'y?'zx?''z?zx?'xy?'zx?''yz?zx?'2?zx??

最后推导可得,弹塑性矩阵的表达式

23

?????????????1?2???2(1??)??

[D]ep?1??'2???x?1?2????'????yx?1?2???1??'????zxE?1?2???1???''????xyz??''????z?yz??''????z?zx?1??1?2????''2y对'?1?2????y?z''1??1?2????z'''2称12???xy'''2???y?xy???y?yz???y?zx''''???z?xy???z?yz???z?zx''''???xy?yz???xy?zx''12???yz'''2???xy?zx???????????????1'2???zx?2?

其中

??9G2?(H?3G)2'G?E2(1??

)H为切线模量,对本构关系求导得到

'H?'d?d?p

总结推导过程:上面的推导过程看似复杂,其实核心的问题只有一个,即两者对于塑性阶段应力更新的算法不同。 常刚度法采用的是:

d{?}?[D]e(d{?}?d{?}p)

而切线刚度法采用的是:

d{?}?[D]epd{?}

把握好了两者的本质上的区别,对于两者的算法设计和程序开发问题便迎刃而解

24

5. UMAT程序设计和编码

本章将严格按照前一章推导的公式展开程序设计和编码,为了便于编程,本文将本构关系做了抽象化处理,即将其描述成一个含参数的表达式,改变参数即可应用于不同的模型,这样做的好处是能保证程序的复用性,这也是本文反复强调的使用UMAT的原则。

5.1. 本构关系描述

本文采用各向同性硬化弹塑性材料,材料参数如下:

???E?e (??B??A(?)?C (??P

????TT)) (5-1)

弹性部分:??E?e,弹性模量E=200000Mpa,泊松比Mu=0.3

图5-1 弹性部分本构关系

塑性部分:

??A(?P)?CB,为了研究方便,取A=700,B=0.5,C=400

25

图5-2 塑性部分本构关系

将2个曲线统一到同一个坐标系(为方便显示,x轴标注时扩大了1000倍)

图5-3 本构关系

由此可以求出两条线的交点即初始屈服点的应力Yield0=400Mpa(注意两条曲线相差了一个屈服应变,因为两者其实不是一个坐标系)

综上定义的材料常数见表5-1:

表5-1

弹性模量E 泊松比Mu

200000 0.3

屈服应力Yield0 400 A

700

26

B C

0.5 400

注意:上面A,B,C的取值只是为了便于理解和分析本文的材料模型,为了保证程序的 通用性,本文的参数在程序中的A,B,C一律用变量表示。

5.2. 常刚度法程序设计

算法设计

1:定义程序需要用到的常数和变量

2:读取ABAQUS定义的材料常数和状态变量(这里只定义了一个状态变量),材料常数为,弹性模量E,泊松比Mu,屈服应力Yield0,参数A,B,C,并且计算出剪切模量G,状态变量为等效塑性应变EQPLAS

3:读取应力分量,计算平均应力,应力偏量以及Mises等效应力 平均应力:

?cp?(?x??y??z)/3??x??cp??y??cp??z??cp??xy??yz??zx23

'??x?'??y?'??z?'??xy?'??yz?'?应力偏量:?zx

(?x??'2'2y??Mises等效应力:

??z?2(?xy??yz??zx)'2'2'2'2 4:根据3计算的Mises等效应力和2读取的屈服应力Yield0比较,如果Mises等效应力小于屈服应力,表明此时材料未屈服,那么转到5,否则转到6 5:雅可比矩阵,初始化为0,计算弹性矩阵,按照弹性理论更新应力

27

?1????1??????1??E(1??)?De?(1??)(1?2?)?0???0???0??1对10001?2?2(1??)001?2?2(1??)0称?1??000??????????????1?2??2(1??)??

d????Ded???

6:雅可比矩阵,初始化为0

1):计算切线模量H'

H?A*B*(?P?Yield0/E)'B?1,注意到当等效塑性应?P?0时对应于本构关系的屈服点,此

时的H不能通过上式计算,可以取此时的H为弹性模量 2):计算等效塑性应变增量并更新

d?p?6*G*?*??x,?y,?z,?xy,?yz,?zx?'2'2'2'2'2'22*?*H?9*G*(?2''2x??'2y??'2z?2?'2xy?2?'2yz?2?)'2zx*d???

EQPLAS=DEQPLAS+EQPLAS更新状态变量 3)计算流动方向

???????32?''

'T[?x,?y,?z,2?xy,2?yz,2?zx]

4)计算塑性应变增量

d{?}p?d?p???{?}

5)更新应力

d{?}?[D]e(d{?}?d{?}p)

28

算法流程图

图5-4 常刚度法算法流程图

5.3. 常刚度法程序编码

根据算法流程,用FORTRAN77 固定格式编制了常刚度法的计算程序如下:

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,

1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,

2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT, 3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)

29

INCLUDE 'ABA_PARAM.INC'

CHARACTER*8 CMNAME

DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS), 1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS), 2 PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3), 3 DFGRD0(3,3),DFGRD1(3,3),DPLAS(6) C----------------------------

CCCCCCCCCCCCCCCCCCCCCCCCCC1:定义变量 c 定义常数

PARAMETER(ZERO=0.D0,ONE=1.D0,TWO=2.D0,THREE=3.D0)

常刚度法

C 定义材料常数

DOUBLE PRECISION E,Mu,Yield0,A,B,C

DOUBLE PRECISION H,W,CEGMA_EQ,CEGMA_X,CEGMA_Y,CEGMA_Z,TAO_XY, 1TAO_YZ,TAO_ZX,CEGMA_CP,CEGMA_SX,CEGMA_SY,CEGMA_SZ,TAO_SXY,TAO_SYZ

C 定义中间变量

2,TAO_SZX C 定义状态变量 C

DOUBLE PRECISION EQPLAS 定义更新变量

DOUBLE PRECISION DEQPLAS CCCCCCCCCCCCCCCCCCCCCCCCCC2:读取变量 C C

弹性模量 泊松比 Mu=PROPS(2)

E=PROPS(1)

C 剪切模量 C

G=E/TWO/(ONE+Mu) 屈服应力 Yield0=PROPS(3)

C 参数

A=PROPS(4) B=PROPS(5) C=PROPS(6) EQPLAS=STATEV(1)

Yield=A*(EQPLAS+Yield0/E)**B+C

C 读取状态参数

CCCCCCCCCCCCCCCCCCCCCCCCCC3:读取应力分量,计算平均应力,应力偏量以及Mises等效应力 C 6个应力分量

CEGMA_X= STRESS(1) CEGMA_Y= STRESS(2)

CEGMA_Z= STRESS(3)

TAO_XY= STRESS(4) TAO_ZX= STRESS(5)

30

TAO_YZ= STRESS(6)

C 平均应力

CEGMA_CP=(CEGMA_X+CEGMA_Y+CEGMA_Z)/THREE

C 6个应力偏量

CEGMA_SX=CEGMA_X-CEGMA_CP CEGMA_SY=CEGMA_Y-CEGMA_CP CEGMA_SZ=CEGMA_Z-CEGMA_CP TAO_SXY=TAO_XY TAO_SZX=TAO_ZX TAO_SYZ=TAO_YZ

CEGMA_EQ=SQRT(THREE/TWO*(CEGMA_SX**2+CEGMA_SY**2+CEGMA_SZ**2+ 1TWO*(TAO_SXY**2+TAO_SYZ**2+TAO_SZX**2)))

DO k1=1,NTENS DO k2=1,NTENS DDSDDE(K1,K2)=ZERO END DO END DO

c Mises等效应力

C 雅可比矩阵,初始化默认为

c 计算弹性矩阵 DO K1=1,NDI

DO K2=1,NDI

DDSDDE(K1,k2)=E*(ONE-Mu)/(ONE+Mu)/(ONE-TWO*Mu)*(Mu/(ONE-Mu)) END DO

DDSDDE(K1,K1)=E*(ONE-Mu)/(ONE+Mu)/(ONE-TWO*Mu) END DO

DO K1=NDI+1,NTENS

DDSDDE(K1,K1)=E*(ONE-Mu)/(ONE+Mu)/(ONE-TWO*Mu)*(ONE-TWO*Mu)/TWO/ END DO

1(ONE-Mu)

CCCCCCCCCCCCCCCCCCCCCCCCCC4:根据计算的Mises等效应力和读取的屈服应力Yield0比较,

CCCCCCCCCCCCCCCCCCCCCCCCCC如果Mises等效应力小于屈服应力,表明此时材料未屈服,那么转到,否则转到

C 按照弹性理论更新应力

DO K1=1,NTENS

IF(CEGMA_EQ.LT.Yield0) THEN

CCCCCCCCCCCCCCCCCCCCCCCCCC5:没有屈服,按照弹性理论计算

DO K2=1,NTENS

STRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*DSTRAN(K1) END DO

END DO ELSE

CCCCCCCCCCCCCCCCCCCCCCCCCC6:屈服发生,按照塑性理论计算

31

C 切线模量H,根据本构关系求导 IF(EQPLAS.EQ.0) THEN

H=E ELSE

H=A*B*EQPLAS**(B-ONE) END IF

C 求W

W=9.D0*G/TWO/CEGMA_EQ**2/(H+THREE*G) C 等效塑性应变增量

DEQPLAS=(6.D0*G*CEGMA_EQ/(TWO*CEGMA_EQ**2*H+9.D0*G*(CEGMA_SX 1**2+CEGMA_SY**2+CEGMA_SZ**2+TWO*TAO_XY**2+TWO*TAO_ZX**2+TWO*TAO_YZ 2**2)))*(CEGMA_SX*DSTRAN(1)+CEGMA_SY*DSTRAN(2)+CEGMA_SZ* C

3DSTRAN(3)+TAO_XY*DSTRAN(4)+TAO_ZX*DSTRAN(5)+TAO_YZ*DSTRAN(6)) write(10,*) \

C 更新状态变量

STATEV(1)=EQPLAS+DEQPLAS C 计算塑性应变增量

DO K1=1,NTENS

DPLAS(1)= DEQPLAS*THREE*CEGMA_SX/TWO/CEGMA_EQ DPLAS(2)= DEQPLAS*THREE*CEGMA_SY/TWO/CEGMA_EQ DPLAS(3)= DEQPLAS*THREE*CEGMA_SZ/TWO/CEGMA_EQ DPLAS(4)= DEQPLAS*THREE*TAO_XY/CEGMA_EQ DPLAS(5)= DEQPLAS*THREE*TAO_ZX/CEGMA_EQ DPLAS(6)= DEQPLAS*THREE*TAO_ZY/CEGMA_EQ

C 按照塑性理论更新应力 DO K2=1,NTENS

STRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*(DSTRAN(K1)-DPLAS(K1)) END DO

END DO END IF

CCCCCCCCCCCCCCCCCCCCCCCCCC计算完成

RETURN END

5.4. 切线刚度法程序设计

算法设计

1:定义程序需要用到的常数和变量

2:读取ABAQUS定义的材料常数和状态变量(这里只定义了一个状态变量),材料常数为,弹性模量E,泊松比Mu,屈服应力Yield0,参数A,B,C,并且计算出剪切模量G,状态变量为等效塑性应变EQPLAS

32

3:读取应力分量,计算平均应力,应力偏量以及Mises等效应力 平均应力:

?cp?(?x??y??z)/3??x??cp??y??cp??z??cp??xy??yz??zx23

'??x?'??y?'??z?'??xy?'??yz?'应力偏量:??zx

(?x??'2'2y??Mises等效应力:

??z?2(?xy??yz??zx))'2'2'2'2

4:根据3计算的Mises等效应力和2读取的屈服应力Yield0比较,如果Mises等效应力小于屈服应力,表明此时材料未屈服,那么转到5,否则转到6 5:雅可比矩阵,初始化为0,然后计算弹性矩阵,按照弹性理论更新应力

?1????1??????1??E(1??)?De?(1??)(1?2?)?0???0???0????????????????1?2??2(1??)??

1对10001?2?2(1??)001?2?2(1??)0称?1??000

d????Ded???

6:雅可比矩阵,初始化为0

1)计算切线模量H

H?(A(?P)?C)?A*B*?P'B'B?1

33

注意到当等效塑性应?P?0时对应于本构关系的屈服点,此时的H不能通过上式计算,可以取此时的H为弹性模量 2)计算w

根据前一章推导的公式

??9G2?(H?3G)2'

3)计算等效塑性应变增量DEQPLAS,并更新状态变量 根据前一章推导的公式:

{??}[D]eTd?p??{?}d{?}??T??'H?{}[D]e?{?}?{?}

[D]e???????[D]e32?[?x,?y,?z,2?xy,2?T''',2?zx]yzT?3G?[?x,?y,?z,?xy,?'''yz,?zx]T

???T?????([D]e)???[D]e????????????

带入后可得等效塑性应变增量DEQPLAS

d?p?6*G*?*??x,?y,?z,?xy,?yz,?zx?''''''2*?*H?9*G*(?x??2''2'2y??z?2?xy?2?yz?2?zx)'2'2'2'2*d???

然后EQPLAS=DEQPLAS+EQPLAS更新状态变量 4)计算雅可比矩阵

首先初始化默认为0,然后用下式计算雅可比矩阵

34

本文来源:https://www.bwwdw.com/article/0b43.html

Top