需定义的变量
·数组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以控制时间增量大小 ·