user-subroutines-l4-usdfld 课件
目录
引言 ........................................................................................................................................................................................... 3 Abaqus的使用 .......................................................................................................................................................................... 3
定义场变量相关的材料属性 ........................................................................................................................................... 3 在用户子程序内定义场变量 ........................................................................................................................................... 3 定义场变量 ....................................................................................................................................................................... 4 访问积分点上的计算数据 ............................................................................................................................................... 4 显式方法vs. 隐式方法 .................................................................................................................................................... 4 使用解相关的状态变量(Solution-Dependent State Variables,SDVs) ..................................................................... 4 用户子程序GETVRM ............................................................................................................................................................. 4
GETVRM子程序界面 ..................................................................................................................................................... 5 提供给GETVRM的变量 ................................................................................................................................................ 5 GETVRM返回的变量 ..................................................................................................................................................... 5 GETVRM所支持的单元 ................................................................................................................................................. 5 USDFLD子程序界面............................................................................................................................................................... 5
需定义的变量 ................................................................................................................................................................... 6 可能被定义的变量 ........................................................................................................................................................... 6 变量信息 ........................................................................................................................................................................... 6 USDFLD与自动时间增量 ............................................................................................................................................... 7 实例:层状复合板失效 ........................................................................................................................................................... 7
材料模型 ........................................................................................................................................................................... 8 基体拉伸开裂 ................................................................................................................................................................... 9 基体压缩开裂 ................................................................................................................................................................... 9 纤维-基体剪切失效 .......................................................................................................................................................... 9 部分输入数据 ................................................................................................................................................................. 10 用户子程序 ..................................................................................................................................................................... 10 结果 ................................................................................................................................................................................. 10 备注 ................................................................................................................................................................................. 10 1.1.49 USDFLD: User subroutine to redefine field variables at a material point.................................................................... 11
参考文献 ......................................................................................................................................................................... 11 概述 ................................................................................................................................................................................. 11 明确的解依赖性 ............................................................................................................................................................. 11 定义场变量 ..................................................................................................................................................................... 11 访问材料点数据 ............................................................................................................................................................. 12 状态变量 ......................................................................................................................................................................... 12 用户子程序界面 ............................................................................................................................................................. 12 定义的变量 ..................................................................................................................................................................... 12 能够更新的变量 ............................................................................................................................................................. 12 传递信息的变量 ............................................................................................................................................................. 13 实例:损伤弹性模型 ..................................................................................................................................................... 14 2.1.6 Obtaining material point information in an Abaqus/Standard analysis .......................................................................... 15
参考文献 ......................................................................................................................................................................... 15 概述 ................................................................................................................................................................................. 16 界面 ................................................................................................................................................................................. 16 提供给实用程序的变量 ................................................................................................................................................. 16
从实用程序中返回的变量 ............................................................................................................................................. 16 可用的输出变量钥匙 ..................................................................................................................................................... 16 返回分量的顺序 ............................................................................................................................................................. 17 返回值的分析时间 ......................................................................................................................................................... 17 返回值的平衡状态 ......................................................................................................................................................... 17 实例 ................................................................................................................................................................................. 17 访问状态依赖变量 ......................................................................................................................................................... 17 不支持的单元类型、进程与输出变量钥匙 ................................................................................................................. 17
引言
·通常使用用户子程序USDFLD,当需要对复杂材料行为建模与用户不想要使用UMAT子程序时 ——在ABAQUS/Standard中的大多数材料属性可以被定为场变量的函数 ——子程序USDFLD允许在单元的每个积分点定义
——子程序可以访问计算结果数据,因此,材料属性可以是计算结果数据的函数
·子程序USDFLD只能使用在具有*Material选项的材料属性的单元(详见p. L4.18页上GETVRM所支持的单元)
Abaqus的使用
·在模型中,与DLOAD和FILM子程序相比,包括USDFLD在内的子程序需要付出更多的努力 ·通常用户必须定义材料属性的依赖性,例如弹性模量或屈服应力,作为场变量的函数 ——这可以通过表格输入或额外用户子程序来完成
·使用子程序USDFLD来在积分点上定义的值
——在材料定义中包括了?USER DEFINED FIELD 选项,这表明对于使用材料定义的这些单元来说,USDFLD子程序可以使用
——可以被定义为在积分点上有的计算结果数据的函数,例如应力、应变 定义场变量相关的材料属性
这里有两种方法,能够定义场变量相关的材料属性 ·对于Abaqus内置的材料模型,使用表格定义方式
·使用其他用户子程序来定义材料属性为的函数,例如蠕变CREEP
表格定义
·使用在材料选项上DEPENDENCIES选项来指定对于给定材料选项存在有多少不同场变量
——弹性模量(E)是场变量#1(f1)的函数。当f1增加,E减少。f1可以代表材料的损伤。 ——热膨胀系数是f1与场变量#2(f2)的函数
——f1值的改变都会影响弹性模量(E)与热膨胀系数α
——Abaqus在表格输入的数据点间将使用线性插值。当fi超过了指定范围将使用最后一个数据点,它不会对数据外推
——对于每一种材料属性,fi的范围不必须是一样的 在用户子程序内定义场变量
·将定义在USDFLD中的????值传递到下列用户子程序内:
CREEP、HETVAL、UEXPAN、UHARD、UHYPEL、UMAT、UMATHT、UTRS、UINTER ·定义在这些子程序内的材料属性可以是????的函数
定义场变量
·Abaqus通常认为场变量????是节点数据
·当Abaqus开始计算单元应力与刚度时(例如,一个单元循环),它将对节点数据????插值到单元的积分点
·当使用子程序USDFLD时,在计算单元的材料属性前,定义在子程序USDFLD中的这些数值将取代了插值???? ·Abaqus并不存储USDFLD定义的这些数值
——如果你需要访问先前的值fi,你必须在USDFLD中把他们存储为相关解变量(solution-dependent variables,SDVs)
·假如你绕过USDFLD子程序(可能因为在给定步中材料属性不会改变),积分点将使用????的差值 ——通常,这些差值fi是分配给节点的最初值——假如没有明确给定最初值,在Abaqus会默认为0 ——当定义材料属性时使用差值,很可能会造成不正确的结果。确保你知道Abaqus在干什么。
· 可以使用输出变量FV分别在*EL PRINT、*EL FILE与*ELEMENT OUTPUT选项上将单元积分点上????的值输出到.dat文件、.file文件与.odb文件
——ABAQUS/Viewer能够绘制FV#的轮廓图 访问积分点上的计算数据
·ABAQUS/Standard允许定义????为积分点上计算数据的函数,如应力、应变 ·这些提供的计算数据值是从当前增量的开始
·子程序USDFLD必须能够使用ABAQUS实用程序GETVRM来访问材料积分点数据 显式方法vs. 隐式方法
·既然USDFLD子程序只有在增量步开始访问材料积分点值,以这种方式介绍的解决方案是显式的 ——在给定增量下材料属性不受此增量内结果的影响 ——因此,结果的精度依赖于时间增量大小
——因此,用户能通过变量PNEWDT来控制USDFLD子程序中的时间增量 ·对于大多数非线性材料行为(如,塑性)
ABAQUS/Standard在当前增量步结束时将使用隐式积分方法来计算材料属性
——这种隐式积分方法使得ABAQUS/Standard可以使用任何时间增量,然而依然是有条件的
使用解相关的状态变量(Solution-Dependent State Variables,SDVs)
·如果????有任何历史依赖性,在USDFLD中必须使用SDVs ——ABAQUS/Standard不会在USDFLD中存储fi的值
·将在USDFLD中更新的SDVs传递到在积分点处被调用的其他用户子程序,例如列在p. L4.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(在这些笔记中没有进一步讨论这些变量)
·这些可用的输出变量列在了输出列表中,ABAQUS/Standard User‘s Manual,Section 4.2.1
——对于单元积分点处的结果文件输出,这些变量必须是可用的,例如,对于应力的米塞斯应力S GETVRM返回的变量
·包含输出变量的独立浮点部分的数组(ARRAY) ·包含输出变量的独立整数值部分的数组(JARRAY) ·一个特征数组(FLGRAY)包含对应于各个部分的标志 ——标志将包含YES,NO,或N/A(不适用) ·返回代码(JRCD),JRCD=0表明GETVRM没有遇到错误,然而值1表明这里有一个输出请求错误或者所有的输出变量部分都是0
·如下写出了请求变量的组分
——单个指标分量(与没有分量的请求)返回在位置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 SPRING 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选项来指定
——使用更新的fi来计算作为场变量函数的积分点数值。传递更新的fi进其他用户子程序(CREEP, HETVAL, UEXPAN, UHARD, UHYPEL, UMAT, UMATHT, and UTRS)
可能被定义的变量
·在USDFLD中能定义包含解相关状态变量的数组STATEV(NSTATV) ——传递这些,作为增量步开始时的值
——在所有的情况下子程序中能够更新STATEV,更新后的值被传递到其他用户子程序中(CREEP, HETVAL, UEXPAN, UHARD, UHYPEL, UMAT, UMATHT, and UTRS) ——与积分点相联系的状态变量数目用*DEPVAR来定义
·给出了新建议时间增量与使用的时间增量(DTIME,如下)间的比值PNEWDT ——该变量允许用户提供输入到ABAQUS自动时间增量算法。 变量信息
·场变量(NFIELD)的数目存在在这点上
·在材料方向的全局坐标系统中方向余弦与当前积分点(DIRECT)相联系 ——DIRECT(#,1)定义第一积分点方向 ·方向余弦(T)
·模型中特征单元长度(CELENT)
·与*MATERIAL选项相联系的名字(CNAME)
·与单元相联系*ORIENTATION的名字(ORNAME) ·正应力分量的数目(NDI)、剪应力分量的数目(NSHR) ·分析步(KSTEP)与增量步数目(KINC),其中子程序被调用 ·当前增量结束时的分析步时间值(TIME(1)),总时间值(TIME(2) ·当前时间增量(DTIME)
·单元数目(NOEL)与积分点数目(NPT)
·在适合时,层(LAYER)与界面点数目(KSPT) ·在积分点处坐标(COORD)
·必须传到GETVRM实用子程序的变量(JMAC, JMATYP, MATLAYO, LACCFLA)
USDFLD与自动时间增量
·ABAQUS/Standard在分析中使用自动时间增量算法来控制时间增量大小
——当不可能收敛或结果不够准确时,此算法允许ABAQUS/Standard减少时间增量大小;当很容易收敛时,允许增加时间增量
·像USDFLD这样子程序能够使算法不正常工作
——因此,这些算法使用变量PNEWDT给增量算法提供信息 ·在每次调用USDFLD前,将PNEWDT设定一个大值
·假如PNEWDT重新定义为小于1.0的数,ABAQUS将放弃时间增量,并用一个较小时间增量来再次试探 ——提供给自动时间算法的新建议时间增量是
PNEWDT?DTIME,
其中:所使用的PNEWDT是所有调用用户子程序中的最小值,用户子程序对于此次迭代允许重新定义PNEWDT ·假如对于此次迭代与增量收敛的所有调用用户子程序PNEWDT是一个给定的大于1.0的值,ABAQUS可能会增加时间增量
——提供给自动时间算法的新建议时间增量是
PNEWDT?DTIME,
——其中:所使用的PNEWDT是此次迭代中所有调用用户子程序中的最小值 ·假如维持时间增量大小,设定PNEWDT=1.0
·假如对于分析程序没有选择自动时间增量,那将忽略大于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 of Laminated Composites Containing an Open Hole and Subjected to Compressive Loadings: Part I—Analysis,‖ Journal of Composite Materials, vol. 25, pp. 2–43, 1991. ·最初的弹性特性是:
长度方向模量 宽度方向模量 剪切模量 泊松比
·材料计算剪切上的损伤,导致了非线性应力应变关系,形式为
其中:为最初的剪切模量,非线性用因子α=0.8×10来表示
·为了考虑非线性,非线性应力应变关系(等式4.1)需以不同形式来表示 在每个增量结束时的应力应该是应变的线性函数 ·最明显的方式是对非线性项线性化,则
·对等式4.2进行转换,则
?14
这就提供了一种定义等效剪切模量的算法
——然而,这种算法不是非常合适,因为在大应变水平下它是不稳定的,这通过稳定分析很容易证明(详见例子手册)
·为了获得一个更加稳定的算法,我们把非线性应力应变法则写成
其中:是一个未知系数
·对等式4.4表达式的稳定分析,优化的应力应变算法是:
以损伤参数d的形式进行表达,即
·将此关系实施到用户子程序USDFLD,直接将损伤参数值分配到用于定义弹性属性的第三场变量(FV3) ·对复合材料,使用下列强度性能: 横向拉伸强度 剪切强度 基体压缩强度 纤维屈曲强度
·将强度参数集合到多轴加载的失效准则中去。在分析模型中考虑了三种不同失效模型: ——在模型中没有考虑纤维屈曲失效,因为主要失效模型是纤维-基体剪切
基体拉伸开裂
非线性剪切行为下基体拉伸开裂的失效指标是:
当此模型中复合材料失效,横向刚度与泊松比将变成0
基体压缩开裂
这种失效指标形式与拉伸开裂模型相同。在USDFLD中使用同样失效指标(场变量),因为两个模型不会在同一个点同时发生
纤维-基体剪切失效
从本质上失效准则与其他两种准则有相同形式:
这种失效机制可能与其他两种准则同时发生,因此,在USDFLD中使用了不同的失效指标 ·使用用户子程序USDFLD来计算活跃的失效指标值
用于表征基体拉伸开裂/基体压缩失效指标的值????存储为SDV(1) ——当指标超过了1.0时,f1设定为1.0
用于表征纤维——基体剪切失效指标的值??????存储为SDV(2) ——当指标超过了1.0时,f2设定为1.0
·使用子程序USDFLD来计算在非线性应力应变关系中损伤参数d ——d值存储为SDV(3)与f3 ·表4-1显示了依赖于的材料属性
部分输入数据
用户子程序 结果 备注
·并不是将失效指标值直接分配给????,相反,它们被存储为解相关的状态变量 ——即使失效指标值超过了1.0,相应的的用户定义场变量设定为1.0
——在失效指标值超过了1.0后,即使应力可能显著减少,相应的fi依然为1.0,这就确保了材料损伤后不会愈合
·应用USDFLD的材料模型确保,失效发生后,在失效方向上的应力立即变为0,这对应于没有能量吸收的脆性失效
·这种假设是非常不现实的:在现实中,失效发生后随着应变的增加应力承载能力逐渐退化 ——因此,使用这个模型并不能很好捕捉到失效开始后复合材料的行为
·此外,应力承载能力瞬间消失会使得失效后分析结果强烈依赖于有限单元网格的细化与所使用的有限单元网格
·在本例子中,模型中唯一显著非线性是复合材料的失效。因此,使用固定的时间增量非常有效 ——然而,分析结果对时间增量大小高度敏感。此模型中使用的时间增量显示,?t=0.05接近最大允许使用值(见图4-4与图4-5)
·如果在分析中呈现了另外的非线性,很有可能需要使用自动时间增量算法
——在这些分析类型中,在子程序USDFLD必须使用便利PNEWDT以控制时间增量大小 ·
子程序手册 1.1.49 USDFLD: User subroutine to redefine field variables 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 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 ? 使用它来引进解相关材料属性,既然能够轻易定义这些属性为场变量的函数
? 对于积分点包含用户定义场变量的单元来说,在其所有积分点上都能够调用子程序 ? 必须调用实用程序GETVRM来访问积分点数据 ? 能够使用并更新场变量
? 能够与用户子程序UFIELD一起使用来规定预定义场变量
明确的解依赖性
既然子程序只能在增量开始时访问积分点数据,以这种方式介绍的解依赖是明确的:在增量步中获得的结果不会影响给定增量下的材料性能。因此,结果的精度依赖于时间增量步的大小。因而,你可以通过变量PNEWDT来控制子程序中时间增量。
定义场变量
在调用用户子程序USDFLD之前,通过定义在节点上值差值方式来计算积分点上场变量的值。在用户子程序中场变量的任何改变局限于积分点:节点场变量保持最初状态、预定义场变量或在用户子程序USDFLD中的值。定义在子程序中场变量的值经常用来计算依赖于场变量的材料属性值,将它传递到能在物质点上调用的其他用户子程序中去,例如: ? 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 Abaqus/Standard analysis)。通过以合适输出变量关键来调用GETVRM来获得材料点数值。以数组来恢复材料点数值,ARRAY, JARRAY ,and FLGRAY,分别代表浮点、整数与特征数。你并不能获得在增量开始时未定义的一些材料点值,例如:ER。 状态变量
既然在USDFLD中重新定义的场变量局限在当前增量步(将场变量恢复到每个增量开始时从节点差值得到的值),必须介绍通过使用这个子程序来更新材料属性的历史依赖性。
在USDFLD中能够更新状态变量,然后被传到能够在这个材料点调用的其他用户子程序中去,例如上面列举的子程序。你可以指定这些状态变量的数目,在本章末尾的例子中有说明(详见,用户分析手册Section 18.1.1,“Allocating space‖ in ―User subroutines: overview,‖)。
用户子程序界面
定义的变量
FIELD (NFIELD)
一个数组包含在当前材料点的场变量。用当前增量结束时从节点的差值来传递这些场变量,通过最初条件定义、预定义场变量定义,或用户子程序UFIELD。使用与温度差值相同的差值方法:对于线性单元使用平均值;对于二次单元使用近似线性变量(可以参考: Abaqus Analysis User‘s Manual,Section 28.1.1“Solid (continuum) elements‖)。使用更新数值来计算材料属性值,其材料属性依赖于场变量并被传递到在材料点调用的其他用户子程序(CREEP, HETVAL , UEXPAN , UHARD, UHYPEL , UMAT, UMATHT ,and UTRS)。
能够更新的变量
STATEV (NSTATV)
一个数组包含解相关变量。这些都是在增量开始时以数值传入的。在所有情况下,在子程序中能够更新STATEV,然后更新后的数值被传递到能够在材料点调用的其他用户子程序中去(CREEP, HETVAL , UEXPAN , UHARD, UHYPEL , UMAT, UMATHT ,and UTRS)。定义了与材料点相关的状态变量的数目,详见Abaqus用户分析手册Section
18.1.1 User subroutines: overview。
PNEWDT
PNEWDT指的是建议新的时间增量与所使用时间增量间的比例(DTIME,如下)。此变量能够允许你在Abaqus/Standard中对自动时间增量提供输入(假如选择了自动时间增量的话)。 在每次调用USDFLD之前,将PNEWDT设定为一个大数值
如果PNEWDT被重新定义为小于1.0的数,Abaqus/Standard必须舍弃时间增量,用一个更小时间增量再次尝试。提供给自动时间积分算法的建议新的时间增量是PNEWDT × DTIME,其中PNEWDT是允许迭代中重新定义PNEWDT的所有调用用户子程序中最小值。
如果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(1,2) , DIRECT(2,2) , DIRECT(3,2) 给出了第二材料方向,等等。对于壳单元与膜单元来说,前两个方向是在单元面内,第三个方向是法向。对于梁单元来说,这些都是不可用的。 T (3,3)
包含相对于单元基本方向的材料方向分量的方向余弦的数组。它定义了材料方向(DIRECT)关于单元基本方向的方向。对于连续单元来说,T与DIRECT是完全一致的。对于壳单元与膜单元,T 1,1 =????????,T 1,2 =?sinθ,T 2,1 =????????,T 2,2 =????????,T 3,3 =1.0,其余分量为0,其中??为法向矢量逆时针旋转角度。如果没有使用方形,那么T是单位矩阵。方向并不适用于梁单元。
CELENT
特征单元长度。对于一阶单元来说,是沿单元一条线的长度;对于二阶单元来说,是同样典型长度的一半。对于梁与桁架,是沿单元轴的特征长度。对于膜与壳单元,它是参考面的特征长度。对于轴对称单元,它只是(r,z)平面内的特征长度。
TIME (1):在当前增量步开始时的分析步时间值 TIME (2):在当前增量步开始时总的时间值 DTIME:时间增量
CMNAME:用户指定的材料名称,左对齐 ORNAME:用户指定的局部方向名称,左对齐
NFIELD:定义在材料点的场变量的数目
NSTATV:用户定义的解依赖的状态变量(详见Abaqus用户分析手册Section 18.1.1 “Allocating space‖ in ―User subroutines: overview) NOEL:单元数目 NPT:积分点数目
LAYER:层数(对于复合壳体与分层固体) KSPT:当前层内截面点的数目 KSTEP:步数 KINC:增量数
NDI:此点法向应力分量的数目 NSHR:此点切向应力分量的数目 COORD:在材料点的坐标
JMAC:必须将变量传到GETVRM实用程序来访问输出变量 JMATYP:必须将变量传到GETVRM实用程序来访问输出变量 MATLAYO:必须将变量传到GETVRM实用程序来访问输出变量 LACCFLA:必须将变量传到GETVRM实用程序来访问输出变量
实例:损伤弹性模型
下面介绍一个用户子程序USDFLD的例子。在例子中,桁架单元承受拉应力。介绍了损伤弹性模型:模量随在加载历史中发生的最大拉应变的函数而减少。最大拉应变存储为解依赖的状态变量,详见Abaqus Analysis User‘s Manual Section 33.6.1,“Defining solution-dependent field variables‖ in ―Predefined fields‖
子程序手册 2.1.6 Obtaining material point information in an Abaqus/Standard analysis
在Abaqus/Standard分析中获得物质点信息
Product: Abaqus/Standard 参考文献
? “UVARM,‖ Section 1.1.53 ? “USDFLD,‖ Section 1.1.49 ? “UDMGINI,‖ Section 1.1.25
? “Damage and failure of a laminated composite plate,‖ Section 1.1.14 of the Abaqus Example Problems Manual ? “ USDFLD ,‖ Section 4.1.24 of the Abaqus Verification Manual ? “ UVARM,‖ Section 4.1.26 of the Abaqus Verification Manual
概述
从用户子程序UVARM, UDMGINI或USDFLD中,调用GETVRM实用程序来访问材料积分点信息。 界面
DIMENSION ARRAY(15), JARRAY(15) CHARACTER*3 FLGRAY(15) ...
CALL GETVRM('VAR',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO, LACCFLA) 提供给实用程序的变量 VAR
Abaqus用户分析手册Section 4.2.1,―Abaqus/Standard output variable identifiers‖,表格中有输出变量钥匙(output variable key)。在输出表格中列出了可应用的钥匙,对于单元积分点上结果输出结果是可行的,例如,对于应力是S。 JAMC
变量必须传递到GRTVRM实用程序中去。所调用的用户子程序提供了这个变量。 JMATYP
变量必须传递到GRTVRM实用程序中去。所调用的用户子程序提供了这个变量。 MATLAYO
变量必须传递到GRTVRM实用程序中去。所调用的用户子程序提供了这个变量。 LACCFLA
变量必须传递到GRTVRM实用程序中去。所调用的用户子程序提供了这个变量。 从实用程序中返回的变量
ARRAY
包含输出变量单独分量的实数组 JARRAY
包含输出变量单独分量的整数数组 FLGRAY
包含相对于独立分量的标志的特征数组。标志将包含YES, NO, or N/A (不可用). JRCD
返回代码(0-无错误,1-输出请求错误或输出请求所有分量为0) 可用的输出变量钥匙
只有输出变量钥匙对结果文件输出是有效的,在使用GETVRM时它才是可用的。通常来说,假如一个钥匙对应于一个集体输出变量而不是一个单独分量,它可以使用GETVRM。例如,对于应力张量使用S,然而,任何一个单独的应力分量,假如说S11,这是不能使用的。集体输出变量钥匙是与单独分量是有区别的,在Abaqus用户分析手册Section 4.2.1,―Abaqus/Standard output variable identifiers‖的表格中,在.fil列中有一个圆点。在本章后面,将列出不能够使用GETVRM的输出变量钥匙。
将给你返回ARRAY、JARRAY、FLGRAY,分别相对应于实数分量、整数值分量、与VAR请求相关的标志。如果对于一个给定请求任何数组分量都不适用,它将返回初始值:ARRAY为0、JARRAY为0、FLGRAY为N/A。当任何时候不能识别请求钥匙,或请求是无效的(例如,对于使用薄壳理论的壳单元要求输出横向剪切应力)、或所有请求的输出分离是0,将从GETVRM返回JRCD=1。否则,JRCD=0
返回分量的顺序
下面写出了请求分量。以1,2,3等的位置返回单一指标分量(与没有分量的请求)。双指标返回顺序是:对于轴对称张量为11, 22, 33, 12, 13, 23;而对于非轴对称张量(变形梯度),紧接着21,31,32。因此,对于平面应力单元返回的应力为:ARRAY(1) =S11, ARRAY(2) =S22, ARRAY(3) =0.0, and ARRAY(4) =S12。不管分析的维度,对于主应力请求、最小值第一与最大值第三,这三个值总是返回。
输出变量的描述(详见Abaqus Analysis User‘s Manual Section 4.2.1,Abaqus/Standard output variable identifiers)决定了使用GETVRM恢复哪个分量。 返回值的分析时间
当使用实用程序GETVRM请求材料积分点值时,返回值的增量内的时间依赖于用户子程序调用它。GETVRM在当前增量的结束时返回值到用户子程序UVARM,然而GETVRM在当前增量的开始时返回值到用户子程序USDFLD
返回值的平衡状态
用户子程序UVARM可以在每个增量内多次调用GETVRM,当Abaqus/Standard迭代到一个收敛解。对于此增量的最终迭代之前从GETVRM返回的值不会代表收敛结果 实例
为了说明GETVRM的使用,假如在连接材料中指定了PEQC,ARRAY将返回独立等效塑形应变分量PEQC1,PEQC2,PEQC3与PEQC4。既然没有与此标识相关的整数输出变量,JARRAY将返回默认值0。FLGRAY数组将包含YES或NO标识,表明每个分量是否产生。如果对材料的塑性指定了标识PE,ARRAY将返回塑性应变分量PE11, PE22, PE33, PE12, PE13, PE23,等效塑形应变PEEQ,塑性应变大小PEMAG。既然没有与此请求相关的整数值,JARRAY将为0。FLGRAY数组,对于前六个分量含有N/A;对第七个分量(对应于PEEQ)是YES或NO,说明材料当前是否产生;对第八个分量是N/A。如果指定了HFL,ARRAY将返回HFLM的大小与其分量HFL1, HFL2, and HFL3。详见Abaqus Analysis User‘s Manual Section 4.2.1:Abaqus/Standard output variable identifiers。 访问状态依赖变量
假如GETVRM访问了状态依赖变量(输出变量钥匙SDV)并且在分析中定义了超过15个状态依赖变量,那么必须改变ARRAY与JARRAY的维度状态,使得这些数组达到状态依赖变量的最大数目 不支持的单元类型、进程与输出变量钥匙
既然此功能涉及到物质点的值,因此对于并不需要材料定义的大部分单元类型并不适用。因此,不支持下列单元类型:
? DASHPOTx ? SPRING x ? CONN x D x ? FRAMEx D ? JOINTC ? JOINT x D ? DRAG x D ? PSIxx ? ITS xxx ? MASS ? ROTARYI
? all acoustic elements
? all contact elements
? all hydrostatic fluid elements
假如使用用户子程序UVARM,此功能并不适用于线性摄动程序(见Abaqus Analysis User‘s Manual Sect ion6.1.3:General and linear perturbation procedures):
? static linear perturbation analysis (―Defining an analysis,‖ Section 6.1.2 of the Abaqus Analysis User‘s Manual), ? “Eigenvalue buckling prediction,‖ Section 6.2.3 of the Abaqus Analysis User‘s Manual, ? “Natural frequency extraction,‖ Section 6 .3.5 of the Abaqus Analysis User‘s Manual, ? “Transient modal dynamic analysis,‖ Section 6.3.7 of the Abaqus Analysis User‘s Manual,
? “Mode-based steady-state dynamic analysis,‖ Section 6.3.8 of the Abaqus Analysis User‘s Manual, ? “Direct-solution steady-state dynamic analysis,‖ Section 6.3.4 of the Abaqus Analysis User‘s Manual, ? “Subspace-based steady-state dynamic analysis, ‖ Section 6.3.9 of the Abaqus Analysis User‘s Manual, ? “Response spectrum analysis,‖ Section 6.3.10 of the Abaqus Analysis User‘s Manual, and ? “Random response analysis,‖ Section 6.3.11 of the Abaqus Analysis User‘s Manual. 下列输出变量钥匙并不适合使用GETVRM: ? SVOL ? TSHR ? CTSHR ? COORD
子程序手册 1.1.35 UHARD: User subroutine to define the yield surface size and hardening parameters for isotropic plasticity or combined hardening models.
概述
用户子程序UHARD:
? 在所有单元的物质计算点被调用,对于金属塑性材料定义包括用户定义的各向同性硬化或循环硬化; ? 能够用来定义材料的各向同性屈服行为;
? 能够用来定义在组合硬化模型中的屈服面的大小 ? 可以包括依赖于场变量或状态变量的材料行为
? 合适时,需要关于应变、应变率与温度来定义屈服应力派生品的值(或在组合硬化模型中的屈服面的大小)
用户子程序界面
被定义的变量 SYIELD
。各向同性塑性的屈服应力。对于组合硬化的屈服面大小
HARD (1)
SYIELD关于等效塑形应变的变化,HARD (2)
SYIELD关于等效塑形应变率的变化,HARD (3)
SYIELD关于温度的变化,
。只有在绝热、完全耦合的温度-位移与热-电-结构分析中需要使用。
。此数量不会与组合硬化模型一起使用
STATEV (NSTATV)
在某点上包含用户定义解依赖状态变量的数组。它们被应用作为增量开始时的数值,或其他用户子程序更新的值(详见Abaqus Analysis User‘s Manual,Section 18.1.1,User subroutines: overview),并且返回作为增量步结束时的值。
作为信息被传入的变量 EQPLAS
等效塑形应变,EQPLASRT
等效塑形应变率,
TIME (1)
在当前增量步开始时,分析步的数值 TIME (2)
在当前增量步开始时,总时间的数值 DTIME
时间增量 TEMP
在增量开始时的温度 DTEMP
温度增量 NOEL
单元编号 NPT
积分点数目 LAYER
层数(对于复合壳体和层状固体) KSPT
在当前层内截面点数目 KSTEP
分析步数目 KINC
增量步数目 CMNAME
用户指定的材料名称,左对齐
NSTATV
与材料相关联的解依赖状态变量的用户指定数目(详见Abaqus Analysis User‘s Manual,Section 18.1.1,User subroutines: overview) NUMFIELDV
场变量的数目
PREDEF (NUMFIELDV)
增量步开始时在物质点上预定义场变量的插值数组,基于节点上读入的数值(分析开始时的最初值与分析中的当前值)
DPRED (NUMFIELDV)
对于此增量在物质点上的预定义场变量增量的数组,它包括用用户子程序USDFLD更新的任何值 NPROPS
用于此用户定义硬化而输入的硬化属性数目 PROPS (NPROPS)
用于此用户定义硬化而输入的硬化属性数组
分析手册3 21.1.2 Material Data Definition
Products: Abaqus/Standard Abaqus/Explicit Abaqus/CFD Abaqus/CAE 参考文献
? “Material library: overview,‖ Section 21.1.1 ? “Combining material behaviors,‖ Section 21.1.3 ? * MATERIAL
? “Creating materials,‖ Section 12.4.1 of the Abaqus/CAE User‘s Manual 综述
在Abaqus中材料的定义:
? 指定材料行为,并提供所有相关属性数据 ? 能够包含多种材料行为
? 应指定名字,用来说明有材料构成的模型的某部分 ? 应有温度与/或场变量依赖
? 在Abaqus/Standard有解变量依赖
? 在局部坐标系统下指定(见Section 2.2.5:Orientations),假如材料不是各向同性的,这是需要的 材料定义
在分析中可以定义任意数量的材料。每种材料定义能够包含任意数量的材料行为,根据需要,来指定完全的材料行为。例如,在线性静态应力分析中,只需要定义弹性材料行为,然而,在更加复杂的分析中可能需要几种材料行为。
必须对每种材料定义指定一个名字。这个名字允许参考材料,从用来分配材料的横截面定义到模型中的区域。
Input File Usage: *MATERIAL, NAME=name
在数据块中指定每种材料定义,通过*MATERIAL选项来开始。材料定义继续,直到介绍了一个不定义材料属性的选项(例如另一个*MATERIAL选项),在那一点上材料定义假定是完全的。材料属性选项定义顺序并不重要。在数据块内所有材料行为选项假定定义同一种材料。
Abaqus/CAE Usage: Property module(属性模型): material editor(编辑材料): Name 使用Material Options下的菜单栏来对材料添加属性
考虑大变形
当对于有限变形计算给定材料属性时,应力意味着真应力(柯西应力、此时单位面积上的力),应变意味着对数应变。例如,除非其他,单轴行为为:
指定材料属性作为温度与独立场变量的函数
Specifying material data as functions of temperature and independent field variables
经常指定材料数据作为独立变量的函数,例如温度。通过指定几种不同温度下的材料属性,来使得材料属性依赖于温度。
在一些情况下,可以定义材料属性为Abaqus中计算的变量的函数,例如,为了定义加工硬化曲线,必须给定应力作为等效塑形应变的函数。
材料属性也可以依赖于场变量field variables(用户定义场变量能够表示任何独立的量,定义在节点上,作为时间的函数)。例如,材料的模可以定义为复合材料中织物密度或合金中相分数的函数。详见Specifying field variable dependence(指定场变量依赖性)。场变量的初始值被给定为初始条件(见Section 33.2.1:Initial conditions in Abaqus/Standard and Abaqus/Explicit),并且在分析中可以随时间的函数而改变(见Section 33.6.1:Predefined fields)。这种功能是有用的,例如,假如由于辐射或其他预定的环境影响,材料性能随时间而改变。
使用Abaqus/Standard中分布定义的任何材料行为(质量密度、线弹性行为,与/或热膨胀),这些不能用稳定或场依赖来定义。然而,用分布定义的材料行为能够包括在具有温度或场依赖的其他材料行为的材料定义中去,见Section 21.2.1:Density ;Section 22.2.1:Linear elastic behavior;Section 26.1.2:Thermal expansion。 材料数据的差值
在最简单的属性不变的例子中,只要输入常数值。当材料数据只是一个变量的函数时,必须按照独立变量增加的顺序来给定数据。Abaqus会对给定数据之间的数值进行线性插值。在给定独立变量的范围外,假定材料属性为常数(织物材料除外,使用最后一个指定数据点的斜率来对指定范围外进行线性插值)。因此,你可以给定或多或少对材料模型必要的输出数据。如果材料数据以强烈非线性的方式依赖于独立变量,你必须指定足够多数据点,以致于线性插值能够准确捕捉到非线性行为。
当材料属性依赖于几个变量,必须在其他变量固定的情况下给定材料属性关于第一个变量的变化,再增加第二个变量值,然后第三个变量,等等。这些数据必须总是有序的,给定独立变量一增加值。这个过程确保材料属性值完全并唯一地定义在材料属性依赖的独立变量的任何值上。想要进一步解释与例子,见Section 1.2 .1:Input syntax rules
实例:依赖温度的线性各向同性的弹性
图21.1.2-1显示了一个简单、各向同性、线弹性材料,给出了杨氏模量与泊松比随温度的变化
在此例中,使用六组数值定义材料,如下表:
对于温度在??1与??6范围外时,Abaqus假定E与v为常数。图中的虚线代表了将用于此模型中的直线近似。在例子中,只给定了一个热扩散系数值,??1,它独立于温度。 实例:弹-塑性材料
图21.1.2-2显示了一个弹塑性材料,其屈服应力依赖于等效塑形应变与温度。
在这种情况下,第二个独立变量(温度)必须保持恒定,那样,屈服应力能够描述成第一个独立变量(等效塑形应变)的函数。然后,选择一个更高的温度,并在此温度下给定其依赖等效塑形应变的情况。如下表,必要时重复这个过程来详细描述属性变化:
指定场变量依赖性
Specifying field variable dependence
你能够对许多材料行为来指定用户定义场变量依赖的数目(详见Section 33.6.1 Predefined fields)。假如你没有对场变量依赖的材料行为来指定场变量依赖的数目,假定材料数据不依赖于场变量。
Input File Usage: *MATERIAL BEHAVIOR OPTION, DEPENDENCIES= n
*MATERIAL BEHAVIOR OPTION指的是用于指定场依赖性的任何材料行为。每个数据行可以容纳八个数据项目。假如需要更多的场变量依赖而不是在单一数据行,能够添加更多的数据行。例如,一个线性、各向同性弹性材料能够定义为温度与其他七个场变量????的函数,如下:
当需要定义材料为温度与场变量函数时,需重复这两行数据行。
Abaqus/CAE Usage: Property module: material editor: material behavior: Number of field variables: n
material behavior指的是对于指定场依赖的任何材料行为 指定材料数据作为解相关变量
Specifying material data as functions of solution-dependent variables
在Abaqus中你能使用用户子程序来介绍解变量的依赖性。在Abaqus/Standard中的用户子程序USDFLD与Abaqus/Explicit中的用户子程序VUSDFLD能够允许你在物质点上定义场变量作为事件、材料方向与任何可用的物质点的值的函数:those listed in ―Abaqus/Standard output variable identifiers,‖ Section 4.2.1, for the case of USDFLD , and those listed in ―Available output variable keys‖ in ―Obtaining material point information in an Abaqus/Explicit analysis,‖ Section 2.1.7 of the Abaqus User Subroutines Reference Manual, for the case of VUSDFLD. 因此,定义为这些场变量函数的材料属性依赖于解。
能够在每个物质点调用用户子程序USDFLD与VUSDFLD,因此,材料的定义包含了对用户子程序的参考。 对于通用分析步来说,在用户子程序USDFLD与VUSDFLD中提供的变量值是对应于增量开始的那些值。因此,以这种方式介绍的解依赖性是显式的:对于给定增量,在增量中获得的结果并不会影响材料属性。因此,结果的精度通常依赖于时间增量大小。在Abaqus/Explicit中这通常不是关心的,因为稳定时间增量一般足够小来确保精度高。在Abaqus/Standard中你可以通过内置子程序USDFLD来控制时间增量。对于线性摄动步,在基本状态的解变量是可用的(关于通用与线性摄动分析步的讨论,见Section 6.1.3 General and linear perturbation procedures)
Input File Usage: * USER DEFINED FIELD
Abaqus/CAE Usage: User subroutines USDFLD and VUSDFLD are not supported in Abaqus/CAE 调整Abaqus/Explicit与Abaqus/CFD中的用户定义数据
用于调整用户定义数据的容差
在Abaqus/Explicit中对应变率依赖数据进行规则化
评价Abaqus/Explicit中的应变率依赖数据
分析手册3 23.8.1 User-defined mechanical material behavior翻译(来自网上)
产品
Abaqus /Standard Abaqus/Explicit Abaqus /CAE 参考
“UMAT”,Abaqus User Subroutines Reference Manual的1.1.36部分 “VUMAT”,Abaqus User Subroutines Reference Manual的1.2.17部分 ?*USER MATERIAL ?* DEPVAR
“指定解决方案的参考状态变量,“12.8.2节 “为用户材料定义常量”,12.8.4节 概述
在ABAQUS中用户自定义材料力学行为:
通过一个接口,任何力学本构模型可以添加到库中;
要求一个本构模型(或模型库)是在用户子程序UMAT或VUMAT中编程;和需要相当大的努力和专业知识:这种方法的特点是非常通用和有效的,但这并不是一个较常规的用法。 应力分量和应变增量 Stress components and strain increments
接口子程序一直采用柯西应力组件实现(“真”应力)。土壤问题的“应力”应理解为有效应力。应变增量是由位移增量梯度对称部分定义(相当于速度梯度的对称部分的时间积分)。
在用户子程序UMAT的应力和应变分量的方向取决于局部方向(―Orientations,‖ Section 2.2.5).。
在用户子程序VUMAT所有的应变值是由中间增量配置计算得到。所有的张量由坐标与材料点旋转定义。为了说明应力在这方面的定义,参照杆,如图23.8.1-1,通过拉伸和旋转,从原来的位置AB,到其新的位置A‘B‘。这种变形可以由两个阶段获得;第一,拉伸杆件,如图23.8.1-2,然后运用刚体转动,如图23.8.1-3。
Figure 23.8.1–1 Stretched and rotated bar.
Figure 23.8.1–2 Stretching of bar. Figure 23.8.1–3 Rigid body rotation of bar.
杆件的应力在拉伸后达到,这个应力并没有改变刚体转动。 坐标系的旋转是由于刚体旋转在自转坐标系统导致的。因此,应力张量和状态变量可以在用户子程序VUMAT中通过使用应变张量进行直接计算和更新,因为所有的数值都在自转坐标系中;在使用用户子程序UMAT时,这些数量不需要旋转。
弹性响应的率型本构定律的预测依赖于客观的应力速率。例如,在VUMAT中使用的Green-Naghdi应力率。然而,使用内置材料模型的应力率可能会有所不同。例如,用于固体(连续)模拟的大多数材料模型在ABAQUS / Explicit中采用Jaumann应力率。材料点只要发生有限的旋转和剪切,这种内在理论的不同将导致计算结果的显着差异。对ABAQUS软件中的客观应力率的讨论,见―Stress rates,‖ Section 1.5.3 of the Abaqus Theory Manual. 材料常数
任何所需的材料常数在用户子程序UMAT/VUMAT用户子程序必须指定,这是用户自定义材料行为的一部分。任何其他材料力学行为包括在同一材料的定义(除热膨胀和,在ABAQUS / Explicit中,密度)将被忽略;用户定义的材料行为要求所有材料力学行为的计算在VUMAT/UMAT中进行。在ABAQUS / Explicit中,使用用户自定义的材料行为时,密度是必不可少的(―Density,‖ Section 18.2.1)。
在ABAQUS /Standard中使用以下选项指定一个用户定义的材料的行为: *用户材料,类型=力学,常数= number_of_constants常数代号
在ABAQUS / Explicit中使用下列选项指定一个用户定义的材料的行为: *用户材料,常数= number_of_constants常数代号 *密度
在任何情况下,您必须指定材料常数输入的代号。
在ABAQUS /Standard中使用以下选项指定一个用户定义的材料的行为: 属性模块:材料编辑器: GeneralUser Material: User material type: Mechanical
在ABAQUS / Explicit中使用下列选项指定一个用户定义的材料的行为: 属性模块:材料编辑器: GeneralUser Material: User material type: Mechanical GeneralDensity 在ABAQUS /Standard的非对称方程求解器
如果用户材料的雅可比矩阵,
,是非对称的,在Abaqus/Standard中非对称方程的求解能力应该被调用
(参见 ―Procedures: overview,‖ Section 6.1.1)。
Inp文件的使用:*用户材料,类型=力学,常数= CONSTANTS=number_of_constants, UNSYMM ABAQUS / CAE用法:属性模块:材料编辑器: GeneralUser Material: User material type: Mechanical,toggle on Use unsymmetric material stiffness matrix 切换使用非对称的材料刚度矩阵
材料状态
许多力学本构模型需要对结果依赖状态变量存储(如:塑性应变,‖后应力‖,饱和度值,等.将率本构形式或历史数据的理论写成积分形式)。在相关的材料的定义时,你应该为这些变量分配存储空间(见 ―Allocating space‖ in ―User subroutines: overview,‖ Section 15.1.1)。用户定义的材料在状态变量数量方面没有限制。 用户材料子程序提供在每个增量开始的材料状态,如下所述。他们必须返回新的应力和新的内部状态变量的值。与UMAT和VUMAT相关的状态变量可以输出到输出数据库文件(.odb)和结果文件(.fil)使用输出标识符SDV和SDVn (见―Abaqus/Standard output variable identifiers,‖ Section 4.2.1,和―Abaqus/Explicit output variable identifiers,‖ Section 4.2.2).
ABAQUS / Explicit中的材料状态
用户子程序VUMAT调用材料模块的每个增量。当子程序被调用时,它需要在增量步开始时的状态(应力,结果依赖状态变量)。它也需要伸展和旋转的开始与结束时的增量。接口VUMAT用户材料通过材料点的模块指出在每个调用的子程序,所允许的材料子程序的矢量。
用户子程序VUMAT需要温度在开始和结束时的增量。温度是过程信息并不能被修改,即使在一个完全耦合的热应力分析中也是如此。但是,如果非弹性热分数和ABAQUS / Explicit中的一个完全耦合的热应力分析的比热和热导一起定义时,由非弹性能量耗散的热通量将自动计算。如果用户子程序VUMAT被用于在显式动力学分析中定义一个绝热材料的行为(塑性功转化为热),你必须指定的材料的非弹性热分数与比热,且你必须存储温度并将它们作为用户定义的状态变量。最常见的温度是由指定的初始条件(―Initial conditions in Abaqus/Standard and Abaqus/Explicit,‖ Section 30.2.1)并且持续作用的贯穿在整个分析中。
通过状态变量从ABAQUS/Explicit网格中删除单元 Deleting elements from an Abaqus/Explicit mesh using state variables
从一个使用状态变量的ABAQUS/Explicit的网格中删除单元。
元素删除可以在Abaqus/Explicit使用用户子程序VUMAT的过程中被控制。删除单元并不能把力除去,而是,令模型的刚度不起作用(为零)。
你指定状态变量号来作为控制单元删除的标志。例如,在VUMAT中,指定状态变量号为4,表明第四个状态变量是删除标志。删除状态变量应该设置一个值为1或0。1表示一个材料点是活的,而0表示Abaqus/Explicit应该删除该点,模型通过此设置达到应力为零的目的。
在分析中,结构的某部分材料点通过用户子程序VUMAT来保持不变;删除的材料点不会被移出该区域。 Abaqus/Explicit将通过零应力和应变增量作为所有被删除的材料点。
一旦一个点被标记为删除,它将不能被重新激活。只有在所有的材料点被删除后,一个单元才会从网格中删除。 一个单元的状态可以由输出请求的变量状态来决定。如果单元是活的,则这个变量等于1。如果元素被删除,则变量等于0。
输入文件使用方法:* DEPVAR、删除=变量号 Abaqus/CAE 中的用法:
Property module: material editor: GeneralDepvar: Variable number controlling element deletion: variable number
沙漏控制和横向剪切刚度
通常横向剪切刚度用于ABAQUS /Standard的缩减积分单元在,管、壳和梁单元的沙漏控制刚度的定义是基于与材料相关的弹性定义(―Section controls,‖ Section 24.1.4; ―Shell section behavior,‖ Section 26.6.4; 和 ―Choosing a beam element,‖ Section 26.3.3)。这些刚度是基于材料的初始剪切模量的典型值.例如,可能会作为弹性材料行为的一部分包括在材料定义中。(―Linear elastic behavior,‖ Section 19.2.1)。然而,用户材料子程序UMAT/VUMAT中定义的输
入材料的预处理阶段剪切模量不可用。因此,你必须提供沙漏刚度参数来定义单元的材料行为(见―Methods for suppressing hourglass modes‖ in ―Section controls,‖ Section 24.1.4)在使用UMAT的沙漏模型时;并且,必须指定的横向剪切刚度(见―Choosing a beam element,‖ Section 26.3.3, 或 ―Shell section behavior,‖ Section 26.6.4)当用UMAT或VUMAT来定义具有横向剪切弹性的梁和壳的材料特性时。 材料选项
一些材料的性能,可用于材料的定义,其力学行为是在UMAT或VUMAT定义。这些特性包括密度,热膨胀,渗透性,和传热性能。可选择热膨胀作为UMAT或VUMAT实施本构模型的一个组成部分。
通过用户子程序UMAT/VUMAT定义材料,质量比阻尼可以单独包含在内(见―Material damping,‖ Section 23.1.1),但刚度比阻尼必须定义在用户子程序的雅可比矩阵的定义(ABAQUS /Standard)和应力的定义中。如果用户材料是用于直接的稳态动力过程分析中,刚度比阻尼不能被指定。
分析手册3 24.2.3 Damage evolution and element removal for ductile metals
Overview 综述
韧性金属的损伤演化功能:
(1)假定通过材料刚度的连续退化来表征损伤,最终导致材料失效
(2)对于韧性金属来说,必须与损伤萌发准则配合使用(详见Section 24.2.2:Damage initiation for ductile metals) (3)使用网格独立措施(塑性位移或物理能耗散)来驱动损伤萌发后损伤演化
(4)能够考虑在同一材料上同时作用的不同损伤机制的联合作用,能够制定每种机制如何对整个材料进行退化 (5)能够选择失效后发生什么,包括从网格中移除单元(offers options for what occurs upon failure, including the removal of elements from the mesh) Damage evolution 损伤演化
图24.2.3-1 带有连续损伤退化的应力-应变曲线
图24.2.3-1描述了材料在损伤情况下的典型应力应变行为。在各向同性硬化的弹塑性材料下,损伤以两种方式显示自己:屈服应力的软化、弹性的退化。在图中的实线代表了损伤的应力应变响应,虚线为无损伤情况下的响应。后面将讨论到,损伤响应依赖于单元尺寸,这样应减小结果的网格依赖性。
在图中,
分别是损伤萌发时的屈服应力与等效塑形应变,
为失效时等效塑形应变,也就是,当总
体损伤变量达到了D=1。总体损伤变量,D,能够捕捉所有有效损伤机制的联合效应,通过单独损伤变量di来计算(详见,本章中,“Evaluating overall damage when multiple criteria are active‖) 失效时等效塑形应变等效塑形位移
依赖于单元的特征长度,对于损伤演化发展来说,
,来指定损伤演化法则
不能用作材料参数。相反,用
或断裂能耗散
Maximum degradation and choice of element removal 最大退化与单元删除的选择
你能够控制Abaqus如何对待严重损伤后的单元。你能对整体损伤变量D而指定一个上限值Dmax,你也能选择当达到了最大损伤后是否删除单元。后一个选择将影响到哪部分刚度分量受损。 Specifying the value of maximum degradation 指定最大退化值
默认设置Dmax依赖于当达到最大退化值后单元是否删除。对于单元删除的默认设置与粘结单元的所有情况,Dmax=1.0,其余情况Dmax=0.99。输出变量SDEG包含D的值。一旦D达到了Dmax,积分点处就没有进一步的损伤累积(当然除了对于单元删除,任何遗留的刚度将失去)
Input File Usage: Use the following option to keep the element in the computation:
* SECTION CONTROLS, ELEMENT DELETION=NO
Removing the element from the mesh 从网格中移除单元(删除单元)
单元达到最大退化默认会删除。除去具有牵引分离相应的粘合单元(详见Section 32.5.6:Defining the constitutive response of cohesive elements using a traction-separation description),Abaqus会将损伤平等地应用于所有刚度分量,最终被移除:
在Abaqus/Standard中,假如一个单元的所有积分点位置上D达到了Dmax,会从网格中删除单元。除了粘合单元()
在Abaqus/Explicit中,假如一个单元的任一个积分点位置上D达到了Dmax,会从网格中删除单元。除了粘合单元()。例如,当在任何一个积分点上达到了最大退化,默认会移除实体单元。然而,对于壳单元,沿厚度界面上任何一个单元积分点失效,都会删除单元。对于二阶减缩积分梁单元…
Input File Usage: Use the following option to delete the element from the mesh (default):
* SECTION CONTROLS, ELEMENT DELETION=YES
Keeping the element in the computations
除了三维梁单元,你可以选择不删除失效单元。当关闭单元删除,将整体损伤变量强制变为D Input File Usage: Use the following option to keep the element in the computation: * SECTION CONTROLS, ELEMENT DELETION=NO Convergence difficulties in Abaqus/Standard Abaqus/Standard中的收敛困难 对于带有软化行为与刚度退化的材料模型来说,经常会在隐式分析(如Abaqus/Standard)中导致收敛困难。一些技术能够提高Abaqus/Standard中的收敛: Viscous regularization in Abaqus/Standard Abaqus/Standard中粘性规则化 Unsymmetric equation solver 通常来说,如果使用任何韧性演化模型,材料的雅克比矩阵将是非对称的。为了提高收敛性,使用非对称求解方程。 CAE手册 12.8.2 Specifying solution-dependent state variables Solution-dependent state variables are values in user subroutines that you can define to evolve with the solution of an analysis. If you refer to a material definition in a user subroutine, you can use the Edit Material dialog box to specify the number of solution-dependent variables required at the points or nodes to which that material is applied. See ―User subroutines: overview,‖ Section 17.1.1 of the Abaqus Analysis User's Manual, for more information. --------------------------------------------------------------------- To specify the number of solution-dependent state variables: 1. From the menu bar in the Edit Material dialog box, select General → Depvar. (For information on displaying the Edit Material dialog box, see ―Creating or editing a material,‖ Section 12.7.1.) 2. Click the arrows to the right of the Number of solution-dependent state variables field to specify how many solution dependent state variables you want to allocate space for at each applicable integration point or contact slave node. 3. If applicable, enter the state variable number controlling the element deletion flag in the field labeled Variable number controlling element deletion (Abaqus/Explicit only). For more information, see ―Deleting elements from an Abaqus/Explicit mesh using state variables‖ in ―User-defined mechanical material behavior,‖ Section 25.7.1 of the Abaqus Analysis User's Manual. 4. Click OK to close the Edit Material dialog box. Alternatively, you can select another material behavior to define from the menus in the Edit Material dialog box (see ―Browsing and modifying material behaviors,‖ Section 12.7.2, for more information). CAE手册 12.8.5 Defining field variables at a material point In Abaqus/Standard you can introduce dependence on solution variables with user subroutine USDFLD. This subroutine allows you to define field variables at a material point as functions of time, of any of the available material point quantities listed in ―Abaqus/Standard output variable identifiers,‖ Section 4.2.1 of the Abaqus Analysis User's Manual, and of material directions. Material properties defined as functions of these field variables may, thus, be dependent on the solution. User subroutine USDFLD is called at each point for which the material definition includes a reference to the user subroutine. To include a reference to user subroutine USDFLD in a material definition: 1. From the menu bar in the Edit Material dialog box, select General→User Defined Field. (For information on displaying the Edit Material dialog box, see ―Creating or editing a material,‖ Section 12.7.1.) 2. Click OK to close the Edit Material dialog box. Alternatively, you can select another material behavior to define from the menus in the Edit Material dialog box (see ―Browsing and modifying material behaviors,‖ Section 12.7.2, for more information).