一种RDPRQCG的大规模结构拓扑频率优化方法与流程

文档序号:35134684发布日期:2023-08-16 17:33阅读:200来源:国知局
一种RDPRQCG的大规模结构拓扑频率优化方法与流程

本技术属于结构优化,具体涉及一种rdprqcg(reduction ratio anddiagonal preconditioning rayleigh quotient conjugate gradient,变缩比和对角预处理的瑞利商共轭梯度)的大规模结构拓扑频率优化方法。


背景技术:

1、在考虑频率要求的大规模结构拓扑优化研究中,不可避免地涉及到大规模结构少量固有频率和振型计算(即广义特征值问题进行求解)。大规模结构总自由度数n很大,大规模结构拓扑优化过程中,广义特征值问题的系数矩阵常出现病态现象。求解此类广义特征值问题的部分特征对的难度是巨大的,且传统对角预处理器可以看作是提取k的对角元素,忽略该未知元素(用这个对角元素表示)对其他未知元素可能存在的耦合作用。基于传统对角预处理器的结构拓扑优化设计的效率不高,且难于适应规模结构拓扑优化过程中含有病态系数矩阵的结构固有频率和振型计算。

2、另外,当采用传统的串行拓扑优化算法对结构进行优化设计时,组装整体刚度矩阵的效率直接受到单元数量的影响。随着单元数量的增加,基于整体刚度矩阵和质量矩阵求解广义特征值问题的部分特征对的时间急剧上升,每个优化迭代步需要几十分钟甚至更久。因此,借助最新发展的具有多线程并行计算的gpu,研发既能减少迭代次数,且又能适应含有病态系数矩阵的结构固有频率和振型并行计算的方法是很有必要的。基于gpu的大规模结构拓扑频率优化方法会极大地提高计算效率,满足大规模工程结构设计要求。


技术实现思路

1、本技术实施的目的是提供一种rdprqcg的大规模结构拓扑频率优化方法。首先,提出了一种新的变缩比和对角预处理器;并将该预处理技术与gpu并行计算方式和瑞利商共轭梯度法结合,提出了一种基于gpu的rdprqcg大规模结构拓扑频率优化方法和其并行计算技术,该方法和其技术显著地提高了结构拓扑频率优化效率,进而可以解决背景技术中涉及的大规模结构拓扑频率优化问题。

2、为了解决上述技术问题,本技术是这样实现的:

3、本技术实施例提供了一种rdprqcg的大规模结构拓扑频率优化方法,包括:

4、步骤s1、采用gpu与提出的变缩比和对角预处理的正交加速瑞利商共轭梯度算法进行并行计算,获得大规模结构少量固有频率和振型;

5、步骤s2、基于并行计算获得的大规模结构少量固有频率和振型,以结构柔顺度最小为目标函数,同时考虑频率和体积约束,给出大规模结构拓扑优化模型、并行求解方法和典型案例。

6、可选的,所述采用gpu与提出的rdprqcg算法进行并行计算,获得大规模结构少量固有频率和振型,包括:

7、步骤s11、依据结构总刚度矩阵k,采用式(1)构建新的对角线预处理矩阵的对角元素

8、

9、其中,是总体坐标系中扩维的结构单元刚度矩阵k(e)的第i行第j列元素,m为结构单元个数,n为结构自由度数;

10、步骤s12、采用式(1)构建由下列对角正定矩阵定义的对角线预处理矩阵

11、

12、其中,

13、

14、其中,δ是一个小量,取δ=10-6;

15、步骤s13、在第k次迭代步,引入一个缩放因子γk,构建下列变缩比和对角预处理矩阵wk:

16、

17、式中,为变缩比,

18、步骤s14、设定计划求广义特征值问题的前p个最小特征值及其对应的特征向量,该最小特征值即为固有频率,该特征向量即为固有振型,包括:

19、选取n×p阶初始迭代向量且满足其中ip是一个p阶的单位矩阵;设定容许误差toll,最大迭代次数nitmax,重新启动步数nrest和平均残余量然后由式(5)计算初始残量矩阵:

20、

21、其中,m为质量矩阵,g(0)表示初始残差矩阵,p为p个初始残差向量,

22、令迭代步k=0;若k比nitmax小,且比toll大,则执行迭代步骤s15-s17,否则退出迭代,执行步骤s16;

23、步骤s15、根据当前迭代步数判断k是否进行ritz投影步,ritz投影步相当于小规模广义特征值问题,即:

24、

25、式中,y是一个p维列向量,且x(k)满足

26、求解小规模广义特征值问题,得到p个特征向量yi(i=1,…,p),以及其对应的特征值μi(i=1,…,p);

27、将各个yi(i=1,…,p)单位化,得:q={q1,…,qp},则矩阵q满足:

28、

29、令则是一个对角阵,且满足由式(8)和(9)求得p(k),即:

30、

31、

32、步骤s16、新的矩阵由式(10)计算求得:

33、

34、对于j=1,…,p,执行以下步骤:

35、将向量和关于矩阵m正交化得到具体方法如下:

36、若j=1,则

37、若j≠1,则由式(11)求出γi;

38、

39、通过γi和式(12)求出即:

40、

41、通过最小化瑞利商求得αj的值;

42、其中,αj为标量,其值由方程(bc-ad)t2+(nd-mb)t+ma-nc=0确定,其中,

43、

44、其解为:

45、

46、式中,δ=(nd-mb)2-4(bc-ad)(ma-nc);

47、由式(14)求得为:

48、

49、将向量和关于矩阵m正交规范化得到向量具体方法如下:

50、若则直接进行正交化处理;否则,先令直接进行正交化处理;

51、步骤s17、将x(k+1)代入式(8)计算余量矩阵g(k+1);

52、将代入式(15)-式(17)计算平均残余量具体方法如下:

53、

54、

55、

56、令k=k+1,进行迭代;

57、收敛判断,若比toll小,停止迭代;则则是符合要求的前p个特征值的最小近似值,相应的为其对应的近似特征向量。

58、可选的,所述根据当前迭代步数判断k是否进行ritz投影步,包括:

59、if mod(k,nrest)≠0,则进行式(18-21)的计算:

60、

61、

62、

63、

64、(2)if mod(k,nrest)=0,则进行ritz投影步。

65、可选的,所述采用gpu与提出的rdprqcg算法进行并行计算,得到大规模结构少量固有频率和振型,包括:

66、采用matlab来调用gpu进行并行计算,调用方法如下:

67、分析判断进行并行计算的内容;

68、编写具有_global_属性的kernel函数,并保存为.cu文件;

69、使用nvcc编译器将.cu文件编译为.ptx文件;

70、调用parallel.gpu.cudakernel(*.ptx,*.cu)命令绑定kenrel函数;

71、指定执行函数的线程参数;

72、调用feval函数进行并行计算;

73、根据需要判断是否需要gather函数返回结果。

74、可选的,所述编写具有_global_属性的kernel函数,并保存为.cu文件,包括:

75、采用cuda c编写具有_global_属性的kernel函数,并将其保存为.cu文件,其中同一个.cu文件中包含多个kernel函数。

76、可选的,所述使用nvcc编译器将.cu文件编译为.ptx文件,包括:

77、调用matlab中的nvcc编译器将.cu文件编译为.ptx文件。

78、可选的,所述调用parallel.gpu.cudakernel(*.ptx,*.cu)命令绑定kenrel函数,包括:

79、在matlab中采用parallel.gpu.cudakernel(*.ptx,*.cu)命令绑定.ptx文件中需要使用的kenrel函数。

80、可选的,所述调用feval函数进行并行计算,包括:

81、在matlab中以子程序的方式调用feval函数进行并行计算。

82、可选的,所述大规模结构拓扑优化模型,包括:

83、该大规模结构拓扑优化模型表示为:

84、

85、其中,g和p分别为分布重力和外载荷,ul为该两载荷联合作用下的位移。h(x)为频率约束函数,c、v1(x)和v2(x)分别为结构柔顺度、结构体积上、下限约束。采用mma算法求解式(22)模型。

86、本技术实施例提供了一种电子设备和程序,该电子设备和程序包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现所述的方法的步骤。

87、本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现所述的方法的步骤。

88、本技术的有益效果如下:

89、本技术根据振动系统分析的刚度矩阵分解的信息构造了一种变缩比和对角预条件矩阵,并选取求广义特征值问题的前p个最小特征值及其对应的特征向量作为开始迭代向量,然后采用rdprqcg方法求解振动频率中的广义特征值问题,改进的预条件算子可以加快srqcg方法的收敛速度;相比于srqcg,rdprqcg方法具有以下优势:1.通过引入变缩比和正交加速技术,可以大大提高算法的收敛速度,特别是对于计算大型稀疏矩阵的特征值和特征向量时,可以减少计算时间和迭代次数;2.通过引入变缩比和新的对角预处理器,考虑刚度矩阵对角元素与非对角元素存在的耦合作用,可以更有效地利用历史信息和预处理技术,从而提高算法的效率、精度和稳定性;3.可以很容易地扩展到并行计算环境中,以利用多核处理器和集群系统的计算资源。

90、同时,针对考虑频率的拓扑优化问题,当采用rdprqcg算法求解广义特征值时,多次出现含刚度矩阵k在内的矩阵相乘或矩阵与向量相乘,这些矩阵-向量积和向量-向量积的计算表现出大量的循环级并行性,完全可以采用gpu并行方法进行计算。相比于直接串行计算广义特征值,基于gpu并行计算的rdprqcg算法可以提升计算速度,大大节省计算时间,节省计算内存,有效地避免规模较大时设备内存不足的问题。

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