本技術(shù)涉及數(shù)值仿真,尤其瀝青混凝土、水泥混凝土等復合材料的數(shù)值建模技術(shù),具體為一種適用于大容量規(guī)則排布結(jié)構(gòu)的離散元快速建模方法。
背景技術(shù):
1、離散元數(shù)值仿真技術(shù)作為離散介質(zhì)力學行為研究的重要手段在土木工程等相關(guān)領(lǐng)域中得到了廣泛應(yīng)用,該方法克服了傳統(tǒng)連續(xù)介質(zhì)力學的宏觀連續(xù)性假設(shè),從細觀層次模擬非均質(zhì)材料的力學特性,揭示顆粒間的復雜力學行為,在處理非連續(xù)介質(zhì)的大變形、非連續(xù)等問題中具有獨特優(yōu)勢。
2、在模型構(gòu)建過程中,為真實模擬材料的細觀結(jié)構(gòu),在模型范圍內(nèi)根據(jù)集料級配投放以集料形貌為模板生成的剛性簇clump,通過混合料生成控制算法建立粗集料clump骨架結(jié)構(gòu),進而將不可斷裂的剛性簇clump轉(zhuǎn)換為可斷裂的柔性簇cluster,即可完成幾何建模的核心內(nèi)容。
3、目前在土木工程領(lǐng)域中,離散元法常用于模擬室內(nèi)試驗,例如:單軸壓縮試驗、間接拉伸試驗、半圓彎曲試驗等。這類模型的尺寸大多在十幾公分以內(nèi),模型容量??刂圃跀?shù)萬顆粒單元。通過離散元法分析離散系統(tǒng)中顆粒的運動規(guī)律,旨在闡釋材料在荷載作用下的變形行為和破壞機理。然而,離散元法尚未應(yīng)用于結(jié)構(gòu)分析和大容量模型構(gòu)建中,這限制了其在更廣泛實際工程問題中的應(yīng)用潛力。
4、另一方面,由于主流計算設(shè)備性能限制,在構(gòu)建大顆粒容量的離散元模型中存在兩點突出問題,嚴重地制約了離散元法在大容量顆粒仿真模擬中的應(yīng)用。其一,離散元模型的骨架生成過程將會消耗大量時間用于實時監(jiān)測和平衡模型中所有顆粒的內(nèi)應(yīng)力,當投放剛性簇clump達到一定數(shù)量后,該過程效率非常低下,甚至設(shè)備無法計算;其二,在將剛性簇clump轉(zhuǎn)換為柔性簇cluster的過程中,其判斷邏輯是每一個pebble循環(huán)與模型中所有ball進行距離判斷,將圓心距(球心距)小于pebble半徑識別為集料顆粒,整個過程隨著模型容量的擴張,時間消耗呈指數(shù)型增加,嚴重地降低了建模效率。以上兩點問題使得當前離散元難以構(gòu)建大容量模型,有必要建立一種適用于大容量顆粒的離散元快速建模方法。
技術(shù)實現(xiàn)思路
1、為了解決上述技術(shù)問題,本技術(shù)實施例提供一種適用于大容量規(guī)則排布結(jié)構(gòu)的離散元快速建模方法,以解決現(xiàn)有離散元建模技術(shù)不能實現(xiàn)大容量模型的快速構(gòu)建問題,有助于離散元仿真技術(shù)在大容量模型中推廣應(yīng)用。
2、為了達成上述目的,本發(fā)明提供一種適用于大容量規(guī)則排布結(jié)構(gòu)的離散元快速建模方法,包括:
3、步驟s1:根據(jù)研究需求確定模型基本尺寸,并基于預(yù)設(shè)原則將原模型劃分為若干區(qū)段;
4、步驟s2:在原模型所劃分的區(qū)段中,選擇一個未處理的區(qū)段并在該區(qū)段內(nèi)根據(jù)集料級配使用剛性簇clump單元建立粗集料骨架結(jié)構(gòu);
5、步驟s3:在整個模型范圍內(nèi)生成粒徑相同且排布規(guī)則的若干ball單元,僅保留步驟s2中所選擇區(qū)段內(nèi)的ball單元并將模型其他區(qū)段的ball單元均刪除;
6、步驟s4:基于離散元搜索區(qū)域控制算法循環(huán)判斷每一個pebble單元與鄰近范圍內(nèi)ball單元的相對位置,使得包含在每一個clump單元范圍內(nèi)的所有ball單元獲得相同的group信息,將該clump單元轉(zhuǎn)換為柔性簇cluster單元,之后隨即刪除該clump單元;其中,剛性簇clump單元的基本構(gòu)成單元為pebble單元,柔性簇cluster單元的基本構(gòu)成單元為ball單元;
7、步驟s5:獲取步驟s4中所有ball單元的有效信息,隨即刪除該區(qū)段內(nèi)所有的ball單元,有效信息至少包括各軸的坐標信息、ball半徑、group信息和id信息;
8、步驟s6:重復步驟s2~步驟s5以遍歷所有的區(qū)段,記錄所有區(qū)段內(nèi)ball單元的有效信息;
9、步驟s7:基于步驟s6中所有區(qū)段內(nèi)ball單元的有效信息,在整個模型范圍內(nèi)對應(yīng)位置重新生成第二ball單元,每一個第二ball單元對應(yīng)一個ball單元,每一個第二ball單元ball至少包含id數(shù)據(jù)和group信息,構(gòu)建出賦有顆粒分組信息的離散元幾何模型;
10、步驟s8:對離散元幾何模型定義接觸模型與細觀參數(shù),完成離散元模型構(gòu)建。
11、進一步地,步驟s1中預(yù)設(shè)原則包括以材料配合比作為劃分標準或以預(yù)設(shè)結(jié)構(gòu)層分布作為劃分標準或?qū)⒂脩粢庠缸鳛閯澐謽藴?,形成最終的分段模型。
12、進一步地,步驟s2包括:
13、自任意區(qū)段開始根據(jù)集料級配投放剛性簇clump,需通過自重沉積算法或壓實成型算法或體積膨脹算法生成粗集料骨架結(jié)構(gòu)。
14、進一步地,步驟s3中排布規(guī)則包括四方排布結(jié)構(gòu)或六方排布結(jié)構(gòu)。
15、進一步地,步驟s4中的離散元搜索區(qū)域控制算法包括:
16、步驟s41:獲取剛性簇clump單元所建立的粗集料骨架結(jié)構(gòu)以及自原點位置按排布規(guī)則所生成的ball單元;原點位置在2d模型中為(0,0),在3d模型中為(0,0,0);
17、步驟s42:依據(jù)排布規(guī)則計算每一個ball單元的id數(shù)據(jù);
18、步驟s43:分別遍歷獲取pebble單元與ball單元的圓心坐標;
19、在2d模型下,pebble單元的圓心坐標(xp,yp),ball單元的圓心坐標(xb,yb);
20、在3d模型下,pebble單元的圓心坐標(xp,yp,zp),ball單元的圓心坐標(xb,yb,zb);
21、步驟s44:基于所采用的排布規(guī)則所對應(yīng)的幾何形狀,獲取ball單元的厚度尺寸;其中,在2d模型中獲取在x、y方向所對應(yīng)的每個、每行的ball單元平均厚度尺寸,在3d模型中獲得在x、y、z方向所對應(yīng)的每個、每行、每層ball單元平均厚度尺寸;
22、步驟s45:基于pebble單元圓心坐標和ball單元的厚度尺寸獲取每個pebble單元所在位置在各軸向上對應(yīng)的顆粒個數(shù),取整后形成該pebble單元與所相鄰ball單元的位置對應(yīng)關(guān)系;其中,取整時采用向上取整或向下取整或四舍五入取整或隨機取整;
23、在2d模型下,獲取每個pebble單元所在位置在x方向?qū)?yīng)的顆粒個數(shù)tx、在y方向所對應(yīng)的行數(shù)ty;
24、在3d模型下,計算每個pebble單元所在位置在x方向?qū)?yīng)的顆粒個數(shù)tx、在y方向所對應(yīng)的行數(shù)ty、在z方向所對應(yīng)的層數(shù)tz;
25、步驟s46:設(shè)立搜索區(qū)域擴展范圍,在2d模型下,基于計算出的tx和ty構(gòu)建相近ball單元顆粒搜索區(qū)域;在3d模型下,基于計算出的tx、ty和tz構(gòu)建相近ball單元顆粒搜索區(qū)域;
26、步驟s47:獲取所構(gòu)建的搜索區(qū)域內(nèi)的ball單元的id數(shù)據(jù),并遍歷計算每個pebble單元的搜索區(qū)域。
27、進一步地,步驟s42中針對四方排布結(jié)構(gòu)的id數(shù)據(jù)按照如下方式計算:
28、在2d模型下獲取x方向每行ball數(shù)量nx,id數(shù)據(jù)bid=(ty-1)×nx+tx;
29、在3d模型下獲取x方向每行ball數(shù)量nx與z方向每層ball數(shù)量nz,id數(shù)據(jù)bid=(tz-1)×nz+(ty-1)×nx+tx;
30、式中:tx為該ball在x方向?qū)?yīng)所在行內(nèi)的ball個數(shù);ty為該ball在y方向?qū)?yīng)的行數(shù);tz為該ball在z方向?qū)?yīng)的層數(shù);nx為x方向每行ball數(shù)量;nz為z方向每層ball數(shù)量;bid為ball所對應(yīng)的id。
31、進一步地,步驟s42中針對六方排布結(jié)構(gòu)的id數(shù)據(jù)按照如下方式計算:
32、在2d模型下id數(shù)據(jù):
33、若ball所在位置屬于奇數(shù)行bid=(ty-1)/2×(nx1+nx2)+tx;
34、若ball所在位置屬于偶數(shù)行bid=(ty/2-1)×(nx1+nx2)+nx1+tx;
35、在3d模型下id數(shù)據(jù):
36、若ball所在位置屬于奇數(shù)層與奇數(shù)行bid=(tz-1)/2×(nz1+nz2)+(ty-1)/2×(nx1+nx2)+tx;
37、若ball所在位置屬于奇數(shù)層與偶數(shù)行bid=(tz-1)/2×(nz1+nz2)+(ty/2-1)×(nx1+nx2)+nx1+tx;
38、若ball所在位置屬于偶數(shù)層與奇數(shù)行bid=(tz/2-1)×(nz1+nz2)+nz1+(ty-1)/2×(nx1+nx2)+tx;
39、若ball所在位置屬于偶數(shù)層與偶數(shù)行bid=(tz/2-1)×(nz1+nz2)+nz1+(ty/2-1)×(nx1+nx2)+nx1+tx;
40、式中:tx為該ball在x方向?qū)?yīng)所在行內(nèi)的ball個數(shù);ty為該ball在y方向?qū)?yīng)的行數(shù);tz為該ball在z方向?qū)?yīng)的層數(shù);nx1為x方向奇數(shù)行ball數(shù)量;nx2為x方向偶數(shù)行ball數(shù)量;nz1為z方向奇數(shù)層ball數(shù)量;nz2為z方向偶數(shù)層ball數(shù)量;bid為ball所對應(yīng)的id。
41、進一步地,步驟s44中:
42、在2d模型下,四方排布結(jié)構(gòu)中每個ball單元在x方向上的厚度尺寸xdis=2r、在y方向上的厚度尺寸ydis=2r;
43、六方排布結(jié)構(gòu)中每個ball單元在x方向上的厚度尺寸xdis=2r、在y方向上的厚度尺寸ydis=r;
44、在3d模型下,四方排布結(jié)構(gòu)中每個ball單元在x方向上的厚度尺寸xdis=2r、在y方向上的厚度尺寸ydis=2r、在z方向上的厚度尺寸zdis=2r;
45、六方排布結(jié)構(gòu)中每個ball單元在x方向上的厚度尺寸xdis=2r、在y方向上的厚度尺寸ydis=r、在z方向上的厚度尺寸zdis=r;
46、其中,r為ball單元的平均半徑。
47、進一步地,步驟s46中,以tx、ty、tz為基礎(chǔ)上下均浮動至少兩個數(shù)作為新的相近ball單元顆粒搜索區(qū)域,針對tx、ty、tz分別減小ix、iy、iz和增加ux、uy、uz,其中,ix、iy、iz、ux、uy、uz均為≥2的整數(shù),x軸搜索區(qū)域范圍(tx-ix)~(tx+ux),y軸搜索區(qū)域范圍(ty-iy)~(ty+uy),z軸搜索區(qū)域范圍(tz-iz)~(tz+uz)。
48、本發(fā)明的有益效果:
49、1、提供出一種可建立大容量規(guī)則排布結(jié)構(gòu)的模型,填補現(xiàn)有技術(shù)的空白;
50、2、在模型構(gòu)建過程中,首先利用先分割后合并的方式,將大容量模型劃分為若干區(qū)段,提高了骨架結(jié)構(gòu)的構(gòu)建效率;
51、3、通過離散元搜索區(qū)域控制算法,針對性地縮小了顆粒單元的遍歷范圍,在極大地提高混合料模型構(gòu)建效率的同時保障了模型計算的精確度。