ABAQUS子程序UMAT的应用
umat的热力学
umat的热力学
UMAT(Unified Material Access Tool)是一个用于在ABAQUS有限元软件中实现用户自定义材料模型的工具。
它允许用户通过编写子程序来定义自己的材料本构模型,以模拟材料的力学行为。
在UMAT中,热力学通常指的是描述材料的热学性质,例如热膨胀、热传导、热容等。
用户可以在UMAT中实现自定义的热力学模型,以模拟材料在热加载情况下的行为。
具体来说,用户可以在UMAT子程序中编写代码来计算材料的热学响应,例如根据材料的温度和应力状态计算材料的热膨胀系数、热导率、热容等热学参数。
这些热学参数可以与力学行为一起被ABAQUS 有限元软件用于模拟材料在复杂加载条件下的行为。
总之,UMAT中的热力学是指用户编写的用于描述材料热学性质的子程序,用于在有限元分析中模拟材料在热加载条件下的行为。
ABAQUS子程序UMAT的应用
1.
1.1.
有限单元法基本思想的提出,可以追溯到克劳夫(R。W。Clough)在1943年的工作[1],他第一次尝试应用定义在三角形区域上的分片连续函数和最小位能原理相结合,来求解St. Venant扭转问题。1960年克劳夫进一步处理了平面弹性问题,并第一次提出了“有限单元法”的名称,使人们开始认识了有限单元法的功效。
图2-1
ABAQUS/Standard
ABAQUS/Standard是一个通用分析模块,在数值方法上采用有限元方法常用的
隐式积分.它能够求解广泛的线性和非线性问题,包括结构的静态、动态问题、热
力学场和电磁场问题等。对于通常同时发生作用的几何、材料和接触非线性可以采
用自动控制技术处理,也可以由用户自己控制.
2.2.
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工作环境模块,它包括了ABAQUS模型的构造,交互式提交作业、监控作业过程以及评价结果的能力。ABAQUS/Viewer是ABAQUS/CAE的子集,它具有后处理功能,这些模块之间的关系见图2—1
ABAQUS/Explicit
ABAQUS材料用户子程序UMAT学习报告
具有友好的用户 界面和易用的操 作流程,方便用 户进行学习和使 用
UMAT子程序简介
UMAT子程序是 ABAQUS材料用户 自定义模块,允许 用户根据实际需求 编写材料本构模型。
UMAT子程序采用C 语言编写,用户需要 具备一定的编程基础。
UMAT子程序可以实 现多种材料本构模型 ,如弹性、塑性、蠕 变等。
UMAT子程序实现细节
编程语言和接口
A B A Q U S 材 料 用 户 子 程 序 U M AT 使 用Fortran语言编写
U M AT 子 程 序 中 可 以 定 义 材 料 属 性 、 本构关系等
添加标题
添加标题
添加标题
添加标题
U M AT 子 程 序 通 过 A B A Q U S 提 供 的 接口与主程序进行交互
不足:使用门槛较高,需要用户具备一定的编程基础
未来展望:期待更多的用户参与开发,不断完善子程序功能
总结:UMAT子程序为用户提供了强大的材料模型描述能力,但使用过程中需要注意其局 限性
在ABAQUS中的未来发展方向
开发更高效的材料模型 集成人工智能和机器学习技术 增强与CAD软件的集成 扩展对多物理场模拟的支持
适用于金属材料
适用于复合材料
适用于橡胶材料
适用于陶瓷材料
参数的合理选择
参数选择需符合实际物理模型 参数选择需考虑材料特性 参数选择需经过实验验证 参数选择需注意收敛性和稳定性
收敛性和稳定性问题
收 敛 性 : U M AT 子 程 序 在 迭 代 过 程 中应满足收敛条件,否则可能导致 计算失败或结果不准确。
边界条件和初始条件
边界条件:描述模型在边界上的行为,如位移、速度等 初始条件:描述模型在初始时刻的状态,如温度、压力等
ABAQUS子程序UMAT里弹塑本构的实现
前言有限元法是工程中广泛使用的一种数值计算方法。
它是力学、计算方法和计算机技术相结合的产物。
在工程应用中,有限元法比其它数值分析方法更流行的一个重要原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。
所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越普及。
ABAQUS软件一直以非线性有限元分析软件而闻名,这也是它和ANSYS,Nastran等软件的区别所在。
非线性有限元分析的用处越来越大,因为在所用材料非常复杂很多情况下,用线性分析来近似已不再有效。
比方说,一个复合材料就不能用传统的线性分析软件包进行分析。
任何与时间有关联,有较大位移量的情况都不能用线性分析法来处理。
多年前,虽然非线性分析能更适合、更准确的处理问题,但是由于当时计算设备的能力不够强大、非线性分析软件包线性分析功能不够健全,所以通常采用线性处理的方法。
这种情况已经得到了极大的改善,计算设备的能力变得更加强大、类似ABAQUS这样的产品功能日臻完善,应用日益广泛。
非线性有限元分析在各个制造行业得到了广泛应用,有不少大型用户。
航空航天业一直是非线性有限元分析的大客户,一个重要原因是大量使用复合材料。
新一代波音 787客机将全部采用复合材料。
只有像 ABAQUS这样的软件,才能分析包括多个子系统的产品耐久性能。
在汽车业,用线性有限元分析来做四轮耐久性分析不可能得到足够准确的结果。
分析汽车的整体和各个子系统的性能要求(如悬挂系统等)需要进行非线性分析。
在土木工程业, ABAQUS能处理包括混凝土静动力开裂分析以及沥青混凝土方面的静动力分析,还能处理高度复杂非线性材料的损伤和断裂问题,这对于大型桥梁结构,高层建筑的结构分析非常有效。
瞬态、大变形、高级材料的碰撞问题必须用非线性有限元分析来计算。
线性分析在这种情况下是不适用的。
以往有一些专门的软件来分析碰撞问题,但现在ABAQUS在通用有限元软件包就能解决这些问题。
Abaqus材料用户子程序UMAT基础知识及手册例子完整解释
1、为何需要使用用户材料子程序(User-Defined Material, UMAT )?很简单,当ABAQUS 没有提供我们需要的材料模型时。
所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。
UMAT 子程序具有强大的功能,使用UMAT 子程序:(1)可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。
(2) 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQU S 中的任何单元。
(3) 必须在UMAT 中提供材料本构模型的雅可比(Jacobian )矩阵,即应力增量对应变增量的变化率。
(4) 可以和用户子程序“USDFLD ”联合使用,通过“USDFLD ”重新定义单元每一物质点上传递到UMAT 中场变量的数值。
2、需要哪些基础知识?先看一下ABAQUS 手册(ABAQUS Analysis User's Manual )里的一段话:Warning: The use of this option generally requires considerable expertise(一定的专业知识). The user is cautioned that the implementation (实现) of any realistic constitutive (基本) model requires extensive (广泛的) development and testing. Initial testing on a single eleme nt model with prescribed traction loading (指定拉伸载荷) is strongly recommended. 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。
如何配置ABAQUS的UMAT
如何配置ABAQUS的UMAT想使用umat吗?貌似很高深的样子,takeiteasy。
不过就是userdefinedsubroutine 而已,fortran里面也有subroutine,一个道理。
就把这个当作是一个外接的fortran程序好了。
当然自己要写一个umat不是一件容易的事情,但是今天我们不讨论这个,今天讨论的重点是如何让你的abaqus支持umat。
这个也不容易,能装好abaqus的人也一定经过一番挣扎了吧,既然已经经历不少艰难困苦到了这一步,那再坚持一会儿,设置一下配置,让我们拥有abaqus的所有功能吧!Abaqu6。
6不同于6.7。
首先是阅读ABAQUS的系统需求。
对于6.6:buildingpostprocessing对于6.7:buildingpostprocessing? microsoftvisualintelfortran8。
零点零三九intelc++8.0.058c++c++。
net2022applications(abaqusmakeutility使用C++>c++.net2021usersubroutinesandbuildingfortran?智能视觉fortran(abaqusmakeutilitywithfortranandabaqususersubroutines>视觉福特8。
十二“e:\\programme\\2021\\vc7\\bin\\vcvars32.bat”&&c:\\windows\\system32\\cmd。
Exe/K修改属性:“e:\\programme\\2021\\vc7\\bin\\vcvars32.bat”&&最后,当您运行验证时,您将得到以下结果:ABAQUS产品安装验证。
周一2122:10:482022runningsystemrequirementchecks.要求:windows2000、windowsxp、WindowsServer2022标准edition,orwindowsvista产品:allabaqusproductsproduct:abaqusmakeutilitywithfortranandabaquswithusersubroutines包装DW_UFC_UC_U9.1.028。
ABAQUS子程序UMAT的应用
目录摘要 (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)16.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)摘要ABAQUS软件功能强大,特别是能够模拟复杂的非线性问题,它包括了多种材料本构关系及失效准则模型,并具有良好的开放性,提供了若干个用户子程序接口,允许用户以代码的形式来扩展主程序的功能。
本文主要研究了ABAQUS用户子程序UMAT的开发方法,采用FORTRAN语言编制了各向同性硬化材料模型的接口程序,研究该类材料的弹塑性本构关系极其实现方法。
ABAQUS-二次开发资料-UMAT
各个楼层与容索引2-------------------------------------什么是UMAT3-------------------------------------UMAT功能简介4-------------------------------------UMAT开场的变量声明5-------------------------------------UMAT中各个变量的详细解释6-------------------------------------关于沙漏和横向剪切刚度7-------------------------------------UMAT流程和参数表格实例展示8-------------------------------------FORTRAN语言中的接口程序Interface9-------------------------------------关于UMAT是否可以用Fortran90编写的问题10-17--------------------------------Fortran77的一些有用的知识简介20-25\30-32-----------------------弹塑性力学相关知识简介34-37--------------------------------用户材料子程序实例JOhn-cook模型压缩包下载38-------------------------------------JOhn-cook模型本构简介图40-------------------------------------用户材料子程序实例JOhn-cook模型完整程序+david详细注解[欢送大家来看看,并提供意见,完全是自己的diy的,不保证完全正确,希望共同探讨,以便更正,带"?"局部,还望各位大师\指教]1 什么是UMAT???1.1 UMAT功能简介!!![-摘自庄茁教师的书UMAT子程序具有强大的功能,使用UMAT子程序:(1)可以定义材料的本构关系,使用ABAQUS材料库中没有包含的材料进展计算,扩大程序功能。
abaqus复合材料larc05失效准则umat子程序开发的相关案例教程
abaqus复合材料larc05失效准则umat子程序开发的相关案例教程开发一个用于模拟复合材料的UMAT子程序是一个复杂的过程,涉及到对材料行为的深入理解以及高级编程技巧。
下面是一个基本的案例教程,演示如何为ABAQUS开发一个用于模拟LARC05失效准则的UMAT子程序。
1. 准备工作•安装ABAQUS: 确保你已经安装了ABAQUS软件。
•编程环境: 准备一个适合C++的开发环境,如Visual Studio或Eclipse。
•材料数据: 收集或计算所需的材料属性,如弹性模量、泊松比、失效准则参数等。
2. 创建UMAT子程序框架•打开ABAQUS: 启动ABAQUS软件。
•创建新的UMAT: 在ABAQUS的插件菜单中选择“用户材料”>“用户材料子程序”>“创建”。
选择C++作为编程语言。
•编写框架: 创建一个新的C++文件,并添加必要的头文件和命名空间。
定义UMAT所需的输入和输出变量。
3. 实现LARC05失效准则•理解LARC05准则: LARC05是一种复合材料失效准则,涉及到最大应力、最大应变等参数。
确保你理解这些参数如何影响材料行为。
•编写代码: 根据LARC05准则,使用C++编写UMAT子程序代码。
这可能涉及到计算应力、应变,以及应用失效准则。
4. 测试和验证UMAT•创建测试案例: 在ABAQUS中创建一个简单的模型,用于测试UMAT子程序。
•运行模拟: 运行模拟,并检查结果是否符合预期。
如果结果不符合预期,回到代码中调试问题。
•验证: 使用更多的测试案例验证UMAT的准确性。
确保UMAT在各种工况下都能正确预测材料的失效行为。
5. 优化和调整•优化性能: 如果UMAT运行速度较慢,考虑优化代码以提高性能。
•调整参数: 根据模拟结果调整UMAT中的参数,以获得更准确的结果。
6. 文档和分享•编写文档: 为UMAT子程序编写详细的文档,包括输入和输出变量、材料参数、测试案例等。
ABAQUS VUMAT初学者用户子程序小例子
2 threeHalfs = 1.5 )
C
e = props(1)
xnu = props(2)
yield = props(3)
hard = props(4)
C
twomu = e / ( one + xnu )
thremu = threeHalfs * twomu
sixmu = three * twomu
C
C The state variables are stored as:
C
STATE(*,1) = back stress component 11
C
STATE(*,2) = back stress component 22
C
STATE(*,3) = back stress component 33
4 结果 以下两张图分布是用户子程序和 ABAQUS 自带的材料模型(Standard 求
解器)得到的应力云图,可以看出两种图形基本相同。
3
5 VUMAT 子程序
对于初学者来说,需要注意的是,FORTRAN 对于程序语言格式上的要求。例如,对于 FORTRAN 语言,前六个字符必须空出来,等等。检查语法最好的方法就是在 FORTRAN 编 译器上进行编译。
C
C
enerInternNew(i) = enerInternOld(i)
C 1 + stressPower / density(i)
C
C Update the dissipated inelastic specific energy -
plasticWorkInc = dgamma * half * (
1 enerInternNew(nblock), enerInelasNew(nblock)
Abaqus材料用户子程序UMAT基础知识及手册例子完整解释
1、为何需要使用用户材料子程序(User-Defined Material, UMAT ?很简单,当ABAQUS 没有提供我们需要的材料模型时。
所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。
UMAT 子程序具有强大的功能,使用UMAT 子程序:(1可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。
(2 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQU S 中的任何单元。
(3 必须在UMAT 中提供材料本构模型的雅可比(Jacobian 矩阵,即应力增量对应变增量的变化率。
(4 可以和用户子程序“USDFLD ”联合使用,通过“USDFLD ”重新定义单元每一物质点上传递到UMAT 中场变量的数值。
2、需要哪些基础知识?先看一下ABAQUS 手册(ABAQUS Analysis User's Manual 里的一段话:Warning: The use of this option generally requires considerable expertise(一定的专业知识. The user is cautioned that the implementation (实现 of any realistic constitutive (基本 model requires extensive (广泛的 development and testing. Initial testing on a single eleme nt model with prescribed traction loading (指定拉伸载荷 is strongly recommended. 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation 而已。
abaqus umat于计算力学之应用
abaqus umat是一种在计算力学中广泛应用的有限元分析软件。
它可以通过用户自定义的子程序(也称为umat)进行材料本构关系的定义,使得在模拟复杂材料行为时能够更加精确地描述材料的非线性和非均匀性等特性。
abaqus umat能够有效地模拟材料的机械性能,并在工程领域具有广泛的应用。
1. 什么是abaqus umat?abaqus umat是abaqus软件中用于用户自定义材料本构关系的子程序。
它可以实现对材料行为的精确描述,包括材料的非线性、非均匀性等特性。
通过abaqus umat,用户可以自定义材料的本构关系和材料参数,以满足对于各种材料行为的精确模拟需求。
2. abaqus umat的实现原理abaqus umat的实现依赖于有限元分析方法。
用户可以通过编写程序,在abaqus中调用该程序来定义材料的本构关系。
在有限元分析中,材料的本构关系是描述材料应力和应变之间关系的重要参数,通过用户自定义的umat程序,可以实现对材料行为的更为精确的描述。
3. abaqus umat的应用领域abaqus umat在工程领域有着广泛的应用。
例如在航空航天领域,abaqus umat可以用于模拟飞机结构的材料行为,预测飞机在不同载荷下的应力应变分布,进行疲劳分析等。
在汽车工业中,abaqus umat可以用于模拟汽车结构在碰撞时的材料行为,以及进行车身强度分析等。
abaqus umat还被广泛应用于建筑、船舶、能源等领域,在模拟复杂材料行为时发挥着重要作用。
4. abaqus umat的优势相较于其他有限元分析软件,abaqus umat的优势在于其灵活性和精确性。
用户可以通过编写自定义的umat程序,实现对材料行为的精确描述,满足各种复杂条件下的模拟需求。
abaqus umat还具有较强的兼容性和扩展性,可以与abaqus的其他模块结合使用,实现更为全面的分析和模拟。
5. 用户如何编写abaqus umat程序编写abaqus umat程序需要一定的编程和材料力学知识。
ABAQUS用户材料子程序UMAT介绍
(一)UMAT简介
用户可以定义包括:边界条件、荷载条件、 接触条件、材料特性以及利用用户子程序 和其它应用软件进行数值交换等等。这些 用户子程序接口使得用户解决一些问题时 有很大的灵活性,同时大大的扩充了 ABAQUS 的功能。
(一)UMAT简介
通过用户材料子程序(User-defined Material Mechanical Behavior,简称UMAT) 接口,用户可定义任何补充的材料模型, 不但任意数量的材料常数都可以作为资料 被读取,而且ABAQUS 对于任何数量的与 解相关的状态变量在每一材料计数点都提 供了存储功能,以便在这些子程序中应用。
(四)子程序的调用
将这两个文件拷贝到分析目录D:>Temp下,将 子程序的后缀改为.for,然后在D:\Temp下面 用运行 在command中: abaqus job=your job name user=your umat
在cae中调用子程序可以采用以下方法:打开 job下面的edit菜单,点general,点击user subroutine后面的select,即可选择你所需要的 用户子程序。
PROPS(NPROPS)材料常数矩阵,矩阵中 元素的数值对应于关键字“*USER MATERIAL”下面的数据行。 SSE , SPD , SCD分别定义每一增量步 的弹性应变能,塑性耗散和蠕变耗散。 它们对计算结果没有影响,仅仅作为能 量输出。
(三)编程思路
其他变量: STRAN ( NTENS ) :应变矩阵; DSTRAN ( NTENS ) :应变增量矩阵; DTIME :增量步的时间增量; NDI :直接应力分量的个数; NSHR :剪切应力分量的个数; NTENS :总应力分量的个数, NTENS = NDI + NSHR 。
ABAQUS材料用户子程序UMAT学习报告
DSTRAN(NTENS) :应变增量数组。
DSTRAN(NTENS) :应变增量数组。 TIME:当前增量开始时总时间的值。 DTIME:增量步的时间增量 。 TEMP:开始的温度。 DTEMP:增量步的温度增量。 PREDEF:预定场内变量基于节点处的插值值。 DPRED:预定场内变量的增量。 CMNAME:用户定义材料的名称。
7、其他用户子程序
此外, 还包括特殊类型用途的子程序, 如定义多点约束的子 程序 MPC, 定义局部坐标的 ORIENT子程序等。上述子程序的分 类仅限于在岩土工程领域,其他领域有不同的分类方法。
UMAT使用方法
1、UMAT简介
用户材料子程序( User-defined Material Mechanical
6、用户定义的状态变量
状态变量主要包括定义场变量、与求解过程相关的状态变量,以 后重新定义材料点的状态变量,主要有 UFIELD 子程序、 SDVINI
子程序和 USDFLD 子程序。 此外还包括定义摩擦接触属性的子程序
,如定义摩擦接触行为的 FRIC 子程序,以及接触面行为定义的 UINTER 子程序等。
最后查看可视化后处理,得到如下云图。
2、验证利用UMAT进行二次开发的实例
实例:最简单的杆件单轴拉伸,材料本构模型采用线 弹性模型,E= 206000MPa, ν=0.3。左端约束,右端施加均 布力 q=1MPa。 分析:这是一个简单的杠杆拉
伸模型,ABAQUS内部就有这种模
型,但也可以使用材料用户子程序 UMAT对ABAQUS进行二次开发进 行求解。
NDI:某一点上直接应力组件数。 NSHR:某一点上剪切应力组件数。 NTENS:总应力分量个数,(=NDI+NSHR)。 NSTATV:存储与解有关的状态变量数组个数。 PROPS (NPROPS):材料常数数组。 COORDS:当前积分点坐标。DROT(3,3) :旋转增量矩阵。
ABAQUS材料用户子程序UMAT学习报告
NDI:某一点上直接应力组件数。 NSHR:某一点上剪切应力组件数。 NTENS:总应力分量个数,(=NDI+NSHR)。
NSTATV:存储与解有关的状态变量数组个数。 PROPS (NPROPS):材料常数数组。 COORDS:当前积分点坐标。DROT(3,3) :旋转增量矩阵。 CELENT:特征元素长度。
载入 输入文件umat.inp,得到如下图形。
按下图所示操作载入umat.for子程序文件 按下图所示创建作业(Job)
点一击段S时ub间m后it之,后结,果结如果下如图下所图示所。示。
最后查看可视化后处理,得到如下云图。
2、验证利用UMAT进行二次开发的实例
实例:最简单的杆件单轴拉伸,材料本构模型ARDMLO子A程D序;;特此殊外分,布读的取牵结
果引文力件的可U采T用RAUCRLODAFIDL ;子温程度序场。边界的 UTEMP 。
4、用户定义的单元
对于特殊类型的单元,可采用 UEL 子程序进行定义。
5、用户定义的材料特性和本构关系
几乎可以用于力学行为分析的任何分析过程,几乎可 以把用户材料属性赋予 ABAQUS 中的任何单元。
必须在 UMAT 中提供材料本构的雅可比( Jacobian) 矩阵,即应力增量对应变增量的变化率。
2、UMAT书写格式
定义了一些相关参数与变量的 精确度,从 ABAQUS 安装目 录下可找到
UMAT 中的应力矩阵、应变矩阵以及矩阵 DDSDDE、 DDSDDT、 DRPLDE 等,都是直接分量存储在前,剪切分 量存储在后。直接分量有 NDI 个,剪切分量有 NSHR 个。 各分量之间的顺序根据单元自由度的不同有一些差异,所以 编写 UMAT 时要考虑到所使用单元的类别。
ABAQUS子程序UMAT里弹塑本构的实现之欧阳理创编
前言有限元法是工程中广泛使用的一种数值计算方法。
它是力学、计算方法和计算机技术相结合的产物。
在工程应用中,有限元法比其它数值分析方法更流行的一个重要原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。
所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越普及。
ABAQUS软件一直以非线性有限元分析软件而闻名,这也是它和ANSYS,Nastran等软件的区别所在。
非线性有限元分析的用处越来越大,因为在所用材料非常复杂很多情况下,用线性分析来近似已不再有效。
比方说,一个复合材料就不能用传统的线性分析软件包进行分析。
任何与时间有关联,有较大位移量的情况都不能用线性分析法来处理。
多年前,虽然非线性分析能更适合、更准确的处理问题,但是由于当时计算设备的能力不够强大、非线性分析软件包线性分析功能不够健全,所以通常采用线性处理的方法。
这种情况已经得到了极大的改善,计算设备的能力变得更加强大、类似ABAQUS这样的产品功能日臻完善,应用日益广泛。
非线性有限元分析在各个制造行业得到了广泛应用,有不少大型用户。
航空航天业一直是非线性有限元分析的大客户,一个重要原因是大量使用复合材料。
新一代波音 787客机将全部采用复合材料。
只有像ABAQUS这样的软件,才能分析包括多个子系统的产品耐久性能。
在汽车业,用线性有限元分析来做四轮耐久性分析不可能得到足够准确的结果。
分析汽车的整体和各个子系统的性能要求(如悬挂系统等)需要进行非线性分析。
在土木工程业, ABAQUS能处理包括混凝土静动力开裂分析以及沥青混凝土方面的静动力分析,还能处理高度复杂非线性材料的损伤和断裂问题,这对于大型桥梁结构,高层建筑的结构分析非常有效。
瞬态、大变形、高级材料的碰撞问题必须用非线性有限元分析来计算。
线性分析在这种情况下是不适用的。
以往有一些专门的软件来分析碰撞问题,但现在ABAQUS在通用有限元软件包就能解决这些问题。
ABAQUS-二次开发资料-UMAT
ABAQUS-二次开发资料-UMAT各个楼层及内容索引2-------------------------------------什么是UMAT3-------------------------------------UMAT功能简介4-------------------------------------UMAT开始的变量声明5-------------------------------------UMAT中各个变量的详细解释6-------------------------------------关于沙漏和横向剪切刚度7-------------------------------------UMAT流程和参数表格实例展示8-------------------------------------FORTRAN语言中的接口程序Interface9-------------------------------------关于UMAT是否可以用Fortran90编写的问题10-17--------------------------------Fortran77的一些有用的知识简介20-25\30-32-----------------------弹塑性力学相关知识简介34-37--------------------------------用户材料子程序实例JOhn-cook模型压缩包下载38-------------------------------------JOhn-cook模型本构简介图40-------------------------------------用户材料子程序实例JOhn-cook模型完整程序+david详细注解[欢迎大家来看看,并提供意见,完全是自己的diy的,不保证完全正确,希望共同探讨,以便更正,带"?"部分,还望各位大师\同仁指教]1 什么是UMAT???1.1 UMAT功能简介!!![-摘自庄茁老师的书UMAT子程序具有强大的功能,使用UMAT子程序:(1)可以定义材料的本构关系,使用ABAQUS材料库中没有包含的材料进行计算,扩充程序功能。
UMAT子程序在复合材料强度分析中的应用
UMAT子程序在复合材料强度分析中的应用进损伤压缩强度分析,介绍UMAT用户子程序编写方法及在Abaqus/CAE中的设置。
本章使用最大应变强度理论作为复合材料单层板的失效准则,相应的Fortran程序简单易读,便于理解UAMT子程序的工作原理。
知识要点:➢强度分析➢UMAT用户子程序➢最大应变理论➢刚度折减『 2 』第&章复合材料分析入门&.1 本章内容简介本章通过两个实例介绍UMAT用户子程序在复合材料单层板的应力分析和强度分析中的应用。
在第一个实例中,对一个简单的复合材料单层板进行应力分析,UMAT子程序主要计算应力,不进行强度分析,本例用于验证UMAT子程序的计算精度。
在第二个实例中,对复合材料单层板进行渐进损伤强度分析,UMAT子程序用于应力计算、强度分析和刚度折减。
本章所用复合材料为T700/BA9916,材料属性如表&-1所示。
表&-1 T700/BA9916材料属性参数值强度值E1/GPa 114 X T/MPa 2688E2/GPa 8.61 X C/MPa 1458E3/GPa 8.61 Y T/MPa 69.5μ120.3 Y C/MPa 236μ130.3 Z T/MPa 55.5μ230.45 Z C/MPa 175G12/GPa 4.16 S XY/MPa 136G13/GPa 4.16 S XZ/MPa 136G23/GPa 3.0 S YZ/MPa 95.6. &.2 实例一:UMAT用户子程序应力分析&.2.1问题描述复合材料单层板几何尺寸为15mm×10mm×0.15mm,纤维方向为45°,单层板的3D实体模型如图&-1所示,X轴方向为0°方向,左侧面施加X轴向对称边界条件,下侧面施加Y轴向对称边界条件,垂直于Z轴且Z=0的平面施加Z轴向对称边界条件,右侧面施加100MPa 的拉力。
如何配置ABAQUS的UMAT
如何配置ABAQUS的UMAT想使用UMAT吗?貌似很高深的样子,take it easy。
不过就是user defined subroutine而已,fortran里面也有subroutine,一个道理。
就把这个当作是一个外接的fortran程序好了。
当然自己要写一个UMAT不是一件容易的事情,但是今天我们不讨论这个,今天讨论的重点是如何让你的ABAQUS支持UMAT。
这个也不容易,能装好ABAQUS的人也一定经过一番挣扎了吧,既然已经经历不少艰难困苦到了这一步,那再坚持一会儿,设置一下配置,让我们拥有ABAQUS的所有功能吧!ABAQUS 6.6 和 6.7是不一样的,首先就是要阅读ABAQUS 的system requirement对于6.6来说:对于6.7来说:这些信息可以在simulia的官方网站上面看到。
一定要看清楚哦,下载准确的版本是成功的关键,不要像我想当然随便下了一个 Microsoft Visual C++ .NET 2005 然后装 Intel Visual Fortran 9.0 根本识别不出来Visual Fortran,然后降低到Microsoft Visual C++ .NET 2003,这次Visual Fortran能够识别出来来,以为可以了吧,注意,上面提到的只有 Intel Visual Fortran 8.0, 8.1, 9.1, 从来没有说过9.0。
我很郁闷,但是没有办法,又不想再重装.NET,只好又去下了一个Intel Visual Fortran 9.1,终于可以了。
走了不少弯路,至少让我以后小心点,绝对不要想当然,不然你就准备好不断重装吧。
也就是说配置UMAT之前,你需要安装Microsoft Visual C++ .NET 2003 或 2005,Intel Visual Fortran 8.0 或 8.1 或 9.1我自己装了ABAQUS 6.6 和 6.7,但是为了追求比较新的版本,所以装了Microsoft Visual C++ .NET 2003 和 Intel Visual Fortran 9.1,这样子原理上在6.7里面没有问题了,后来测试发现在6.6里面也很顺利。
Abaqus子程序UMAT和VUMAT的例子
From******************************************************************************* UMAT FOR ABAQUS/STANDARD INCORPORATING ELASTIC BEHAVIOUR FOR PLANE **** STRAIN AND AXI-SYMMETRIC ELEMENTS. *************************************************************************************************************************************************************USER SUBROUTINESUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE''CCHARACTER*80 CMNAMECCDIMENSION STRESS(NTENS),STATEV(NSTATV),1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)CCPARAMETER (M=3,N=3,ID=3,ZERO=,ONE=,TWO=,THREE=,SIX=, NINE=, TOLER=CDIMENSION DSTRESS(3)CC--------------------------------------------------------------------C SPECIFY MATERIAL PROPERTIESCE = PROPS(1)XNUE = PROPS(2)CCC SET UP ELASTICITY MATRIXCE11 = E/*XNUE)E12 = E*XNUE/*XNUE)EG2 = E/(ONE+XNUE)EG = EG2/TWOCC DETERMINE STRESS INCREMENTCDSTRESS(1) = E11*DSTRAN(1)+E12*DSTRAN(2)DSTRESS(2) = E11*DSTRAN(2)+E12*DSTRAN(1)DSTRESS(3) = EG *DSTRAN(3)CC UPDATE STRESSCDO K = 1,NTENSSTRESS(K) = STRESS(K) + DSTRESS(K)END DOCC DETERMINE JACOBIANCDDSDDE(1,1) = E11DDSDDE(2,2) = E11DDSDDE(1,2) = E12DDSDDE(2,1) = E12DDSDDE(1,3) =DDSDDE(3,1) =DDSDDE(3,3) = EGCCRETURNEND********************************************************************* ** VUMAT FOR ABAQUS/Explicit INCORPORATING ELASTIC BEHAVIOUR ** ** FOR SHELL ELEMENTS under PLANE STRESS ** ******************************************************************* *USER SUBROUTINEsubroutine vumat(C Readonly-1 nblock,ndir,nshr,nstatev,nfieldv,nprops,lanneal,2 stepTime,totalTime,dt,cmname,coordMp,charLength,3 props,density,strainInc,relSpinInc,4 tempOld,stretchOld,defgradOld,fieldOld,3 stressOld,stateOld,enerInternOld,enerInelasOld,6 tempNew,stretchNew,defgradNew,fieldNew,C Writeonly-5 stressNew,stateNew,enerInternNew,enerInelasNew)Cinclude''dimension props(nprops),density(nblock),1 coordMp(nblock,*),2 charLength(*),strainInc(nblock,ndir+nshr),3 relSpinInc(*),tempOld(*),4 stretchOld(*),defgradOld(*),5 fieldOld(*),stressOld(nblock,ndir+nshr),6 stateOld(nblock,nstatev),enerInternOld(nblock),7 enerInelasOld(nblock),tempNew(*),8 stretchNew(*),defgradNew(*),fieldNew(*),9 stressNew(nblock,ndir+nshr),stateNew(nblock,nstatev),1 enerInternNew(nblock),enerInelasNew(nblock)Ccharacter*80 cmnameCCparameter ( zero = , one = , two = ,1 third = / , half = , op5 =ce = props(1)xnu = props(2)twomu = e/(one+xnu)e11 = e/*xnu)e22 = e*xnu/*xnu)if ( stepTime .eq. zero ) thendo k = 1, nblockstressNew(k,1) = stressOld(k,1)1 + e11 * strainInc(k,1) + e22 * strainInc(k,2)stressNew(k,2) = stressOld(k,2)2 + e22 * strainInc(k,1) + e11 * strainInc(k,2)stressNew(k,4) = stressOld(k,4) + twomu * strainInc(k,4) strainInc(k,3) = -xnu/1 *(strainInc(k,1)+strainInc(k,2))end doelsedo k = 1, nblockstressNew(k,1) = stressOld(k,1)1 + e11 * strainInc(k,1) + e22 * strainInc(k,2)stressNew(k,2) = stressOld(k,2)2 + e22 * strainInc(k,1) + e11 * strainInc(k,2)stressNew(k,4) = stressOld(k,4) + twomu * strainInc(k,4) stressNew(k,3) =write(*,*) "stressNew(k,3)=",stressNew(k,3)strainInc(k,3) = -xnu/1 *(strainInc(k,1)+strainInc(k,2))end doendifCreturnend。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A B A Q U S子程序U M A T的应用This model paper was revised by the Standardization Office on December 10, 2020目录摘要ABAQUS软件功能强大,特别是能够模拟复杂的非线性问题,它包括了多种材料本构关系及失效准则模型,并具有良好的开放性,提供了若干个用户子程序接口,允许用户以代码的形式来扩展主程序的功能。
本文主要研究了ABAQUS用户子程序UMAT的开发方法,采用FORTRAN语言编制了各向同性硬化材料模型的接口程序,研究该类材料的弹塑性本构关系极其实现方法。
本文紧紧围绕UMAT的二次开发技术,首先对其接口原理做了详细介绍,然后针对非线性有限元增量理论中的常刚度法和切线刚度法的算法理论做了深入的剖析,推导出了常刚度法和切线刚度法的算法理论的具体表达式,然后分别编制了两种算法的UMAT程序,最后建立了一个具体的验算模型,通过与ABAQUS自带弹塑性本构关系的计算结果相比较,验证两者的正确性。
本文还对常刚度法和切线刚度法得算法效率做了对比,得出了在非线性程度较高时切线刚度法效率高于常刚度法的结论。
关键字: ABAQUS、UMAT、有限元、材料非线性、FORTRAN、切线刚度ABSTRACTABAQUS 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 degreein 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.课题的研究背景有限单元法基本思想的提出,可以追溯到克劳夫在1943年的工作[1],他第一次尝试应用定义在三角形区域上的分片连续函数和最小位能原理相结合,来求解St. Venant扭转问题。
1960年克劳夫进一步处理了平面弹性问题,并第一次提出了“有限单元法”的名称,使人们开始认识了有限单元法的功效。
四十多年来,随着电子计算机的广泛应用和发展,有限单元法的理论和应用都得到迅速的,持续不断的发展,其应用己由弹性力学平面问题扩展到空间问题、板壳问题,由静力学问题扩展到稳定问题、动力问题和波动问题。
分析的对象从弹性材料扩展到塑性、粘弹性、粘塑性和复合材料等,从固体力学扩展到流体力学、传热学等连续介质力学领域。
在工程分析中的作用已从分析和校核扩展到优化设计并和计算机辅助设计。
利用有限元软件解决工程和科学问题,是有限元理论应用于工程设计和科学研究实践的主要形式。
由于工程设计的巨大市场需要,有限元软件的发展是很迅速的,目前常用的大型有限元软件常见的有Sap2000,ADINA,MSC/NASTRAN,MSC Marc,ANSYS,ABAQUS等,这些软件的共同特点是具有丰富的单元库和求解器,强大而可靠的分析功能,人们利用这些软件解决了很多工程建设和工业产品设计中遇到的问题,取得了巨大的经济技术效益。
由于工程问题的千差万别,不同的用户有不同的专业背景和发展方向,通用软件不免在具体的专业方面有所欠缺,针对这些不足,大部分的通用软件都提供了二次开发功能,以帮助用户减少重复性的编程工作、提高开发起点、缩短研发周期、降低开发成本,并能简化后期维护工作,给用户带来很多方便。
基于通用软件平台进行开发,是目前研究的一个重要发展方向。
ABAQUS也提供了若干用户子程序(User Subroutines)接口,它是一个功能非常强大且适用的分析工具,与命令行的程序格式相比,用户子程序的限制少得多,从而使用更加灵活方便。
针对ABAQUS所提供的本构关系模型种类有限,无法满足工程应用需要的问题,用户子程序中的用户材料子程序(User-defined MateriaMechanical Behavior,简称UMAT)接口可以帮助用户定义自己的材料本构模型和算法,这是ABAQUS的独到之处。
由于其操作方便,能被灵活地应用于各个领域中,尤其受到用户的青睐。
1.2.本文的研究内容和方法ABAQUS中用户材料子程序UMAT的开发主要解决两方面的问题:本构模型的建立和积分算法的选择。
本文主要研究非线性材料的UMAT实现方法,并重点研究其迭代算法部分,目前,用户材料子程序UMAT的迭代算法主要是常刚度法,常刚度法的优点在于算法原理较简单,程序编写较方便,缺点是当遇到复杂非线性材料时,其迭代次数较多,收敛速度也较慢,在这个情况下,本文采取的是一种迭代次数较少且收敛速度较快的切线刚度法,具体就是采用FORTRAN语言编制了基于Von-Mises模型的接口程序,并采用切线刚度算法,通过与ABAQUS自带本构关系计算的结果相比较,验证其正确性。
本文的研究工作紧紧围绕UMAT的二次开发技术,首先根据有限元方法推导材料非线性问题算法的公式,然后参考UMAT接口规范设计程序的算法流程,继而编写出该程序,最后建立一个具体的本构和具体的模型做测试,验证程序的正确性,在这一过程中,调试是一个非常重要的过程,占用了大量的时间,在调试程序时采用了将中间变量输出到文本的方式,这样能明确跟进迭代过程,发现算法或程序的缺陷。
本文采用的本构关系是经过归纳和抽象的,也就是说本文的程序并不仅仅是只针对某个具体模型和问题,而是针对所有符合抽象出的各向同性硬化材料,这样做的好处是能保证程序的通用性和复用性,避免以后的重复劳动,当然,这也是符合ABAQUS 软件设计UMAT接口的宗旨的。
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。