
發布
注冊
/
登錄DFN的案例
離散斷裂網絡[DFN.]FISH函數分類與解析(UDEC和3DEC)
1 引言
最近15年來,離散斷裂網絡DFN在巖石工程中得到了逐漸的普及和應用,應用領域包括邊坡和地下開挖穩定性分析,仿真巖石力學試驗以獲得真實的巖體強度以及預測崩落采礦的巖石破碎性能等。本公眾號以前討論過大量DFN方面的研究,Top 15文章如下所示。
下面的試驗與討論基于UDEC/3DEC 7.0。離散斷裂網絡模擬和操作可分為兩個層次:一個是DFN,DFN用在DFN水平上進行操作,另一個是Fracture,fracture用來操作DFN內的斷裂。這個筆記簡要討論了DFN層次上的操作函數。
2 DFN函數
DFN FISH共有22個函數,其中3個只有在3DEC才有,這三個UDEC沒有的函數分別是:
dfn.contact.list(D_PNT<,INT>);
dfn.contact.list.all(D_PNT<,INT>);
dfn.prop(D_PNT,STR)
下面按照函數的功能以及傳遞的參數值對這些函數進行了分類。這樣的分類比直接按照字典順序給出更容易理解和掌握。當產生一個DFN后,便可以使用這些函數對DFN進行操作。
fracture generate dfn 'p1' fracture-count 100
(1) 尋找指針
UDEC和3DEC的數據都是以鏈表結構儲存的,因此為了操作DFN中的數據,首先需要獲得DFN的指針,指針通過dfn.find(ad)函數獲取,ad為DFN的名稱或者ID, ID的索引從1開始。
(2) 不需傳遞參數的斷裂類型,ID和數量
有三個函數不需要任何傳遞參數,它們是:
[1] dfn.maxid 獲得最大的DFN ID值。當模型有多個DFN組成時可以獲取最大的ID值,如果只有一個DFN,那么返回值是1.
展開 Fracman讀取FLAC3D生成的離散斷裂網絡(DFN)模型
進一步,Fracman能夠自動計算DFN模型的相關參數值,例如P10, P32,P33等,其中一些參數值可以在FLAC3D中使用FISH語言計算出來。下圖所示的是DFN模型的極點圖(赤平極射投影(Stereographic projection)快速識圖和繪制方法)和斷裂半徑。
5 DFN相關鏈接Top 15
一個階段性的小結: 離散斷裂網絡DFN
離散斷裂網絡 (DFN) [P2]: fracture generate
離散斷裂網絡Discrete Fracture Network (DFN)[P1]
離散斷裂網絡DFN---從流體到固體的模擬
6款離散斷裂網絡(DFN)模擬工具簡介
離散斷裂網絡(DFN)[P5]: FLAC3D中的DFN
離散斷裂網絡(DFN)[P3]: fracture contact-model
離散斷裂網絡DFN模型總結
離散斷裂網絡DFN模型---Veneziano Model
斷裂強度的不同測量方法(Different Measures of Fracture Intensity)
離散斷裂網絡DFN模型---Baecher Model
巖石破壞路徑的搜索算法
斷裂產狀(Fracture Orientation)的概率密度函數---Fisher分布
離散斷裂網絡(DFN)[P4]: 創建一個合成巖體SRM
體積斷裂強度P32(Volumetric Fracture Intensity)聚合
展開 簡化和優化DFN---fracture combine命令
1 引言
生成一個隨機DFN的方法是首先使用fracture template create命令指定斷裂隨機分布的參數,然后使用fracture generate 命令產生出一個DFN;或者直接從外部程序導入(FLAC3D導入Fracman生成的離散斷裂網絡(DFN)模型)。一個現實的問題是這樣的DFN可能包含幾萬條斷裂,而這些斷裂不可能完全形成塊體用于力學計算,因此我們需要簡化DFN。
根據問題的不同用途和屬性,可以聯合使用多種內置的命令簡化DFN。例如:
fracture cluster
fracture combine
fracture compute
fracture connectivity
fracture delete
fracture intersections compute
fracture intersections delete
fracture prune
也可以自定義FISH函數來簡化DFN的斷裂數目。這個筆記簡要回顧了其中最常用的一種簡化方法,使用fracture combine命令簡化DFN。
2 fracture combine算法
fracture combine 命令用來去掉和合并小的斷裂。當使用這個命令時,所有的交叉點都被刪除。這個命令帶有四個關鍵字:angle, collapse, distance, merge. 此外,可以使用<range>對限定的某一區域進行操作。其算法是把DFN內的所有斷裂從尺寸最大的斷裂(稱之為參考斷裂)開始,按照尺寸從大到小進行排列,然后使用下面的準則確定較小斷裂的標準。
第一個準則是angle. 判斷每一條斷裂的產狀與參考斷裂的產狀之差小于一個給定的角度。第二個準則是distance.
展開 離散斷裂網絡DFN生成多個塊體的穩定性分析(block analyze-stability) (3)
首先使用離散斷裂網絡DFN技術產生斷裂,然后切割成塊體(block cut dfn)。只有與隧道開挖邊界相交塊體才會使用block analyze-stability方法計算安全系數。
2 DFN產生塊體
離散斷裂網絡DFN為自動生成塊體提供了一種非常有效的工具。為了生成一個DFN,首先需要使用fracture template create命令指定斷裂隨機分布的參數,斷裂模板包含了斷裂尺寸、位置和產狀分布的描述,然后使用fracture generate 命令產生DFN。fracture combine 命令用來合并小的斷裂。有三種方法阻止斷裂繼續生成。第一種使用mass-density關鍵字,第二種使用p10關鍵字,第三種使用fish-stop關鍵字。
展開 
DFN在邊坡、隧道和巖石地基工程中的應用
(1) 使用離散裂縫網絡模擬巖石邊坡的斷裂強度(Fracture intensity modelling in rock slopes and field representativeness evaluation using discrete fracture networks)
在DFN模型中定義斷裂強度(fracture intensity)是至關重要的,因為需要一個良好的細化水平來充分代表原位巖石的邊坡條件。大多數估計是以每單位長度的不連續的數量(P10)來表示。然而鑒于其體積概念,使用每單位體積的不連續性面積(P32)更適合于用DFN進行巖石邊坡模擬。有些方法使用模擬的DFN模型從P10間接估計P32的值。在這項工作中,使用近距離攝影測量設備從表面測量直接獲得P10,然后強調了P10估計中不連續幾何數據的影響,最后用P10值進行DFN模擬,結果顯示可以在DFN模型中使用模擬的體積強度P32。
展開 離散斷裂網絡DFN模型總結
其中, 離散斷裂網絡(DFN)的引入增強了這種研究的可能性. 這個筆記簡要回顧了目前使用的DFN模型. 本公眾號DFN Top 5總結如下:
一個階段性的小結: 離散斷裂網絡DFN
離散斷裂網絡 (DFN) [P2]: fracture generate
離散斷裂網絡Discrete Fracture Network (DFN)
離散斷裂網絡DFN---從流體到固體的模擬
6款離散斷裂網絡(DFN)模擬工具簡介
2 DFN模型回顧
在過去超過半個世紀的研究中, 研究者們提出了各種各樣的DFN模型, 主要的模型概括如下. 應當意識到, 不是所有的模型都適用于合并到力學模型中. DFN模型目前用在SRM和巖橋的研究中.
展開 FLAC3D導入Fracman生成的離散斷裂網絡(DFN)模型
format fracman dfn 'dfn_import' truncate
block tolerance 0.02
block create brick -10 10
block cut dfn name 'dfn_import'
block zone generate edgelength 1
DFN切割BBM的block group
1 引言
有位同學問使用BBM【粘合塊體模擬BBM---Bonded Block Modeling;將單元zone轉化為四面體tetrahedron---block zone list poly (BBM)】生成的塊體,DFN不會將block group或BBM貫穿。這個筆記根據這個問題做了簡單的試驗。
2 BBM回顧
BBM由一系列非常小的四面體組成,由于尺寸足夠小,因此假定塊體是彈性的,塊體之間的接觸呈彈-塑性狀態,破壞沿著這些接觸發生。生成BBM的方法是使用block zone list poly命令,這個命令產生一個包含一系列block create tetrahedron命令的文件,其作用是將每個單元(zone)轉化成一個四面體塊(block)。原有的塊組、區域、材料號和本構號將應用于新的四面體塊。如果沒有指定文件名,那么系統會命名為 "poly.dat"。
3 BBM試驗
第一種情形是生成BBM+DFN之后進行block group,下圖第一個是使用block cut joint-set產生一組平行節理,第二個是使用DFN產生隨機節理,使用這兩種方法產生節理后進行分組,節理能夠穿過block group。
第二種情形是首先在BBM產生時進行分組,然后再加上DFN,如下圖所示。在這種情形下,節理也能穿過block group。不過,這兩種情形產生的塊體數量不同,這可以通過block.num來查看。
FLAC3D導入Fracman生成的離散斷裂網絡(DFN)模型
離散斷裂網絡DFN生成多個塊體的穩定性分析(block analyze-stability) (3)
展開 離散斷裂網絡DFN三維模型與二維模型的傾角(Dip)近似等效方法
1 引言
相同的數據在二維模型中生成的DFN與在三維模型中生成的DFN結果是完全不一樣的。原因是
在二維空間內,傾角fdip(fracture.dip)的范圍是在0到180°,而在三維空間內fdip的角度是在0到90°;且在二維空間內沒法表示傾向。3DEC提供了一個命令block to-udec,可以使用原點、法線或傾角和傾角方向指定一個平面,然后把這個平面導出到UDEC。顯然這種操作方法得出的DFN結果不是UDEC自身生成的DFN。
block to-udec origin 0,25,0 dip 90 dip-direction 0
下圖所示的是相同數據生成的300條斷裂2D 和3D DFN模型。這個筆記簡要討論了二維模型和三維模型傾角近似等效的方法,也許這種方法并不具有實際意義。
2 等效方法
對于一個生成的3D DFN模型,我們可以求出這個模型中所有斷裂的平均傾角,這可以通過編寫一個簡單的FISH程序來實現,對fracture.list進行遍歷,把每條斷裂的傾角相加,再除以斷裂總數,就可以得到整個模型斷裂的平均傾角,例如得出的平均傾角為54°。
相同的模型在2D中運行,為了與3D模型得出的傾角相同,第一個過濾準則是只保留那些傾角小于90°(fracture.dip(frac)<90)的斷裂,第二個過濾準則是保留那些傾角在54°左右的斷裂,一個更精確的方法是在3D中求出傾角的平均值和標準偏差,然后在2D中使用這個值。這樣就可以在2D中作出一個僅傾角近似3D的DFN模型。
3 斷裂數目
在生成2D DFN的過程中,為了與3D生成的斷裂數目相同,需要用到斷裂數目的判斷方法。有三個不同層次的判斷斷裂數目的函數。
展開 離散斷裂網絡DFN模型---Baecher Model
1 引言
近二十年來, 離散斷裂網絡DFN在許多工程領域得到了應用,主要包括采礦工程、土木工程、環境工程和石油儲藏工程。迄今為止, 在水力學和巖石工程領域(離散斷裂網絡DFN---從流體到固體的模擬), 已經發展出許多DFN模型(離散斷裂網絡DFN模型總結), 而且研究者們還在繼續發展新的DFN模型, 但是由于這些模型作了許多數學上的假設, 而巖體由于地質構造作用的不同, 呈現出千變萬化的特征, 因此提出的大多數模型還沒有在實踐中得到充分驗證和應用。不過, 其中一些模型已經在巖石工程中得到了廣泛應用, 例如Veneziano模型(離散斷裂網絡DFN模型---Veneziano Model), Voronoi 模型(Voronoi多邊形在有限元中的應用; 二維Voronoi 塊體生成方法; 三維Voronoi塊體的單軸抗壓強度試驗). 本文簡要描述了另一個廣泛使用的模型: Baecher模型 .
2 Baecher模型
DFN顯式地將斷裂或者節理作為不連續的特征,用帶有概率分布的隨機變量來定義. 因此,DFN可以用來推斷現場觀測數據,從而代表巖體不連續的性質。離散斷裂網絡模型是根據斷裂特征之間的特定關系生成的,如斷裂產狀、斷裂、尺寸和終止條件。其中, Baecher模型(Baecher et al., 1978, Statistical Description of Rock Properties and Sampling)是一種非常靈活的算法,可以生成復雜的節理網絡。
Baecher模型
Baecher模型是一個典型的盤形節理模型,其中節理尺寸即跡長是有限的,并且遵循某種統計分布。每個節理由三個參數定義,即中心點、產狀和直徑。
展開 離散斷裂網絡DFN三維模型與二維模型的傾角(Dip)近似等效方法
1 引言
相同的數據在二維模型中生成的DFN與在三維模型中生成的DFN結果是完全不一樣的。原因是
在二維空間內,傾角fdip(fracture.dip)的范圍是在0到180°,而在三維空間內fdip的角度是在0到90°;且在二維空間內沒法表示傾向。3DEC提供了一個命令block to-udec,可以使用原點、法線或傾角和傾角方向指定一個平面,然后把這個平面導出到UDEC。顯然這種操作方法得出的DFN結果不是UDEC自身生成的DFN。
block to-udec origin 0,25,0 dip 90 dip-direction 0
下圖所示的是相同數據生成的300條斷裂2D 和3D DFN模型。這個筆記簡要討論了二維模型和三維模型傾角近似等效的方法,也許這種方法并不具有實際意義。
2 等效方法
對于一個生成的3D DFN模型,我們可以求出這個模型中所有斷裂的平均傾角,這可以通過編寫一個簡單的FISH程序來實現,對fracture.list進行遍歷,把每條斷裂的傾角相加,再除以斷裂總數,就可以得到整個模型斷裂的平均傾角,例如得出的平均傾角為54°。
相同的模型在2D中運行,為了與3D模型得出的傾角相同,第一個過濾準則是只保留那些傾角小于90°(fracture.dip(frac)<90)的斷裂,第二個過濾準則是保留那些傾角在54°左右的斷裂,一個更精確的方法是在3D中求出傾角的平均值和標準偏差,然后在2D中使用這個值。這樣就可以在2D中作出一個僅傾角近似3D的DFN模型。
3 斷裂數目
在生成2D DFN的過程中,為了與3D生成的斷裂數目相同,需要用到斷裂數目的判斷方法。有三個不同層次的判斷斷裂數目的函數。
展開 
FLAC3D和3DEC導入DFN模型的域范圍(model domain extent)設置
1 引言
從Fracman導入DFN模型到FLAC3D或3DEC時,必須首先設置模型的域范圍(model domain extent),這是因為DFN只能在模型域內產生,否則會出現錯誤信息:A domain must be specified before a dfn can be imported(在導入dfn之前必須指定一個域)。事實上,自從版本6.0開始,FLAC3D,3DEC,PFC都強制要求在代碼運行開始之前使用這個命令,盡管在FLAC3D中,單元和結構與模型域沒有關系,只有DFN會受到域的影響。而在PFC和3DEC中,塊體,團塊和球必須在指定的域邊界條件內運動。對于DFN來說,如果斷裂的幾何形狀超出限定的區域,則在與域邊界相交處截斷。model domain的使用方法曾經在《設置模型域 model domain》一文針對PFC的模擬討論過,這個筆記著重討論從外部模型輸入DFN時的一些注意事項。
2 model domain命令
模型域model domain 用來設定處理問題的域或者稱作范圍。模型域是域是固定的, 它不會隨著模型組件的擴展或分散而自動增長,盡管它的大小可以用extent命令重新指定。
用戶必須在創建模型組件的任何實例之前指定域范圍和邊界條件。這一步是通過model domain命令來執行的,它接受兩個關鍵字:extent和condition。extent關鍵字用于指定模型域的范圍,獨立于每個全局坐標系方向。除非用戶進一步修改,否則域的范圍是固定的。當模型組件分散時,它不會自動擴展。相反,它規定了模型組件到達域邊界時應遵循的行為;它們可以被破壞、停止、反射,或者定期地在相反的域邊界重新插入模型。這種行為是用condition關鍵字來設置的。
展開 離散斷裂網絡DFN模型---Veneziano Model
3 模型應用
Esmaieli等人(2010)使用Fracture-SG軟件生成了DFN(Grenon & Hadjigeorgiou, 2008), 這個軟件的理論基礎是Veneziano模型。輸入的數據為經過統計分析的現場數據, 包括斷裂的產狀、跡長和節理間距等信息, 然后利用模型軟件反復迭代運行, 直到現場數據和模擬數據之間達到統計學上的一致。
下圖所示的是布朗斯維克礦(Brunswick)區塊狀硫化物巖體的40m×40m×40m的DFN模型。在這個模型中產生出72816個斷裂多邊形。其中主斷裂1號、2號和3號斷裂組分別用紅色、藍色和綠色標識。一旦DFN模型得到驗證,就從初始的主DFN模型內隨機提取一個7mx7mx14m的立方體樣本,用來產生合成巖體SRM.
展開 如何在離散斷裂網絡DFN中計算RQD指標
3 結束語
上述過程簡要概括了在DFN中計算鉆孔的RQD,由于邊寫本文邊敲代碼,代碼寫得完全不規范,僅用于臨時測試,但已經給出了具體思路和需要使用的函數,基本上免費回答了這位同學提出的問題。此外,FISH語言在數據儲存和操作上不夠靈活,以后將用Python重新寫一個通用的計算RQD的程序,以適應不同的鉆孔方向。與DFN相關的公眾號文章 Top 20如下所示,供擴展閱讀。
擴展有限元(XFEM)模擬巖體節理網絡(DFN | Joint Network)
與顯式的離散斷裂網絡DFN相比,XFEM可以在解決較大網格尺寸的問題時減少計算時間。