離散斷裂網(wǎng)絡(luò)DFN三維模型與二維模型的傾角(Dip)近似等效方法

1 引言

相同的數(shù)據(jù)在二維模型中生成的DFN與在三維模型中生成的DFN結(jié)果是完全不一樣的。原因是

在二維空間內(nèi),傾角fdip(fracture.dip)的范圍是在0到180°,而在三維空間內(nèi)fdip的角度是在0到90°;且在二維空間內(nèi)沒法表示傾向。3DEC提供了一個(gè)命令block to-udec,可以使用原點(diǎn)、法線或傾角和傾角方向指定一個(gè)平面,然后把這個(gè)平面導(dǎo)出到UDEC。顯然這種操作方法得出的DFN結(jié)果不是UDEC自身生成的DFN。 

block to-udec origin 0,25,0 dip 90 dip-direction 0

下圖所示的是相同數(shù)據(jù)生成的300條斷裂2D 和3D DFN模型。這個(gè)筆記簡(jiǎn)要討論了二維模型和三維模型傾角近似等效的方法,也許這種方法并不具有實(shí)際意義。

離散斷裂網(wǎng)絡(luò)DFN三維模型與二維模型的傾角(Dip)近似等效方法的圖1


2 等效方法 

對(duì)于一個(gè)生成的3D DFN模型,我們可以求出這個(gè)模型中所有斷裂的平均傾角,這可以通過編寫一個(gè)簡(jiǎn)單的FISH程序來實(shí)現(xiàn),對(duì)fracture.list進(jìn)行遍歷,把每條斷裂的傾角相加,再除以斷裂總數(shù),就可以得到整個(gè)模型斷裂的平均傾角,例如得出的平均傾角為54°。


相同的模型在2D中運(yùn)行,為了與3D模型得出的傾角相同,第一個(gè)過濾準(zhǔn)則是只保留那些傾角小于90°(fracture.dip(frac)<90)的斷裂,第二個(gè)過濾準(zhǔn)則是保留那些傾角在54°左右的斷裂,一個(gè)更精確的方法是在3D中求出傾角的平均值和標(biāo)準(zhǔn)偏差,然后在2D中使用這個(gè)值。這樣就可以在2D中作出一個(gè)僅傾角近似3D的DFN模型。


3 斷裂數(shù)目 

在生成2D DFN的過程中,為了與3D生成的斷裂數(shù)目相同,需要用到斷裂數(shù)目的判斷方法。有三個(gè)不同層次的判斷斷裂數(shù)目的函數(shù)。dfn.num返回整個(gè)模型的DFN數(shù)目,不是斷裂數(shù)目;dfn.fracturenum(PNT)返回指定DFN內(nèi)的斷裂數(shù)目; fracture.num返回整個(gè)模型的總斷裂數(shù)。


4 UDEC的一個(gè)小Bug 

在試驗(yàn)上述模型的過程中,無意中發(fā)現(xiàn)了UDEC的一個(gè)小bug, 當(dāng)取出一條斷裂的傾角時(shí),計(jì)算本身沒有問題,但在FISH變量的顯示面板中,無論如何改變斷裂的ID,那個(gè)值始終不變。

[fp = fracture.find(5)][fdip = fracture.dip(fp)][io.out(fdip)]

離散斷裂網(wǎng)絡(luò)DFN三維模型與二維模型的傾角(Dip)近似等效方法的圖2

我相信這是軟件的一個(gè)Bug, 但為啥顯示的是這條斷裂的傾角,而不是其它斷裂的傾角,目前還不知道是啥原因。


5 UDEC不能使用先進(jìn)的遍歷算法 

在上述試驗(yàn)過程中,也發(fā)現(xiàn)UDEC目前還不能使用新的遍歷算法,只能使用loop foreach。

define find_dip     sum = 0    loop foreach fp fracture.list        fdip = fracture.dip(fp)        io.out(fdip)        sum = sum + fdipend_loop

新的循環(huán)算法只使用一句代碼,目前在3DEC,F(xiàn)LAC3D和PFC 7.0 中能夠使用,但還沒有改進(jìn)到UDEC中。

[fdip = fracture.dip(::fracture.list)]


6 3DEC新的改進(jìn)(7.00.144)

剛剛看到3DEC 7.00.144 (12/02/2021)出來了,簡(jiǎn)要描述新版的改進(jìn)之處。

(1) 增加了range jmodel 命令。我怎么記得早期的版本就有這個(gè)命令呢。

(2)增加了使用FISH函數(shù)獲取有限元高斯點(diǎn)的數(shù)據(jù),這個(gè)功能是為了從外部有限元程序?qū)刖W(wǎng)格。

(3) 修正了在所有自由度不固定的情況下用剛性塊求解的問題。

(4) 修正了DFN與幾何體相交的計(jì)算。

(5) 修正了block dynamic eigen命令。

(6) 修正了命令轉(zhuǎn)換工具。

(7) 修正了刪除已開挖和填充的塊。

(8) 修正了子接觸繪圖命令。

(9) 修正了block.face.next fish函數(shù)。

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

2