简介
Debond技术是Abaqus模拟裂纹扩展的技术之一,其主要思路是以接触对的形式定义一个粘接主面和粘接从面,以及位于粘接从面上的节点集 合,从而使得在初始时刻主面和从面通过这些节点连接在一起。然后再指定接触对的接触属性以及断裂准则,在位移或荷载的作用下,满足断裂准则的节点将会脱离(debond)主面,从而产生裂纹扩展,如图1所示。本质上来说,Debond技术是一种通过节点释放技术(node release technique)模拟裂纹扩展的方式。Debond技术在模拟疲劳裂纹的塑性诱发闭合现象中有着较为重要的应用。本文将通过一个简单的数值算例,详细介绍基于Debond技术模拟裂纹扩展过程的实现方法以及注意事项。
图1 Debond技术示意图
计算示例
考虑一个长度2L为120 mm,宽度2W为60 mm的中心裂纹板,中心裂纹板的远端承受有10 MPa的均匀拉伸应力的作用。已知中心裂纹板的初始裂纹长度2a0为30 mm,如图2所示,下面需要模拟载荷作用下中心裂纹板的裂纹扩展过程。
图2 中心裂纹板几何参数
2.1 有限元建模
由于模型的载荷和位移边界条件均满足对称性,因此本文仅建立四分之一对称模型,并在对称面上施加相应的对称约束。首先,本文在不使用Debond技术的情况下进行建模,分别为裂纹体设置材料属性、载荷和边界条件,并划分网格。为节约计算成本,取网格尺寸为5 mm,采用单元类型为带有减缩积分的4节点平面应力单元(CPS4R)。建立的有限元模型如图3所示。
图3 中心裂纹板有限元模型
(未使用Debond技术)
需要注意的是,在施加对称约束时,对于X方向的对称约束,应按照中心裂纹板的实际边界条件进行施加;而对于Y方向的对称约束,由于在裂纹扩展过程中,位于裂纹扩展路径上的节点需要被逐步释放,因此不能在Load模块中约束这些节点的位移自由度。出于上述考虑,本文仅约束了模型右下角节点沿Y向的平动自由度,避免在裂纹穿透中心裂纹板后产生刚体 位移,而其余位于裂纹扩展路径上的节点则处于自由状态。在以上载荷和边界条件下,中心裂纹板的位移云图如图4所示。
图4 中心裂纹板位移云图(未使用Debond技术)
从图中可以看到,中心裂纹板的位移云图出现了非常严重的不连续,这主要是因为本文使用了较为稀疏的网格,但这并不影响本文演示裂纹扩展过程。
2.2 建立刚性线
正如前面所提到的那样,为了使用Debond技术模拟裂纹扩展过程,需要以接触对的形式预先定义粘接主面和从面,以及从面上待释放节点所构成的节点集。由于本文仅建立四分之一对称模型,导致无法通过上下裂纹面来定义接触对。因此需要通过在对称面(即裂纹扩展路径)上定义一条刚性线来实现接触对的定义。
首先,在Part模块中以解析刚体(Analytical rigid)的形式创建一条刚性线。该刚性线应位于裂纹扩展路径上,并且覆盖所有待释放的节点,因此设刚性线的长度为60 mm。然后,在Assembly模块中创建该刚性线的实例,并将其组装到中心裂纹板的网格模型中。为了控制刚性线的位移自由度,需要在Assembly模块中创建一个参考点(该参考点可以位于模型中的任意位置,为简便起见,假定该参考点位于刚性线的中部,坐标为(30 ,0)),并在Interaction模块中通过Rigid body将参考点与刚性线耦合,注意在耦合时应选择与待释放节点位于同一侧的刚性面,设置过程如图5所示。
图5 刚体约束设置
设置完成后,在Load模块中约束该参考点的全部位移自由度,使得刚性面在裂纹扩展过程中处于固定状态。约束完成后再次提交计算,可以得到中心裂纹板的位移云图如图6所示。
图6 中心裂纹板位移云图(添加刚性线后)
2.3 定义粘接接触对
注意图6中位于裂纹面下侧的刚性线。该刚性线可以作为控制节点释放的粘接主面,而裂纹面则可以作为粘接从面。因此分别将刚性线位于裂纹面的一侧以及待释放节点所在裂纹面分别定义为单元面集 合,并设刚性线的单元面集 合名为Debond_ Surf_ Mas,待释放节点所在单元面**为Debond_ Sruf_ Slav。然后,在Interaction模块定义一个名为Debond_ Contact的面面接触,注意在定义接触时,需要将滑移公式(sliding formulation)更改为小滑移(small sliding)。在设置接触属性时,对于法向接触行为可以定义为硬接触,而切向接触行为可定义为无摩擦接触。接触对的设置如图7所示。
图7 粘接接触对设置
在完成粘接接触对的定义后,如果再次提交计算,可以发现裂纹面与刚性线在拉伸载荷作用下仍然处于分离状态,这是因为在定义粘接接触对时并未指定初始处于粘接状态的节点。
在Assembly中定义一个名为Debond_Node的节点集,用于存放裂纹扩展路径上待释放的节点,注意到裂纹初始长度为30 mm,因此构成初始裂纹的节点不能位于该集 合中。定义完成后,通过Model→Edit Keyword编辑模型的关键字,在定义粘接接触对的关键字下方定义如下图所示的关键字。
该关键字主要用于定义初始处于粘接状态的节点。注意该关键字中的normal参数,该参数使得节点在接触面的法向方向上处于粘接状态,而在切向方向可以自由滑动,这与中心裂纹板的边界条件一致。如果去除该关键则,则节点在法向和切向将均处于粘接状态。关于上述关键字的更多解释可以参见附录。
关键字定义完成后,如果再次提交计算,通过中心裂纹板的位移云图可以发现待释放的节点已处于粘接状态,如图8所示。
图8 中心裂纹板位移云图(定义粘接接触对后)
2.4 定义粘接失效准则
在完成粘接接触对的定义后,只需指定相应的粘接失效准则,即可实现对裂纹扩展过程的模拟。Abaqus的Debond分析技术提供了四种粘接失效准则:临界应力准则(the critical stress criterion)、临界裂纹开裂位移准则(the COD criterion)、裂纹长度与时间失效准则(the crack length versus time criterion)和虚拟裂纹闭合技术准则(VCCT criterion)。
本文以最常用的裂纹长度与时间失效准则为例,介绍基于该准则模拟裂纹扩展的方法。裂纹长度与时间失效准则通过指定裂纹长度与时间的关系曲线来实现裂纹扩展过程。在使用该准则时,需要通过定义参考节点来定义裂纹长度。这里,本文将参考节点定义为中心裂纹板的几何中心,该参考节点与待释放节点的距离即为裂纹长度。
粘接失效准则需要通过* FRACTURE CRITERION关键字定义,必须与*DEBOND关键字配合使用,并且只能位于Step关键字所控制的范围内。本文将其定义在*Load关键字的后面,如下图所示。
对于*DEBOND关键字,SLAVE和MASTER分别表示粘接从面和粘接主面,TIME INC为释放节点时推荐的时间增量步,关键字下方的数据为时间-幅值曲线数据,用于定义当释放某一个节点时释放时间与释放节点上残余力的关系。
对于*FRACTURE CRITERION关键字,CRACK LENGTH表示使用的是裂纹长度与时间失效准则,NSET为代表参考节点的节点集。关键字后方的数据定义了总时间与裂纹长度之间的关系。
关于这些关键字的更多介绍可以参见附录。关键字添加完成后再次提交计算,计算算例在求解到约0.9s时由于所需的增量步小于默认的最小增量步导致计算终止,此时裂纹已接近穿透中心裂纹板,裂纹扩展过程如下图所示。
附录A:Debond分析相关关键字介绍
A.1 *INITIAL CONDITIONS关键字
该关键字用于设定分析所述的初始条件。由于该关键字涉及到的参数众多,本文仅给出与裂纹扩展分析有关的参数。
TYPE
当TYPE=CONTACT时,该参数用于指定处于初始绑定接触条件的节点集,这些节点只能是接触从面上的节点,并且只能应用于Abaqus/Standard模块。
NORMAL
该参数只能与CONTACT配合使用,当TYPE=CONTACT, NORMAL时,则这些节点只在接触的法向方向上处于绑定状态,这意味着这些节点可以在接触的切线方向上自由滑动。如果要求这些节点在所有方向上都处于绑定状态,则应该省略该参数。
A.2 *DEBOND关键字
该选项用于释放绑定接触对上的部分绑定约束以实现裂纹扩展过程,该关键字必须与*FRACTURE CRITERION关键字同时使用,并且必须位于Step模块关键字所在的区域。
MASTER
裂纹扩展分析使用的接触对的主面名称
SLAVE
裂纹扩展分析使用的接触对的从面名称
FREQUENCY
通过该参数可以设置数据的输出频率,以增量步数的形式。除非FREQUENCY=0,否则在每个分析步的最后一个增量步中裂纹尖端的位置和与之相关的数据均会被输出。默认值为FREQUENCY=1,即在每一个增量步中均会被输出。如果FREQUENCY=0,则这些信息不会被输出。
OUTPUT
如果该参数被省略,则裂纹扩展信息将会被输出到数据文件(.dat)中,但不会被存储到结果文件中(.fil)。如果OUTPUT=FILE,则裂纹扩展信息会被存储到结果文件中;如果OUTPUT=BOTH,则裂纹扩展信息将会被输出到数据文件,并被存储到结果文件中。
TIME INCREMENT
该参数用于自动时间增量指定一个推荐的时间增量值,并将其应用于当节点释放过程开始后的第一个增量步。如果用户使用了固定的时间增量步,则当节点释放过程开始后,如果Abaqus/Standard发现需要一个更小的增量步才能使得分析收敛,便会应用该参数设定的时间增量。
时间-幅值曲线
相对于节点释放开始时刻的时间1,当前时刻的相对应力幅值1(未释放时接触界面的应力)
相对于节点释放开始时刻的时间2,当前时刻的相对应力幅值2(未释放时接触界面的应力)
A.3 *FRACTURE CRITERION关键字
该关键字用于指定裂纹扩展分析时使用的断裂准则,由于涉及到的参数较多,本文仅给出当使用裂纹长度与时间准则时涉及到的相关参数。
TYPE
当TYPE=CRACK LENGTH时,可以将裂纹长度定义为与时间有关的函数。该选项仅适用于Abaqus/Standard模块。
NSET
该参数仅当TYPE=CRACK LENGTH时有效,用于指定包含参考点的节点集名称。
TOLERANCE
该参数用于设定裂纹扩展准则必须满足时的容差。当TYPE=CRACK LENGTH时,默认值为TOLERANCE=0.1。
裂纹长度-时间准则(TYPE=CRACK LENGTH)的数据行定义规则
累积时间1(非分析步时间),裂纹长度1(定义为到参考点的距离)
累积时间2(非分析步时间),裂纹长度2(定义为到参考点的距离)
…
附录B:计算示例inp文件
*Heading
** Job name: CCT Model name: CCT
** Generated by: Abaqus/CAE 2020
*Preprint, echo=NO, model=NO, history=NO, contact=NO
**
** PARTS
**
*Part, name=CCT_Plate
*Node
1, 0., 30.
2, 0., 25.
3, 0., 20.
4, 0., 15.
5, 0., 10.
6, 0., 5.
7, 0., 0.
8, 5., 0.
9, 10., 0.
10, 15., 0.
11, 20., 0.
12, 25., 0.
13, 30., 0.
14, 35., 0.
15, 40., 0.
16, 45., 0.
17, 50., 0.
18, 55., 0.
19, 60., 0.
20, 60., 5.
21, 60., 10.
22, 60., 15.
23, 60., 20.
24, 60., 25.
25, 60., 30.
26, 55., 30.
27, 50., 30.
28, 45., 30.
29, 40., 30.
30, 35., 30.
31, 30., 30.
32, 25., 30.
33, 20., 30.
34, 15., 30.
35, 10., 30.
36, 5., 30.
37, 30., 5.
38, 30., 10.
39, 30., 15.
40, 30., 20.
41, 30., 25.
42, 25., 15.
43, 20., 15.
44, 15., 15.
45, 10., 15.
46, 5., 15.
47, 15., 10.
48, 15., 5.
49, 20., 10.
50, 25., 10.
51, 20., 5.
52, 25., 5.
53, 5., 10.
54, 10., 10.
55, 5., 5.
56, 10., 5.
57, 15., 25.
58, 15., 20.
59, 20., 25.
60, 25., 25.
61, 20., 20.
62, 25., 20.
63, 5., 25.
64, 10., 25.
65, 5., 20.
66, 10., 20.
67, 55., 15.
68, 50., 15.
69, 45., 15.
70, 40., 15.
71, 35., 15.
72, 45., 10.
73, 45., 5.
74, 50., 10.
75, 55., 10.
76, 50., 5.
77, 55., 5.
78, 35., 10.
79, 40., 10.
80, 35., 5.
81, 40., 5.
82, 45., 25.
83, 45., 20.
84, 50., 25.
85, 55., 25.
86, 50., 20.
87, 55., 20.
88, 40., 25.
89, 40., 20.
90, 35., 25.
91, 35., 20.
*Element, type=CPS4R
1, 44, 47, 49, 43
2, 43, 49, 50, 42
3, 42, 50, 38, 39
4, 11, 51, 48, 10
5, 51, 49, 47, 48
6, 13, 37, 52, 12
7, 12, 52, 51, 11
8, 37, 38, 50, 52
9, 52, 50, 49, 51
10, 4, 5, 53, 46
11, 46, 53, 54, 45
12, 45, 54, 47, 44
13, 8, 55, 6, 7
14, 55, 53, 5, 6
15, 9, 56, 55, 8
16, 56, 54, 53, 55
17, 10, 48, 56, 9
18, 48, 47, 54, 56
19, 34, 57, 59, 33
20, 33, 59, 60, 32
21, 32, 60, 41, 31
22, 43, 61, 58, 44
23, 61, 59, 57, 58
24, 39, 40, 62, 42
25, 42, 62, 61, 43
26, 40, 41, 60, 62
27, 62, 60, 59, 61
28, 1, 2, 63, 36
29, 36, 63, 64, 35
30, 35, 64, 57, 34
31, 46, 65, 3, 4
32, 65, 63, 2, 3
33, 45, 66, 65, 46
34, 66, 64, 63, 65
35, 44, 58, 66, 45
36, 58, 57, 64, 66
37, 69, 72, 74, 68
38, 68, 74, 75, 67
39, 67, 75, 21, 22
40, 17, 76, 73, 16
41, 76, 74, 72, 73
42, 19, 20, 77, 18
43, 18, 77, 76, 17
44, 20, 21, 75, 77
45, 77, 75, 74, 76
46, 39, 38, 78, 71
47, 71, 78, 79, 70
48, 70, 79, 72, 69
49, 14, 80, 37, 13
50, 80, 78, 38, 37
51, 15, 81, 80, 14
52, 81, 79, 78, 80
53, 16, 73, 81, 15
54, 73, 72, 79, 81
55, 28, 82, 84, 27
56, 27, 84, 85, 26
57, 26, 85, 24, 25
58, 68, 86, 83, 69
59, 86, 84, 82, 83
60, 22, 23, 87, 67
61, 67, 87, 86, 68
62, 23, 24, 85, 87
63, 87, 85, 84, 86
64, 29, 88, 82, 28
65, 88, 89, 83, 82
66, 89, 70, 69, 83
67, 31, 41, 90, 30
68, 30, 90, 88, 29
69, 71, 91, 40, 39
70, 91, 90, 41, 40
71, 70, 89, 91, 71
72, 89, 88, 90, 91
*Elset, elset=CCT_Elem_all, generate
1, 72, 1
** Section: Steel_SEC
*Solid Section, elset=CCT_Elem_all, material=Steel_MAT
,
*End Part
**
*Part, name=Rigid_Line
*End Part
**
**
** ASSEMBLY
**
*Assembly, name=Assembly
**
*Instance, name=CCT_Plate-1, part=CCT_Plate
*End Instance
**
*Instance, name=Rigid_Line-1, part=Rigid_Line
*Surface, type=SEGMENTS, name=Debond_Surf_Mas
START, 0., 0.
LINE, 60., 0.
*End Instance
**
*Node
1, 30., 0., 0.
*Nset, nset=Crack_Ref_RP, instance=CCT_Plate-1
7,
*Nset, nset=Debond_Node, instance=CCT_Plate-1, generate
10, 18, 1
*Nset, nset=Rigid_Line_RP
1,
*Nset, nset=X_Sym_Node, instance=CCT_Plate-1, generate
1, 7, 1
*Nset, nset=Y_Sym_Node, instance=CCT_Plate-1
19,
*Elset, elset=_Debond_Surf_Slav_S4, internal, instance=CCT_Plate-1
4, 6, 7, 17, 40, 42, 43, 49, 51, 53
*Surface, type=ELEMENT, name=Debond_Surf_Slav
_Debond_Surf_Slav_S4, S4
*Elset, elset=_Load_Surf_S4, internal, instance=CCT_Plate-1
19, 20, 21, 28, 29, 30, 55, 56, 57, 64, 67, 68
*Surface, type=ELEMENT, name=Load_Surf
_Load_Surf_S4, S4
** Constraint: Rigid_body_Rigid_Line
*Rigid Body, ref node=Rigid_Line_RP, analytical surface=Rigid_Line-1.Debond_Surf_Mas
*End Assembly
**
** MATERIALS
**
*Material, name=Steel_MAT
*Elastic
200000., 0.3
**
** INTERACTION PROPERTIES
**
*Surface Interaction, name=IntProp-1
1.,
*Surface Behavior, pressure-overclosure=HARD
**
** BOUNDARY CONDITIONS
**
** Name: Rigid_Line_Fixed_BC Type: Displacement/Rotation
*Boundary
Rigid_Line_RP, 1, 1
Rigid_Line_RP, 2, 2
Rigid_Line_RP, 6, 6
** Name: X_Sym_BC Type: Displacement/Rotation
*Boundary
X_Sym_Node, 1, 1
** Name: Y_Sym_BC Type: Displacement/Rotation
*Boundary
Y_Sym_Node, 2, 2
**
** INTERACTIONS
**
** Interaction: Debond_Contact
*Contact Pair, interaction=IntProp-1, small sliding, type=SURFACE TO SURFACE
Debond_Surf_Slav, Rigid_Line-1.Debond_Surf_Mas
*Initial conditions, type=contact, normal
Debond_Surf_Slav, Rigid_Line-1.Debond_Surf_Mas, Debond_Node
** ----------------------------------------------------------------
**
** STEP: Tension
**
*Step, name=Tension, nlgeom=NO, inc=1000000
*Static
0.02, 1., 1e-05, 0.02
**
** LOADS
**
** Name: Tension_Load Type: Pressure
*Dsload
Load_Surf, P, -10.
*DEBOND,SLAVE=Debond_Surf_Slav,MASTER=Rigid_Line-1.Debond_Surf_Mas,TIME INC=0.002, FREQUENCY= 1,OUTPUT=BOTH
0.,1.
0.002,0.,
*FRACTURE CRITERION,TYPE=CRACK LENGTH,TOLERANCE=0.01,NSET=Crack_Ref_RP
0, 5
0.1, 15
0.5, 30
1, 50
**
** OUTPUT REQUESTS
**
*Restart, write, frequency=0
**
** FIELD OUTPUT: F-Output-1
**
*Output, field, variable=PRESELECT
**
** HISTORY OUTPUT: H-Output-1
**
*Output, history, variable=PRESELECT
*End Step