含裂纹铺层k的热膨胀系数用相似的形式计算,如下
在位移控制下,能量释放率(ERR)定义为应变能U关于裂纹面积A的偏导数(见式10.1)。根据对层压的脆性基体复合材料(例如,使用最多的增韧环氧基体)的实验观察,有限长度的裂纹突然产生,因此,不是无限小的。那么,应用格里菲斯(Griffith)能量原理的离散(有限)形式,以描述观察的离散(有限)的裂纹增长行为,如下
为了计算能量释放率(ERR),使用含裂纹铺层坐标系下的层压板的刚度Q比较方便,因为,用这种方法,能量释放率可以分解为开口(opening)和剪切(shear)模式。因为层压板刚度可以作为裂纹密度λ的函数分析得到,对于一个固定应变水平(载荷),可以计算能量释放率,使用[110]和[142,3.2.10节],代入式9.35,可得
求解算法由(a)应变步、(b)层压板迭代、(c)单层板迭代组成。层压板的状态变量是对于所有铺层i和膜应变的裂纹密度的数组。在每个载荷(应变)步,增大层压板的应变,检查铺层是否破坏。
解9.1 因为Abaqus没有内置计算裂纹密度的能力,我们需要使用一个插件。在这种情况下,我们使用一个可编程的用户通用截面(UGENS,[143,26.6.6节])实现离散损伤力学(DDM)。离散损伤力学(DDM)插件可在[5,ugens-std.obj]获得,而它背后的理论在本章讲解。
本例阐述如何使用Abaqus/CAE创建一个模型;写入一个.inp文件;修改.inp文件,添加UGENS需要的数据;运行带插件的分析作业;最后可视化结果。使用伪代码(如果需要,回顾例2.3)和GUI的截屏说明操作过程。
i. 从命令窗口启动Abaqus/CAE
因为我们需要大量文件现成可用,在我们选择的文件夹(目录)启动Abaqus/CAE。右单击6C:\SIMULIA\User\Chapter_9\Ex_9.1,选择Open command window here(在此处打开命令窗口)。在命令创建中输入abaqus cae。这样打开Abaqus/CAE后将当前文件夹设为工作路径。(译者注:可以用任意方式启动Abaqus/CAE后,将工作路径设置到指定文件夹。)
6 不要将光标放在文件夹内,而是放在文件的黄色图标上。
ii. 创建部件
因为应变场在壳内是均匀的(在x和y向),我们使用一个S4R单元对一个胞元建模,模型沿x、y向的尺寸分别为a、b,且。本例的伪代码开始如下:
模块:Part
菜单:Part,Create,Name;[Part-1],3D,Deformable,Shell,Planar,
Approx. Size:[20]
Add,Lines,Rectangle,[0,0],[10,10],X,Done
上面的第一行伪代码与图9.4等效,以此类推。
iii. 输入截面特性
使用UGENS,材料特性和截面参数必须作为截面特性输入,但是对于Abaqus/CAE 6-10版本,Abaqus/CAE没有输入UGENS数据的能力。因此,需要编辑Job-1.inp文件,与例4.3相似。在此之前,我们使用CAE输入参数,犹如将它们作为用户材料使用。离散损伤力学(DDM)插件使用4 9N 3N个参数,如下:
——层压板总厚度t。
——3 9*N个材料特性参数,其中N是层压板中对称部分的铺层数,即层压板铺层的一半。这些参数排列如下,从第一个铺层(k = 1,下表面)开始,直到铺层N(中面):
——3*N个状态变量,从第一个铺层(k = 1,下表面)开始,直到铺层N(中面):
将3 9N 3N(原文3 9N 5N)(除层压板厚度外的所有参数)个值输入到材料,如图9.5所示。这些值在第viii步中给出。
然后,创建一个截面,定义壳厚度(见图9.6)和层内剪切系数的3个值(图9.7)。因为在本例中没有弯曲和横向剪切,层内剪切系数是不相关的;只需要输入任意值。另外,可以计算层内剪切系数,如式3.9(也可见例3.1)。最后,将截面赋给部件(菜单:Assign),实例化(装配)部件(模块:Assembly)。下面的伪代码描述在Abaqus/CAE中使用GUI操作的详细过程:
模块:Property
菜单:Material,Create,Name:[Material-1],Material Behavior:User Material,
Mechanical Constants:# 3 9*N 5*N个值
Section,Create,Name:[Section-1],Shell,Homogeneous,Cont
标签页:Basic,Shell thickness Value; [2.736],Material:Material-1
标签页:Advanced:Transverse Shear Stiffness:[1,0,1]
Assign,Section,# 选取部件,Done,OK
模块:Assembly
菜单:Instance,Create,Name:[Part-1],Type:Independent,OK
图9.4 创建部件
图9.5 创建材料
图9.6 定义截面
图9.7 定义截面(续)
iv. 创建分析步
接下来,除了其他的,需要一步操作设置场输出要求(Field Output Requests,见图9.8)。因为分析使用的材料为非线性(损伤),必须当心求解策略(见图9.9)。下面的伪代码完成该过程:
模块:Step
菜单:Step,Create,Name: [Step-1],After: Initial,
Type:General,Static,General,Cont
标签页:Basic,Time period:1
标签页:Advanced,max. increments:[1000],
Incr.size:Initial:[0.01],Minimum; [1E-005],Maximum:[0.01]
图9.8 场输出要求
图9.9 定义分析步
v. 定义边界条件
模块:Load
菜单:BC,Manager
Create,name:[BC-1],Step:Initial,Type:Symmetry,Cont,
# 选取x=0的竖直边,Done,XSYMM,OK
Create,name:[BC-2],Step:Initial,Type:Symmetry,Cont,
# 选取y=0的水平边,Done,YSYMM,OK
Create,name:[BC-3],Step:Initial,Type:Symmetry,Cont,
# 选取原点处的顶点,Done,ENCASTRE,OK
Create,name:[BC-4],Step:Step-1,Type:Displacement,Cont,
# 选取x=10的竖直边,Done,U1=[0.2],OK
图9.10 边界条件
vi. 划分网格
然后,使用S4R单元划分网格。因为膜应变是均匀的,因此仅需要一个单元。通过选择单元尺寸等于模型尺寸a=b实现。例如,按照下面的过程:
模块:Mesh
菜单:Seed:Instance,Approx. size:[10],OK
Mesh,Element Type,Standard,Linear,Shell # S4R
Mesh,Instance,Yes
vii. 创建第一个分析作业
接下来,创建一个分析作业,仅写入Job-1.inp文件(见图9.11)。
模块:Job
菜单:Job,Manager
Create,Name:[Job-1],Source: Model,Cont,OK
Data Check
Write Input
图9.11 使用Job Manager创建第一个分析作业(Job-1)
viii. 修改.inp文件
接下来,将Job-1.inp复制为Job-ddm.inp,修改如下。两个文件可从[5]获得。
将下面一行:
*Shell Section, elset=_PickedSet2, material=Material-1
替换为下面一行:
*Shell General Section, elset=_PickedSet2, USER, PROPERTIES=30, VARIABLES=15
将材料特性参数:
立即移动到下面一行的上方:
*Transverse Shear
删除下面几行:
** MATERIALS
**
*Material, name=Material-1
*User Material, constants=30
**
将下面一行(调用一个内部程序,设置初始裂纹密度):
*Initial Conditions, type=SOLUTION, USER
添加到下面一行后面:
** STEP: Step-1
ix. 创建第二个分析作业
下一步,创建另一个分析作业(Job-DDM),用于使用插件运行模型(见图9.12、图9.13):
模块:Job
菜单:Job,Manager
Create,Name: [Job-DDM],Source: Input file,
Select:[C:\SIMULIA\User\Chapter_9\Ex_9.1\Job-DDM.inp],Cont,
标签页:General,
User subroutine:[C:\SIMULIA\User\Chapter_9\Ex_9.1\ugens-std.obj],
OK
Submit # 等待运行完成
Results
图9.12 使用Input文件创建第二个分析作业
图9.13 编辑第二个分析作业,指定用户子程序文件
x. 可视化
模块:Visualization
菜单:Plot,Contours,On deformed shape
Result,Step/Frame,# 选择第24步
此外,整个过程可以通过使用两个Python脚本自动完成,即Ex_9.1.py和UgenKeyword.py,可从[5]获得。按照第i步所介绍的方法打开命令窗口,然后输入:abaqus cae nogui=ex_9.1,可以执行脚本。然后,打开Job.odb对结果进行可视化,或者使用保存在Job.csv中的结果。裂纹密度-应变曲线在图9.14中给出。
图9.14 使用离散损伤力学(DDM)得到的裂纹密度-应变与文献[144]中的实验数据对比
练习题
表9.2 层压板(练习9.1用)