System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于Matlab适用于多类型网格的柔度拓扑优化方法技术_技高网

基于Matlab适用于多类型网格的柔度拓扑优化方法技术

技术编号:41013630 阅读:4 留言:0更新日期:2024-04-18 21:50
本发明专利技术公开的一种基于Matlab适用于多类型网格的柔度拓扑优化方法,属于拓扑优化领域。基于生成单元编号—生成节点编号—构建单元与节点的联系的逻辑进行网格的建立与读取,针对每个网格独立的进行单元刚度矩阵计算,使拓扑优化不再受限于形状大小完全相同的网格;同时,针对不同类型的网格,构建不同的单元刚度矩阵计算模式,使拓扑优化能适用于多类型网格;在刚度矩阵组装过程,将单元刚度矩阵压缩成向量,根据自由度对应关系创建单元刚度矩阵中的元素在全局刚度矩阵中的行索引与列索引,使用Matlab的函数sparase将单元刚度矩阵中的元素一次性放入全局刚度矩阵对应位置组装;以柔度最小为目标函数,以体积约束为约束条件,基于有限元计算结果对结构进行优化。

【技术实现步骤摘要】

本专利技术属于拓扑优化领域,具体涉及一种基于matlab适用于多类型网格的柔度拓扑优化方法。


技术介绍

1、结构的优化方法可以分为3类:尺寸优化、形状优化和拓扑优化。其中拓扑优化通过将连续体结构优化设计问题转化为寻求材料在设计域内的最优分布问题并进行数值求解,可以最高效的利用材料,是一种重要的结构优化方法。拓扑优化的实现方法可以分为两种。一种是使用拓扑优化的商用软件,比如tosca等。基于商用软件针对结构进行拓扑优化,操作简单,但其具体的实现原理如同装在一个“黑匣子”中,无法查看,导致商用软件的操作流程固定,优化结果难以调整。另一种是通过编程实现拓扑优化,其具体的实现原理由研究者自定义,相比使用商用软件进行拓扑优化,其操作更加灵活,对于优化结果的调整更方便。

2、在已发展的编程实现拓扑优化方法中,sigmund提出经典的99行拓扑优化程序,实现逻辑为:基于matlab划分网格—载荷与边界条件施加—单元刚度矩阵计算—刚度矩阵组装—计算位移—计算柔度—柔度的敏度计算—敏度滤波—优化计算。该方法使结构的拓扑优化设计可以通过运行matalb程序实现。但是一方面,该方法只能适用于大小形状完全一致的矩形2d网格,无法满足工程实践的复杂网格需求;另一方面,当网格的规模增大,该方法的优化速度变得逐渐缓慢,对于大规模的工程实践没有可行性。


技术实现思路

1、基于上述的技术背景与实际需求,本专利技术的目的是提供一种基于matlab适用于多类型网格的柔度拓扑优化方法,基于“生成单元编号—生成节点编号—构建单元与节点的联系”的逻辑进行网格的建立与读取,针对每个网格独立的进行单元刚度矩阵计算,使拓扑优化不再受限于形状大小完全相同的网格;同时,针对不同类型的网格,构建不同的单元刚度矩阵计算模式,使拓扑优化能适用于多类型网格;以单元刚度矩阵为单位的组装,显著提高柔度拓扑优化速度。

2、本专利技术的目的是通过下述技术方案实现的:

3、本专利技术公开的基于matlab适用于多类型网格的柔度拓扑优化方法,包括如下步骤:

4、s1:基于网格划分软件进行结构的有限元网格划分,将网格转为表格形式存储,表格形式存储网格信息包括节点坐标信息、网格与节点的联系,首先生成单元编号与节点编号,再将单元编号与从属于该单元的节点编号对应,即通过将网格转为表格形式生成单元编号—生成节点编号—构建单元与节点的联系。

5、s2:基于matlab所读取的网格信息,施加载荷与边界条件,并划分设计域。其中施加区域为节点,非设计域为与受载荷节点接触的网格,设计域为非设计域以外的部分。

6、s3:在matlab中进行有限元计算,包括单元刚度矩阵计算、刚度矩阵组装和位移计算。单元刚度矩阵计算过程中将每个网格视作不同,针对每个网格独立的进行单元刚度矩阵计算,使拓扑优化不再受限于形状大小完全相同的网格;同时,针对不同类型的网格,构建不同的单元刚度矩阵计算模式,使拓扑优化能适用于多类型网格。在刚度矩阵组装环节,将单元刚度矩阵压缩成向量,再根据自由度对应关系创建单元刚度矩阵中的元素在全局刚度矩阵中的行索引与列索引,使用matlab的函数sparase将单元刚度矩阵中的元素一次性放入全局刚度矩阵对应位置组装。通过以单元刚度矩阵为单位的组装,显著提高柔度拓扑优化速度。

7、s4:以柔度最小为目标函数,以体积约束为约束条件,基于有限元计算结果对结构进行优化,包括柔度计算、单元敏度计算、敏度滤波和单元密度优化,最终得到最优的单元密度分布。

8、s5:结果显示,去除单元密度小于预设阈值的网格,所剩余的网格为优化结果,即基于matlab实现适用于多类型网格的柔度拓扑优化。

9、还包括s6:根据s5得到的适用于多类型网格的柔度拓扑优化结果,指导工程结构设计,降低工程结构的柔度、同时减轻工程结构的重量,满足结构的性能与轻量化要求。

10、优选的,s1所述的网格划分软件是hypermesh,使用hypermesh针对分析对象划分网格,包括将几何模型导入hypermesh、划分2d网格和划分3d网格。网格类型为四面体网格,s1所述网格文件的存储,第一部分为网格节点信息,具体为节点数量*4的表格,其中第一列为索引标记“node”,后三列为节点坐标;第二部分为网格与节点的联系,具体为网格数量*5的表格,其中第一列为索引标记“mesh”,后四列为网格所对应的节点序号。

11、优选的,s2施加载荷与边界条件,并划分设计域,通过调用边界条件施加模块、载荷施加模块与设计域划分模块实现。边界条件施加模块用于在节点上施加边界条件,载荷施加模块用于在节点上施加载荷,设计域划分模块用于获取受载的节点,并将与受载荷节点相接触的网格划分为非设计区域,即不受拓扑优化作用的区域。剩下的区域为设计域,即受拓扑优化作用的区域;

12、优选的,s3进行有限元计算通过调用有限元分析模块实现,具体包括以下步骤:

13、s31:单元刚度矩阵计算模块,进行单元刚度矩阵的计算。当使用四面体网格,其单元刚度矩阵计算如下:

14、

15、

16、

17、

18、

19、

20、

21、

22、

23、

24、

25、

26、

27、

28、

29、

30、

31、

32、

33、

34、

35、

36、

37、

38、其中,xij、yij、zij分别表示编号i的网格中第j个节点的x、y、z坐标;e是材料弹性模量、υ是泊松比;ki表示编号i网格的单元刚度矩阵。

39、s32:刚度矩阵组装模块,进行刚度矩阵的组装,得到全局刚度矩阵k。为了节省内存,加快运算速度,将整体刚度矩阵存储为稀疏矩阵。按照单元位移自由度的对应位置进行组装。刚度矩阵组装公式如下:

40、

41、式中的求和符号不是表示矩阵相加,而是表示按照单元位移自由度的位置进行组装。k是全局刚度矩阵,ke是每个网格的单元刚度矩阵。

42、在本专利技术中,采用拓扑优化进行有限元计算,因此有限元计算需要考虑单元密度的影响进行修正,该修正编写在刚度矩阵组装的模块中。当考虑单元密度时,刚度矩阵组装公式作如下变化:

43、

44、其中xe是每个单元的单元密度,p是惩罚因子。

45、s33:有限元计算模块,进行节点位移计算。节点位移公式如下计算:

46、k·u=p

47、其中k为全局刚度矩阵,u为节点位移阵,p为载荷列阵。有限元的计算结果作为拓扑优化中目标函数计算与单元敏度计算的输入;

48、优选的,s4进行拓扑优化通过调用优化模块实现,具体包括以下步骤:

4本文档来自技高网...

【技术保护点】

1.基于Matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:包括如下步骤,

2.如权利要求1所述的基于Matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:还包括S6:根据S5得到的适用于多类型网格的柔度拓扑优化结果,指导工程结构设计,降低工程结构的柔度、同时减轻工程结构的重量,满足结构的性能与轻量化要求。

3.如权利要求1或2所述的基于Matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:S1所述的网格划分软件是Hypermesh,使用Hypermesh针对分析对象划分网格,包括将几何模型导入Hypermesh、划分2D网格和划分3D网格;网格类型为四面体网格,S1所述网格文件的存储,第一部分为网格节点信息,具体为节点数量*4的表格,其中第一列为索引标记“Node”,后三列为节点坐标;第二部分为网格与节点的联系,具体为网格数量*5的表格,其中第一列为索引标记“Mesh”,后四列为网格所对应的节点序号。

4.如权利要求3所述的基于Matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:S2施加载荷与边界条件,并划分设计域,通过调用边界条件施加模块、载荷施加模块与设计域划分模块实现;边界条件施加模块用于在节点上施加边界条件,载荷施加模块用于在节点上施加载荷,设计域划分模块用于获取受载的节点,并将与受载荷节点相接触的网格划分为非设计区域,即不受拓扑优化作用的区域;剩下的区域为设计域,即受拓扑优化作用的区域。

5.如权利要求4所述的基于Matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:S3进行有限元计算通过调用有限元分析模块实现,具体包括以下步骤,

6.如权利要求5所述的基于Matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:S4进行拓扑优化通过调用优化模块实现,具体包括以下步骤,

7.如权利要求6所述的基于Matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:S5结果显示包括显示拓扑优化后的单元密度分布云图、拓扑优化后的形态,以及拓扑优化后的目标函数值。

...

【技术特征摘要】

1.基于matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:包括如下步骤,

2.如权利要求1所述的基于matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:还包括s6:根据s5得到的适用于多类型网格的柔度拓扑优化结果,指导工程结构设计,降低工程结构的柔度、同时减轻工程结构的重量,满足结构的性能与轻量化要求。

3.如权利要求1或2所述的基于matlab适用于多类型网格的柔度拓扑优化方法,其特征在于:s1所述的网格划分软件是hypermesh,使用hypermesh针对分析对象划分网格,包括将几何模型导入hypermesh、划分2d网格和划分3d网格;网格类型为四面体网格,s1所述网格文件的存储,第一部分为网格节点信息,具体为节点数量*4的表格,其中第一列为索引标记“node”,后三列为节点坐标;第二部分为网格与节点的联系,具体为网格数量*5的表格,其中第一列为索引标记“mesh”,后四列为网格所对应的节点序号。

4.如权利要求3所述的基于m...

【专利技术属性】
技术研发人员:黄渭清赵轩毅夏鹏宇冯慧华左正兴
申请(专利权)人:北京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1