摘要
在使用双向渐进式拓扑优化算法(BESO)时,优化结果中常会出现棋盘格和网格依赖的现象。单元灵敏度过滤器是解决此类问题的有效方法,但随着结构规模扩大单元数量增多,计算单元权重因子耗时将十分可观,其原因是计算单元的权重因子数据需进行多次循环嵌套,逐一计算单元中心距,串行算法使得计算效率低下。通过结合深度学习训练模型中将数据集进行向量化预处理的思想,对灵敏度过滤计算所需数据进行向量化预处理,并推导了基于向量化的单元灵敏度过滤算法,将逐一的标量运算改进为可并行的矩阵运算。对向量化算法中可能出现的储存空间占用过大的问题,使用稀疏矩阵对储存空间进行优化,提出进一步改进的Sparse算法。通过ABAQUS二次开发实现了改进后的BESO拓扑优化流程,分别使用二维和三维悬臂梁算例进行计算时长验证,结果表明向量化的灵敏度过滤算法的加速比相对于双循环算法最高可达6,Sparse算法的加速比可达8,改进后的算法极大提升了单元权重因子和灵敏度过滤的计算速度。在计算权重因子时,Sparse算法的耗时略高于向量化算法,但在优化总耗时方面,Sparse算法优于向量化算法;当结构规模大单元数过多时,向量化算法可能限于硬件的内存容量无法计算,而Sparse算法则能够正常计算。
-
单位土木工程学院; 中南大学