静力失效的两种分析思路
《谈材料力学行为研究的标配—ABAQUS UMAT》一文中,我们介绍了UMAT的一些基本信息,从现在做深入研究和论文的角度来说,研究材料失效似乎已经离不开子程序。然而在工程中,我们常常面临的场景是强度校核,而非一定要把材料失效的点算准。
目前对于复合材料的静力失效主要有两种思路:
(1) 思路一,渐进失效分析。该思路的目标是计算结构的失效极限。对结构逐级加载,并监测失效单元,对加载过程中出现失效的单元进行性能折减,当失效单元数量达到一定程度,载荷变形曲线掉落,此时认为结构失效。
(2) 思路二,校核安全。在完成应力计算后,采用一定的强度准则进行失效判断,从而确定设计载荷是否满足安全要求。
思路一通常适用于结构简单的模型,并需要开发专门的UMAT本构程序,且对单元的使用限制很大。实际的结构件大都铺层较厚,采用该思路需要将每一层进行单独的网格离散,给网格质量控制与生成带来了困难。
相比之下,思路二更适用于工程计算。我们今天就给出一个针对复合材料构件校核安全的实现方法。
基本思路
ABAQUS内置了复合材料壳的2D强度准则。如果是实体单元或者自定义强度准则,就需要我们脱离ABAQUS对结果进行后处理。
思路如下图,该思路的适用场景是,单元的层数和实际铺层并不需要对应,即单元层数可以少于铺层数。ABAQUS的铺层模块会根据铺层信息和单向带材料参数,自动完成等效材料参数的计算。
上述步思路,一直到“静力分析完成”都是在ABAQUS中完成。后续步骤则需要脱离ABAQUS实现,需要重点解决两个技术问题。
需要解决的技术问题1—材料参数等效
在已知铺层和单向带材料参数的情况下,我们需要完成铺层后材料的等效强度参数预估,方可代入强度准则进行失效判断。
工程上一般采用对称铺层,复合材料力学中也给出了对称铺层的等效弹性模量和强度预测方法。我在实际应用时,引入渐进损伤的思想,逐层进行材料失效的判断,获得载荷应力曲线,取掉落点之前的应力作为失效应力,见下图。这个复合材料强度理论计算程序是用MATLAB编写的。
层合板强度预测(横坐标迭代次数,纵坐标为应力/MPa)
以下是基于复合材料力学理论方法预测强度的具体描述:
求解层合板的极限载荷的计算步骤大致如下:
(1) 先设定各个外载荷之间比例,即按各载荷分量比例加载;
(2) 根据各单层板性能,计算层合板刚度
。对于对称层合板而言,各单层几何尺寸和材料性能都对称于中面,也就说明对称的层合板中拉伸与弯曲之间不存在耦合关系,即
。
(3) 求各单层在材料主方向上应力与外载荷之间的关系。
(4) 将各单层应力分别代入强度准则关系式进行比较,确定哪一层单层先破坏。
(5) 将已破坏的单层板从整体层合板中排除,但仍保持其余单层板的几何位置,重新计算层合板刚度。
(6) 重复上述过程,计算各层的应力,再用强度理论进行比较,检查其他单层是否破坏,再计算刚度和检查,直到剩下的层合板能继续承受增加的载荷为止,当所有单层板均发生破坏,此时的载荷即为层合板得到极限载荷。
如下图所示,1方向为单层板纤维的主方向,下图向与x方向之间的夹角称为纤维方向角
。
对于角铺设单层板刚度矩阵的形式如下:
上图为完整的复合材料强度预测的流程框图,包含输入值与输出值。其中将重点解释如何预测复合材料层合板的强度,即3号、4号以及5号流程框的内容。
求解层合板开始发生破坏的失效强度值。
由已知的单层板基础力学数据、层合板铺设层数与铺设角度等原始数据计算二维刚度矩阵
,并利用转轴公式得出二维刚度矩阵
的转换矩阵
。
暂时只考虑该层合板承受面内载荷的工况,利用二维刚度矩阵转换矩阵
可求出拉伸刚度矩阵
。对于刚度矩阵求逆矩阵,即可得到其柔度矩阵
。
将所加载的外载荷
按其比例化为
。则所加载的外力可利用应力应变公式求出中面应变矩阵
,
如公式(2)所示,
其中,
分别为:
根据单层板应力应变之间的关系式,可以求解得每一层的应力,
根据公式(5)计算出各单层板在材料主方向的应力,
将数据带入强度理论准则中,从而解得各单层的失效载荷。进一步比较数据大小,数值较小的为层合板第一失效载荷值。
此时求出各层应力大小,并与材料的基本强度数值比较,得到达到材料基本强度大小的应力,该方向即为单层板破坏方向。
层合板承受第一失效载荷值后发生破坏,剩余层继续承受载荷并进行第二次计算。
移除已发生破坏的单层板,求解削弱后的剩余层合板刚度
。应注意单层板破坏方向刚度为0。同时该单层板因有材料主方向破坏而不能抗剪,故
。继续计算层合板拉伸刚度矩阵
及柔度矩阵
。
同上述步骤1中相同,继续求应变和应力并带入蔡-Hill强度理论公式,找到下一处破坏位置及方向。
继续移除已发生破坏的单层板,将削弱后的剩余层合板重复上述步骤。直到剩下的层合板能继续承受增加的载荷为止。当所有单层板破坏,此时的载荷即为层合板的极限载荷。
需要解决的技术问题2—ABAQUS结果提取与失效分布渲染
ABAQUS的odb结果文件是无法在外部解析的,这是其自定义的一种类似于数据库的文件。但是ABAQUS后处理模块提供了将结果导出为csv格式的接口。
ABAQUS导出的csv格式结果
有了这些应力数据,我们就可以代入强度准则进行失效分析了。比如用Tasi-Hill强度准则进行失效因子的计算:

F.I.大于1代表结构破坏。
此时我们就想把失效因子渲染出来,像ABAQUS后处理结果那样直观。为了实现这个效果,我们需要首先了解云图渲染的原理。
在仿真领域,“云图”通常是指一种通过计算机模拟生成的图像或数据可视化工具,简单理解就是用不同的颜色来体现物理量的大小,天气预报中的温度分布就是一种云图。
所以云图的渲染需要的基本数据有:
第三条不是必须的,如果不知道网格关系,可以将颜色渲染到点上。当然知道网格关系以后可以实现连续的颜色过渡。
我们通过后处理已经得到了每个点的应力数据,还需要网格和节点坐标数据。这个需要从ABAQUS的inp文件中获取。所以我们还需要写一个inp解析代码,提取节点和网格信息。
下一步就需要找渲染工具了。可以用的有MATLAB(编程实现)、Tecplot、其他自编工具。如果使用Tecplot的话,需要了解其格式要求。
我是通过VTK库,编了一个三维渲染模块,这个也是目前我们在很多项目中用得最多的。
基于VTK 自编的渲染模块
总结
以上过程虽然第一次实现起来需要花一番功夫,但是无论是层合板强度预测工具,还是数据解析、渲染工具,开发出来以后可以重复使用,在后续的项目中用起来就很方便了。
实际上做仿真或者开发,其中一个目的是提高自己获取数据的权限和处理数据的权限。要想把仿真做得深入,需要充分了解软件的输入、输出、设定等数据格式,可以说搞透了数据格式仿真基本就搞通了一半。比如ABAQUS的inp文件,最好能达到不借助软件界面,自己编程序定义inp完成网格建模、材料定义、分析步定义、边界条件定义、输出定义的程度。
糊里糊涂用软件,糊里糊涂看结果,约等于没有入门。