基于反正切的动态进化率BESO拓扑优化方法及其应用与流程

文档序号:18901015发布日期:2019-10-18 21:56阅读:486来源:国知局
基于反正切的动态进化率BESO拓扑优化方法及其应用与流程

本发明涉及结构拓扑优化技术领域,特别涉及一种基于反正切的动态进化率beso拓扑优化方法及其应用。



背景技术:

结构拓扑优化常常应用在建筑领域以及3d打印等优化加工领域。拓扑优化的目标是在结构的设计域内寻找满足设计条件的最优拓扑,以充分发挥材料性能,使得结构具有抵抗外力的最佳效率。在目前最为常用的结构优化设计方法中,beso(bidirectionalevolutionstructuraloptimization,双向渐进结构优化算法)方法是目前最为流行的拓扑优化设计方法之一,但这种方法一般使用固定的进化率(静态进化率),即对于整个结构,每次更新的单元数与整个设计域的总单元数的比例保持不变。要使得迭代程序在结构优化过程末期能够稳定收敛,进化率就应该设置为一个较小的值,也就是采用较低的进化率;但这样在优化过程初期的进化率就会过低,导致优化迭代的步数增加,从而导致整体优化过程的计算效率降低,这也说明进化率在整个优化过程中保持为常数并非优选的方案。



技术实现要素:

本发明的第一目的在于克服现有技术的缺点与不足,提供一种基于反正切的动态进化率beso拓扑优化方法,该方法利用动态进化率可加快基本结构的拓扑优化,通过较少的计算和时间即可得到优化结构,提高拓扑优化的效率和灵活度。

本发明的第二目的在于提供一种基于反正切的动态进化率beso拓扑优化方法的应用。

本发明的第三目的在于提供一种存储介质。

本发明的第四目的在于提供一种计算设备。

本发明的第一目的通过下述技术方案实现:一种基于反正切的动态进化率beso拓扑优化方法,包括:一种基于反正切的动态进化率beso拓扑优化方法,其特征在于,包括:

步骤s1、针对于需要进行拓扑优化的基本结构,在给定边界和加载条件下用有限元网格离散设计域,得到有限元模型;

步骤s2、针对有限元模型,确定初始化的相关参数;

步骤s3、针对有限元模型执行有限元分析,计算有限元模型每个单元的综合灵敏度,根据反正切动态进化率函数构造有限元模型当前动态进化率;

步骤s4、根据有限元模型的当前动态进化率确定有限元模型当前迭代步中需要更新的单元数目;然后根据所确定的需要更新的单元数目和计算所得的有限元模型每个单元的综合灵敏度对有限元模型进行更新优化;

步骤s5、判断当前更新后的有限元模型的结构是否满足约束条件或收敛条件;

若否,则返回步骤s3;

若是,则结束有限元模型的优化,输出优化模型。

优选的,在步骤s3中,根据反正切动态进化率函数构造有限元模型当前动态进化率为:

其中,i为有限元模型的迭代步数;erri为第i个迭代步的动态进化率;ermax和ermin分别为预设的最大进化率和最小进化率;k1和k2为用于调节动态进化率函数曲线形状的参数;vi为第i个迭代步下有限元模型的体积;v*为拓扑优化的目标体积;vfull为设计域的体积。

优选的,步骤s5中收敛条件为:在连续的多个迭代步中,结构平均柔顺度波动小于一定值;约束条件包括频率约束值、位移约束值和体积率约束值,其中体积率为有限元模型优化后的体积与设计域体积之比。

优选的,在步骤s4中,根据动态进化率确定有限元模型中需要更新的单元数目,计算公式具体如下:

ni=erri×nfull;

其中,i为有限元模型的迭代步数;ni为第i个迭代步下有限元模型中需要更新的单元数目;erri为第i个迭代步的动态进化率;nfull为设计域的单元总数。

优选的,步骤s2中的有限元模型的相关参数包括有限元模型的加载条件、元素的初始属性、约束条件、用于单元灵敏度模糊的过滤半径和拓扑优化的目标体积。

优选的,在步骤s3中,计算有限元模型每个单元的综合灵敏度,具体为:

步骤s31、根据有限元模型的相关参数对有限元模型进行有限元分析,计算得到每个单元的频率灵敏度、位移灵敏度和刚度灵敏度;

步骤s32、根据每个单元的频率灵敏度、位移灵敏度和刚度灵敏度,利用拉格朗日乘子法计算得到有限元模型每个单元的综合灵敏度。

优选的,在步骤s4中,根据当前迭代步所确定的需要更新的单元数目ni和步骤s3计算得到的有限元模型每个单元的综合灵敏度对有限元模型进行更新优化,具体过程如下:比较有限元模型各单元的综合灵敏度,将其中综合灵敏度最大的ni个单元选取出来,作为待保留单元,其他单元作为待剔除单元,从而完成当前迭代步的有限元模型更新优化;

在步骤s5中,若当前更新后的有限元模型的结构满足约束条件或收敛条件,则将当前迭代步中步骤s4中待剔除单元剔除,待保留单元作为最终保留单元进行保留,从而输出优化模型。

本发明的第二目的通过下述技术方案实现:一种基于反正切的动态进化率beso拓扑优化方法的应用,其特征在于,将本发明第一目的所述的基于反正切的动态进化率beso拓扑优化方法应用在悬臂结构的拓扑优化中;

其中,步骤s1中的基本结构指的是需要进行拓扑优化得到悬臂优化结构的基本结构;执行步骤s1至步骤s5后得到悬臂优化结构。

本发明的第三目的通过下述技术方案实现:一种存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现本发明第一目的所述的基于反正切的动态进化率beso拓扑优化方法。

本发明的第四目的通过下述技术方案实现:一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现本发明第一目的所述的基于反正切的动态进化率beso拓扑优化方法。

本发明相对于现有技术具有如下的优点及效果:

(1)本发明基于反正切的动态进化率beso拓扑优化方法,首先针对于需要进行拓扑优化的基本结构,构建有限元模型;针对有限元模型确定初始化的相关参数;针对有限元模型执行有限元分析,计算有限元模型每个单元的综合灵敏度,根据反正切动态进化率函数构造有限元模型当前动态进化率;根据有限元模型的当前动态进化率确定有限元模型当前迭代步中需要更新的单元数目;然后根据所确定的需要更新的单元数目和计算所得的有限元模型每个单元的综合灵敏度对有限元模型进行更新优化;判断当前更新后的有限元模型的结构是否满足约束条件或收敛条件;若否,则重复执行上述步骤对当前有限元模型继续进行优化,若是,则结束有限元模型的优化,输出优化模型。本发明利用了反正切动态进化率函数更新当前有限元模型当前动态进化率,反正切动态进化率函数能够保证拓扑优化迭代初期进化率始终保持在较高水平,从而使拓扑优化过程能够快速演化,而在结构优化末期进化率能够稳定的保持在较低水平,从而保证拓扑优化的稳定性,相较于传统优化方法利用静态进化率,本发明可利用反正切动态进化率函数得到的动态进化率能够加快基本结构的拓扑优化,通过较少的计算和时间即可得到优化结构,节省了优化时间,提高了拓扑优化的效率和灵活度。

(2)本发明基于反正切的动态进化率beso拓扑优化方法中,有限元模型的动态进化率通过反正切动态进化率函数进行计算,使得拓扑优化早期的动态进化率较大,且保持稳定,从而能够保证基本结构向最优结构快速演化;在拓扑优化中期,动态进化率快速下降,逐渐稳定与一个较小的值,从而保证基本结构在拓扑优化末期能够稳定收敛,因此通过反正切动态进化率函数得到有限元模型的动态进化率,可以更符合节省迭代步数和迭代时间的拓扑优化要求。

(3)本发明基于反正切的动态进化率beso拓扑优化方法中,通过先计算每个单元的频率灵敏度、位移灵敏度和刚度灵敏度,再根据每个单元的频率灵敏度、位移灵敏度和刚度灵敏度,利用拉格朗日乘子法计算得到有限元模型每个单元的综合灵敏度,有限元模型根据结合了每个单元频率灵敏度、位移灵敏度和刚度灵敏度的综合灵敏度和由当前迭代步所确定的需要更新的单元数目进行更新优化,使得更新优化后的优化结构更准确可靠。

附图说明

图1为本发明基于反正切的动态进化率beso拓扑优化方法的流程图。

图2为本发明悬臂结构对应有限元模型的示意图。

图3为本发明反正切动态进化率函数的示意图。

图4为本发明针对悬臂结构基本结构进行拓扑优化过程的示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

本发明公开了一种基于反正切的动态进化率beso拓扑优化方法,如图1所示,包括:

步骤s1、针对于需要进行拓扑优化的基本结构,在给定边界和加载条件下用有限元网格离散设计域,得到有限元模型。

步骤s2、针对有限元模型,确定初始化的相关参数;相关参数包括有限元模型的加载条件、元素的初始属性、约束条件、用于单元灵敏度模糊的过滤半径和拓扑优化的目标体积。在本实施例中,约束条件可以包括频率约束值、位移约束值和体积率约束值,其中体积率为有限元模型优化后的体积与设计域体积之比。

步骤s3、针对有限元模型执行有限元分析,计算有限元模型每个单元的综合灵敏度,根据反正切动态进化率构造有限元模型当前动态进化率;

其中,计算有限元模型的综合灵敏度,具体为:

步骤s31、根据有限元模型的相关参数对有限元模型进行有限元分析,计算得到每个单元的频率灵敏度、位移灵敏度和刚度灵敏度;

步骤s32、根据每个单元的频率灵敏度、位移灵敏度和刚度灵敏度,利用拉格朗日乘子法计算得到有限元模型每个单元的综合灵敏度。

其中,有限元模型的动态进化率通过反正切动态进化率函数进行计算,具体为:

其中,i为有限元模型的迭代步数;erri为第i个迭代步的动态进化率;ermax和ermin分别为预设的最大进化率和最小进化率;k1和k2为用于调节动态进化率函数曲线形状的参数,k1一般为20~40,k2一般为-20~-5;vi为第i个迭代步下有限元模型的体积;v*为拓扑优化的目标体积;vfull为设计域的体积。

动态进化率的数值大小在不同迭代步数i下呈动态变化,但动态进化率的数值大小始终位于[0,1]范围内。

步骤s4、根据有限元模型的当前动态进化率确定有限元模型当前迭代步中需要更新的单元数目;然后根据所确定的需要更新的单元数目和步骤s3计算得到的有限元模型每个单元的综合灵敏度对有限元模型进行更新优化;

其中,根据动态进化率确定有限元模型中需要更新的单元数目ni,计算公式具体如下:

ni=erri×nfull;

其中,i为有限元模型的迭代步数;ni为第i个迭代步下有限元模型中需要更新的单元数目;erri为第i个迭代步的动态进化率;nfull为设计域的单元总数。

步骤s5、判断当前更新后的有限元模型的结构是否满足约束条件或收敛条件;

若否,则返回步骤s3;

若是,则结束有限元模型的优化,输出优化模型。

在步骤s4中,根据当前迭代步所确定的需要更新的单元数目ni和步骤s3计算得到的有限元模型每个单元的综合灵敏度对有限元模型进行更新优化,具体过程如下:比较有限元模型各单元的综合灵敏度,将其中综合灵敏度最大的ni个单元选取出来,作为待保留单元,其他单元作为待剔除单元,从而完成当前迭代步的有限元模型更新优化。在步骤s5中,若当前更新后的有限元模型的结构满足约束条件或收敛条件,则将当前迭代步中步骤s4中待剔除单元剔除,待保留单元作为最终保留单元进行保留,从而输出优化模型。

在本实施例中,上述约束条件可以为频率达到频率约束值,位移也达到位移约束值,体积率达到体积率约束值;收敛条件可以为:在连续的多个迭代步中,结构平均柔顺度波动小于一定值。例如:在连续的10迭代步中,结构平均柔顺度波动小于千分之一。

本实施例公开了一种基于反正切的动态进化率beso拓扑优化方法的应用,具体为,将实施例1的基于反正切的动态进化率beso拓扑优化方法应用在悬臂结构的拓扑优化中。其中,步骤s1中的基本结构指的是需要进行拓扑优化得到悬臂优化结构的基本结构,该基本结构体可以是一个长方体。

本实施例中,悬臂结构的拓扑优化过程具体如下:

在步骤s1中,针对于需要进行拓扑优化得到悬臂结构的基本结构,在给定边界和加载条件下用有限元网格离散设计域,得到初始的有限元模型,如图2所示。

在本实施例中,悬臂结构的基本结构是长宽高为80mm、50mm和1mm的长方体,材料弹性模量为1×106mpa,泊松比为0.3,材料的密度是1000kg/m3,该基本结构具有上下左右边界,其中,基本结构的左边界采用固定支承固定;利用有限元模型网格离散设计域,可将该基本结构划分为4000个单元,如图2中所示。

在步骤s2中,针对有限元模型,确定初始化的加载条件、元素的初始属性、约束条件,用于单元灵敏度模糊的过滤半径和拓扑优化的目标体积等相关参数。

在本实施例中,设定加载条件f=9000n,并将该9000n的加载条件作为集中荷载作用在有限元模型的右边界中心位置;设定有限元模型的一阶固有圆频率即频率约束值ω2>37500rad/s;集中荷载作用点处的竖向位移即位移位置d2<0.4mm;体积率(优化后的体积与原设计域体积之比)约束值v/vfull≤0.4。

在步骤s3中,针对有限元模型执行有限元分析,计算出相应频率、位移以及刚度下的单元灵敏度,并利用拉格朗日乘子法计算有限元模型每个单元的综合灵敏度;同时通过反正切动态进化率函数计算当前动态进化率;

在步骤s4中,根据有限元模型的当前动态进化率确定有限元模型当前迭代步中需要更新的单元数目;然后根据所确定的单元数目和上述计算所得的有限元模型每个单元的综合灵敏度对有限元模型进行更新优化;在步骤s5中,判断当前更新后的有限元模型的结构是否满足约束条件或收敛条件。在本实施例中,约束条件设为:频率达到频率约束值,具体为有限元模型的一阶固有圆频率ω2>37500rad/s;位移也达到位移约束值,具体为有限元模型的集中荷载作用点处的竖向位移d2<0.4mm;体积率约束值,具体为有限元模型当前更新优化后的体积与原设计域体积之比v/vfull≤0.4。收敛条件设为:在连续的10个迭代步中,结构平均柔顺度波动小于千分之一;

若否,则返回步骤s3重新执行有限元分析,并按照顺序继续进行优化;

若是,则结束有限元模型的优化,将当前迭代步下步骤s4中更新优化后的有限元模型作为最终优化模型。

图3为在不同体积率及不同k1、k2条件下悬臂结构优化的反正切动态进化率函数。从图3可得,在拓扑优化早期(迭代步数少),反正切动态进化率函数在体积率接近于1时,动态进化率处于一个较高的水平,且不同k1、k2条件下的动态进化率在一个较小的区间内都趋向于一条水平线。因为动态进化率处于一个较高水平并保持稳定,使得拓扑优化早期的动态进化率始终较高,从而能够保证基本结构向最优结构快速演化。在拓扑优化中期,动态进化率快速下降,逐渐稳定至一个较小的值,从而保证基本结构在拓扑优化末期能够稳定收敛。在拓扑优化接近于收敛的末期(迭代步数多),反正切动态进化率函数在体积率较小时,动态进化率处于一个较低的水平,且不同k1、k2条件下的动态进化率在一个较小的区间内都趋向于一条水平线,说明拓扑优化已基本完成,所得的优化后的结构即为悬臂结构。

图4为需要进行拓扑优化得到悬臂结构的基本结构分别利用静态进化率和本实施例动态进化率的拓扑优化过程,其中,静态进化率设为0.01,即每个迭代步更新全部单元数量的1%。从图4可以看出,本实施例拓扑优化利用反正切动态进化率函数,在第43步就已逼近收敛,而利用静态进化率的拓扑优化在第75步才逼近收敛,这说明动态进化率所需的迭代步数远少于静态进化率所需的迭代步数,因此说明了拓扑优化利用反正切动态进化率函数得到的动态进化率能够大幅度节省计算时间。在本实施例中,动态进化率可节省计算耗时约为43%。在图4中,在结构拓扑优化的早期,以第20迭代步为例,采用动态进化率方法得到的优化结构已经接近于最优结构,而采用静态进化率得到的优化结构与最优结构相差巨大,因此说明了利用反正切动态进化率函数得到的动态进化率的方法可以以极小的计算代价获得接近于最优结构。

本实施例还公开了一种存储介质,存储有程序,所述程序被处理器执行时,实现基于动态进化率的beso拓扑优化方法,具体如下:

针对于需要进行拓扑优化的基本结构,在给定边界和加载条件下用有限元网格离散设计域,得到有限元模型;

针对有限元模型,确定初始化的相关参数;

针对有限元模型执行有限元分析,计算有限元模型每个单元的综合灵敏度以及当前动态进化率;根据反正切动态进化率函数构造有限元模型当前动态进化率;

其中,根据反正切动态进化率函数构造有限元模型当前动态进化率,具体为:

其中,i为有限元模型的迭代步数;erri为第i个迭代步的动态进化率;ermax和ermin分别为预设的最大进化率和最小进化率;k1和k2为用于调节动态进化率函数曲线形状的参数;vi为第i个迭代步下有限元模型的体积;v*为拓扑优化的目标体积;vfull为设计域的体积。

根据有限元模型的当前动态进化率确定有限元模型当前迭代过程中需要更新的单元数目;然后根据所确定的单元数目和有限元模型每个单元的综合灵敏度对有限元模型进行更新优化;

其中,根据有限元模型的当前动态进化率确定有限元模型中需要更新的单元数目,具体通过如下公式进行计算:

ni=erri×nfull;

其中,i为有限元模型的迭代步数;ni为第i个迭代步下有限元模型中需要更新的单元数目;erri为第i个迭代步的动态进化率;nfull为设计域的单元总数;

判断当前更新后的有限元模型的结构是否满足约束条件或收敛条件;

若否,则返回执行有限元分析,按照如上优化流程重新进行优化;

若是,则结束有限元模型的优化,输出优化模型。

本实施例可应用于悬臂结构的优化,在处理器执行完如上所述的基于动态进化率的beso拓扑优化方法的程序后,可得到优化后的悬臂结构。

本实施例中的存储介质可以是磁盘、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、u盘、移动硬盘等介质。

本实施例还公开了一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现基于动态进化率的beso拓扑优化方法,具体如下:

针对于需要进行拓扑优化的基本结构,在给定边界和加载条件下用有限元网格离散设计域,得到有限元模型;

针对有限元模型,确定初始化的相关参数;

针对有限元模型执行有限元分析,计算有限元模型每个单元的综合灵敏度以及当前动态进化率;根据反正切动态进化率函数构造有限元模型当前动态进化率;

其中,根据反正切动态进化率函数构造有限元模型当前动态进化率,,具体为:

其中,i为有限元模型的迭代步数;erri为第i个迭代步的动态进化率;ermax和ermin分别为预设的最大进化率和最小进化率;k1和k2为用于调节动态进化率函数曲线形状的参数;vi为第i个迭代步下有限元模型的体积;v*为拓扑优化的目标体积;vfull为设计域的体积。

根据有限元模型的当前动态进化率确定有限元模型当前迭代过程中需要更新的单元数目;然后根据所确定的单元数目和有限元模型每个单元的综合灵敏度对有限元模型进行更新优化;

其中,根据有限元模型的当前动态进化率确定有限元模型中需要更新的单元数目,具体通过如下公式进行计算:

ni=erri×nfull;

其中,i为有限元模型的迭代步数;ni为第i个迭代步下有限元模型中需要更新的单元数目;erri为第i个迭代步的动态进化率;nfull为设计域的单元总数;

判断当前更新后的有限元模型的结构是否满足约束条件或收敛条件;

若否,则返回执行有限元分析,按照如上优化流程重新进行优化;

若是,则结束有限元模型的优化,输出优化模型。

本实施例可通过计算设备中的ansys软件进行apdl编程,实现基于动态进化率的beso拓扑优化方法。本实施例可应用于悬臂结构的优化,在计算设备中的处理器执行完存储器中如上所述的基于动态进化率的beso拓扑优化方法的程序后,可得到优化后的悬臂结构。

本实施例中所述的计算设备可以是台式电脑、笔记本电脑、智能手机、pda手持终端、平板电脑或其他具有处理器功能的终端设备。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1