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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

AbaqusUSDFLD使用教程.docx

1、AbaqusUSDFLD使用教程user-subroutines-l4-usdfld 课件引言通常使用用户子程序USDFLD,当需要对复杂材料行为建模与用户不想要使用UMAT子程序时在ABAQUS/Standard中的大多数材料属性可以被定为场变量的函数子程序USDFLD允许在单元的每个积分点定义子程序可以访问计算结果数据,因此,材料属性可以是计算结果数据的函数子程序USDFLD只能使用在具有*Material选项的材料属性的单元(详见p. L4.18页上GETVRM所支持的单元)Abaqus的使用在模型中,与DLOAD和FILM子程序相比,包括USDFLD在内的子程序需要付出更多的努力通常用

2、户必须定义材料属性的依赖性,例如弹性模量或屈服应力,作为场变量的函数这可以通过表格输入或额外用户子程序来完成使用子程序USDFLD来在积分点上定义的值在材料定义中包括了USER DEFINED FIELD 选项,这表明对于使用材料定义的这些单元来说,USDFLD子程序可以使用可以被定义为在积分点上有的计算结果数据的函数,例如应力、应变定义场变量相关的材料属性这里有两种方法,能够定义场变量相关的材料属性对于Abaqus内置的材料模型,使用表格定义方式使用其他用户子程序来定义材料属性为的函数,例如蠕变CREEP表格定义使用在材料选项上DEPENDENCIES选项来指定对于给定材料选项存在有多少不同

3、场变量弹性模量(E)是场变量#1()的函数。当增加,E减少。可以代表材料的损伤。热膨胀系数是与场变量#2()的函数值的改变都会影响弹性模量(E)与热膨胀系数Abaqus在表格输入的数据点间将使用线性插值。当超过了指定范围将使用最后一个数据点,它不会对数据外推对于每一种材料属性,的范围不必须是一样的在用户子程序内定义场变量将定义在USDFLD中的值传递到下列用户子程序内:CREEP、HETVAL、UEXPAN、UHARD、UHYPEL、UMAT、UMATHT、UTRS、UINTER定义在这些子程序内的材料属性可以是的函数定义场变量Abaqus通常认为场变量是节点数据当Abaqus开始计算单元应力

4、与刚度时(例如,一个单元循环),它将对节点数据插值到单元的积分点当使用子程序USDFLD时,在计算单元的材料属性前,定义在子程序USDFLD中的这些数值将取代了插值Abaqus并不存储USDFLD定义的这些数值如果你需要访问先前的值,你必须在USDFLD中把他们存储为相关解变量(solution-dependent variables,SDVs)假如你绕过USDFLD子程序(可能因为在给定步中材料属性不会改变),积分点将使用的差值通常,这些差值是分配给节点的最初值假如没有明确给定最初值,在Abaqus会默认为0当定义材料属性时使用差值,很可能会造成不正确的结果。确保你知道Abaqus在干什么。

5、 可以使用输出变量FV分别在*EL PRINT、*EL FILE与*ELEMENT OUTPUT选项上将单元积分点上的值输出到.dat文件、.file文件与.odb文件ABAQUS/Viewer能够绘制FV#的轮廓图访问积分点上的计算数据ABAQUS/Standard允许定义为积分点上计算数据的函数,如应力、应变这些提供的计算数据值是从当前增量的开始子程序USDFLD必须能够使用ABAQUS实用程序GETVRM来访问材料积分点数据显式方法vs. 隐式方法既然USDFLD子程序只有在增量步开始访问材料积分点值,以这种方式介绍的解决方案是显式的在给定增量下材料属性不受此增量内结果的影响因此,结果的

6、精度依赖于时间增量大小因此,用户能通过变量PNEWDT来控制USDFLD子程序中的时间增量对于大多数非线性材料行为(如,塑性)ABAQUS/Standard在当前增量步结束时将使用隐式积分方法来计算材料属性这种隐式积分方法使得ABAQUS/Standard可以使用任何时间增量,然而依然是有条件的使用解相关的状态变量(Solution-Dependent State Variables,SDVs)如果有任何历史依赖性,在USDFLD中必须使用SDVsABAQUS/Standard不会在USDFLD中存储的值将在USDFLD中更新的SDVs传递到在积分点处被调用的其他用户子程序,例如列在p. L4

7、.5中的变量(Defining Field-Variable-Dependent Material Properties)用*DEPVAR选项来指定状态变量的数目用户子程序GETVRM子程序GETVRM提供给USDFLD用来访问分析过程中存储在数据库中的计算数据GETVRM子程序界面CALL GETVRM(VAR, ARRAY, JARRAY, FLGRAY, JRCD,1 JMAC, JMATYP, MATLAYO, LACCFLA)提供给GETVRM的变量提供给GETVRM的变量是输出变量关键,VAR,对于想要的计算结果数据,与JMAC,JAMTYP,MATLAYO,LACCFLA(在这些

8、笔记中没有进一步讨论这些变量)这些可用的输出变量列在了输出列表中,ABAQUS/Standard Users Manual,Section 4.2.1对于单元积分点处的结果文件输出,这些变量必须是可用的,例如,对于应力的米塞斯应力SGETVRM返回的变量包含输出变量的独立浮点部分的数组(ARRAY)包含输出变量的独立整数值部分的数组(JARRAY)一个特征数组(FLGRAY)包含对应于各个部分的标志标志将包含YES,NO,或N/A(不适用)返回代码(JRCD),JRCD=0表明GETVRM没有遇到错误,然而值1表明这里有一个输出请求错误或者所有的输出变量部分都是0如下写出了请求变量的组分单个指

9、标分量(与没有分量的请求)返回在位置1,2,3,etc对于对称张量按顺序11,22,33,12,13,23返回双指标分量(张量),对于非对称张量接着是21,31,32,例如变形梯度因此,对于平面应力单元,返回应力为ARRAY(1) = S11, ARRAY(2) = S22, ARRAY(3) = 0.0, and ARRAY(4) = S12.不管分析的维度,对于主值请求、最小值(第一)与最大值(第三)、,总要返回三个数值,GETVRM所支持的单元既然GETVRM是关于积分点数值,对于不需要*MATERIAL定义的大部分单元类型是不适用的。因此,不支持以下单元类型:DASHPOTx SPRI

10、NG x JOINTC JOINTxD DRAGxD ITS xxx MASS ROTARYI all acoustic elements 所有声学单元 all contact elements 所有的接触单元 all gasket elements all hydrostatic fluid elements 所有流体静力学单元 USA elements USA单元USDFLD子程序界面用户子程序USDFLD界面是需定义的变量数组FIELD(NFIELD)包含当前积分点处的场变量传递当前增量步结束时从节点差值的数值,用*INITISL CONDITION选项与*FIELD选项来指定使用更新的

11、来计算作为场变量函数的积分点数值。传递更新的进其他用户子程序(CREEP, HETVAL, UEXPAN, UHARD, UHYPEL, UMAT, UMATHT, and UTRS)可能被定义的变量在USDFLD中能定义包含解相关状态变量的数组STATEV(NSTATV)传递这些,作为增量步开始时的值在所有的情况下子程序中能够更新STATEV,更新后的值被传递到其他用户子程序中(CREEP, HETVAL, UEXPAN, UHARD, UHYPEL, UMAT, UMATHT, and UTRS)与积分点相联系的状态变量数目用*DEPVAR来定义给出了新建议时间增量与使用的时间增量(DTI

12、ME,如下)间的比值PNEWDT该变量允许用户提供输入到ABAQUS自动时间增量算法。变量信息场变量(NFIELD)的数目存在在这点上在材料方向的全局坐标系统中方向余弦与当前积分点(DIRECT)相联系DIRECT(#,1)定义第一积分点方向方向余弦(T)模型中特征单元长度(CELENT)与*MATERIAL选项相联系的名字(CNAME)与单元相联系*ORIENTATION的名字(ORNAME)正应力分量的数目(NDI)、剪应力分量的数目(NSHR)分析步(KSTEP)与增量步数目(KINC),其中子程序被调用当前增量结束时的分析步时间值(TIME(1)),总时间值(TIME(2)当前时间增量

13、(DTIME)单元数目(NOEL)与积分点数目(NPT)在适合时,层(LAYER)与界面点数目(KSPT)在积分点处坐标(COORD)必须传到GETVRM实用子程序的变量(JMAC, JMATYP, MATLAYO, LACCFLA)USDFLD与自动时间增量ABAQUS/Standard在分析中使用自动时间增量算法来控制时间增量大小当不可能收敛或结果不够准确时,此算法允许ABAQUS/Standard减少时间增量大小;当很容易收敛时,允许增加时间增量像USDFLD这样子程序能够使算法不正常工作因此,这些算法使用变量PNEWDT给增量算法提供信息在每次调用USDFLD前,将PNEWDT设定一个

14、大值假如PNEWDT重新定义为小于1.0的数,ABAQUS将放弃时间增量,并用一个较小时间增量来再次试探提供给自动时间算法的新建议时间增量是PNEWDTDTIME,其中:所使用的PNEWDT是所有调用用户子程序中的最小值,用户子程序对于此次迭代允许重新定义PNEWDT假如对于此次迭代与增量收敛的所有调用用户子程序PNEWDT是一个给定的大于1.0的值,ABAQUS可能会增加时间增量提供给自动时间算法的新建议时间增量是PNEWDTDTIME,其中:所使用的PNEWDT是此次迭代中所有调用用户子程序中的最小值假如维持时间增量大小,设定PNEWDT=1.0假如对于分析程序没有选择自动时间增量,那将忽

15、略大于1.0的PNEWDT的值,小于1.0的PNEWDT的值将会造成任务停止实例:层状复合板失效ABAQUS Example Problems Manual, Section 1.1.14详细描述了此实例此实例对中间带有孔洞的层状复合板发生的损伤进行建模,它将承受面内压缩此板包含石墨环氧复合材料,每层内纤维方向是-45/45此问题中使用了四分之一对称有限元模型(如图4-1)使用了两层CSP4单元,而不是壳单元板厚足够大,面外的位移可以忽略材料模型Chang与Lessard详细描述了每层的材料行为Chang, F-K., and L. B. Lessard, “Damage Tolerance

16、of Laminated Composites Containing an Open Hole and Subjected to Compressive Loadings: Part IAnalysis,” Journal of Composite Materials, vol. 25, pp. 243, 1991.最初的弹性特性是:长度方向模量宽度方向模量剪切模量泊松比材料计算剪切上的损伤,导致了非线性应力应变关系,形式为其中:为最初的剪切模量,非线性用因子来表示为了考虑非线性,非线性应力应变关系(等式4.1)需以不同形式来表示在每个增量结束时的应力应该是应变的线性函数最明显的方式是对非线性

17、项线性化,则对等式4.2进行转换,则这就提供了一种定义等效剪切模量的算法然而,这种算法不是非常合适,因为在大应变水平下它是不稳定的,这通过稳定分析很容易证明(详见例子手册)为了获得一个更加稳定的算法,我们把非线性应力应变法则写成其中:是一个未知系数对等式4.4表达式的稳定分析,优化的应力应变算法是:以损伤参数d的形式进行表达,即将此关系实施到用户子程序USDFLD,直接将损伤参数值分配到用于定义弹性属性的第三场变量(FV3)对复合材料,使用下列强度性能:横向拉伸强度 剪切强度 基体压缩强度 纤维屈曲强度 将强度参数集合到多轴加载的失效准则中去。在分析模型中考虑了三种不同失效模型:在模型中没有考

18、虑纤维屈曲失效,因为主要失效模型是纤维-基体剪切基体拉伸开裂非线性剪切行为下基体拉伸开裂的失效指标是:当此模型中复合材料失效,横向刚度与泊松比将变成0基体压缩开裂这种失效指标形式与拉伸开裂模型相同。在USDFLD中使用同样失效指标(场变量),因为两个模型不会在同一个点同时发生纤维-基体剪切失效从本质上失效准则与其他两种准则有相同形式:这种失效机制可能与其他两种准则同时发生,因此,在USDFLD中使用了不同的失效指标使用用户子程序USDFLD来计算活跃的失效指标值用于表征基体拉伸开裂/基体压缩失效指标的值存储为SDV(1)当指标超过了1.0时,设定为1.0用于表征纤维基体剪切失效指标的值存储为S

19、DV(2)当指标超过了1.0时,设定为1.0使用子程序USDFLD来计算在非线性应力应变关系中损伤参数dd值存储为SDV(3)与表4-1显示了依赖于的材料属性部分输入数据用户子程序结果备注并不是将失效指标值直接分配给,相反,它们被存储为解相关的状态变量即使失效指标值超过了1.0,相应的的用户定义场变量设定为1.0在失效指标值超过了1.0后,即使应力可能显著减少,相应的依然为1.0,这就确保了材料损伤后不会愈合应用USDFLD的材料模型确保,失效发生后,在失效方向上的应力立即变为0,这对应于没有能量吸收的脆性失效这种假设是非常不现实的:在现实中,失效发生后随着应变的增加应力承载能力逐渐退化因此,

20、使用这个模型并不能很好捕捉到失效开始后复合材料的行为此外,应力承载能力瞬间消失会使得失效后分析结果强烈依赖于有限单元网格的细化与所使用的有限单元网格在本例子中,模型中唯一显著非线性是复合材料的失效。因此,使用固定的时间增量非常有效然而,分析结果对时间增量大小高度敏感。此模型中使用的时间增量显示,接近最大允许使用值(见图4-4与图4-5)如果在分析中呈现了另外的非线性,很有可能需要使用自动时间增量算法在这些分析类型中,在子程序USDFLD必须使用便利PNEWDT以控制时间增量大小子程序手册 1.1.49 USDFLD: User subroutine to redefine field vari

21、ables at a material point.Product: Abaqus/Standard参考文献 Section 2.1.6,在Abaqus/Standard分析中获得积分点信息(Obtaining material point information in an Abaqus/Standard analysis) Abaqus用户分析手册中Section 21.1.2,积分点数据定义(Material data definition) 用户定义场(* USER DEFINED FIELD) Abaqus例子手册中Section 1.1.14,层状复合板的损伤与失效(Damage

22、and failure of a laminated composite plate) Abaqus验证手册中Section 4.1.24,USDFLD概述用户子程序USDFLD: 允许你在积分点定义场变量作为事件或列在输出变量标识表中积分点变量的函数(Abaqus用户分析手册Section 4.2.1,Abaqus/Standard output variable identifiers),除了用户定义的输出变量UVARM与UVARMn 使用它来引进解相关材料属性,既然能够轻易定义这些属性为场变量的函数 对于积分点包含用户定义场变量的单元来说,在其所有积分点上都能够调用子程序 必须调用实用程

23、序GETVRM来访问积分点数据 能够使用并更新场变量 能够与用户子程序UFIELD一起使用来规定预定义场变量明确的解依赖性既然子程序只能在增量开始时访问积分点数据,以这种方式介绍的解依赖是明确的:在增量步中获得的结果不会影响给定增量下的材料性能。因此,结果的精度依赖于时间增量步的大小。因而,你可以通过变量PNEWDT来控制子程序中时间增量。定义场变量在调用用户子程序USDFLD之前,通过定义在节点上值差值方式来计算积分点上场变量的值。在用户子程序中场变量的任何改变局限于积分点:节点场变量保持最初状态、预定义场变量或在用户子程序USDFLD中的值。定义在子程序中场变量的值经常用来计算依赖于场变量

24、的材料属性值,将它传递到能在物质点上调用的其他用户子程序中去,例如: CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT UTRS使用单元积分点输出变量FV来获得在材料点处用户定义场变量的输出(详见,Abaqus用户手册Section 4.2.1,Abaqus/Standard output variable identifiers)访问材料点数据在增量开始(或一个线性摄动分析步的基本状态中)通过实用子程序GETVRM来访问材料点数据(详见Section 2.1.6,Obtaining material point information in an Ab

25、aqus/Standard analysis)。通过以合适输出变量关键来调用GETVRM来获得材料点数值。以数组来恢复材料点数值,ARRAY, JARRAY ,and FLGRAY,分别代表浮点、整数与特征数。你并不能获得在增量开始时未定义的一些材料点值,例如:ER。状态变量既然在USDFLD中重新定义的场变量局限在当前增量步(将场变量恢复到每个增量开始时从节点差值得到的值),必须介绍通过使用这个子程序来更新材料属性的历史依赖性。在USDFLD中能够更新状态变量,然后被传到能够在这个材料点调用的其他用户子程序中去,例如上面列举的子程序。你可以指定这些状态变量的数目,在本章末尾的例子中有说明(详

26、见,用户分析手册Section 18.1.1,“Allocating space” in “User subroutines: overview,”)。用户子程序界面定义的变量FIELD (NFIELD)一个数组包含在当前材料点的场变量。用当前增量结束时从节点的差值来传递这些场变量,通过最初条件定义、预定义场变量定义,或用户子程序UFIELD。使用与温度差值相同的差值方法:对于线性单元使用平均值;对于二次单元使用近似线性变量(可以参考: Abaqus Analysis Users Manual,Section 28.1.1“Solid (continuum) elements”)。使用更新数值

27、来计算材料属性值,其材料属性依赖于场变量并被传递到在材料点调用的其他用户子程序(CREEP, HETVAL , UEXPAN , UHARD, UHYPEL , UMAT, UMATHT ,and UTRS)。能够更新的变量STATEV (NSTATV)一个数组包含解相关变量。这些都是在增量开始时以数值传入的。在所有情况下,在子程序中能够更新STATEV,然后更新后的数值被传递到能够在材料点调用的其他用户子程序中去(CREEP, HETVAL , UEXPAN , UHARD, UHYPEL , UMAT, UMATHT ,and UTRS)。定义了与材料点相关的状态变量的数目,详见Abaqu

28、s用户分析手册Section 18.1.1 User subroutines: overview。PNEWDTPNEWDT指的是建议新的时间增量与所使用时间增量间的比例(DTIME,如下)。此变量能够允许你在Abaqus/Standard中对自动时间增量提供输入(假如选择了自动时间增量的话)。在每次调用USDFLD之前,将PNEWDT设定为一个大数值如果PNEWDT被重新定义为小于1.0的数,Abaqus/Standard必须舍弃时间增量,用一个更小时间增量再次尝试。提供给自动时间积分算法的建议新的时间增量是PNEWDT DTIME,其中PNEWDT是允许迭代中重新定义PNEWDT的所有调用用

29、户子程序中最小值。如果PNEWDT是调用用户子程序中一个给定大于1.0的值,Abaqus/Standard可能会增加时间增量。提供给自动时间积分算法的建议新的时间增量是PNEWDT DTIME,其中PNEWDT是允许迭代中重新定义PNEWDT的所有调用用户子程序中最小值。如果在分析程序中没有选择自动时间增量,将忽略大于1.0的PNEWDT,小于1.0的PNEWDT会造成任务停止。传递信息的变量DIRECT (3,3)包含物质点关于全局方向的方向余弦的数组。DIRECT(1,1) , DIRECT(2,1) , DIRECT(3,1) 给出了第一材料方向上的(1, 2, 3)分量;DIRECT(

30、1,2) , DIRECT(2,2) , DIRECT(3,2) 给出了第二材料方向,等等。对于壳单元与膜单元来说,前两个方向是在单元面内,第三个方向是法向。对于梁单元来说,这些都是不可用的。T (3,3)包含相对于单元基本方向的材料方向分量的方向余弦的数组。它定义了材料方向(DIRECT)关于单元基本方向的方向。对于连续单元来说,T与DIRECT是完全一致的。对于壳单元与膜单元,其余分量为0,其中为法向矢量逆时针旋转角度。如果没有使用方形,那么是单位矩阵。方向并不适用于梁单元。CELENT特征单元长度。对于一阶单元来说,是沿单元一条线的长度;对于二阶单元来说,是同样典型长度的一半。对于梁与桁架,是沿单元轴的特征长度。对于膜与壳单元,它是参考面的特征长度。对于轴对称单元,它只是(r,z)平面内的特征长度。TIME (1):在当前增量步开始时的分析步时间值TIME (2):在当前增量步开始时总的时间值DTIME:时间增量CMNAME:用户指定的材料名称,左对齐ORNAM

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

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