任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法
【專利摘要】本發(fā)明公開了一種任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法,包括以下步驟:對任意形狀的凸多面體骨料的邊界模型進(jìn)行拓?fù)湫畔z索,建立模型的拓?fù)湫畔焖鐾負(fù)湫畔彀旤c信息庫、邊信息庫和面信息庫;并分別對面信息庫、邊信息庫和頂點信息庫進(jìn)行檢索,遍歷模型的所有三角形面、所有邊和所有的頂點,依次在其上放置球體,直至無法在其上成功放置球體為止。本發(fā)明的任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法思想簡單,易于編程實現(xiàn),并且計算的誤差較小,且變形規(guī)律更符合實際試件的變形狀態(tài)。通過仿真實驗分析,驗證了本發(fā)明的顆粒簇離散元模型構(gòu)建方法的有效性和高精度特性。
【專利說明】
任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法。
【背景技術(shù)】
[0002] 顆粒離散元為一種非連續(xù)的數(shù)值模擬方法,已經(jīng)被廣泛的應(yīng)用到顆粒系統(tǒng)研究領(lǐng) 域。起初,考慮到真實顆粒之間接觸判斷的復(fù)雜性,在模擬過程中顆粒被簡化為球體。然而, 大量的研究表明了顆粒的形狀對顆粒系統(tǒng)的行為響應(yīng)有著重要的影響。為了能夠準(zhǔn)確地獲 得顆粒系統(tǒng)的行為響應(yīng),許多研究者在模擬的過程中嘗試近似地考慮顆粒的實際形狀。
[0003] 目前,一種流行的方法是將許多球體剛性地連接起來作為一個顆粒簇來近似的代 替實際的顆粒。該方法的優(yōu)點是不需要新的接觸算法,原有的球體間接觸判斷算法和接觸 力計算公式仍然適用。從已經(jīng)掌握的文獻(xiàn)資料看,目前還沒有一種方法能夠準(zhǔn)確地描述凸 多面體骨料的形狀。
[0004] 因此,需要一種任意形狀凸多面體骨料構(gòu)建方法以解決上述問題。
【發(fā)明內(nèi)容】
[0005] 發(fā)明目的:本發(fā)明針對現(xiàn)有技術(shù)的問題,提供一種能夠準(zhǔn)確地描述多面體的真實 形狀的任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法。
【發(fā)明內(nèi)容】
[0006] :為解決上述技術(shù)問題,本發(fā)明的任意形狀凸多面體骨料的顆粒簇離散 元模型構(gòu)建方法采用的技術(shù)方案為:
[0007] -種任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法,其特征在于:包括以 下步驟:
[0008] 1)、對任意形狀的凸多面體骨料的邊界模型進(jìn)行拓?fù)湫畔z索,建立模型的拓?fù)?信息庫所述拓?fù)湫畔彀旤c信息庫、邊信息庫和面信息庫;
[0009] 2)、對模型的面信息庫進(jìn)行檢索,遍歷模型的所有三角形面,
[0010] 根據(jù)下式計算每個面的單位外法線向量(nx,ny,nz):
公式(1)
[0012]根據(jù)下式計算每個面的中心位置坐標(biāo)(xP,yP,zP):
公式(2)
[0014] 其中,Vi、V2和V3為每個面的三個頂點,順著面的外法線方向看,3個頂點Vi、V2和V3 依次按順時針方向排列;
[0015] 3)、對模型的邊信息庫進(jìn)行檢索,遍歷模型的所有邊,獲得模型最短邊的長度L_, 統(tǒng)計沿最短邊所放置的球體數(shù)目N s;
[0016] 4)對模型的頂點信息庫進(jìn)行檢索,遍歷模型的所有頂點,在靠近每個頂點的區(qū)域 均放置半徑大小為r/的預(yù)放置第一球體,其中,r/ =Uin/Ns,Uin為模型最短邊的長度,NS 為沿最短邊所放置的第一球體數(shù)目;
[0017] 其中,第一球體與預(yù)放置第一球體的頂點所連接的3個面同時相切,第一球體的中 心位置(x,y,z)可以根據(jù)下列方程組求解獲得: ?vi (x ~xPi)+nri (y ~ yPi)+(z ~ zpi )=
[0018] ^ ?v2 (^ - ^2 ) + ?r2 (y - y,,2 ) + (Z - Z,,2 ) = r! ' ?,3 (x-Xpi) + ;?r3 (v-"VP3) + nzi (2-Zp3)^ r; \ 公式⑶
[0019]其中,(nxi,nyi,nzi)為頂點所連接的3個三角形面的外法向單位向量,(x Pi,yPi,zPi) 為頂點所連接的3個三角形面的中心位置坐標(biāo),i = 1,2,3;
[0020] 5)、對模型的邊信息庫進(jìn)行檢索,遍歷模型的所有邊,沿著每條邊從其任意一頂點 處開始依次放置第二球體,設(shè)此任意一頂點為起始頂點,直至所放置的第二球體與步驟4) 中放置在靠近該邊另一頂點處的第一球體重疊,設(shè)另一頂點為終止頂點,其中,第二球體的 半徑為r/,其中,!/=!/ ;
[0021] 其中,第二球體必須與步驟4)中放置在靠近此邊起始頂點處的第一球體和此邊所 連接的2個三角形面同時相切,第二球體的中心位置坐標(biāo)(x',y',z')可由下列方程組求解 獲得: +(z'~z)2=(r:+r')2
[0022] < n \x (xx' ) + n (yv) + ?'" (^'-z(;)1) = r;- 公式(4) n \i {x'-x'pi) + n 'v2 ( VV ^,2 ) + n\2(z'~z 'pl) =
[0023] 其中,(x,y,z)為放置在靠近此邊起始頂點處的第一球體的中心位置坐標(biāo),V為放 置在靠近此邊起始頂點處的第一球體的半徑,(11、,11'",11^)為邊所連接的2個三角形面 的外法向單位向量,(x ' Pj,y ' Pj,z ' Pj)為此邊所連接的2個三角形面的中心位置坐標(biāo),j = 1, 2;
[0024] 當(dāng)依次放置的第二球體與步驟4)中放置在此邊終止頂點的球體發(fā)生重疊時,此時 放置一個半徑為rs的第三球體,其中,r s<rs〃,第三球體與剛成功放置的第二球體、步驟4) 中放置在靠近該邊終止頂點處的第一球體及該邊所連接的2個面同時相切,第三球體的中 心位置(x",y",z")和r s半徑可由下列方程組求解獲得: + (v-v)2 + (2"-2)" = (/; +r;)2 (,-x')2+(,,'vf+(z''-z,)2 =(,i+r:)2
[0025] \ \ 公式(5) ?丨(,-八丨)+?' w (,- 、)+?':丨(,-4丨;K n\z (.tx'p2) + n\,2 (vv'p2 ) + n\z{z'-z'p2) = r
[0026] 其中,(x,y,z)為放置在靠近該邊終止頂點處的第一球體的中心位置坐標(biāo),V為放 置在靠近該邊終止頂點處的第一球體的半徑,(x',y',z')為沿該邊最后成功放置的第二球 體的位置坐標(biāo),r/為沿該邊最后成功放置的第二球體的半徑,(11、,11^,11^)為邊所連接 的2個三角形面的外法向單位向量,(^", 7'",2'")為邊所連接的2個三角形面的中心位置 坐標(biāo),j = 1,2;
[0027] 6)、對模型的面信息庫進(jìn)行檢索,遍歷模型的所有面,在每個面上逐代放置不同大 小的第四球體,其中,第四球體半徑的取值區(qū)間為[r min,rmax],直至在面上無法放置球體為 止。
[0028] 更進(jìn)一步的,所述頂點信息庫包括頂點的總數(shù)、每個頂點的位置坐標(biāo)和每個頂點 所連接的面,所述邊信息庫包括邊的總數(shù)和每條邊所連接的2個面,所述面的信息庫包含的 信息有:面的總數(shù)及每個面的3條邊和3個頂點。
[0029] 更進(jìn)一步的,步驟6)中在每個面上逐代放置不同大小的第四球體包括以下步驟:
[0030] -、檢索在步驟4)和步驟5)中已放置的與每個面相關(guān)的球體,與每個面相關(guān)的球 體包括步驟4)中靠近此面3個頂點處所放置的第一球體和步驟5)中沿著此面3條邊所放置 的第二球體,所檢索出的球體被標(biāo)記為〇代球體;
[0031] 二、建立一個與此面相關(guān)的局部笛卡爾坐標(biāo)系,將檢索出的所有球體的中心投影 到面上,對這些投影點進(jìn)行Delaunay三角剖分,獲得Delaunay三角形網(wǎng)格;根據(jù)球體中心與 投影點的--對應(yīng)關(guān)系,確定De launay三角形網(wǎng)格中每條邊所連接的兩個球體;
[0032] 遍歷網(wǎng)格模型的所有邊,根據(jù)每條邊與其所連接的兩個球體來放置新的球體,新 的球體的半徑r〃'在區(qū)間[ rmin,rmax]取值,新的球體與邊所連接的兩個球體及該面同時相 切,其中心位置(x" ',y" ',z" ')可由下列方程組求解獲得 \.x)2 + (v m- v, )2 + (z )2 = (r" + rt f '
[0033] ^ +(.vw-v,)" +(zm-z2)~ =(r" + r2y > 公式(6) nxl (xm-xpl) + nyl v;!l) + n:zl [zm-zpl) = r
[0034] 式中,(11,71,21)和(12,72,22)為〇6]^111^三角形網(wǎng)格中的一條邊所連接的兩個球 體的中心位置坐標(biāo),(n xi,nyi,nzi)為此面的外法向單位向量,(Xpi,yPi,Zpl)為此面的中心位 置坐標(biāo);
[0035] 在球體被放置在面上之前,對新的球體進(jìn)行成功放置判斷,當(dāng)新球體滿足成功放 置的條件,并將其放置到面上,否則,新球體被忽略,不會放置到面上;
[0036]當(dāng)Delaunay三角網(wǎng)格所有邊被遍歷后,第1代球體放置過程結(jié)束,在此過程中被成 功放置的球體均被標(biāo)為第1代;
[0037]三、使用之前得到全部球體,采用步驟二的方法進(jìn)行第2代的球體放置,在第2代球 體放置過程中被成功放置的球體均被標(biāo)記為第2代;
[0038]四、重復(fù)步驟二和步驟三,依次逐代地放置球體,直到在此面上無法成功的放置球 體,此時在該面上整個球體的放置過程結(jié)束。
[0039]更進(jìn)一步的,局部笛卡爾坐標(biāo)系的建立原則為:中心位于三角形面的中心,X0Y坐 標(biāo)系位于面上。
[0040] 更進(jìn)一步的,球體成功放置判斷條件包括新的球體必須位于面的邊界球體所圍空 間內(nèi)和新的球體與已成功放置在該面的球體及邊界球體均不能發(fā)生重疊。
[0041] 更進(jìn)一步的,球體的整個放置過程中,采用以下的優(yōu)化準(zhǔn)則:
[0042] 在每一代球體放置過程中,當(dāng)所遍歷Delaunay三角網(wǎng)格的邊的長度只有滿足下式 時,才會用來放置新的球體;
[0043] Lij-ri-rj<2;rmax 公式(7)
[0044]上式中Lij表示Delaunay三角網(wǎng)格中某條邊所連接的兩個球體的中心距離,ri和rj 分別為邊所連接的兩個球體的半徑,rmax為第四球體半徑區(qū)間[r_,rmax]的上限值;如果不 滿足上述條件,則忽略該邊遍歷下一條邊。
[0045] 更進(jìn)一步的,球體的整個放置過程中,采用以下的優(yōu)化準(zhǔn)則:
[0046] 在逐代放置球體的過程中,當(dāng)進(jìn)行下一代的球體放置時,選擇前面5-7代的球體的 中心位置來建立De launay三角網(wǎng)格。
[0047]有益效果:本發(fā)明的任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法思想簡 單,易于編程實現(xiàn),并且計算的誤差較小,且變形規(guī)律更符合實際試件的變形狀態(tài)。通過仿 真實驗分析,驗證了本發(fā)明的顆粒簇離散元模型構(gòu)建方法的有效性和高精度特性。
【附圖說明】
[0048]圖1為四面體邊界模型;
[0049]圖2為四面體邊界模型;
[0050]圖3為靠近頂點(V1,V2,V3)處放置球體;
[0051 ]圖4為沿邊V1V2放置第一個球體;
[0052]圖5為沿邊VIV2放置第二個球體;
[0053]圖6為沿邊V1V2放置第三個球體;
[0054]圖7為沿邊VIV2放置第二十四個球體;
[0055] 圖8為沿邊(VIV2,V2V3,V3V1)放置球體;
[0056] 圖9為第0代球體中心在面V1V2V3投影圖;
[0057]圖10為Delaunay三角網(wǎng)格所連接的第0代球體;
[0058]圖11為在面V1V2V3上放置第1代球體;
[0059] 圖12為第0代和第1代球體中心在面V1V2V3投影圖;
[0060]圖13為Delaunay三角網(wǎng)格所連接的第0代和第1代球體;
[0061]圖14為投影點與球體中心的一一對應(yīng)關(guān)系;
[0062]圖15為在面V1V2V3上放置第2代球體;
[0063]圖16為在面V1V2V3上放置第11代球體;
[0064]圖17為在面V1V2V3上放置最后一代球體;
[0065]圖18為任意凸多面體骨料邊界網(wǎng)格模型;
[0066]圖19為Ns = 10所建立的顆粒簇;
[0067]圖20為Ns = 20所建立的顆粒簇;
[0068] 圖21為任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法的流程圖。
【具體實施方式】
[0069] 下面參照附圖,對本發(fā)明的所述步驟的具體實施過程做一詳細(xì)的陳述:
[0070] 請參閱圖21所示,為實現(xiàn)本發(fā)明,所述的一種任意形狀凸多面體骨料的顆粒簇 (Cluster)離散元模型構(gòu)建方法,在步驟1中,對任意形狀的凸多面體骨料的邊界模型進(jìn)行 拓?fù)湫畔z索,建立模型的拓?fù)湫畔臁?br>[0071] 本發(fā)明中多面體骨料采用邊界表示法(Boundary representation)描述其實際的 形狀,多面體邊界模型由頂點、邊、三角形面等基本元素所構(gòu)成,根據(jù)多面體邊界模型拓?fù)?關(guān)系,建立一種特殊的拓?fù)湫畔?,便于后續(xù)步驟數(shù)據(jù)的檢索。邊界模型拓?fù)湫畔煊身?點、邊、面等信息庫構(gòu)成,其中頂點信息庫包含的信息有:頂點的總數(shù)及每個頂點的位置坐 標(biāo)、每個頂點所連接的面;邊信息庫包含的信息有:邊的總數(shù)及每條邊所連接的2個面;面的 信息庫包含的信息有:面的總數(shù)及每個面的3條邊和3個頂點。
[0072] 如圖(1)所示的四面體邊界模型,根據(jù)邊界模型拓?fù)湫畔旖⒃瓌t,所建立的頂 點信息庫包含的信息有:4個頂點(¥1,¥2,¥3,¥4)及其位置坐標(biāo)((0.0,1.0,0.0),(1.0,0.0, 0?0),(0?0,0?0,1.0),(0?0,0?0,0?0)),頂點VI連接了3個面(V1V2V3,V1V4V2,V1V3V4),頂 點¥2連接了3個面(¥1¥2¥3,¥1¥4¥2,¥2¥4¥3),頂點¥3連接了3個面(¥1¥2¥3,¥1¥3¥4, V2V4V3),頂點V4連接了3個面(V1V3V4,V1V4V2,V2V4V3);所建立的邊信息庫包含的信息 有:6條邊(¥1¥2,¥2¥3,¥3¥1,¥1¥4,¥2¥4,¥3¥4),邊¥1¥2所連接的2個面為¥1¥2¥3和¥1¥4¥2, 邊V2V3所連接的2個面為V1V2V3和V1V3V2,邊V3V1所連接的2個面為V1V2V3和V1V3V4,邊 V1V4所連接的2個面為V1V3V4和V1V4V2,邊V2V4所連接的2個面為V1V4V2和V2V4V3,邊V3V4 所連接的2個面為V1V3V4和V2V4V3;所建立的邊信息庫包含的信息有:4個面(V1V2V3, ¥1¥4¥2,¥1¥3¥4,¥2¥4¥3),面¥1¥2¥3的3條邊(¥1¥2、¥2¥3和¥3¥1)和其3個頂點(¥1,¥2,¥3)面 V1V4V2 的 3 條邊(V1V4、V2V4 和 V1V2)和其 3 個頂點(¥1,¥4,¥2),面¥1¥3¥4的3條邊(¥1¥3、¥3¥4 和V1V4)和其3個頂點(¥1,¥3,¥4),面¥2¥3¥4的3條邊(¥2¥4、¥3¥4和¥2¥3)和其3個頂點(¥2, V3,V4)〇
[0073] 為實現(xiàn)本發(fā)明,所述的一種任意形狀凸多面體骨料的顆粒簇(Cluster)離散元模 型構(gòu)建方法,在步驟2中,對模型的邊信息庫進(jìn)行檢索,遍歷模型的所有三角形面,按公式 (1)和公式(2)計算每個面的單位外法線向量和中心位置;
[0074] 依據(jù)本發(fā)明中面的外法線方向的規(guī)定,如圖(1)和圖(2)所示,邊界模型三角形面 的外法線方向均指向模型的內(nèi)部,順著每個三角形面的外法線方向看,4個三角形面 (V1V2V3,V1V4V2,V1V3V4,V2V4V3)的3個頂點VWV3均按順時針方向的排列;根據(jù)每個面的3 個有序頂點位置坐標(biāo),按照公式(1)和(2)計算出每個面的單位外法線向量和中心位置。
[0075] 為實現(xiàn)本發(fā)明,所述的一種任意形狀凸多面體骨料的顆粒簇(Cluster)離散元模 型構(gòu)建方法,在步驟3中,對模型的邊信息庫進(jìn)行檢索,遍歷模型的所有邊,獲得邊界模型最 短邊的長度L min,并根據(jù)所指定的沿最短邊所放置的球體數(shù)目隊確定在后續(xù)步驟4中所放置 的球體的半徑r/和在后續(xù)步驟5中所放置的球體的半徑r s〃及在后續(xù)步驟6中所放置的球體 的半徑r/"的取值區(qū)間[r_,rmax]。
[0076] 對模型的邊信息庫進(jìn)行檢索,遍歷模型的6邊,獲得的最短邊長度Lmin=1.0,設(shè)沿 最短邊所放置的球體數(shù)目N s = 20,根據(jù)步驟4,5,6中所放置的球體半徑滿足的關(guān)系:r/ = Lmin/2Ns,rs〃=;rs/,rmin = 0.4rs/,rmax = 0.6rs/,得出r/ =rs〃=0.025,rmin = 0.010,rmax = 0.015〇
[0077] 為實現(xiàn)本發(fā)明,所述的一種任意形狀凸多面體骨料的顆粒簇(Cluster)離散元模 型構(gòu)建方法,在步驟4中,對模型的頂點信息庫進(jìn)行檢索,遍歷模型的所有頂點,在靠近每個 頂點附近區(qū)域均放置半徑大小為r/的球體。
[0078] 如圖(3)所示,在所述步驟4中在靠近頂點V1、V2、V3處均放置了一個球體(r/ = 0.025)。其中放置在靠近頂點VI處的球體與頂點VI所連接的3個面(V1V2V3,V1V4V2, V1V3V4)同時相切;放置在靠近頂點V2處的球體與頂點V2所連接的3個面(V1V2V3,V1V4V2, V2V4V3)同時相切;放置在靠近頂點V3處的球體與頂點V3所連接的3個面(V1V2V3,V1V3V4, V2V4V3)同時相切;這些球的中心位置均可根據(jù)方程組(3)求解獲得。
[0079] 為實現(xiàn)本發(fā)明,所述的一種任意形狀凸多面體骨料的顆粒簇(Cluster)離散元模 型構(gòu)建方法,在步驟5中,對模型的邊信息庫進(jìn)行檢索,遍歷模型的所有邊,沿著每條邊從其 任意一頂點處開始依次放置相同大小的球體(球體的半徑為r/ ),直至所放置的球體與所 述步驟4中放置在靠近該邊另一頂點處的球體發(fā)生重疊。
[0080] 圖(4)、圖(5)、圖(6)、圖(7)所表示的是在所述步驟5中沿著邊V1V2從VI頂點處開 始依次放置球體的過程。其中,圖(4)為沿邊V1V2所放置的第一個球體,其與面(V1V2V3, V1V4V2)和所述步驟4中在靠近頂點VI處所放置的球體同時相切;圖(5)為沿邊V1V2所放置 的第二個球體,其與面(VIV2V3,V1V4V2)和沿邊VIV2放置的第一個球體同時相切;圖(6)為 沿邊V1V2所放置的第二個球體,其與面(V1V2V3,V1V4V2)和沿邊V1V2放置的第二個球體同 時相切;類似地,其他球體(從第4個至第23個)均可以按照相似的步驟依次放置,這些球體 的中心位置均可通過求解方程組(4)所獲得;按照相似的步驟沿邊V1V2放置第24個球體,放 置后其與所述步驟4中在靠近頂點V2處所放置的球體發(fā)生重疊,此時按照另一種球體放置 方式放置第24球體(也是沿V1V2放置的最后一個球體),如圖(7)所示,放置的第24個球體必 須與面(V1V2V3,V1V4V2)和沿邊V1V2放置的第23個球體及所述步驟4中在靠近頂點V2處所 放置的球體同時相切,其中心位置及半徑均可根據(jù)方程組(4)求解獲得。
[0081] 如圖(8)所示,按照類似的方法,沿著邊V2V3從頂點V2處開始依次放置球體以及沿 邊V3V1從頂點V3處開始依次放置球體。
[0082] 為實現(xiàn)本發(fā)明,所述的一種任意形狀凸多面體骨料的顆粒簇(Cluster)離散元模 型構(gòu)建方法,在步驟6中,對模型的面信息庫進(jìn)行檢索,遍歷模型的所有面,在每個面上逐代 放置不同大小的球體(球體半徑的取值區(qū)間為[r min,rmax]),直至在面上無法成功的放置球 體。
[0083] 如圖(8)至圖(17)所表示的是在所述步驟6中沿著面V1V2V3逐代依次放置球體的 過程。首先檢索與面V1V2V3相關(guān)的球體,其包括:所述步驟4在靠近面V1V2V3的3個頂點(VI, V2,V3)處所放置的球體和所述步驟5沿面V1V2V3的3條邊(V1V2,V2V3,V3V1)所放置的球體, 如圖(8)所示的球體為與面V1V2V3相關(guān)的球體,其也被稱為面V1V2V3的邊界球體,被標(biāo)記為 〇代;其次,如圖(9)所示,建立一個與面V1V2V3相關(guān)的局部笛卡爾坐標(biāo)系,其原點位于面 V1V2V3的中心,X0Y坐標(biāo)系位于面V1V2V3上;將與面V1V2V3相關(guān)的球體的中心均垂直的投影 到面上,對這些投影點進(jìn)行Delaunay三角剖分,獲得Delaunay三角網(wǎng)格;如圖(10)所示,根 據(jù)投影點與球體中心的一一對應(yīng)關(guān)系,確定網(wǎng)格模型的每個邊所連接的兩個球體;遍歷網(wǎng) 格模型所有邊,只有當(dāng)遍歷的邊的長度滿足約束條件(7)時,其被用來放置一個新的球體, 新球體的半徑 r 〃'在區(qū)間[0 . 0 1 0,0 . 0 15 ]均勻隨機(jī)選取一個值,新放置的球體必須與面 V1V2V3和邊所連接的兩個球體同時相切,其中心位置可以根據(jù)方程組(6)求解獲得;在球體 被放置在面V1V2V3上之前,對新球體進(jìn)行成功放置判斷,當(dāng)新球體滿足成功放置的條件,并 將其放置到面上,否則,新球體被忽略,不會放置到面,如圖(11)所示,三角網(wǎng)格所有邊遍歷 后在面VIV2V3上所成功放置的球體,其被標(biāo)記為第1代,第一代球體放置過程結(jié)束。
[0084] 根據(jù)類似于第一代球體的放置過程,選取第0代和第1代球體進(jìn)行第二球體的放置 過程,如圖(12)和圖(13)所示,將第0代和第1代球體中心投影到面V1V2V3上后,并對投影點 進(jìn)行De 1 aunay三角剖分建立De 1 aunay三角網(wǎng)格;如圖(14)所示,根據(jù)投影點與球體中心的 一一對應(yīng)關(guān)系,確定了網(wǎng)格模型的每個邊所連接的兩個球體;遍歷三角網(wǎng)格模型所有邊,在 面V1V2V3上放置新的球體,如圖(15)所示,三角網(wǎng)格所有邊遍歷完后,在面V1V2V3上所成 功放置的球體,這些球體被標(biāo)記為第2代球體。
[0085] 依次地,根據(jù)相似的步驟,進(jìn)行第三代、第四代、……、第N代球體放置;在后續(xù)球體 放置過程中,為了提高方法的效率,從第6代開始,在進(jìn)行下一代球體的放置時,只選擇前面 5代的球體來放置新的球體,如圖(16)所示,在進(jìn)行第11代球體的放置時,只選擇前5代(第6 代至第10代)球體進(jìn)行相似的步驟建立Delaunay三角網(wǎng)格,并遍歷三角網(wǎng)格的所有邊來放 置第12代球體;隨著球體放置代數(shù)的增加,成功放置的球體數(shù)目不斷減少,如圖(17)所示, 在進(jìn)行第27代球體的放置時,當(dāng)三角網(wǎng)格所有邊遍歷完后,沒有一個球體在該過程中成功 放置,此時沿面V1V2V3逐代放置球體結(jié)束;類似地,對邊界網(wǎng)格模型其他面使用相似的步驟 沿面逐代放置球體。
[0086] 采用本發(fā)明可以快速準(zhǔn)確地建立凸多面體骨料的顆粒簇(Cluster)離散元模型, 所建立的顆粒簇能夠精確地描述多面體骨料的形狀,如圖(18)所示的凸多面體,利用本發(fā) 明所建立的顆粒簇離散元模型見圖(19)和圖(20),且可以通過修改沿最短邊所放置的球體 數(shù)目隊的大小獲得不同形狀精度的顆粒簇。
【主權(quán)項】
1. 一種任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法,其特征在于:包括以下 步驟: 1) 、對任意形狀的凸多面體骨料的邊界模型進(jìn)行拓?fù)湫畔z索,建立模型的拓?fù)湫畔?庫所述拓?fù)湫畔彀旤c信息庫、邊信息庫和面信息庫; 2) 、對模型的面信息庫進(jìn)行檢索,遍歷模型的所有三角形面, 根據(jù)下式計算每個面的單位外法線向量(nx,ny,nz):根據(jù)下式計算每個面的中心位置坐標(biāo)(xP,yP,zP):其中,Vi、V2和V3為每個面的三個頂點,順著面的外法線方向看,3個頂點Vi、V2和V 3依次 按順時針方向排列; 3) 、對模型的邊信息庫進(jìn)行檢索,遍歷模型的所有邊,獲得模型最短邊的長度Lmin,統(tǒng)計 沿最短邊所放置的球體數(shù)目N s; 4) 對模型的頂點信息庫進(jìn)行檢索,遍歷模型的所有頂點,在靠近每個頂點的區(qū)域均放 置半徑大小為的預(yù)放置第一球體,其中,匕=1^_/隊兒_為模型最短邊的長度具為沿 最短邊所放置的第一球體數(shù)目; 其中,第一球體與預(yù)放置第一球體的頂點所連接的3個面同時相切,第一球體的中心位 置(X,y,z)可以根據(jù)下列方程組求解獲得:其中,(nxi,nyi,nzi)為頂點所連接的3個三角開多面的外法向單位向量,(x Pi,yPi,zPi)為頂 點所連接的3個三角形面的中心位置坐標(biāo),i = 1,2,3; 5) 、對模型的邊信息庫進(jìn)行檢索,遍歷模型的所有邊,沿著每條邊從其任意一頂點處開 始依次放置第二球體,設(shè)此任意一頂點為起始頂點,直至所放置的第二球體與步驟4)中放 置在靠近該邊另一頂點處的第一球體重疊,設(shè)另一頂點為終止頂點,其中,第二球體的半徑 為r〃 s,其中,= s; 其中,第二球體必須與步驟4)中放置在靠近此邊起始頂點處的第一球體和此邊所連接 的2個三角形面同時相切,第二球體的中心位置坐標(biāo)(x',y',z')可由下列方程組求解獲得:其中,(x,y,z)為放置在靠近此邊起始頂點處的第一球體的中心位置坐標(biāo),V為放置在 靠近此邊起始頂點處的第一球體的半徑,(11、,11'",11、)為邊所連接的2個三角形面的外 法向單位向量,(X ' p j,y ' p j,z ' pj)為此邊所連接的2個三角形面的中心位置坐標(biāo),j = 1,2; 當(dāng)依次放置的第二球體與步驟4)中放置在此邊終止頂點的球體發(fā)生重疊時,此時放置 一個半徑為rs的第三球體,其中,rs <r〃 s,第三球體與剛成功放置的第二球體、步驟4)中放 置在靠近該邊終止頂點處的第一球體及該邊所連接的2個面同時相切,第三球體的中心位 置(X",y",z")和r s半徑可由下列方程組求解獲得:其中,(x,y,z)為放置在靠近該邊終止頂點處的第一球體的中心位置坐標(biāo),V為放置在 靠近該邊終止頂點處的第一球體的半徑,(X',y',z')為沿該邊最后成功放置的第二球體的 位置坐標(biāo),,8為沿該邊最后成功放置的第二球體的半徑,(11、,11'",11^)為邊所連接的2 個三角形面的外法向單位向量,(^",7'",2'")為邊所連接的2個三角形面的中心位置坐 標(biāo),j = 1,2; 6)、對模型的面信息庫進(jìn)行檢索,遍歷模型的所有面,在每個面上逐代放置不同大小的 第四球體,其中,第四球體半徑的取值區(qū)間為[rmin,rmax],直至在面上無法放置球體為止。2. 根據(jù)權(quán)利要求1所述任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法,其特征 在于:所述頂點信息庫包括頂點的總數(shù)、每個頂點的位置坐標(biāo)和每個頂點所連接的面,所述 邊信息庫包括邊的總數(shù)和每條邊所連接的2個面,所述面的信息庫包含的信息有:面的總數(shù) 及每個面的3條邊和3個頂點。3. 根據(jù)權(quán)利要求1所述任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法,其特征 在于: 步驟6)中在每個面上逐代放置不同大小的第四球體包括以下步驟: 一、 檢索在步驟4)和步驟5)中已放置的與每個面相關(guān)的球體,與每個面相關(guān)的球體包 括步驟4)中靠近此面3個頂點處所放置的第一球體和步驟5)中沿著此面3條邊所放置的第 二球體,所檢索出的球體被標(biāo)記為0代球體; 二、 建立一個與此面相關(guān)的局部笛卡爾坐標(biāo)系,將檢索出的所有球體的中心投影到面 上,對這些投影點進(jìn)行De launay三角剖分,獲得De launay三角形網(wǎng)格;根據(jù)球體中心與投影 點的--對應(yīng)關(guān)系,確定De launay三角形網(wǎng)格中每條邊所連接的兩個球體; 遍歷網(wǎng)格模型的所有邊,根據(jù)每條邊與其所連接的兩個球體來放置新的球體,新的球 體的半徑,在區(qū)間[rmin,rmax]取值,新的球體與邊所連接的兩個球體及該面同時相切,其 中心位置(X" ',y" ',z" ')可由下列方程組求解獲得式中,(11,71,21)和(12,72,22)為〇6]^111^三角形網(wǎng)格中的一條邊所連接的兩個球體的 中心位置坐標(biāo),(ηχι,nyi,ηζι)為此面的外法向單位向量,(Χρ?,y Pi,zPi)為此面的中心位置坐 標(biāo); 在球體被放置在面上之前,對新的球體進(jìn)行成功放置判斷,當(dāng)新球體滿足成功放置的 條件,并將其放置到面上,否則,新球體被忽略,不會放置到面上; 當(dāng)Delaunay三角網(wǎng)格所有邊被遍歷后,第1代球體放置過程結(jié)束,在此過程中被成功放 置的球體均被標(biāo)為第1代; 三、 使用之前得到全部球體,采用步驟二的方法進(jìn)行第2代的球體放置,在第2代球體放 置過程中被成功放置的球體均被標(biāo)記為第2代; 四、 重復(fù)步驟二和步驟三,依次逐代地放置球體,直到在此面上無法成功的放置球體, 此時在該面上整個球體的放置過程結(jié)束。4. 根據(jù)權(quán)利要求3所述任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法,其特征 在于:局部笛卡爾坐標(biāo)系的建立原則為:中心位于三角形面的中心,XOY坐標(biāo)系位于面上。5. 根據(jù)權(quán)利要求3所述任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法,其特征 在于:球體成功放置判斷條件包括新的球體必須位于面的邊界球體所圍空間內(nèi)和新的球體 與已成功放置在該面的球體及邊界球體均不能發(fā)生重疊。6. 根據(jù)權(quán)利要求3所述任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法,其特征 在于:球體的整個放置過程中,采用以下的優(yōu)化準(zhǔn)則: 在每一代球體放置過程中,當(dāng)所遍歷Delaunay三角網(wǎng)格的邊的長度只有滿足下式時, 才會用來放置新的球體; Lij-Γi~Tj 2,Tmax 上式中,Lij表示Delaunay三角網(wǎng)格中任意一條邊所連接的兩個球體的中心距離,ri和rj 分別為邊所連接的兩個球體的半徑,rmax為第四球體半徑區(qū)間[r_,rmax]的上限值;如果不 滿足上述條件,則忽略該邊遍歷下一條邊。7. 根據(jù)權(quán)利要求3所述任意形狀凸多面體骨料的顆粒簇離散元模型構(gòu)建方法,其特征 在于:球體的整個放置過程中,采用以下的優(yōu)化準(zhǔn)則: 在逐代放置球體的過程中,當(dāng)進(jìn)行下一代的球體放置時,選擇前面5代到7代的球體的 中心位置來建立De launay三角網(wǎng)格。
【文檔編號】G06F17/50GK105930568SQ201610234983
【公開日】2016年9月7日
【申請日】2016年4月15日
【發(fā)明人】張強(qiáng), 張久長, 徐衛(wèi)亞, 王偉, 石崇, 王如賓, 孟慶祥, 王盛年
【申請人】河海大學(xué)