ImageVerifierCode 换一换
格式:DOCX , 页数:97 ,大小:466.68KB ,
资源ID:11423118      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11423118.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ABAQUSFortran二次开发.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ABAQUSFortran二次开发.docx

1、ABAQUSFortran二次开发摘 要 IABSTRACT II1.绪论 11.1.课题的研究背景 11.2.本文的研究内容和方法 22.基于ABAQUS 软件的二次开发 32.1.ABAQUS 介绍 32.2.ABAQUS 各模块简介 32.3.ABAQUS 的二次开发平台 52.4.ABAQUS 的二次开发语言 63.用户材料子程序 UMAT 83.1.UMAT 开发环境设置 83.2.UMAT 注意事项 93.3.UMAT 接口的原理 103.4.UMAT 的使用方法 124.材料非线性问题 144.1.材料的弹塑性本构关系 144.2.非线性有限元算法理论 174.3.增量理论常刚度

2、法公式推导 204.4.增量理论切线刚度法公式推导 215.UMAT 程序设计和编码 255.1.本构关系描述 255.2.常刚度法程序设计 275.3.常刚度法程序编码 295.4.切线刚度法程序设计 325.5.切线刚度法程序编码 365.6.程序的调试 396.程序验证 406.1.问题描述 416.2.本构关系 426.3.ABAQUS 自带材料模型计算 426.4.常刚度法的 UMAT 验证 446.5.切线刚度法的 UMAT 验证 466.6.两种算法的比较分析 487.结论与展望 527.1.结论 527.2.展望 52致 谢 54参考文献 55附 1:ABAQUS 自带弹塑性材

3、料验证的 INP 文件 56附 2:用于算法验证的 INP 文件 62ABAQUS 软件功能强大,特别是能够模拟复杂的非线性问题,它包括了多种材料 本构关系及失效准则模型,并具有良好的开放性,提供了若干个用户子程序接口,允 许用户以代码的形式来扩展主程序的功能。本文主要研究了 ABAQUS 用户子程序 UMAT 的开发方法,采用 FORTRAN 语言 编制了各向同性硬化材料模型的接口程序,研究该类材料的弹塑性本构关系极其实现 方法。本文紧紧围绕 UMAT 的二次开发技术,首先对其接口原理做了详细介绍,然后针 对非线性有限元增量理论中的常刚度法和切线刚度法的算法理论做了深入的剖析,推 导出了常刚

4、度法和切线刚度法的算法理论的具体表达式,然后分别编制了两种算法的 UMAT程序,最后建立了一个具体的验算模型,通过与 ABAQUS自带弹塑性本构关系 的计算结果相比较,验证两者的正确性。本文还对常刚度法和切线刚度法得算法效率做了对比,得出了在非线性程度较高时 切线刚度法效率高于常刚度法的结论。关键字: ABAQUS、UMAT、有限元、材料非线性、FORTRAN、切线刚度ABSTRACTABAQUS software powerful, especially to simulate complex non-linear problem, which includes a wide range o

5、f 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 i

6、sotropic 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

7、 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 algorithm

8、s, 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

9、 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 stiffness1.绪论1.1. 课题的研究背景有限单元法基本思想的提出,可以追溯到克劳夫 (R.W.

10、Clough) 在 1943 年的工作 1 , 他第一次尝试应用定义在三角形区域上的分片连续函数和最小位能原理相结合,来求 解 St. Venant 扭转问题。1960 年克劳夫进一步处理了平面弹性问题,并第一次提出了 “有限单元法”的名称,使人们开始认识了有限单元法的功效。四十多年来,随着电子计算机的广泛应用和发展,有限单元法的理论和应用都得 到迅速的,持续不断的发展,其应用己由弹性力学平面问题扩展到空间问题、板壳问 题,由静力学问题扩展到稳定问题、动力问题和波动问题。分析的对象从弹性材料扩 展到塑性、粘弹性、粘塑性和复合材料等,从固体力学扩展到流体力学、传热学等连 续介质力学领域。在工程分

11、析中的作用已从分析和校核扩展到优化设计并和计算机辅 助设计。利用有限元软件解决工程和科学问题,是有限元理论应用于工程设计和科学研究 实践的主要形式。由于工程设计的巨大市场需要,有限元软件的发展是很迅速的,目 前常用的大型有限元软件常见的有 Sap2000,ADINA,MSC/NASTRAN,MSC Marc, ANSYS,ABAQUS 等,这些软件的共同特点是具有丰富的单元库和求解器,强大而可 靠的分析功能,人们利用这些软件解决了很多工程建设和工业产品设计中遇到的问题, 取得了巨大的经济技术效益。由于工程问题的千差万别,不同的用户有不同的专业背景和发展方向,通用软件 不免在具体的专业方面有所欠

12、缺,针对这些不足,大部分的通用软件都提供了二次开 发功能,以帮助用户减少重复性的编程工作、提高开发起点、缩短研发周期、降低开 发成本,并能简化后期维护工作,给用户带来很多方便。基于通用软件平台进行开发, 是目前研究的一个重要发展方向。ABAQUS 也提供了若干用户子程序( User Subroutines )接口,它是一个功能非 常强大且适用的分析工具,与命令行的程序格式相比,用户子程序的限制少得多, 从而使用更加灵活方便。针对 ABAQUS 所提供的本构关系模型种类有限,无法满足 工程应用需要的问题,用户子程序中的用户材料子程序(User-defined Materia Mechanical

13、 Behavior,简称 UMAT)接口可以帮助用户定义自己的材料本构模型和算 法,这是 ABAQUS 的独到之处。由于其操作方便,能被灵活地应用于各个领域中, 尤其受到用户的青睐。1.2.本文的研究内容和方法ABAQUS 中用户材料子程序 UMAT 的开发主要解决两方面的问题:本构模型的建 立和积分算法的选择。本文主要研究非线性材料的 UMAT 实现方法,并重点研究其迭代算法部分,目前, 用户材料子程序 UMAT的迭代算法主要是常刚度法,常刚度法的优点在于算法原理较简 单,程序编写较方便,缺点是当遇到复杂非线性材料时,其迭代次数较多,收敛速度 也较慢,在这个情况下,本文采取的是一种迭代次数较

14、少且收敛速度较快的切线刚度 法,具体就是采用 FORTRAN 语言编制了基于 Von-Mises 模型的接口程序,并采用切线 刚度算法,通过与 ABAQUS 自带本构关系计算的结果相比较,验证其正确性。本文的研究工作紧紧围绕 UMAT 的二次开发技术,首先根据有限元方法推导材料 非线性问题算法的公式,然后参考 UMAT 接口规范设计程序的算法流程,继而编写出 该程序,最后建立一个具体的本构和具体的模型做测试,验证程序的正确性,在这一 过程中,调试是一个非常重要的过程,占用了大量的时间,在调试程序时采用了将中 间变量输出到文本的方式,这样能明确跟进迭代过程,发现算法或程序的缺陷。本文采用的本构关

15、系是经过归纳和抽象的,也就是说本文的程序并不仅仅是只针对 某个具体模型和问题,而是针对所有符合抽象出的各向同性硬化材料,这样做的好处 是能保证程序的通用性和复用性,避免以后的重复劳动,当然,这也是符合 ABAQUS 软件设计 UMAT 接口的宗旨的。2.基于 ABAQUS 软件的二次开发2.1. ABAQUS 介绍ABAQUS 是一套功能强大的基于有限元法的工程模拟软件 2 ,其解决问题的 范围 从相对简单的线性分析到最富有挑战性的非线性模拟问题。ABAQUS具备十分丰富的、 可模拟任意实际形状的单元库。并与之对应拥有各种类型的材料模型库,可以模拟大 多数典型工程材料的性能,其中包括金属、橡胶

16、、高分子材料、复合材料、钢筋混凝 土、可压缩弹性的泡沫材料以及岩石和土这样的地质材料。 作为通用的模拟分析工具, ABAQUS 不仅能解决结构分析中的问题,还能模拟和研究各种领域中的问题,如热传 导、质量扩散、电子元器件的热控制(热一电耦合分析)、声学分析、土壤力学分析(渗 流应力耦合分析)和压电介质力学分析。ABAQUS 为用户提供了广泛的功能,且使用起来又十分简明。最复杂的问题也可 以很容易地建立模型3。例如复杂的多部件问题可以通过对每个部件定义材料模型和几 何形状,然后再把它们组装起来而构成。在大部分模拟分析问题中,甚至在高度非线 性问题中,用户也只需要提供结构的几何形状、材料性能、边界

17、条件和荷载工况这样 的工程数据就可以进行分析。在非线性分析中,ABAQUS 能自动选择合适的荷载增量 和收敛精度。不仅能选择这些参数值,而且能在分析过程中不断地调整参数来保证有 效地得到高精度的解,很少需用户去定义这些参数。2.2. ABAQUS 各模块简介ABAQUS 有两个主要的分析模块: ABAQUS/Standard 和 ABAQUS/Explicit 。 ABAQUS/Standard 还有两个特殊用途的附加分析模块:ABAQUS/Aqua 和 ABAQUS/Design。 另外,还有 ABAQUS 分别与 ADAMS/Flex,C-MOLD 和 Mold flow 的接口模块: A

18、BAQUS/ADAMS,ABAQUS/C-MOLD 和 ABAQUS/ MOLDFLOW。ABAQUS/CAE 是完全的 ABAQUS 工作环境模块,它包括了 ABAQUS模型的构造,交互式提交作业、监控作业过程以及评 价结果的能力。ABAQUS/Viewer 是 ABAQUS/CAE 的子集,它具有后处理功能,这些模 块之间的关系见图 2- 1图 2-1ABAQUS/StandardABAQUS/Standard 是一个通用分析模块,在数值方法上采用有限元方法常用的 隐式积分。它能够求解广泛的线性和非线性问题,包括结构的静态、动态问题、热 力学场和电磁场问题等。对于通常同时发生作用的几何、材

19、料和接触非线性可以采 用自动控制技术处理,也可以由用户自己控制。ABAQUS/ExplicitABAQUS/Explicit 是一个在数值方法上采用有限元显式积分的特殊模块,它利用对 时间的显式积分求解动态有限元方程。它适合于分析诸如冲击和爆炸这样短暂、瞬时 的动态问题,同时对高度非线性问题如模拟加工成型过程中接触条件的改变等也非常 有效。ABAQUS/CAEABAQUS/CAE 是 ABAQUS 进行有限元分析的前后处理模块,也是建模、分析和后处理 的人机交互平台。该模块根据结构的几何图形生成网格,将材料和截面的特性分配到 网格上,并施加载荷和边界条件。该模块可以进一步将生成的模型投入到分析

20、模块中 进行高效率的后台运行,并对运行情况进行监测,对计算结果进行后处理。ABAQUS/CAE 的后处理支持 ABAQUS分析模块的所有功能,并且对计算结果的描述和解释提供了范围 很广的选择,除了通常的云图,等值线和动画显示之外,还可以用列表,曲线(包括部 分常用运算)等其他常用工具来完成对结果数据的处理。该模块的许多独特功能与特 点,例如 CAD特征化建模、参数化建模、适应设计者要求的数据管理系统等极大的方 便了 ABAQUS 的使用者。ABAQUS/AquaABAQUS/Aqua 的一系列功能可以附加在 ABAQUS/Standard 中应用。它偏向于模拟海 上结构,如海洋石油平台。它的功

21、能包括模拟波浪,风载荷及浮力的 影响。在本指南 中不讨论 ABAQUS/Aqua。ABAQUS/ADAMSABAQUS/ADAMS 允许 ABAQUS 有限元模型作为柔性部件进入到 MDIADAMS 产品族中去 进行分析。ABAQUS/C-MOLDABAQUS/C-MOLD 把注模分析软件 C-MOLD 中有限元网格、材料性质和初始应力数据 转换成为 ABAQUS 输入文件。ABAQUS/DesignABAQUS/Design 的一系列功能可附加在 ABAQUS/Standard 中进行设计敏度计算。 ABAQUS/MOLDFLOWABAQUS/MOLDFLOW 模块把 MOLDFLOW 分析

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

23、控分析作业,也可以使用 ABAQUS脚本 语言越过 ABAQUS的交互式(GUI)界面直接高效地向 ABAQUS内核提交任务。使用 Python 可以进行参数化建模,修改交互式建立的模型,还可以一次提交多个作业。出了脚本语言接口, ABAQUS 还为用户提供了功能强大的用户子程序接口( Abaqus User Subroutines ),以帮助用户开发基于 ABAQUS 内核的程序,常用的用户子程序包 括 UEL(User subroutine to define an element ,用户单元子程序),UMAT(User subroutine to define a materials m

24、echanical behavior,用户材料子程序 )5,其中 UMAT 的使用最为 广泛,它主要用于用户开发自己的材料模型,以弥补 ABAQUS 自带材料模型的不足, 帮助用户完成各种材料分析,功能极为强大。在国外,众多的有限元分析和研究者热衷于使用 ABAQUS ,一个很重要的原因就在 于 ABAQUS 给用户提供了功能强大,使用方便的二次开发工具和接口,使得用户可以方 便的进行富含个性化的有限元建模、分析和后处理,满足特定工程问题的需要。通过 用户材料子程序接口,用户可定义任何补充的材料模型,不但任意数量的材料常数都 可以作为资料被读取,而且ABAQUS 对于任何数量的与解相关的状态变

25、量在每一材料计 数点都提供了存储功能,以便在这些子程序中应用。2.4. ABAQUS 的二次开发语言ABAQUS 的二次开发语言主要有 3 种: Python , FORTRAN , C+Python 语言主要用于GUI 开发,FORTRAN语言主要用于用户子程序开发,而c+语 言主要专注于其他高级开发部分。本文主要是针对用户子程序的开发,所以采用 FORTRAN 语言,下面简要介绍一 下该语言极其特点:FORTRAN 语言是世界上第一个被正式推广使用的高级语言 6 。它是 1954 年被提 出来的,1956 年开始正式使用,至今已有三十多年的历史,但仍历久不衰,它始终是 数值计算领域所使用的

26、主要语言。FORTRAN 语言是 Formula Translation 的缩写,意为“公式翻译”。它是为科学、 工程问题或企事业管理中的那些能够用数学公式表达的问题而设计的,其数值计算的 功能较强。FORTRAN 语言问世以来,根据需要几经发展,先后推出了不同的版本,主要版 本有 FORTRAN 77,FORTRAN 90,FORTRAN 95,ABAQUS 采用 FORTRAN 77,通 常用固定格式编写代码。FORTRAN77 语言同C 语言一样,是一种结构化编程语言结构化程序设计方法规定,在结构化的程序中,只能有三种基本结构:(1)顺序结构这是一种最简单的基本结构形式,它的特点是,在这

27、个结构内的各个功能模块或 语句序列,是按其出现的先后顺序执行的,如赋值语句、输入/输出语句等。它有一个 入口和一个出口,并在入口和出口之间包含着若干个功能块,其中每一个功能块可以 是一个非转移语句。因此,顺序基本结构块是由一系列的顺序执行语句组成的。(2)分支选择结构在给定的条件下,分支选择结构判断选择哪一条路径执行,不同路径完成的功能 是不同的。实现分支选择结构主要由块IF语句、ELSE语句、END IF语句以及ELSE IF 语句组成的 IF-THEN-ELSE 结构。(3)循环结构循环结构也称重复处理结构,即重复执行某一功能块,直到满足(或不满足)某 一条件为止。实现循环结构的 FORT

28、RAN90语句主要是 DO语句、块IF 语句和逻辑 IF语 句的结合。以上三种基本结构,是组成结构化程序的基本结构形式。这里有两层意思:一是 结构化的程序中,各个模块均由这三种基本结构组成;二是结构化程序本身,从宏观 上也是这三种基本结构形式之一。3.用户材料子程序 UMAT3.1. UMAT 开发环境设置由于 UMAT 是采用 FORTRAN 语言编写,那么要运行 UMAT 就需要安装 FORTRAN 的开发环境, 同时还需要ABAQUS的支持,本文采用的ABAQUS版本为 6.81,支持 INTEL Fortran9.1-10.1,Intel Fortran 安装时又需要安装 Micros

29、oft Visual Studio 的相应版 本,经过比较,本文选用 ABAQUS6.81+Intel Fortran10.1+Microsoft VisualC+ 2005,相 对于 ABAQUS 来说,UMAT 开发环境的设置较为繁琐,这给子程序的使用带来诸多不 便,为了解决这一问题,我用 C#语言编制了 ABAQUS 子程序编译环境设置工具,只 需要将安装文件解压到 ABAQUS 的安装目录,运行安装程序就可以了,整个过程不需 要人工干预,也不需要安装庞大的 VisualC+ 2005,如图 3-1 所示图 3-13.2. UMAT 注意事项ABAQUS 的用户子程序是根据 ABAQUS

30、 提供的相应接口,按照 Fortran 语法, 用户自己编写的代码。它是一个独立的程序单元,可以独立的被存储和编译,也能 被其它程序单元引用,因此,利用它可带回大量数据供引用程序使用,也可以用它 来完成各种特殊的功能。它的一般结构形式是:SUBROUTINE S(x1,x2,xn)INCLUDEABA_PARAM.INC(用于ABAQUS/Standard 用户子程序中)OR INCLUDEVABA_PARAM.INC)(用于 ABAQUS/Explicit 用户子程序中)RETURNEND x1,x2,xn 是ABAQUS提供的用户子程序的接口参数,有些参数是 ABAQUS 传到用户子程序中

31、的,例如 SUBROUTINE DLOAD 中的 KSTEP、KINC、COORDS, 有些是需要用户自己定义的,例如 F,文件 aba_param.inc 和 vaba_param.inc 随着 ABAQUS软件的安装而包含在操作系统中,它们含有重要的参数,帮助 ABAQUS 主 求解程序对用户子程序进行编译和链接。当控制遇到RETURN 语句时便返回到引用程 序单元中去,END 语句是用户子程序结束的标志。在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以 .for 为扩 展名的文件中。运行带有用户子程序的算例同时有两种方法:一是在 CAE中运行,在 EDIT JOB菜单中的

32、GENERAL子菜单的USER SUBROUTINE FILE对话框中选择用户 子程序所在的文件即可;另外是在 ABAQUS.COMMAND 中运行,语法如下: abaqus job=job-name user=source-file|object-file 编制用户子程序时应注意(1)用户子程序相互之间不能调用,但可以调用用户自己编写的Fortran 子程序和 ABAQUS应用程序。ABAQUS应用程序必须由用户子程序调用。当用户编写 Fortran 子程序时,建议子程序名以 K开头,以免和 ABAQUS内部程序冲突。(2)当用户在用户子程序中利用 OPEN 打开外部文件时,要注意以下两点:一是设备号 的选择是有限制的,只能取 1518和大于 100的设备号,其余的都已被 ABAQUS 占 用;二是用户需提供外部文件的绝对路径而不是相

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1