一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法
【專利摘要】本發(fā)明涉及一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法,包括以下步驟:1)初始化對(duì)稱面/軸的系數(shù);2)計(jì)算節(jié)點(diǎn)到對(duì)稱面/軸的距離d;3)將d<0、d>0和d=0的節(jié)點(diǎn)分別儲(chǔ)存在第一、第二和第三存儲(chǔ)單元中;4)計(jì)算在第一存儲(chǔ)單元中的節(jié)點(diǎn)關(guān)于對(duì)稱面/軸對(duì)稱點(diǎn)的坐標(biāo);5)尋找第二存儲(chǔ)單元中與對(duì)稱點(diǎn)的距離小于給定極小值的節(jié)點(diǎn);6)將節(jié)點(diǎn)對(duì)儲(chǔ)存在第四存儲(chǔ)單元中;7)判斷第一存儲(chǔ)單元中的所有節(jié)點(diǎn)是否均已經(jīng)歷步驟4)~6);8)將桿件編號(hào)儲(chǔ)存到第五存儲(chǔ)單元中,計(jì)算第五存儲(chǔ)單元中包含的桿件數(shù)目,并初始化索引參數(shù);9)在第五存儲(chǔ)單元中搜索排序第一的桿件兩端的節(jié)點(diǎn),并從第四存儲(chǔ)單元中搜索節(jié)點(diǎn)的對(duì)稱節(jié)點(diǎn);10)桿件連接的兩個(gè)節(jié)點(diǎn)是否為對(duì)稱節(jié)點(diǎn);11)判斷索引參數(shù)是否為桿件數(shù)目;12)判斷第五存儲(chǔ)單元是否為空集。
【專利說(shuō)明】一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種根據(jù)對(duì)稱性約束要求進(jìn)行分組的方法,特別是關(guān)于一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法。
【背景技術(shù)】
[0002]在實(shí)際工程以及生活中,桁架、梁架等離散桿件結(jié)構(gòu)的應(yīng)用非常廣泛,為提高離散桿件結(jié)構(gòu)的綜合性能,相關(guān)學(xué)者將優(yōu)化方法引入到離散桿件設(shè)計(jì)中。目前,離散桿件結(jié)構(gòu)優(yōu)化是結(jié)構(gòu)優(yōu)化領(lǐng)域非常重要的研究方向之一。根據(jù)優(yōu)化的內(nèi)容,離散桿件優(yōu)化可分為拓?fù)鋬?yōu)化、尺寸優(yōu)化和形狀優(yōu)化,其中拓?fù)鋬?yōu)化的拓?fù)湓O(shè)計(jì)變量取值對(duì)應(yīng)桿件的存在或刪除,尺寸優(yōu)化的尺寸設(shè)計(jì)變量對(duì)應(yīng)桿件橫截面的尺寸參數(shù),而形狀優(yōu)化的形狀設(shè)計(jì)變量決定節(jié)點(diǎn)的位置。 [0003]為了降低制造、安裝成本,提高優(yōu)化效率,離散桿件結(jié)構(gòu)進(jìn)行優(yōu)化時(shí),通常添加對(duì)稱性約束,為了滿足對(duì)稱性約束,對(duì)稱桿件的拓?fù)湓O(shè)計(jì)變量、尺寸設(shè)計(jì)變量取值需要相同,對(duì)稱節(jié)點(diǎn)的形狀設(shè)計(jì)變量取值也需要相同。常見的處理方法是:離散桿件結(jié)構(gòu)優(yōu)化前人為地將對(duì)稱的桿件或者節(jié)點(diǎn)分為一組,同一組中桿件的拓?fù)湓O(shè)計(jì)變量或尺寸設(shè)計(jì)變量取相同的值,同一組中節(jié)點(diǎn)的形狀設(shè)計(jì)變量取相同的值。對(duì)于實(shí)際工程以及生活中大量存在的復(fù)雜的離散桿件結(jié)構(gòu)而言,上述處理方法存在工作量大、分組效率低和容易出錯(cuò)等問題。
【發(fā)明內(nèi)容】
[0004]針對(duì)上述問題,本發(fā)明的目的是提供一種能夠減少工作量、分組準(zhǔn)確全面地解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法,包括以下步驟:1)確定離散桿件結(jié)構(gòu)的坐標(biāo)系并在該坐標(biāo)系內(nèi)建立對(duì)稱面或?qū)ΨQ軸的方程f(x,y, Z) ;2)計(jì)算離散桿件結(jié)構(gòu)中具有對(duì)稱性約束的節(jié)點(diǎn)i到對(duì)稱面或?qū)ΨQ軸的距離d ;3)將d〈0的節(jié)點(diǎn)儲(chǔ)存在第一存儲(chǔ)單元中,將d>0的節(jié)點(diǎn)儲(chǔ)存在第二存儲(chǔ)單元中,將d = O的節(jié)點(diǎn)儲(chǔ)存在第三存儲(chǔ)單元中;4)計(jì)算在第一存儲(chǔ)單元中的節(jié)點(diǎn)i關(guān)于對(duì)稱面或?qū)ΨQ軸對(duì)稱的點(diǎn)i’的坐標(biāo)XpypZ1.;5)在第二存儲(chǔ)單元中,與點(diǎn)i’的距離小于給定極小值ε的節(jié)點(diǎn)k是離散桿件結(jié)構(gòu)中的節(jié)點(diǎn)i關(guān)于對(duì)稱面或?qū)ΨQ軸的對(duì)稱節(jié)點(diǎn),而第三存儲(chǔ)單元中的節(jié)點(diǎn)關(guān)于對(duì)稱面或?qū)ΨQ軸的對(duì)稱節(jié)點(diǎn)是節(jié)點(diǎn)本身;6)兩兩對(duì)稱的節(jié)點(diǎn)構(gòu)成節(jié)點(diǎn)對(duì),將節(jié)點(diǎn)對(duì)儲(chǔ)存在第四存儲(chǔ)單元中,更新第四存儲(chǔ)單元,使其包含對(duì)稱節(jié)點(diǎn)對(duì)(i,k);
7)判斷第一存儲(chǔ)單元中的所有節(jié)點(diǎn)是否均已經(jīng)歷所述步驟4)~6),如果否,則返回所述步驟4)重新循環(huán),否則,則繼續(xù)下一步;8)將離散桿件結(jié)構(gòu)中所有的桿件編號(hào)儲(chǔ)存到第五存儲(chǔ)單元中,計(jì)算第五存儲(chǔ)單元中包含的桿件數(shù)目Ne,并初始化索引參數(shù)j,即令j = 2 ;9)第五存儲(chǔ)單元中排序第一的桿件為Q(I),桿件Q(I)兩端的節(jié)點(diǎn)為^和i2,從第四存儲(chǔ)單元中搜索I1和i2的對(duì)稱節(jié)點(diǎn)P i和P 2 ;10)桿件Q(j)連接的兩個(gè)節(jié)點(diǎn)是否為P ι和
2,如果是,則桿件Q (j)為桿件Q (I)的對(duì)稱桿,桿件Q(I)和Q(j)為一組,桿件Q(I)和Q(j)為一組,將其儲(chǔ)存到第六存儲(chǔ)單元中,并從第五存儲(chǔ)單元中刪除桿件Q (I)和Q(j),轉(zhuǎn)至所述步驟12);否則,則轉(zhuǎn)至所述步驟11) ;11)判斷j是否為Ne,如果是,則桿件Q(I)不存在對(duì)稱桿件,單獨(dú)為一組,放入第六存儲(chǔ)單元中,并將桿件Q(I)從第五存儲(chǔ)單元中刪除,轉(zhuǎn)至所述步驟12);否則j = j+Ι,轉(zhuǎn)至所述步驟10) ;12)判斷第五存儲(chǔ)單元是否為空集,如果第五存儲(chǔ)單元為空集則所有離散桿件結(jié)構(gòu)均已完成分組,整個(gè)過程結(jié)束;否則,令j = 2,更新第五存儲(chǔ)單元包含的桿件數(shù)目Ne,轉(zhuǎn)至所述步驟9),重新循環(huán)。
[0006]所述步驟I)中,對(duì)稱面或?qū)ΨQ軸的方程f (X,y,z)為:
[0007]f (X,y, z) = Ax+By+Cz+D = 0
[0008]式中,如果離散桿件結(jié)構(gòu)是二維的,則C = O。
[0009]所述步驟2)中,距離d的計(jì)算公式為:
[0010]
【權(quán)利要求】
1.一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法,包括以下步驟: 1)確定離散桿件結(jié)構(gòu)的坐標(biāo)系并在該坐標(biāo)系內(nèi)建立對(duì)稱面或?qū)ΨQ軸的方程f (X,y, z); 2)計(jì)算離散桿件結(jié)構(gòu)中具有對(duì)稱性約束的節(jié)點(diǎn)i到對(duì)稱面或?qū)ΨQ軸的距離d; 3)將d〈0的節(jié)點(diǎn)儲(chǔ)存在第一存儲(chǔ)單元中,將d>0的節(jié)點(diǎn)儲(chǔ)存在第二存儲(chǔ)單元中,將d=O的節(jié)點(diǎn)儲(chǔ)存在第三存儲(chǔ)單元中; 4)計(jì)算在第一存儲(chǔ)單元中的節(jié)點(diǎn)i關(guān)于對(duì)稱面或?qū)ΨQ軸對(duì)稱的點(diǎn)i’的坐標(biāo)Xi,、Yr>Zr ; 5)在第二存儲(chǔ)單元中,與點(diǎn)i’的距離小于給定極小值ε的節(jié)點(diǎn)k是離散桿件結(jié)構(gòu)中的節(jié)點(diǎn)i關(guān)于對(duì)稱面或?qū)ΨQ軸的對(duì)稱節(jié)點(diǎn),而第三存儲(chǔ)單元中的節(jié)點(diǎn)關(guān)于對(duì)稱面或?qū)ΨQ軸的對(duì)稱節(jié)點(diǎn)是節(jié)點(diǎn)本身; 6)兩兩對(duì)稱的節(jié)點(diǎn)構(gòu)成節(jié)點(diǎn)對(duì),將節(jié)點(diǎn)對(duì)儲(chǔ)存在第四存儲(chǔ)單元中,更新第四存儲(chǔ)單元,使其包含對(duì)稱節(jié)點(diǎn)對(duì)(i,k); 7)判斷第一存儲(chǔ)單元中的所有節(jié)點(diǎn)是否均已經(jīng)歷所述步驟4)~6),如果否,則返回所述步驟4)重新循環(huán),否則,則繼續(xù)下一步; 8)將離散桿件結(jié)構(gòu)中 所有的桿件編號(hào)儲(chǔ)存到第五存儲(chǔ)單元中,計(jì)算第五存儲(chǔ)單元中包含的桿件數(shù)目Ne,并初始化索引參數(shù)j,即令j = 2 ; 9)第五存儲(chǔ)單元中排序第一的桿件為Q(l),桿件Q(I)兩端的節(jié)點(diǎn)為^和i2,從第四存儲(chǔ)單元中搜索I1和i2的對(duì)稱節(jié)點(diǎn)P ι和P 2 ; 10)桿件Q(j)連接的兩個(gè)節(jié)點(diǎn)是否為i'1和1' 2,如果是,則桿件Q(j)為桿件Q(I)的對(duì)稱桿,桿件Q(I)和Q(j)為一組,桿件Q(I)和Q(j)為一組,將其儲(chǔ)存到第六存儲(chǔ)單元中,并從第五存儲(chǔ)單元中刪除桿件Q(I)和Q(j),轉(zhuǎn)至所述步驟12);否則,則轉(zhuǎn)至所述步驟11); 11)判斷j是否為Ne,如果是,則桿件Q(I)不存在對(duì)稱桿件,單獨(dú)為一組,放入第六存儲(chǔ)單元中,并將桿件Q(I)從第五存儲(chǔ)單元中刪除,轉(zhuǎn)至所述步驟12);否則j = j+1,轉(zhuǎn)至所述步驟10); 12)判斷第五存儲(chǔ)單元是否為空集,如果第五存儲(chǔ)單元為空集則所有離散桿件結(jié)構(gòu)均已完成分組,整個(gè)過程結(jié)束;否則,令j = 2,更新第五存儲(chǔ)單元包含的桿件數(shù)目Ne,轉(zhuǎn)至所述步驟9),重新循環(huán)。
2.如權(quán)利要求1所述的一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法,其特征在于:所述步驟I)中,對(duì)稱面或?qū)ΨQ軸的方程f(x,y,z)為:
f (x, y, z) = Ax+By+Cz+D = 0 式中,如果離散桿件結(jié)構(gòu)是二維的,則C = O。
3.如權(quán)利要求1所述的一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法,其特征在于:所述步驟2)中,距離d的計(jì)算公式為: 式中,Xi, Ii, Zi為節(jié)點(diǎn)i的坐標(biāo)值。
4.如權(quán)利要求2所述的一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法,其特征在于:所述步驟2)中,距離d的計(jì)算公式為:
5.如權(quán)利要求1或2或3或4所述的一種解決離散桿件結(jié)構(gòu)優(yōu)化中對(duì)稱性約束的分組方法,其特征在于:所述步驟4)中,節(jié)點(diǎn)i關(guān)于對(duì)稱面或?qū)ΨQ軸對(duì)稱的點(diǎn)i’的坐標(biāo)Xi,、yi,、zr的計(jì)算公式為:
【文檔編號(hào)】G06F17/50GK103970968SQ201410230946
【公開日】2014年8月6日 申請(qǐng)日期:2014年5月28日 優(yōu)先權(quán)日:2014年5月28日
【發(fā)明者】范子杰, 鐘薇, 蘇瑞意, 桂良進(jìn) 申請(qǐng)人:清華大學(xué)