一种蜂窝夹层结构穿孔损伤修理容限值的快速确定方法与流程
未命名
08-22
阅读:165
评论:0
1.本发明属于直升机结构修理技术领域,具体涉及的一种蜂窝夹层结构穿孔损伤修理容限值的快速确定方法。
背景技术:
2.复合材料蜂窝夹层结构在直升机等航空飞行器上应用较为普遍,其在使用过程中很可能遭受地面砂石撞击、冰雹撞击、鸟撞、弹击、地面设备碰撞而产生穿孔损伤。如何准确、快速地确定损伤是否为允许损伤、可修理损伤和不可修理损伤,特别是可修理损伤与不可修理损伤之间的界限(即修理容限的上限),对工程界而言非常重要。
3.修理容限上限如设置不合理,会出现两种结果:如果把修理容限上限设置得过高,遇到实际无法修理的损伤,都认为能通过修理来恢复其原有性能,就会带来结构安全隐患。修理容限上限如果设置得过于保守,则实际可修理的损伤都采取更换或报废的方式处理,会造成经济损失。
4.现有技术中,公开的专利主要有层合板、复合材料结构的修理容限确定方法。其中,专利cn202110181634.1中介绍了一种复合材料层合板修理容限确定方法,即结合设计许用应变值,运用静态试验与abaqus仿真相结合的方法,得到修理容限下限和上限。
5.专利cn202111238101.9中介绍了一种复合材料结构件的修理容限确定方法,即运用基于贝叶斯理论的失效概率与维修成本评估相结合方法,从安全性角度确定修理下限,从经济性角度确定修理上限。
6.上述专利主要描述了一些复合材料结构的修理容限确定方法,但是专利cn202110181634.1仅适用于含孔损伤层压板的修理,采用对不同损伤程度损伤件修复后进行试验及仿真的方法确定修理容限上限,缺少修理方案优化设计的过程,专利cn202111238101.9适用于复合材料结构的修理,重点从失效概率和维修经济性的角度,采用多次仿真求解失效概率和维修成本均值的方法确定修理容限上限,没有从强度分析角度优化修理设计方案。
技术实现要素:
7.本发明的目的:为复合材料蜂窝夹层结构提供一种可用于穿孔损伤的修理容限确定方法,既能获得不同穿孔损伤的修理优化方案,又可实现修理容限(上限)的快速确定。
8.本发明的技术方案:一种蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,所述方法包括以下步骤:
9.步骤s1、进行复合材料蜂窝夹层结构的abaqus建模,得到修理模型;
10.步骤s2、用python语言编写abaqus脚本,实现修理模型参数化;
11.步骤s3、在满足100%强度恢复率的基础上,通过优化关键参数,实现修理结构重量最小化,得到含穿孔损伤蜂窝夹层结构的贴补修理优化数学模型;
12.步骤s4、使用nsga-ii遗传算法,实现修理方案快速优化;
13.步骤s5、在结合nsga-ii遗传算法的修理方案快速优化基础上,采用modefrontier多目标优化软件通过python语言的调用功能,来驱动abaqus内核的自动建模,进而集成建立确定蜂窝夹层结构穿孔损伤修理容限上限的流程;
14.步骤s6、采用二分法改变穿孔损伤半径r,进行修理容限上限的确定;具体的,当修理优化方案结果符合约束条件时,则扩大穿孔损伤半径r,若扩大后的穿孔损伤半径r仍符合约束条件,则进一步扩大穿孔损伤半径r,直达无法符合约束条件才截止;然后反向减少穿孔损伤半径r,即在不满住约束条件的最小穿孔损伤半径r和满足约束条件的最大穿孔损伤半径r之间取中间值,开展循环计算,分别得不同穿孔损伤半径r的修理优化方案结果,根据在符合约束条件的前提下,通过结构修理优化不能进一步扩大的穿孔损伤半径为该蜂窝夹层结构穿孔损伤修理容限上限这一判定准则,得出其最终的修理容限上限。
15.进一步的,在步骤s3中,所述关键参数至少包括修理补片铺层的大小、角度、层数。
16.进一步的,步骤s6中,循环计算是有顺序地重复上面的确定修理容限上限流程,即步骤s4至s6。
17.本发明的有益效果:采用本发明中abaqus有限元软件和modefrontier多目标优化软件的集成化与python语言有限元模拟建模的参数化、自动化以及nsga-ii遗传算法,能大幅度提高结构修理方案优化的计算效率,从而可较快确定出复合材料蜂窝夹层结构穿孔损伤修理容限(上限)。同时,该方法可拓展用于各类蜂窝夹层结构单面穿孔损伤、大面积板芯脱粘损伤、面板划伤等多种损伤模式下的结构修理容限(上限)的确定。
18.本发明至少具备以下优点:
19.1、在进行结构修理优化和修理容限(上限)确定时,能够不需要针对结构修理方案做遍历求解,只需要计算少量算例,即可快速求得最优解,显著减少了计算量,具有高效性。例如:假设穿孔损伤半径r为30mm,内外修理铺层为4层,寻优时r1步长为1mm,l步长为5mm,θn或θ
′n步长为15
°
,且r1比r大10mm到15mm,l为10mm到25mm,θn或θ
′n为-45
°
到45
°
,则要进行153664种组合计算(仅修理补片铺层角度的组合有2401种),才得出最佳修理优化方案,然而利用该算法,仅要计算237种组合;
20.2、该修理容限(上限)的快速确定方法具有普适性,能适用于其它复合材料结构的损伤形式;
21.3、形成了一种相对完整的蜂窝夹层结构穿孔损伤修理容限(上限)确定流程与方法。
附图说明
22.图1为复合材料蜂窝夹层结构;
23.图2为含穿孔损伤的蜂窝夹层结构;
24.图3为修理补片铺层(参数)的几何设置;
25.图4为确定蜂窝夹层结构穿孔损伤修理容限(上限)的流程图。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本
发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.参见附图1-4,本发明具体提出的一种蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,所述方法的实施过程包括以下步骤:
28.首先,进行复合材料蜂窝夹层结构1(如图1所示)的abaqus建模,建模过程如下:
29.步骤一:采用s4r壳单元模拟外面板2和内面板3,用二维hashin准则作为面板损伤起始和演化判据;
30.步骤二:通过三明治夹芯板理论将蜂窝芯子4等效成一个均匀连续且等厚度的正交各向异性层,并用c3d8r实体单元模拟,赋予三维工程常数属性和方向;
31.步骤三:用绑定约束面板-蜂窝芯子之间以及面板-面板层压区之间的结构胶膜;
32.步骤四:在无损伤模型的中央挖去穿透圆孔,模拟半径为r的穿孔损伤5(如图2所示);
33.步骤五:用s4r壳单元模拟修理补片6(如图3所示);
34.步骤六:用内聚力单元(cohesive)界面接触模拟修理补片胶膜7,并用二次名义应力准则(quads)预测初始损伤和用b-k准则进行损伤演化分析;
35.步骤七:用绑定约束模拟发泡胶8;
36.步骤八:用c3d8r实体单元模拟蜂窝芯塞9,并赋予三维工程常数属性和方向;
37.步骤九:先初步评估受损复合材料蜂窝夹层结构可能承受的最严酷载荷工况(即危险工况),并定义相应的边界条件。
38.步骤十:模拟评估出无损伤模型的强度,为后面的修理方案优化确定出一个基准值。
39.步骤十一:模拟评估出含穿孔损伤模型和修理模型的强度。
40.然后,用python语言编写abaqus脚本,实现修理模型参数化,主要步骤如下:
41.步骤一:def ct(self,lm,lp,lh=r):#定义函数ct(),用于执行前处理与提交计算工作;
42.步骤二:s.radialdimension(,,radius=r1)#第一层修理铺层半径r1的几何创建,且搭接长度l、穿孔损伤半径r的创建与其相似;
43.步骤三:compositelayup.compositeply(,,orientationvalue=θn,,)#修理铺层角度θn在模型的几何建立;
44.步骤四:p.generatemesh()#进行模型网格的划分;
45.步骤五:rf=region.historyoutputs[
′
rf1
′
].data#读取有限元模拟分析的破坏载荷f;
[0046]
步骤六:ms=myodb.steps[
′
step-1
′
].mass#读取有限元模拟分析的修理结构重量m;
[0047]
步骤七:def getival(self):#定义函数getival(),获取输入文件中修理补片铺层参数的具体值;
[0048]
步骤八:def wrtval(self,v):#定义函数wrtval(),将破坏载荷f和修理结构重量m写入输出文件。
[0049]
接着,进行修理优化分析,即在满足100%强度恢复率的基础上,通过优化修理补
片铺层的大小、角度、层数,实现修理结构重量最小化。含穿孔损伤蜂窝夹层结构的贴补修理优化数学模型的设置如下:
[0050]
目标函数:f(x)
→
min;
[0051]
约束条件:f≥s;
[0052]
设计变量r1、l、o1、o2...on、o
′1、o
′2...o
′n、n:;
[0053]
式中,f(x)=m=f(r1,l,n);
[0054]
f=g(r1,l,θ1,θ2...θn,θ
′1,θ
′2...θ
′n,n)。
[0055]
其中,m是修理结构的重量;f是修理结构的破坏载荷;s是无损伤结构的破坏载荷;r1是第一层修理铺层半径、1是搭接长度、θ1、θ2...θn、θ1、θ2...θ
′n是第1到第n层(面积最小到最大)修理铺层角度,其修理铺层角度可以相同,也可不同,带上标表示内面板上的修理铺层角度;且面板两侧修理铺层的层数可以不相同。(如图3所示)
[0056]
紧接着,使用nsga-ii遗传算法,实现修理方案快速优化,具体为:
[0057]
步骤一:参数编码。由于整数编码在组合优化问题中最有效,故将修理优化的设计变量设置为整数编码;
[0058]
步骤二:生成初始种群。用函数rand(),即可随机在区间[n_1,n_2]内生成整数,n_1、n_2分别表示设计变量的上限与下限;
[0059]
步骤三:快速非支配排序。为降低修理优化的计算复杂度,在执行选择算子之前依据个体间的支配关系开展种群排序;
[0060]
步骤四:计算拥挤度。为提高修理优化计算的收敛性,需要计算拥挤度;
[0061]
步骤五:执行选择算子。以便优良个体能以较大的概率保留下来,因此执行选择算子;
[0062]
步骤六:执行交叉与变异算子。交叉和变异算子的共同执行可提升该算法全局和局部搜索修理最优解的能力;
[0063]
步骤七:采取精英策略。精英策略能扩大采样空间,进一步确保父代中的优秀个体遗传到子代,从而改善修理优化计算的精度。
[0064]
继而,在结合nsga-ii遗传算法的修理方案快速优化基础上,采用modefrontier多目标优化软件通过python语言的调用功能,例如abaqus cae nogui=f:\abz\honeycombz.py,来驱动abaqus内核的自动建模,进而集成建立确定蜂窝夹层结构穿孔损伤修理容限(上限)的流程(如图4所示),其主要步骤如下:
[0065]
步骤一:针对穿孔损伤半径r的蜂窝夹层结构,进行abaqus建模和修理模型参数化以及修理优化分析;
[0066]
步骤二:结合蜂窝夹层结构实际尺寸和修理工艺性,在modefrontier软件中设置设计变量的上下限、寻优步长,以及设置约束条件和目标函数;
[0067]
步骤三:modefrontier软件用均匀拉丁超立方抽样方法(ulh),选出n1(20≤n1≤100)组设计变量值,作为设计空间的初始样本(即初始父代);
[0068]
步骤四:modefrontier软件将初始样本写入到利用python语言实现参数化的修理模型,且用abaqus软件内核进行批量的有限元模拟计算;
[0069]
步骤五:modefrontier软件读取有限元模拟结果中父代性状,例如修理后蜂窝夹层结构的重量m与能否符合约束条件的情况;
[0070]
步骤六:modefrontier软件利用nsga-ii遗传算法,对初始样本进行快速非支配排序和选择、交叉、变异以及采取精英策略等,重新生成父代种群,作为新一轮循环的初始样本;
[0071]
步骤七:迭代循环第四到第六步,一直到获得该穿孔损伤半径的最佳修理优化方案(即在符合约束条件的前提下,修理结构能以最轻重量获得最大承载水平的方案)或最大承载修理优化方案(即在不符合约束条件的前提下,修理结构拥有最大承载水平的方案)为止。
[0072]
最终,采用二分法改变穿孔损伤半径r,进行修理容限(上限)的确定。当修理优化方案结果符合约束条件时,则扩大穿孔损伤半径r,若扩大后的穿孔损伤半径r仍符合约束条件,则进一步扩大穿孔损伤半径r,直达无法符合约束条件才截止;然后反向减少穿孔损伤半径r,即在不满住约束条件的最小穿孔损伤半径r和满足约束条件的最大穿孔损伤半径r之间取中间值,开展循环计算(即有顺序地重复上面的确定修理容限(上限)流程),分别得不同穿孔损伤半径r的修理优化方案结果,根据在符合约束条件的前提下,通过结构修理优化不能进一步扩大的穿孔损伤半径为该蜂窝夹层结构穿孔损伤修理容限上限这一判定准则,得出其最终的修理容限上限。
[0073]
在应用本方法的关键点在于,可先初步评估受损蜂窝夹层复合材料结构可能承受的最严酷载荷工况,采用确定修理容限(上限)的流程,确定初步修理容限值。然后将该工况下的修理优化方案代入到其它工况进行校核,必要时再重复修理优化计算,结构修理容限上限值取各工况下的最小值,由此减少计算量,提高了确定修理容限值的效率。
[0074]
以上所述,仅为本发明的具体实施例,对本发明进行详细描述,未详尽部分为常规技术。但本发明的保护范围不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,其特征在于,所述方法包括以下步骤:步骤s1、进行复合材料蜂窝夹层结构的abaqus建模,得到修理模型;步骤s2、用python语言编写abaqus脚本,实现修理模型参数化;步骤s3、在满足100%强度恢复率的基础上,通过优化关键参数,实现修理结构重量最小化,得到含穿孔损伤蜂窝夹层结构的贴补修理优化数学模型;步骤s4、使用nsga-ii遗传算法,实现修理方案快速优化;步骤s5、在结合nsga-ii遗传算法的修理方案快速优化基础上,采用modefrontier多目标优化软件通过python语言的调用功能,来驱动abaqus内核的自动建模,进而集成建立确定蜂窝夹层结构穿孔损伤修理容限上限的流程;步骤s6、采用二分法改变穿孔损伤半径r,进行修理容限上限的确定。2.如权利要求1所述的蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,其特征在于,步骤s1中建模过程具体包括:步骤一:采用s4r壳单元模拟外面板和内面板,用二维hashin准则作为面板损伤起始和演化判据;步骤二:通过三明治夹芯板理论将蜂窝芯子等效成一个均匀连续且等厚度的正交各向异性层,并用c3d8r实体单元模拟,赋予三维工程常数属性和方向;步骤三:用绑定约束面板-蜂窝芯子之间以及面板-面板层压区之间的结构胶膜;步骤四:在无损伤模型的中央挖去穿透圆孔,模拟半径为r的穿孔损伤;步骤五:用s4r壳单元模拟修理补片;步骤六:用内聚力单元界面接触模拟修理补片胶膜,并用二次名义应力准则预测初始损伤和用b-k准则进行损伤演化分析;步骤七:用绑定约束模拟发泡胶;步骤八:用c3d8r实体单元模拟蜂窝芯塞,并赋予三维工程常数属性和方向;步骤九:先初步评估受损复合材料蜂窝夹层结构可能承受的最严酷载荷工况,并定义相应的边界条件;步骤十:模拟评估出无损伤模型的强度,为后面的修理方案优化确定出一个基准值;步骤十一:模拟评估出含穿孔损伤模型和修理模型的强度。3.如权利要求1所述的蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,其特征在于,步骤s2中,用python语言编写abaqus脚本包括:步骤s21、def ct(self,lm,lp,lh=r):#定义函数ct(),用于执行前处理与提交计算工作;步骤s22、s.radialdimension(,,radius=r1)#第一层修理铺层半径r1的几何创建,且搭接长度l、穿孔损伤半径r的创建与其相似;步骤s23、compositelayup.compositeply(,,orientationvalue=θn,,)#修理铺层角度θn在模型的几何建立;步骤s24、p.generatemesh()#进行模型网格的划分;步骤s25、rf=region.historyoutputs['rf1'].data#读取有限元模拟分析的破坏载荷f;
步骤s26、ms=myodb.steps['step-1'].mass#读取有限元模拟分析的修理结构重量m;步骤s27、def getival(self):#定义函数getival(),获取输入文件中修理补片铺层参数的具体值;步骤s28、def wrtval(self,v):#定义函数wrtval(),将破坏载荷f和修理结构重量m写入输出文件。4.如权利要求1所述的蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,其特征在于,在步骤s3中,所述关键参数至少包括修理补片铺层的大小、角度、层数。5.如权利要求1或4所述的蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,其特征在于,在步骤s3中,含穿孔损伤蜂窝夹层结构的贴补修理优化数学模型的设置如下:目标函数:f(x)
→
min;约束条件:f≥s;设计变量r1、l、θ1、θ2...、θ
n
、θ
′1、θ
′2...θ
′
n
、n:;式中,f(x)=m=f(r1,l,n/);f=g(r1,l,θ1,θ2...θ
n
,θ
′1,θ
′2...θ
′
n
,n)。其中,m是修理结构的重量;f是修理结构的破坏载荷;s是无损伤结构的破坏载荷;r1是第一层修理铺层半径、l是搭接长度、o1、o2...o
n
、o
′1、o
′2…
o
′
n
是第1到第n层修理铺层角度,带上标表示内面板上的修理铺层角度。6.如权利要求1所述的蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,其特征在于,步骤s4中nsga-ii遗传算法优化过程包括,步骤s41、参数编码,将修理优化的设计变量设置为整数编码;步骤s42、生成初始种群,用函数rand(),即可随机在区间[n_1,n_2]内生成整数,n_1、n_2分别表示设计变量的上限与下限;步骤s43、快速非支配排序,在执行选择算子之前依据个体间的支配关系开展种群排序;步骤s44、计算拥挤度;步骤s45、执行选择算子;步骤s46、执行交叉与变异算子;步骤s47、采取精英策略。7.如权利要求1所述的蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,其特征在于,步骤s5具体执行过程如下:步骤s51:针对穿孔损伤半径r的蜂窝夹层结构,进行abaqus建模和修理模型参数化以及修理优化分析;步骤s52:结合蜂窝夹层结构实际尺寸和修理工艺性,在modefrontier软件中设置设计变量的上下限、寻优步长,以及设置约束条件和目标函数;步骤s53:modefrontier软件用均匀拉丁超立方抽样方法,选出n1(20≤n1≤100)组设计变量值,作为设计空间的初始样本;步骤s54:modefrontier软件将初始样本写入到利用python语言实现参数化的修理模型,且用abaqus软件内核进行批量的有限元模拟计算;步骤s55:modefrontier软件读取有限元模拟结果中父代性状,例如修理后蜂窝夹层结
构的重量m与能否符合约束条件的情况;步骤s56:modefrontier软件利用nsga-ii遗传算法,对初始样本进行快速非支配排序和选择、交叉、变异以及采取精英策略等,重新生成父代种群,作为新一轮循环的初始样本;步骤s57:迭代循环第四到第六步,一直到获得该穿孔损伤半径的最佳修理优化方案或最大承载修理优化方案为止。8.如权利要求1所述的蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,其特征在于,步骤s6中,当修理优化方案结果符合约束条件时,则扩大穿孔损伤半径r,若扩大后的穿孔损伤半径r仍符合约束条件,则进一步扩大穿孔损伤半径r,直达无法符合约束条件才截止;然后反向减少穿孔损伤半径r,即在不满住约束条件的最小穿孔损伤半径r和满足约束条件的最大穿孔损伤半径r之间取中间值,开展循环计算,分别得不同穿孔损伤半径r的修理优化方案结果,根据在符合约束条件的前提下,通过结构修理优化不能进一步扩大的穿孔损伤半径为该蜂窝夹层结构穿孔损伤修理容限上限这一判定准则,得出其最终的修理容限上限。9.如权利要求8所述的蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,其特征在于,步骤s6中,循环计算是有顺序地重复上面的确定修理容限上限流程。
技术总结
本发明属于直升机结构修理技术领域,具体涉及一种蜂窝夹层结构穿孔损伤修理容限值的快速确定方法,进行复合材料蜂窝夹层结构的ABAQUS建模,得到修理模型;编写ABAQUS脚本,实现修理模型参数化;在满足100%强度恢复率的基础上,通过优化关键参数,实现修理结构重量最小化,得到含穿孔损伤蜂窝夹层结构的贴补修理优化数学模型;使用NSGA-II遗传算法,实现修理方案快速优化;在结合遗传算法的修理方案快速优化基础上,通过Python语言的调用功能,来驱动ABAQUS内核的自动建模,进而集成建立确定蜂窝夹层结构穿孔损伤修理容限上限的流程;采用二分法改变穿孔损伤半径R,进行修理容限上限的确定。本方法既能获得不同穿孔损伤的修理优化方案,又可实现修理容限的快速确定。又可实现修理容限的快速确定。又可实现修理容限的快速确定。
技术研发人员:张富强 李俊 唐江光
受保护的技术使用者:中国直升机设计研究所
技术研发日:2023.04.27
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
