材料脆性断裂有限元模拟的UEL子程序实现方法

一、引言

相场断裂模型是描述当裂纹尖端状态达到临界能量释放率时发生裂纹扩展现象的工具,被广泛应用于材料断裂过程的模拟研究。UEL (User Element Subroutine) 子程序允许用户自定义单元的切线刚度矩阵及节点力向量,在实现相场断裂模型时具有灵活性与便利性。UMAT (User Material Subroutine)子程序可以供用户自定义材料的本构模型,同时可弥补UEL子程序无法可视化的缺陷。本文中的计算结合UEL子程序与 UMAT子程序,采用双层模型进行交互计算材料的断裂过程。

二、模型简介

弹性变形模型中有效柯西应力张量为:

其中 为线弹性刚度矩阵,有效应力由名义应力及退化函数组成:

采用小变形假设, 应变
该部分模型写入UMAT子程序内部,并将每一增量步的弹性应变能密度保存至全局变量(COMMOMBLOCKS)中。考虑材料的断裂过程,其总势能函数可以描述为:
为满足最小势能原理,有:

上式Ψ0可替换为满足Kuhn-Tucker条件的历史变量场 。上式对任意 都满足,因此有:

令上式为断裂相场的不平衡力残差,可离散为:

其关于  的倒数为切线刚度矩阵:

以上二者为 UEL 子程序需要用户定义的向量及矩阵, 此时相场断裂模块可组成  迭代格式, 进行求解:

三、模型交互

在UMAT子程序中计算得到材料的弹性应变能密度,通过全局变量提供给UEL 子程序,而在UEL中根据前一增量步的弹性应变能密度计算新的增量步内部的损伤演化,并通过全局变量传递至UMAT子程序内,作用于材料性能的衰退过程。

四、数值模拟

文件输入:

采用 平面应变二次缩减积分单元CPE8R为例,该单元共分为两层,第一层为位移场单元,第二层为损伤场单元,在inp文件中添加如下语句: 

*User element, nodes=8, type=U1, properties=2, coordinates=2, variables=24

4

*Element, type=U1, elset=Phase

(单元及其对应节点排序) 

本工作中所需材料参数为临界Griffith能量释放率Gc及长度尺度参数lc,因此properties=2,二维情况的coordinates为2,表示x及y方向的自由度;variables为单元内变量的总和,是积分点个数与每个积分点处状态变量个数的乘积。
同时,需要为UEL单元提供材料参数,该步骤也是通过修改inp文件来实现:
*Uel property, elset=Phase

1., 9.31

本研究参数采用E=210GPa, ν=0.3, Gc=9.31, lc=1。共建立以下几种几何模型:

材料脆性断裂有限元模拟的UEL子程序实现方法的图1图1 裂纹试样及多孔洞试样模型及网格划分 

模拟结果如下:

材料脆性断裂有限元模拟的UEL子程序实现方法的图2图2 脆性断裂相场模拟结果 

五、小结
在不同加载情况下,裂纹试样的断裂模式不同;多孔模型在加载时,裂纹主要从孔洞附近的薄弱区域萌生及扩展,直到最终裂纹合并及断裂。模拟结果较好地反映了相场断裂模型在模拟材料损伤断裂,该方法可以更进一步扩展至材料的弹塑性断裂、服役结构件在极端载荷作用下的损伤等过程的模拟。


(8条)
默认 最新
请教一下,采用UEL计算C3D8单元计算的结果和abaqus自带的结果不同是什么原因造成呢?主要是剪切方向的应力和应变,主应力和应变的值大体是相同的
评论 1 点赞 2
回复
这个问题解决来吗
评论 点赞
采用相场法计算,哪怎么判断计算结果的正确性呢?
评论 点赞

查看更多评论 >

点赞 15 评论 9 收藏 23
关注