abaqus简单umat子程序
如何配置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里面也很顺利。
子程序(UMAT)基本操作过程1
UMAT操作过程操作过程:1、CAE建模、定义边界条件、载荷条件2、定义UMATProperty>General>User material✧Mechanical Constants 中为用户输入到子程序中的参数。
这时只能在General栏中定义参数,如密度等,这时不能再在Mechanical中定义杨氏模量等,此时杨氏模量、泊松比等数就需要在Mechanical Constants中输入到子程序中。
✧定义剪切刚度Model>Edit Keywords 中直接输入到inp文件中。
“*Shell Section”后面添加*Transverse Shear5.31e8,5.31e8,0在定义剪切刚度时一定要注意,一定要按帮助文档中公式计算而得并不是任意取值。
对于正交各项异性壳单元其中t为层合板厚度。
Depvar 中的数字与Mechanical Constants栏中定义的参数数量相等。
3编辑.for后缀的子程序3.1 推导出本构关系建立刚度矩阵时最好是直接指定刚度阵的每一项的方法得到刚度阵。
3.2更新应力下面是各项同性弹性本构关系(刚度阵)及应力更新。
DO K1=1,NTENSDO K2=1,NTENSDDSDDE(K1,K2)=ZEROEND DOEND DODO K1=1,NDIDO K2=1,NDIDDSDDE(K2,K1)=EBULK3END DOEND DODO K1=1,NDIDO K2=1,NDIDDSDDE(K1,K1)=EG2END DOEND DODO K1=NDI+1,NTENSDDSDDE(K1,K1)=EG3END DODO K1=1,NTENSDO K2=1,NTENSSTRESS(K1)=STRESS(K1)+DDSDDE(K1,K2)*DSTRAN(K2)END DOEND DO注意:UMAT子程序中并不是一定要写成增量形式,建立Jacobian矩阵,只要能做到更新应力即可,写成全量形式也可以。
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编写hashin准则
Hashin准则是一种常用的材料失效准则,用于模拟复合材料的损伤和失效。
在ABAQUS中,你可以使用UMAT(用户自定义材料行为)子程序来实现Hashin准则。
以下是一个简单的UMAT子程序示例,用于实现Hashin准则:```c#include "umat.h"#define N 10void UMAT(const int *nIntPoints, const int *nExtPoints, const double *dS, const double *dSP, const double *dStrain, const double*dStress, double *dStrainInc, double *dStressInc, double *dStress历史, int *nFail){double S[N], S0[N];int i;double E1 = dStrain[0];double E2 = dStrain[1];double E3 = dStrain[2];double sigma1 = dStress[0];double sigma2 = dStress[1];double sigma3 = dStress[2];double sigma历史1 = dStress历史[0];double sigma历史2 = dStress历史[1];double sigma历史3 = dStress历史[2]; double m1 = 0.0;double m2 = 0.0;double m3 = 0.0;double n1 = 0.0;double n2 = 0.0;double n3 = 0.0;for (i=0; i<N; i++) {S[i] = sqrt(dS[i]);S0[i] = sqrt(dSP[i]);m1 += S[i] / sigma1;m2 += S[i] / sigma2;m3 += S[i] / sigma3;n1 += S0[i] / sigma历史1;n2 += S0[i] / sigma历史2;n3 += S0[i] / sigma历史3;}if (m1 < 1.0e-6) m1 = 1.0e-6;if (m2 < 1.0e-6) m2 = 1.0e-6;if (m3 < 1.0e-6) m3 = 1.0e-6;if (n1 < 1.0e-6) n1 = 1.0e-6;if (n2 < 1.0e-6) n2 = 1.0e-6;if (n3 < 1.0e-6) n3 = 1.0e-6;double sigmaT = sqrt(m1*m2*m3);double sigmaLT = sqrt(n1*n2*n3);if (sigmaT < sigmaLT) {*nFail = 1; // 损伤发生,将nFail设为1表示材料失效return; // 退出UMAT函数,不再进行应力和应变增量计算} else {*nFail = 0; // 没有损伤发生,将nFail设为0表示材料仍然有效return; // 退出UMAT函数,继续进行应力和应变增量计算}}```以上代码实现了Hashin准则的简单形式,即当总剪切应力小于长纤维方向的纤维应力时,复合材料发生损伤。
ABAQUS流程图
下面第一张图代表的是ABAQUS/standard运行的一个流程:
下面一张图代表的是子程序的思路:
下面一张图代表的是UMAT的流程:
总结一下对于UMAT的求解过程:每一个增量步开始时,abaqus在单元的积分点上调用umat,并传入应变增量,时间步长以及荷载增量,
同时也根据当前已知状态的应力、应变和求解相关的状态变量;然后UMAT根据本构方程求解应力增量,应变及其他相关的变量,提供J阵给
ABAQUS主程序以供形成整体的刚度阵;主程序根据当前荷载增量求解位移增量,然后进行平衡校核,如果不满足误差,abaqus要进行下一步的迭代,只要收敛。
(摘自华中科大硕士论文)。
用户子程序UMAT设置
ABAQUS用户子程序UMAT的设置在property模块进行。
Creat material→General→User Material,输入Mechanical Constants,即为子程序中需要输入的参数,如下图所示。
Creat material→General→Depvar,在这里面设置状态变量的个数,与子程序中变量STATEV(NSTATEV)有关,如下图所示。
而用户子程序的格式可以通过搜索ABAQUS Documentation,在该文档中可以找到子程序UMAT的书写方法以及相关变量的含义。
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,1 RPL,DDSDDT,DRPLDE,DRPLDT,2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION 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),4 JSTEP(4)user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCDand, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDTRETURNEND必须在子程序UMAT中提供材料本构的雅可比(Jacobian)矩阵(即变量DDSDDE),即应力增量对应变增量的变化率。
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子程序编写详细的文档,包括输入和输出变量、材料参数、测试案例等。
ABAQUSVUMAT初学者用户子程序小例子.doc
上一次发过《ABAQUS 初学者用户子程序小例子》,给学习 UMAT 的初学者带来了一定的帮助。
现在用到VUMAT,发现网上 这种小例子很少,关于VUMAT 的资料也不多。
摸索了一天,做个 VUMAT 的小例子供大家分享。
实例:简单的平面平板拉伸,材料本构模型采用随动强化模型,E=210000MPa,尸0.3,乐=200MPn, E'=10000MPa 。
左端约束,右端施加位移载荷V = 0.2mm 。
Author: xueweek@ Y1材料本构模型:在 Property 中定义材料时,在 General 卜•选中 User Material.输入 210000、0.3、200、10000,以上两个数值代表E 、v,、人、E'。
在用户子程序中代表看PROPS ⑴、PROPS(2)、 PROPS(3)、PROPS(4)。
然后在Gniwl 下选中Depvar,由于该例子中使用了五个状态变量 (背应力张彊和累积塑性应变变量),因此在第一项中输入大于5的数值即可。
另外还需要 输入密度。
fienel MecMesl [bermai Qtto DcMUs lAawnal Uw«type MxMriol日B Uu vnc»«^nMitric etWDmuOeser ipon: GehavisUse*c ,建模人家都会,故省略2 ABAQUS 中STEP 的设置由于VUMAT 需要用到Explicit 求解,因此需要在step 步骤中设置explicit 选项,如下图, 其设置可以用默认设置。
■ Create Step Name: Step-1Direct cyclic Dynamic, Implicit Dynamic, Explicit Dynamic, Temp-disp, ExplicitGeostatic Heat transfer Mass diffusion SoilsContinue...・:Edit SilWp Mncria^lMst^-al “hzo”Variable rtimber comrollin^ clement dete<<fi Sbg"/t*pi c4o 刃.Njm»cr c< wiv6x dc«xdcrtOxriptio 代Mate^UI Behftticrs*xrd Mzh.rM :dl Rcrmd QtherUm to^otfitu c deptoitnt do3CMNumber H <<Hd “HoBc : DataaoiProcedure type: GeneralInsert new step afterCancel3 ABAQUS调用VUMAT 用户子程序同UMAT用户子程序的调用方法。
abaqus中UMAT子程序编写方法
UMATUser subroutine to define a material's mechanical behavior.Product: Abaqus/StandardWarning: The use of this subroutine generally requires considerable expertise. You are cautioned that the implementation of any realistic constitutive model requires extensive development and testing. Initial testing on a single-element model with prescribed traction loading is strongly recommended.References∙“User-defined mechanical material behavior,” Section 25.7.1 of the Abaqus Analysis User's Manual∙“User-defined thermal material behavior,” Section 25.7.2 of the Abaqus Analysis User's Manual∙*USER MATERIAL∙“SDVINI,” Section 4.1.11 of the Abaqus Verification Manual∙“UMAT and UHYPER,” Section 4.1.21 of the Abaqus Verification Manual OverviewUser subroutine UMAT:∙can be used to define the mechanical constitutive behavior of a material;∙will be called at all material calculation points of elements for which the material definition includes a user-defined materialbehavior;∙can be used with any procedure that includes mechanical behavior;∙can use solution-dependent state variables;∙must update the stresses and solution-dependent state variables to their values at the end of the increment for which it is called;∙must provide the material Jacobian matrix, , for the mechanical constitutive model;∙can be used in conjunction with user subroutine USDFLD to redefine any field variables before they are passed in; andis described further in “User-defined mechanical material behavior,” Section 25.7.1 of the Abaqus Analysis User's Manual. Storage of stress and strain componentsIn the stress and strain arrays and in the matrices DDSDDE, DDSDDT, and DRPLDE, direct components are stored first, followed by shear components. There are NDI direct and NSHR engineering shear components. The order of the components is defined in “Conventions,” Section 1.2.2 of the Abaqus Analysis User's Manual. Since the number of active stress and strain components varies between element types, the routine must be coded to provide for all element types with which it will be used.Defining local orientationsIf a local orientation (“Orientations,” Section 2.2.5 of the Abaqus Analysis User's Manual) is used at the same point as user subroutine UMAT, the stress and strain components will be in the local orientation; and, in the case of finite-strain analysis, the basis system in which stress and strain components are stored rotates with the material.StabilityYou should ensure that the integration scheme coded in this routine is stable—no direct provision is made to include a stability limit in the time stepping scheme based on the calculations in UMAT.Convergence rateDDSDDE and—for coupled temperature-displacement and coupledthermal-electrical-structural analyses—DDSDDT, DRPLDE, and DRPLDT must be defined accurately if rapid convergence of the overall Newton scheme is to be achieved. In most cases the accuracy of this definition is the most important factor governing the convergence rate. Since nonsymmetric equation solution is as much as four times as expensive as the corresponding symmetric system, if the constitutive Jacobian (DDSDDE) is only slightly nonsymmetric (for example, a frictional material with a small frictionangle), it may be less expensive computationally to use a symmetric approximation and accept a slower convergence rate.An incorrect definition of the material Jacobian affects only the convergence rate; the results (if obtained) are unaffected.Special considerations for various element typesThere are several special considerations that need to be noted. Availability of deformation gradientThe deformation gradient is available for solid (continuum) elements, membranes, and finite-strain shells (S3/S3R, S4, S4R, SAXs, and SAXAs). It is not available for beams or small-strain shells. It is stored as a3 × 3 matrix with component equivalence DFGRD0(I,J) . For fully integrated first-order isoparametric elements (4-node quadrilaterals in two dimensions and 8-node hexahedra in three dimensions) the selectively reduced integration technique is used (also known as the technique). Thus, a modified deformation gradientis passed into user subroutine UMAT. For more details, see “Solid isoparametric quadrilaterals and hexahedra,” Section 3.2.4 of the Abaqus Theory Manual.Beams and shells that calculate transverse shear energyIf user subroutine UMAT is used to describe the material of beams or shells that calculate transverse shear energy, you must specify the transverse shear stiffness as part of the beam or shell section definition to define the transverse shear behavior. See “Shell section behavior,” Section 28.6.4 of the Abaqus Analysis User's Manual, and “Choosing a beam element,” Section 28.3.3 of the Abaqus Analysis User's Manual, for information on specifying this stiffness.Open-section beam elementsWhen user subroutine UMAT is used to describe the material response of beams with open sections (for example, an I-section), the torsional stiffness is obtained aswhere J is the torsional constant, A is the section area, k is a shear factor, and is the user-specified transverse shear stiffness (see “Transverse shear stiffness definition” in “Choosing a beam element,” Section 28.3.3 of the Abaqus Analysis User's Manual).Elements with hourglassing modesIf this capability is used to describe the material of elements with hourglassing modes, you must define the hourglass stiffness factor for hourglass control based on the total stiffness approach as part of the element section definition. The hourglass stiffness factor is not required for enhanced hourglass control, but you can define a scaling factor for the stiffness associated with the drill degree of freedom (rotation about the surface normal). See “Section controls,” Section 26.1.4 of the Abaqus Analysis User's Manual, for information on specifying the stiffness factor.Pipe-soil interaction elementsThe constitutive behavior of the pipe-soil interaction elements (see “Pipe-soil interaction elements,” Section 31.12.1 of the Abaqus Analysis User's Manual) is defined by the force per unit length caused by relative displacement between two edges of the element. The relative-displacements are available as “strains” (STRAN and DSTRAN). The corresponding forces per unit length must be defined in the STRESS array. The Jacobian matrix defines the variation of force per unit length with respect to relative displacement.For two-dimensional elements two in-plane components of “stress” and “strain” exist (NTENS=NDI=2, and NSHR=0). For three-dimensional elements three components of “stress” and “strain” exist (NTENS=NDI=3, and NSHR=0).Large volume changes with geometric nonlinearityIf the material model allows large volume changes and geometric nonlinearity is considered, the exact definition of the consistent Jacobian should be used to ensure rapid convergence. These conditions are most commonly encountered when considering either large elastic strains or pressure-dependent plasticity. In the former case, total-form constitutive equations relating the Cauchy stress to the deformation gradient are commonly used; in the latter case, rate-form constitutive laws are generally used.For total-form constitutive laws, the exact consistent Jacobian is defined through the variation in Kirchhoff stress:Here, J is the determinant of the deformation gradient, is the Cauchy stress, is the virtual rate of deformation, and is the virtual spin tensor, defined asandFor rate-form constitutive laws, the exact consistent Jacobian is given byUse with incompressible elastic materialsFor user-defined incompressible elastic materials, user subroutine UHYPER should be used rather than user subroutine UMAT. In UMAT incompressible materials must be modeled via a penalty method; that is, you must ensure that a finite bulk modulus is used. The bulk modulus should be large enough to model incompressibility sufficiently but small enough to avoid loss of precision. As a general guideline, the bulk modulus should be about– times the shear modulus. The tangent bulk modulus can be calculated fromIf a hybrid element is used with user subroutine UMAT, Abaqus/Standard will replace the pressure stress calculated from your definition of STRESS with that derived from the Lagrange multiplier and will modify the Jacobian appropriately.For incompressible pressure-sensitive materials the element choice is particularly important when using user subroutine UMAT. In particular, first-order wedge elements should be avoided. For these elements the technique is not used to alter the deformation gradient that is passed into user subroutine UMAT, which increases the risk of volumetric locking.Increments for which only the Jacobian can be definedAbaqus/Standard passes zero strain increments into user subroutine UMAT to start the first increment of all the steps and all increments of steps for which you have suppressed extrapolation (see “Procedures: overview,” Section 6.1.1 of the Abaqus Analysis User's Manual). In this case you can define only the Jacobian (DDSDDE).Utility routinesSeveral utility routines may help in coding user subroutine UMAT. Their functions include determining stress invariants for a stress tensor and calculating principal values and directions for stress or strain tensors. These utility routines are discussed in detail in “Obtaining stress invariants, principal stress/strain values and directions, and rotating tensors in an Abaqus/Standard analysis,” Section 2.1.11.User subroutine interfaceSUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,1 RPL,DDSDDT,DRPLDE,DRPLDT,2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION 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)user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCDand, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDTRETURNENDVariables to be definedIn all situationsDDSDDE(NTENS,NTENS)Jacobian matrix of the constitutive model, , where are thestress increments and are the strain increments. DDSDDE(I,J) defines the change in the Ith stress component at the end of the time increment caused by an infinitesimal perturbation of the Jth component of the strain increment array. Unless you invoke the unsymmetric equation solution capability for the user-defined material, Abaqus/Standard will use only the symmetric part of DDSDDE. The symmetric part of the matrix is calculated by taking one half the sum of the matrix and its transpose.STRESS(NTENS)This array is passed in as the stress tensor at the beginning of the increment and must be updated in this routine to be the stress tensor at the end of the increment. If you specified initial stresses (“Initial conditions in Abaqus/Standard and Abaqus/Explicit,” Section 32.2.1 of the Abaqus Analysis User's Manual), this array will contain the initial stresses at the start of the analysis. The size of this array depends on the value of NTENS as defined below. In finite-strain problems the stress tensor has already been rotated to account for rigid body motion in theincrement before UMAT is called, so that only the corotational part of the stress integration should be done in UMAT. The measure of stress used is “true” (Cauchy) stress.STATEV(NSTATV)An array containing the solution-dependent state variables. These are passed in as the values at the beginning of the increment unless they are updated in user subroutines USDFLD or UEXPAN, in which case the updated values are passed in. In all cases STATEV must be returned as the values at the end of the increment. The size of the array is defined as described in “Allocating space” in “User subroutines: overview,” Section 17.1.1 of the Abaqus Analysis User's Manual.In finite-strain problems any vector-valued or tensor-valued state variables must be rotated to account for rigid body motion of the material, in addition to any update in the values associated with constitutive behavior. The rotation increment matrix, DROT, is provided for this purpose.SSE, SPD, SCDSpecific elastic strain energy, plastic dissipation, and “creep” dissipation, respectively. These are passed in as the values at the start of the increment and should be updated to the corresponding specific energy values at the end of the increment. They have no effect on the solution, except that they are used for energy output.Only in a fully coupled thermal-stress or a coupledthermal-electrical-structural analysisRPLVolumetric heat generation per unit time at the end of the increment caused by mechanical working of the material.DDSDDT(NTENS)Variation of the stress increments with respect to the temperature.DRPLDE(NTENS)Variation of RPL with respect to the strain increments.DRPLDTVariation of RPL with respect to the temperature.Only in a geostatic stress procedure or a coupled pore fluiddiffusion/stress analysis for pore pressure cohesive elementsRPLRPL is used to indicate whether or not a cohesive element is open to the tangential flow of pore fluid. Set RPL equal to 0 if there is no tangential flow; otherwise, assign a nonzero value to RPL if an element is open. Once opened, a cohesive element will remain open to the fluid flow.Variable that can be updatedPNEWDTRatio of suggested new time increment to the time increment being used (DTIME, see discussion later in this section). This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus/Standard (if automatic time incrementation is chosen). For a quasi-static procedure the automatic time stepping that Abaqus/Standard uses, which is based on techniques for integrating standard creep laws (see “Quasi-static analysis,” Section 6.2.5 of the Abaqus Analysis User's Manual), cannot be controlled from within the UMAT subroutine.PNEWDT is set to a large value before each call to UMAT.If PNEWDT is redefined to be less than 1.0, Abaqus/Standard must abandon the time increment and attempt it again with a smaller time increment. The suggested new time increment provided to the automatic time integration algorithms is PNEWDT × DTIME, where t he PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration.If PNEWDT is given a value that is greater than 1.0 for all calls to user subroutines for this iteration and the increment converges in this iteration, Abaqus/Standard may increase the time increment. The suggested new time increment provided to the automatic time integration algorithms is PNEWDT × DTIME, where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration.If automatic time incrementation is not selected in the analysis procedure, values of PNEWDT that are greater than 1.0 will be ignored and values of PNEWDT that are less than 1.0 will cause the job to terminate.Variables passed in for informationSTRAN(NTENS)An array containing the total strains at the beginning of the increment. If thermal expansion is included in the same material definition, the strains passed into UMAT are the mechanical strains only (that is, the thermal strains computed based upon the thermal expansion coefficient have been subtracted from the total strains). These strains are available for output as the “elastic” strains.In finite-strain problems the strain components have been rotated to account for rigid body motion in the increment before UMAT is called and are approximations to logarithmic strain.DSTRAN(NTENS)Array of strain increments. If thermal expansion is included in the same material definition, these are the mechanical strain increments (the total strain increments minus the thermal strain increments).TIME(1)Value of step time at the beginning of the current increment.TIME(2)Value of total time at the beginning of the current increment.DTIMETime increment.TEMPTemperature at the start of the increment.DTEMPIncrement of temperature.PREDEFArray of interpolated values of predefined field variables at this point at the start of the increment, based on the values read in at the nodes.DPREDArray of increments of predefined field variables.CMNAMEUser-defined material name, left justified. Some internal material models are given names starting with the “ABQ_” character string. To avoid conflict, you should not use “ABQ_” as the leading string for CMNAME.NDINumber of direct stress components at this point.NSHRNumber of engineering shear stress components at this point.NTENSSize of the stress or strain component array (NDI + NSHR).NSTATVNumber of solution-dependent state variables that are associated with this material type (defined as described in “Allocating space” in “User subroutines: overview,” Section 17.1.1 of the Abaqus Analysis User's Manual).PROPS(NPROPS)User-specified array of material constants associated with this user material.NPROPSUser-defined number of material constants associated with this user material.COORDSAn array containing the coordinates of this point. These are the current coordinates if geometric nonlinearity is accounted for during the step (see “Procedures: overview,” Section 6.1.1 of the Abaqus Analysis User's Manual); otherwise, the array contains the original coordinates of the point.DROT(3,3)Rotation increment matrix. This matrix represents the increment of rigid body rotation of the basis system in which the components of stress (STRESS) and strain (STRAN) are stored. It is provided so that vector- ortensor-valued state variables can be rotated appropriately in this subroutine: stress and strain components are already rotated by this amount before UMAT is called. This matrix is passed in as a unit matrix for small-displacement analysis and for large-displacement analysis if the basis system for the material point rotates with the material (as in a shell element or when a local orientation is used).CELENTCharacteristic element length, which is a typical length of a line across an element for a first-order element; it is half of the same typical length for a second-order element. For beams and trusses it is a characteristic length along the element axis. For membranes and shells it is a characteristic length in the reference surface. For axisymmetric elementsit is a characteristic length in the plane only. For cohesive elementsit is equal to the constitutive thickness.DFGRD0(3,3)Array containing the deformation gradient at the beginning of the increment. If a local orientation is defined at the material point, the deformation gradient components are expressed in the local coordinate system defined by the orientation at the beginning of the increment. For a discussion regarding the availability of the deformation gradient for various element types, see “Availability of deformation gradient.”DFGRD1(3,3)Array containing the deformation gradient at the end of the increment. If a local orientation is defined at the material point, the deformation gradient components are expressed in the local coordinate system defined by the orientation. This array is set to the identity matrix if nonlinear geometric effects are not included in the step definition associated withthis increment. For a discussion regarding the availability of the deformation gradient for various element types, see “Availability of deformation gradient.”NOELElement number.NPTIntegration point number.LAYERLayer number (for composite shells and layered solids).KSPTSection point number within the current layer.KSTEPStep number.KINCIncrement number.Example: Using more than one user-defined mechanical material modelTo use more than one user-defined mechanical material model, the variable CMNAME can be tested for different material names inside user subroutine UMAT as illustrated below:IF (CMNAME(1:4) .EQ. 'MAT1') THENCALL UMAT_MAT1(argument_list)ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THENCALL UMAT_MAT2(argument_list)END IFUMAT_MAT1 and UMAT_MAT2 are the actual user material subroutines containing the constitutive material models for each material MAT1 and MAT2, respectively. Subroutine UMAT merely acts as a directory here. The argument list may be the same as that used in subroutine UMAT.Example: Simple linear viscoelastic materialAs a simple example of the coding of user subroutine UMAT, consider the linear, viscoelastic model shown in Figure 1.1.40–1. Although this is not a very useful model for real materials, it serves to illustrate how to code the routine.Figure 1.1.40–1 Simple linear viscoelastic model.The behavior of the one-dimensional model shown in the figure iswhere and are the time rates of change of stress and strain. This can be generalized for small straining of an isotropic solid asandwhereand , , , , and are material constants ( and are the Lamé constants).A simple, stable integration operator for this equation is the central difference operator:where f is some function, is its value at the beginning of the increment,is the change in the function over the increment, and is the timeincrement.Applying this to the rate constitutive equations above givesandso that the Jacobian matrix has the termsandThe total change in specific energy in an increment for this material iswhile the change in specific elastic strain energy iswhere D is the elasticity matrix:No state variables are needed for this material, so the allocation of space for them is not necessary. In a more realistic case a set of parallel models of this type might be used, and the stress components in each model might be stored as state variables.For our simple case a user material definition can be used to read in the five constants in the order , , , , and so thatThe routine can then be coded as follows:SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,1 RPL,DDSDDT,DRPLDE,DRPLDT,2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION STRESS(NTENS),STATEV(NSTATV),1 DDSDDE(NTENS,NTENS),2 DDSDDT(NTENS),DRPLDE(NTENS),3 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),4 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3) DIMENSION DSTRES(6),D(3,3)CC EVALUATE NEW STRESS TENSORCEV = 0.DEV = 0.DO K1=1,NDIEV = EV + STRAN(K1)DEV = DEV + DSTRAN(K1)END DOCTERM1 = .5*DTIME + PROPS(5)TERM1I = 1./TERM1TERM2 = (.5*DTIME*PROPS(1)+PROPS(3))*TERM1I*DEVTERM3 = (DTIME*PROPS(2)+2.*PROPS(4))*TERM1ICDO K1=1,NDIDSTRES(K1) = TERM2+TERM3*DSTRAN(K1)1 +DTIME*TERM1I*(PROPS(1)*EV2 +2.*PROPS(2)*STRAN(K1)-STRESS(K1))STRESS(K1) = STRESS(K1) + DSTRES(K1)END DOCTERM2 = (.5*DTIME*PROPS(2) + PROPS(4))*TERM1II1 = NDIDO K1=1,NSHRI1 = I1+1DSTRES(I1) = TERM2*DSTRAN(I1)+1 DTIME*TERM1I*(PROPS(2)*STRAN(I1)-STRESS(I1))STRESS(I1) = STRESS(I1)+DSTRES(I1)END DOCC CREATE NEW JACOBIANCTERM2 = (DTIME*(.5*PROPS(1)+PROPS(2))+PROPS(3)+1 2.*PROPS(4))*TERM1ITERM3 = (.5*DTIME*PROPS(1)+PROPS(3))*TERM1IDO K1=1,NTENSDO K2=1,NTENSDDSDDE(K2,K1) = 0.END DOEND DOCDO K1=1,NDIDDSDDE(K1,K1) = TERM2END DOCDO K1=2,NDIN2 = K1–1DO K2=1,N2DDSDDE(K2,K1) = TERM3DDSDDE(K1,K2) = TERM3END DOEND DOTERM2 = (.5*DTIME*PROPS(2)+PROPS(4))*TERM1II1 = NDIDO K1=1,NSHRI1 = I1+1DDSDDE(I1,I1) = TERM2END DOCC TOTAL CHANGE IN SPECIFIC ENERGYCTDE = 0.DO K1=1,NTENSTDE = TDE + (STRESS(K1)-.5*DSTRES(K1))*DSTRAN(K1) END DOCC CHANGE IN SPECIFIC ELASTIC STRAIN ENERGYCTERM1 = PROPS(1) + 2.*PROPS(2)DO K1=1,NDID(K1,K1) = TERM1END DODO K1=2,NDIN2 = K1-1DO K2=1,N2D(K1,K2) = PROPS(1)D(K2,K1) = PROPS(1)END DOEND DODEE = 0.DO K1=1,NDITERM1 = 0.TERM2 = 0.DO K2=1,NDITERM1 = TERM1 + D(K1,K2)*STRAN(K2)TERM2 = TERM2 + D(K1,K2)*DSTRAN(K2)END DODEE = DEE + (TERM1+.5*TERM2)*DSTRAN(K1)END DOI1 = NDIDO K1=1,NSHRI1 = I1+1DEE = DEE + PROPS(2)*(STRAN(I1)+.5*DSTRAN(I1))*DSTRAN(I1) END DOSSE = SSE + DEESCD = SCD + TDE – DEERETURNEND。
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学习报告
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里弹塑本构的实现
目录
摘 要 .........................................................................................................................................I ABSTRACT ............................................................................................................................ II 1. 绪论 ................................................................................................................................... 1
前言
有限元法是工程中广泛使用的一种数值计算方法。它是力学、计算方法和计算机 技术相结合的产物。在工程应用中,有限元法比其它数值分析方法更流行的一个重要 原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。 所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越 普及。
ABAQUS子程序UMAT里弹塑本构的实现
前言有限元法是工程中广泛使用的一种数值计算方法。
它是力学、计算方法和计算机技术相结合的产物。
在工程应用中,有限元法比其它数值分析方法更流行的一个重要原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。
所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越普及。
ABAQUS软件一直以非线性有限元分析软件而闻名,这也是它和ANSYS,Nastran等软件的区别所在。
非线性有限元分析的用处越来越大,因为在所用材料非常复杂很多情况下,用线性分析来近似已不再有效。
比方说,一个复合材料就不能用传统的线性分析软件包进行分析。
任何与时间有关联,有较大位移量的情况都不能用线性分析法来处理。
多年前,虽然非线性分析能更适合、更准确的处理问题,但是由于当时计算设备的能力不够强大、非线性分析软件包线性分析功能不够健全,所以通常采用线性处理的方法。
这种情况已经得到了极大的改善,计算设备的能力变得更加强大、类似ABAQUS这样的产品功能日臻完善,应用日益广泛。
非线性有限元分析在各个制造行业得到了广泛应用,有不少大型用户。
航空航天业一直是非线性有限元分析的大客户,一个重要原因是大量使用复合材料。
新一代波音 787客机将全部采用复合材料。
只有像 ABAQUS这样的软件,才能分析包括多个子系统的产品耐久性能。
在汽车业,用线性有限元分析来做四轮耐久性分析不可能得到足够准确的结果。
分析汽车的整体和各个子系统的性能要求(如悬挂系统等)需要进行非线性分析。
在土木工程业, ABAQUS能处理包括混凝土静动力开裂分析以及沥青混凝土方面的静动力分析,还能处理高度复杂非线性材料的损伤和断裂问题,这对于大型桥梁结构,高层建筑的结构分析非常有效。
瞬态、大变形、高级材料的碰撞问题必须用非线性有限元分析来计算。
线性分析在这种情况下是不适用的。
以往有一些专门的软件来分析碰撞问题,但现在ABAQUS在通用有限元软件包就能解决这些问题。