UMAT全过程技术篇Word格式.docx

上传人:b****2 文档编号:3764178 上传时间:2023-05-02 格式:DOCX 页数:12 大小:161.39KB
下载 相关 举报
UMAT全过程技术篇Word格式.docx_第1页
第1页 / 共12页
UMAT全过程技术篇Word格式.docx_第2页
第2页 / 共12页
UMAT全过程技术篇Word格式.docx_第3页
第3页 / 共12页
UMAT全过程技术篇Word格式.docx_第4页
第4页 / 共12页
UMAT全过程技术篇Word格式.docx_第5页
第5页 / 共12页
UMAT全过程技术篇Word格式.docx_第6页
第6页 / 共12页
UMAT全过程技术篇Word格式.docx_第7页
第7页 / 共12页
UMAT全过程技术篇Word格式.docx_第8页
第8页 / 共12页
UMAT全过程技术篇Word格式.docx_第9页
第9页 / 共12页
UMAT全过程技术篇Word格式.docx_第10页
第10页 / 共12页
UMAT全过程技术篇Word格式.docx_第11页
第11页 / 共12页
UMAT全过程技术篇Word格式.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

UMAT全过程技术篇Word格式.docx

《UMAT全过程技术篇Word格式.docx》由会员分享,可在线阅读,更多相关《UMAT全过程技术篇Word格式.docx(12页珍藏版)》请在冰点文库上搜索。

UMAT全过程技术篇Word格式.docx

]

----------------------------------------------------------------------------

*转*入*正*题*

第一部分:

[特别声明,这部分来自于华中科技大学杨曼娟同学的硕士学位论文,在此对作者表示感谢!

--大家可以去知网下载]

1.ABAQUS中材料非线性问题的处理

ABAQUS中材料非线性问题用Newton-Raphson法来求解。

首先将载荷分为若干个微小增量,结构受到一个微小增量△P。

ABAQUS用与初始结构位移相对应的初始刚度矩阵K0和荷载增量△P计算出结构的在这一步增量后的位移修正Ca、修正后的位移值Ua和相应的新的刚度矩阵Ka。

ABAQUS用新的刚度矩阵计算结构的内力Ia,荷载P和Ia的差值为迭代的残余力Ra,即Ra=P-Ia。

如果Ra在模型内的每个自由度上的值都为零,如图2-2中的a点,则结构处于平衡状态。

但在非线性问题中,通常Ra是不可能为零,ABAQUS为此设置了一个残余力容差。

如果Ra小于这个数字,ABAQUS就认为结构的内外力是平衡的。

一般这个缺省值取为平均内力的0.5%(如图2-2)。

在Ra满足小于残余力容差的条件后,ABAQUS还要检查位移修正系数Ca是否远远小于结构的位移增量△Ua=Ua-Uo.如果大于位移增量的1%,ABAQUS将自动继续进行迭代。

第二次迭代时,ABAQUS用刚度矩阵Ka和第一次迭代的残余力Ra计算,得到一个新的位移修正值。

同理,第二次迭代中ABAQUS用新的残余力、新的位移系数,继续验证收敛性,直到收敛为止(如图2-3)。

因此非线性问题的计算量要比线性问题的计算量大得多,计算的时候需要分配更多的内存和磁盘空间。

ABAQUS会自动调整荷载增量的大小,用户只需合理的设置一个第一次迭代的增量值即可,如果用户不给出第一次迭代的增量值,ABAQUS会在第一次迭代的过程中把设置的所有荷载都加到结构上去,然后不断的试算自动调整第一次迭代的增量大小。

寻找一个增量值的收敛解迭代的次数取决于系统非线性的程度。

ABAQUS中缺省的设置是,如果在一个增量值的作用下,迭代16次以后结果仍不收敛,ABAQUS将放弃这个增量值,把增量取为前一次增量值的25%再进行计算。

如果ABAQUS在迭代次数小于5次的情况下就找到了收敛解,ABAQUS就自动把增量值增加50%再进行计算,得到更为合理的增量值。

2.用户子程序接口

ABAQUS不仅提供标准的有限元分析程序,而且具有良好的开放性,可利用它

提供的用户子程序接口生成非标准的分析程序来满足用户的需要,在实际工程中得

到广泛应用。

ABAQUS允许用户通过子程序以代码的形式来扩展主程序的功能,并

给用户提供了强大而又灵活的用户子程序接口和应用程序接口(UtilityRoutine),

ABAQUS6.4一共有42个用户子程序接口,15个应用程序接口,用户可以定义包括

边界条件、荷载条件、接触条件、材料特性以及利用用户子程序和其它应用软件进

行数值交换等等。

这些用户子程序接口使得用户解决一些问题时有很大的灵活性,

同时大大的扩充了ABAQUS的功能。

例如:

通过用户定义单元接口,用户自定义的任何类型的线性或非线性单元都可以被引入模型中,对于线性单元刚度矩阵和质量矩阵可以直接确定。

同时,用户子程序也可被用来定义这些单元的线性和非线性特性。

通过用户材料子程序接口,用户可定义任何补充的材料模型,不但任意数量的

材料常数都可以作为资料被读取,而且ABAQUS对于任何数量的与解相关的状态变

量在每一材料计数点都提供了存储功能,以便在这些子程序中应用。

3.用户子程序和主程序的结合

ABAQUS的用户子程序是根据ABAQUS提供的相应接口,按照Fortran语法,用户自己编写的代码。

它是一个独立的程序单元,可以独立的被存储和编译,也能被其它程序单元引用,因此,利用它可带回大量数据供引用程序使用,也可以用它来完成各种特殊的功能。

它的一般结构形式是:

SUBROUTINES(x1,x2,……,xn)

INCLUDE‘ABA_PARAM.INC’(用于ABAQUS/Standard用户子程序中)

ORINCLUDE‘VABA_PARAM.INC’)(用于ABAQUS/Explicit用户子程序中)

……

RETURN

END

x1,x2,……,xn是ABAQUS提供的用户子程序的接口参数,有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINEDLOAD中的KSTEP、KINC、COORDS;

有些是需要用户自己定义的,例如F。

文件aba_param.inc和vaba_param.inc随着ABAQUS软件的安装而包含在操作系统中,它们含有重要的参数,帮助ABAQUS主求解程序对用户子程序进行编译和链接。

当控制遇到RETURN语句时便返回到引用程序单元中去,END语句是用户子程序结束的标志。

在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以.for为

扩展名的文件中。

运行带有用户子程序的算例同时有两种方法:

一是在CAE中运行,

在EDITJOB菜单中的GENERAL子菜单的USERSUBROUTINEFILE对话框中选择用户子程序所在的文件即可;

另外是在ABAQUS.COMMAND中运行,语法如下:

abaqusjob=job-nameuser={source-file|object-file}

编制用户子程序时应注意:

(1)用户子程序相互之间不能调用,但可以调用用户自己编写的Fortran子程序

和ABAQUS应用程序。

ABAQUS应用程序必须由用户子程序调用。

当用户编写

Fortran子程序时,建议子程序名以K开头,以免和ABAQUS内部程序冲突。

(2)当用户在用户子程序中利用OPEN打开外部文件时,要注意以下两点:

一是

设备号的选择是有限制的,只能取15~18和大于100的设备号,其余的都已被

ABAQUS占用;

二是用户需提供外部文件的绝对路径而不是相对路径。

(3)对于不同的用户子程序ABAQUS调用的时间是不同的,有的是在每个STEP

的开始,有的是STEP的结尾,有的是在每个INCREMENT的开始等等。

当ABAQUS

调用用户子程序时,都会把当前的STEP和INCREMENT利用用户子程序的两个实

参KSTEP和KINC传给用户子程序,用户可把它们输出到外部文件中,这样就可清

楚的知道ABAQUS何时调用该用户子程序。

为保证用户子程序的正确执行,子程序的书写必须遵循ABAQUS的相关规定.

4.用户材料子程序UMAT接口的原理

用户材料子程序(User-definedMaterialMechanicalBehavior,简称UMAT)是

ABAQUS提供给用户定义自己的材料属性的Fortran程序接口,使用户能使用ABAQUS材料库中没有定义的材料模型。

用户材料子程序UMAT通过与ABAQUS主求解程序的接口实现与ABAQUS的资料交流.在输入文件中,使用关键词“*USERMATERIAL”表示定义用户材料属性。

[更详细相关知识,请看帖子ABAQUS-UMAT-自学知识整理贴[已经初步完成,不断完善更新,请跟帖讨论]

由于UMAT子程序在单元的积分点上调用,增量步开始时,主程序路径将通过

UMAT的接口进入UMAT,单元当前积分点必要变量的初始值将随之传递给UMAT

的相应变量。

在UMAT结束时,变量的更新值将通过接口返回主程序。

ABAQUS调用UMAT过程及次数如图2-4所示。

5.UMAT子程序流程

UMAT子程序采用Fortran语言编制,可以包括以下几个部分:

子程序定义语句、ABAQUS定义的参数说明、用户定义的局部变量说明、用户编制的程序主体、子程序返回和结束语句。

主要求解过程:

每一个增量加载步开始时,ABAQUS主程序在单元的积分点上调用UMAT子程序,并传入应变增量、时间步长及荷载增量,同时也传入当前已知状态的应力、应变及其它与求解过程相关的变量;

UMAT子程序根据本构方程求解应力增量并更新应力及其它相关的变量,提供Jacobian矩阵给ABAQUS主程序以形成整体刚度矩阵;

主程序结合当前荷载增量求解位移增量,继而进行平衡校核;

如果不满足指定的误差,ABAQUS将进行迭代直到认为收敛,然后进行下一增量步的求解。

ABAQUS中应力σ采用Cauchy应力张量描述,剪应变分量εij按照工程剪应变

的定义存储。

在求解的过程中,需记录保存与求解过程相关的变量,这可以储存在UMAT子程序的STATEV数组中,并且可以定义储存的数量。

对本文所述的本构方程,定义了13个与求解过程相关的变量,即6个弹性应变,6个塑性应变,1个塑性参数增量。

之二:

子程序

子程序 

2010-03-0616:

52

-----------------------------------------------------------------------*第二部分:

子程序知识*

-----------------------------------------------------------------------

这部分主要是写我的子程序验证\运行过程中出现的问题,不是概论,仅仅是个例]

1.关于子程序验证

重点是在将安装完visualstudio和IntelFortran的两个bat文件包含到path下,具体操作有很多精华帖,大家搜搜就可以了!

2.子程序未通过验证出现的问题

如果job提交后出现类似"

problemduringcompilation-df.exenotfoundinPATH."

之类的涉及到.exe文件找不到的问题,就是没有成功将Fortran[或者visualstudio]的路径加入到path当中,需要重新加入.

3.子程序通过验证,提交job出现的问题

∙"

problemduringcompilation"

:

这个就是你的.for文件本身有错误,无法编译,你可以找出来好好检查;

注意,.for文件单独编译时,会提示你有一个错误,很多个警告,你要看懂这些信息,比如

∙*******:

errorFOR2934:

lexicalerror:

CannotopenINCLUDEfile"

ABA_PARAM.INC"

Nosuchfileordirectory这个是正常错误信息,不用解释了吧!

∙********:

warningFOR4269:

unuseddummyargumentKINC:

这个是因为你声明的变量没有定义,也属于正常,因为子程序不一定会用到所有接口中声明的变量.要注意看看你要用到的变量是否定义了,如果没有定义,那么这是一个相当于错误的警告,要修改;

其他的你不需要的就不用管它!

∙其他基本'

顾名思义'

就能搞定

problemduringlink-*********mismatch******"

我的出现这个原因是因为我编译好的.for文件被我移动到一个文件夹下面,但是我没有同时移动相应的VC++workspace文件和ProgramDebugDatabase文件!

其他可能的原因就可能是你安装的visualstudio和IntelFortran版本与你的ABAQUS版本不匹配,这个情况可以搜索论坛相应帖子!

应变及其分量

1)名义应变及其分量

名义应变又称相对应变或工程应变、适用于小应变分析。

名义应变又可分线应变和切应变。

[特点是,忽略变化过程中长度lo的变化]

变形分量及其标号

2)对数应变

假设物体内两质点相距为l0,经变形后距离为ln,则相对线应变为

ε=(ln-l0)/l0

这种相对线应变一般用于小应变情况。

而在实际变形过程中,长度l0系经过无穷多个中间的数值变成ln,如l0,l1,l2,l3……ln-1,ln,其中相邻两长度相差均极微小,由l0-ln的总的变形程度,可以近似地看作是各个阶段相对应变之和,

在应变主轴方向保持不变的情况下应变增量的总和。

对数应变能真实地反映变形的积累过程,所以也称真实应变,简称为真应变。

(1)相对应变不能表示变形的实际情况

(2)对数应变为可叠加应变

(3)对数应变为可比应变

UMAT全过程-感想篇

一种合金材料SMA,一个一维的四段折线型本构,对于做过的朋友们,以及现在的我看来,似乎不是什么困难的工作!

不过对于最初的我,刚刚接触ABAQUS,建模都没弄太明白呢,就添加本构,当时是一头雾水,除了知道我的目标--添加成功,其余都是一塌糊涂!

再者对于经历这个‘第一次’添加的辛酸历程的我,也是感慨良多!

2010.01.05建模完成,到2010.02.25,差不多俩月的时间,才基本完工!

∙一开始,看庄茁老师的【基于abaqus的有限元分析和应用】中UMAT的例子,都看不明白!

主要是:

∙我的弹塑性力学,甚至弹性力学都学的不咋滴!

【不是偶懒惰、也是不偶笨拙,主要是个人求学经历坎坷,所学知识有限,思想认识也有限,以前只知道照本宣科,应付考试,从没深究过其中的道理!

⊙﹏⊙b汗!

】所以本构的知识得恶补!

看了两遍专业弹塑性力学书,算是悟到了一些知识!

不过,现学现卖,急于求成,有些浑沦吞枣,目前还是对增量理论还没有领悟深刻!

还得再看下!

∙对于abaqus子程序的原理还没有了解的透彻,甚至哪些变量是主程序传下来的,哪些变量是子程序需要更新的都不明白!

所以例子虽然看的有些明白了,但是自己写也是有点照葫芦画瓢,不会活学活用!

∙这个期间,在论坛结实了很多好心的仿真友,尤其是一些版主们,真是让我们感谢又感动,大家一起探讨学习,这里集体感谢了!

∙另外,特别感谢一下咱们的总版主:

【敦诚】,给予我关键性的指导和无私的热心帮助!

永远支持你,希望你以后天天开心一点!

∙后来,由于所编本构的特殊性,中间差不多半个多月的时间去研究UHYPER了!

】!

还好及时悬崖勒马!

2月19号回来,再次转回UMAT!

不得不又提到敦诚版主了,对于UMAT和主程序的相互关系,以及主程序中的各变量计算原理不是很明白的我,再次请教,版主给予的深刻的根本性的解释!

使我豁然开朗,当然这个原理没有一定的力学和有限元的知识是很难理解和消化的,我目前就是了解个大概,还得继续努力深究!

↖(^ω^)↗加油!

∙本构完成,就是调用去算了,看看是否是预期的本构形式!

可以建一个稍微简单的模型,或者一个单元的模型,试算一下!

∙还有工作要做,就这些,稍晚些,给大家奉上技术篇

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2