基于遗传算法的疲劳裂纹扩展方法优化研究

来源:期刊VIP网所属分类:计算机信息管理发布时间:2022-01-08浏览:

  摘 要:当前,用于预测疲劳裂纹扩展的方法多种多样,但无论哪一种裂纹扩展方法,都是以扩展点的扩展代替整个裂纹的扩展。因此,对扩展点的优化具有重要意义。考虑到遗传算法对多参数优化具有较好的效果,基于遗传算法对扩展点的个数和分布进行了优化研究;引进了“位置比”这个概念,以最外侧扩展点的位置比表征扩展点的分布;介绍了一种裂纹扩展的数值方法,计算数值结果与实验结果的误差,取该误差的倒数作为个体适应度。结果表明,当扩展点个数和最外侧扩展点位置比分别为11和0.95时,个体适应度最高,数值预测精度最好。

  关键词:遗传算法;裂纹扩展;扩展点个数;位置比;优化

  引言(Introduction)

  工程構件在生产、安装、使用过程中,难免会受到挤压、划伤等,造成表面损伤。在循环荷载作用下,这些表面损伤将演变为表面裂纹,最终断裂,从而导致构件失效。因此,研究表面裂纹的扩展机理具有很大的经济价值和现实意义[1-4]。LIN等[5]、WU[6]通过三次样条曲线拟合表面裂纹扩展形状,而NEWMAN等[7]、SONG等[8]和LIU等[9]则通过椭圆弧拟合表面裂纹扩展形状,虽然他们使用的裂纹扩展方法不同,但都是通过对扩展点的拟合得到扩展结果的。因此,对扩展点的优化具有重要意义。

  遗传算法作为一种最优算法,在很多领域得到应用[10-12]。随着遗传算法的不断完善,其应用的领域也越来越广[13-16]。考虑到遗传算法对多参数优化具有较好的优化效果,本文基于遗传算法对裂纹扩展过程中的扩展点个数与分布进行了优化研究。

  2 裂纹扩展方法(Crack growth method)

  2.1 位置比的确定

  图1是位置比的示意图,其定义如式(1)所示,其中代表裂纹上的任何点p到裂纹最深点的距离,代表表面点到裂纹最深点的距离。对于一个给定的裂缝,因为最深的点和表面点是固定的,也是固定的。点p的位置发生变化,也发生变化,从而使R发生变化。换句话说,每一个点p的位置对应一个R,反过来,给出一个R也就能确定点p的位置。

  2.2 裂纹扩展步骤

  当裂纹从第条裂纹扩展到第 条裂纹时,其裂纹扩展示意图如图2所示。

  其具体步骤如下:

  (1)在第条裂纹上取N 个扩展点,其坐标为,代表第个扩展点,其取值为1到N。

  (2)计算第 个扩展点的扩展步长。其中是第条裂纹上的第 个扩展点的应力强度因子幅,是第条裂纹上的第1 个扩展点的应力强度因子幅。是第1 个扩展点的扩展量。

  (3)根据扩展点垂直于当前裂纹,求出扩展后的第 个扩展点pj,其坐标为。

  (4)根据每个扩展点扩展后的坐标,拟合出第 条裂纹。

  (5)将第条裂纹上的扩展点垂线与第 条裂纹的交点作为第 条裂纹的扩展点,其坐标为。

  由于第1 条裂纹是已知的,从而可以得出第2 条裂纹,依次迭代可以得出整个扩展过程的所有裂纹。

  3 数值结果处理(Numerical result processing)

  考虑到优化时需要一个优化标准,因此提出一种可以量化数值结果与实验结果误差的方法。其原理是用一条曲线拟合实验结果,然后以拟合曲线与数值曲线的接近程度作为优化标准。实验结果来源于TORIBIO等人[17]。

  3.1 实验结果的处理

  图3是用Origin软件拟合实验数据后的结果图。图3中的拟合结果如表1所示。则实验数据拟合曲线的方程为:

  3.2 数值结果与实验结果的误差计算

  经过将实验数据拟合后,实验结果可以用一条曲线代替,而数值结果也能用一条曲线表示,因此,可以将数值结果与实验结果的误差用两条曲线的误差代替。其示意图如图4所示,具体步骤如下:

  (1)将数值结果中的n 个数据点连接起来。

  (2)在实验拟合曲线中取出n 个数据点,保证两条曲线中的n 个数据点的相对裂纹深度相同。

  (3)计算两条曲线中n 个数据点的相对裂纹弦长差。

  (4)计算两条曲线的误差。

  4 基于遗传算法的研究方法(Research method based on genetic algorithm)

  遗传算法的优化目标包括扩展点个数和扩展点分布,其中扩展点分布是通过最外侧扩展点的位置比实现的。遗传算法所选取的种群个数为8,实现步骤可以分为六步,即编码、解码、求解适应度、复制、交叉、变异。

  (1)编码

  根据经验,扩展点个数一般小于20,扩展点个数范围选为3—18,共16 种选择;而扩展点位置比为0.11、0.23、0.35、0.47、0.59、0.71、0.83和0.95,共八种选择。

  因此,染色体位数选择为七位,前四位代表扩展点个数,后三位代表位置比,相对应的关系如表2和表3所示。可以将相关参数转换成染色体编号。

  (2)解码

  解码规则与编码规则是相对应的,可以根据染色体编号通过查询表2和表3获得对应的相关参数。

  (3)求解适应度

  每个个体中的染色体都能通过解码找到其对应的扩展点个数和位置比,通过这两个参数就能得到相应的数值结果,再将数值结果进行处理,就得到了数值结果与实验结果的误差,最后取误差的倒数作为该个体的适应度。

  (4)复制

  将种群中适应度最低的个体用适应度最高的个体替代,就是更新后的种群。

  (5)交叉

  种群中个体与个体间有一定概率发生部分染色体交换的情况,用MATLAB实现的代码如图5所示。

  (6)变异

  除了个体与个体之间的交换会改变染色体外,每个个体自身的变异也会改变染色体的编号,用MATLAB实现的代码如图6所示。

  5 种群进化(Population evolution)

  首先,种群的第一代个体所对应的染色体编号由电脑随机生成,其相关信息如表4所示。个体3适应度最小,个体4适应度最大。

  将第一代种群进行复制、交叉与变异后得到第二代种群,其相关信息如表5所示。个体3适应度最小,个体8适应度最大。

  将第二代种群进行复制、交叉与变异后得到第三代种群,其相关信息如表6所示。个体8适应度最小,个体4适应度最大。

  将第三代种群进行复制、交叉与变异后得到第四代种群,其相关信息如表7所示。个体1适应度最小,个体3适应度最大。

  将第四代种群进行复制、交叉与变异后得到第五代种群,其相关信息如表8所示。个体3适应度最小,个体5适应度最大。

  将第五代种群进行复制、交叉与变异后得到第六代种群,其相关信息如表9所示。个体2适应度最小,个体1适应度最大。

  将第六代种群进行复制、交叉与变异后得到第七代种群,其相关信息如表10所示。个体6适应度最小,个体2和个体3适应度最大。

  将第七代种群进行复制、交叉与变异后得到第八代种群,其相关信息如表11所示。个体3适应度最小,个体2和个体6适应度最大。

  6 结果与讨论(Results and discussion)

  将每代种群中最高的个体适应度作为该代种群中最佳适应度,从而可以得到种群中最佳适应度与种群迭代次数的关系,如图7所示。从图7中可以看出,当种群从第五代开始,种群中最佳适应度就一直维持在同一个水平。说明此时的种群已经进化到最佳状态,则种群中最佳适应度对应的个体就是最佳个体,其对应的染色体编号为1000111,经过解码后,得知其對应的扩展点个数和位置比分别为11和0.95。

  对于扩展点,当扩展点较少时,用于预测下一条裂纹的拟合数据较少,导致误差偏大;而当扩展点较多时,由于在模型计算中划分网格精度不高,计算出的应力强度因子幅误差偏大,从而使得单个扩展点精度不足,进而误差也偏大。对于位置比,位置比越大,最外侧扩展点越接近圆柱体表面,扩展点在整个裂纹前沿的分布范围也越广,也就越有利于减小误差。

  7 结论(Conclusion)

  本文通过遗传算法对疲劳裂纹扩展过程中扩展点的个数和分布进行了优化研究。具体结论如下:

  (1)引进了位置比的概念,通过改变位置比实现对扩展点分布的改变。介绍了疲劳裂纹扩展方法,通过该方法可以实现在不同扩展点个数和分布下的数值扩展。

期刊VIP网,您身边的高端学术顾问

文章名称: 基于遗传算法的疲劳裂纹扩展方法优化研究

文章地址: http://www.qikanvip.com/jisuanjixinxiguanli/61181.html