资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
user-subroutines-l4-usdfld 课件目录引言3Abaqus的使用3定义场变量相关的材料属性3在用户子程序内定义场变量3定义场变量4访问积分点上的计算数据4显式方法vs. 隐式方法4使用解相关的状态变量(Solution-Dependent State Variables,SDVs)4用户子程序GETVRM4GETVRM子程序界面4提供给GETVRM的变量5GETVRM返回的变量5GETVRM所支持的单元5USDFLD子程序界面5需定义的变量6可能被定义的变量6变量信息6USDFLD与自动时间增量7实例:层状复合板失效7材料模型8基体拉伸开裂9基体压缩开裂9纤维-基体剪切失效9部分输入数据10用户子程序10结果10备注101.1.49 USDFLD: User subroutine to redefine field variables at a material point.11参考文献11概述11明确的解依赖性11定义场变量11访问材料点数据12状态变量12用户子程序界面12定义的变量12能够更新的变量12传递信息的变量13实例:损伤弹性模型142.1.6 Obtaining material point information in an Abaqus/Standard analysis15参考文献15概述15界面16提供给实用程序的变量16从实用程序中返回的变量16可用的输出变量钥匙16返回分量的顺序16返回值的分析时间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()的函数。当增加,E减少。可以代表材料的损伤。热膨胀系数是与场变量#2()的函数值的改变都会影响弹性模量(E)与热膨胀系数Abaqus在表格输入的数据点间将使用线性插值。当超过了指定范围将使用最后一个数据点,它不会对数据外推对于每一种材料属性,的范围不必须是一样的在用户子程序内定义场变量将定义在USDFLD中的值传递到下列用户子程序内:CREEP、HETVAL、UEXPAN、UHARD、UHYPEL、UMAT、UMATHT、UTRS、UINTER定义在这些子程序内的材料属性可以是的函数定义场变量Abaqus通常认为场变量是节点数据当Abaqus开始计算单元应力与刚度时(例如,一个单元循环),它将对节点数据插值到单元的积分点当使用子程序USDFLD时,在计算单元的材料属性前,定义在子程序USDFLD中的这些数值将取代了插值Abaqus并不存储USDFLD定义的这些数值如果你需要访问先前的值,你必须在USDFLD中把他们存储为相关解变量(solution-dependent variables,SDVs)假如你绕过USDFLD子程序(可能因为在给定步中材料属性不会改变),积分点将使用的差值通常,这些差值是分配给节点的最初值假如没有明确给定最初值,在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中必须使用SDVsABAQUS/Standard不会在USDFLD中存储的值将在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 Users Manual,Section 4.2.1对于单元积分点处的结果文件输出,这些变量必须是可用的,例如,对于应力的米塞斯应力SGETVRM返回的变量包含输出变量的独立浮点部分的数组(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选项来指定使用更新的来计算作为场变量函数的积分点数值。传递更新的进其他用户子程序(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在分析中使用自动时间增量算法来控制时间增量大小当不可能收敛或结果不够准确时,此算法允许ABAQ
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号