陳育民對FLAC3D常見問題的解答概要_第1頁
陳育民對FLAC3D常見問題的解答概要_第2頁
陳育民對FLAC3D常見問題的解答概要_第3頁
陳育民對FLAC3D常見問題的解答概要_第4頁
陳育民對FLAC3D常見問題的解答概要_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

PAGE目錄1.FLAC3D的固流耦合計算模式 12.FLAC3D固流耦合學(xué)習(xí)小結(jié) 113.關(guān)于流固耦合的問題 124.也談采用FLAC3D對地下采礦的模擬 195.FLAC3D本構(gòu)模型開發(fā) 206.FLAC3D自定義本構(gòu)模型 267.?dāng)?shù)值計算中初始應(yīng)力場的模擬 308.FLAC3D應(yīng)變分析 319.FLAC3D的調(diào)參 3210.開采沉陷垂直剖面等值線的生成 3411.FLAC3D的應(yīng)變硬化軟化模型 3712.FLAC3D的塑性流動格式 3813.FLAC3D的動畫制作 3914.地下連續(xù)墻基坑開挖支護 4015.一個匯的小例子 4916.用3DEC生成巖體隨機節(jié)理網(wǎng)絡(luò) 5317.固結(jié)小算例 56FLAC3D的固流耦合計算模式英文原文 60PAGE141.FLAC3D的固流耦合計算模式/blog/static/323428402007102243049387/FLAC3D的計算模式中是否需要做孔壓分析取決于是否采用configfluid命令。1無滲流模式(不使用configfluid)即使不使用命令configfluid,仍然可以在節(jié)點上施加孔壓。這種模式下,孔壓將保持為常量。如果采用塑性本構(gòu)模型的話,材料的破壞將由有效應(yīng)力狀態(tài)來控制。節(jié)點上的孔壓分布可由initialpp命令或watertable命令來設(shè)定。如果采用watertable命令,由程序自動計算水位線以下的靜水孔壓分布。此時,必須施加流體密度(waterdensity)和重力(setgravity)。流體密度值和水位位置可以用命令printwater顯示。如果水位線是由face關(guān)鍵字來定義的,則可用命令plotwater命令顯示水位。這兩種情況,單元的孔壓都由節(jié)點孔壓值平均求出,并在本構(gòu)模型計算中用作有效應(yīng)力。這種計算模式下,體積力中不反映流體的出現(xiàn):用戶必須根據(jù)水位線以上或以下相應(yīng)地指定干密度和濕密度。使用命令printgppp和printzonepp可分別得到節(jié)點或單元孔壓。plotcontourpp命令可繪出節(jié)點孔壓云圖。2滲流模式(使用configfluid)如果使用命令configfluid,則可進行瞬時滲流分析,孔壓改變和潛水面的改變都可能出現(xiàn)。在configfluid模式下,有效應(yīng)力計算(靜態(tài)孔壓分布)和非排水計算均被執(zhí)行。除此之外,還可進行全耦合分析,這種情況下,孔壓改變將使固體產(chǎn)生變形,同時體積應(yīng)變反過來影響孔壓的變化。如果采用滲流模式,單元孔壓仍由節(jié)點孔壓平均求出。但這種模式,用戶只能指定干密度(不論是水位以上還是以下),因為FLAC3D將流體的影響考慮到了體積力的計算中。采用滲流模式時,滲流模型必須施加到單元上,使用命令modelflisotropic模擬各向同性滲流,modelflanisotropic模擬各向異性滲流,modelflnull模擬非滲透物質(zhì)。注意,力學(xué)模型為空的單元并不代表滲流模型為空。流體性質(zhì)(參數(shù))可施加到單元或節(jié)點上。各向同性滲透率、孔隙率、比奧系數(shù)和非排水熱系數(shù)等單元流體性質(zhì)由命令property施加。對于各向同性滲流,滲透率通過perm關(guān)鍵字賦予。對各向異性滲流,滲透率的3個主值采用關(guān)鍵字k1,k2,k3賦予,主方向由關(guān)鍵字fdip,fdd,frot確定。滲透率的主方向服從右手系統(tǒng)。fdip和fdd分別為k1和k2確定的平面的傾向和傾角。frot為k1軸和傾角矢量的旋轉(zhuǎn)角。如果不特別指定,比奧系數(shù)默認為1,孔隙率默認為0.5。節(jié)點的滲流性質(zhì)由命令initial指定。這些性質(zhì)包括流體重度、流體體積模量、比奧模量、流體抗拉強度和飽和度。每種性質(zhì)在空間上都可以變化。流體重度也可以用water命令給出。在滲流模式里,有必要知道可壓縮性被定義在以下兩種參數(shù)中:(1)比奧系數(shù)和比奧模量;(2)流體體積模量和孔隙率。第一種參數(shù)表征的是固體顆粒的可壓縮性(對不可壓縮顆粒,比奧系數(shù)設(shè)為1)。對第二種參數(shù),固體顆粒被認為是不可壓縮的。單元屬性可由命令printzoneproperty顯示,節(jié)點屬性由printgp命令顯示。流體重度,如果隨著水位位置被確定,則可由printwater命令顯示。滲流性質(zhì)可由命令plotbcontourproperty顯示。對于各向異性滲流,滲透率的各球形分量可通過使用單元的屬性關(guān)鍵字kxx,kyy,kzz,kxy,kxz,kyz來顯示(注意,這些球形分量不可被直接初始化)。初始節(jié)點孔壓分布的施加對于滲流模式和非滲流模式都是一樣的(如,要么用initialpp命令或用watertable命令)。在指定節(jié)點可用命令fixpp或freepp對孔壓固定或釋放。流體涌入或滲漏或可由命令apply施加。滲流計算由命令setfluid和solve控制。如,setfluidon或off命令開啟或關(guān)閉滲流計算模式。具體使用開啟或關(guān)閉模式取決于滲流分析的耦合程度。滲流分析結(jié)果以下面這些命令給出。命令printgppp和printzonepp分別給出節(jié)點和單元孔壓。節(jié)點和單元孔壓歷史可由命令histroygppp和命令historyzonepp進行監(jiān)測。對于瞬時計算,孔壓與時間的關(guān)系可由命令historyfltime監(jiān)測。命令plotcontourpp繪出節(jié)點孔壓云圖。命令plotcontoursaturation繪出飽和度云圖。命令plotfluid繪出流量矢量圖。滲流模式的所有信息由命令printfluid命令給出。FISH還提供了一些滲流變量。其中一個與節(jié)點有關(guān)的變量gp_flow,只能通過FISH函數(shù)使用。該變量描述了通過節(jié)點的凈流入或流出量。因為可以提供一個系統(tǒng)總的流入或流出量,這些流量的統(tǒng)計在孔壓固定的邊界是很有用的。滲流邊界條件,初始條件FLAC3D默認為不透水邊界,即認為所有節(jié)點上的孔壓隨著從鄰近單元流入或流出的量發(fā)生自由變化??梢允褂妹頵ixpp將節(jié)點上的孔壓設(shè)為“自由”,也可使用freepp使節(jié)點上的孔壓“固定”。如果孔壓固定,流體可以在外邊界上流入或流出節(jié)點。下面總結(jié)這兩種邊界條件的影響:1,孔壓自由這是默認的不透水邊界條件。節(jié)點與外界之間不發(fā)生流量交換。系統(tǒng)根據(jù)當(dāng)前飽和度值和流體是否形成渦凹現(xiàn)象來計算壓力和飽和度變化。2,孔壓固定這是一種流體通過外界流入或流出的邊界條件。如果設(shè)定孔壓為0,飽和度才可能變化。否則,飽和度被設(shè)為1(FLAC3D假設(shè)孔壓只在完全飽和材料中存在)??讐翰荒鼙还潭ㄔ诘陀诶O限的值,如果出現(xiàn)這種情況,F(xiàn)LAC3D會將其設(shè)定到拉力極限值。如前所述,邊界條件不是任意的。FLAC3D在進行計算前會“檢查”并“修正”這些條件??墒褂胒ixpp命令將孔壓固定在某個值,也可在外邊界或內(nèi)邊界上使用命令applypp。如果邊界條件被用于一個非表面節(jié)點,則必須加關(guān)鍵字interior。apply命令具有可以用“歷史”命令進行監(jiān)測的優(yōu)點。滲流邊界條件可以通過apply命令用在單個或部分節(jié)點、單元面或單元上。命令applypwell為邊界節(jié)點指定了一個流入或流出井。如果加上interior關(guān)鍵字,則該條件用于內(nèi)部節(jié)點。命令applydischarge和applyleakage為邊界單元的表面分別指定了涌出和滲漏邊界條件。命令applyvwell為指定區(qū)域內(nèi)的單元提供一個流速。這些邊界條件除了applyleakage外,均可使用history監(jiān)測命令。具有固定孔壓節(jié)點就好像是流入源或流出源。沒有直接的命令顯示這些節(jié)點的流入或流出量。但可通過FISH變量gp_flow來記錄。孔壓的初始分布,孔隙率,飽和度和流體屬性可通過命令initial或property施加。如果還加了重力,則孔壓初始分布應(yīng)與重力梯度,水的重度和節(jié)點飽和度和孔隙率相容。如果這些初始分布不相容,則計算開始時所有單元中將出現(xiàn)流體流動。因此,應(yīng)在模擬開始時設(shè)一定的計算步來檢驗初始條件是否相容。如果模型中含有接觸面,有效應(yīng)力將沿著這些接觸面進行初始化(即:在節(jié)點應(yīng)力初始化時,認為接觸面應(yīng)力包含孔壓)。watertable命令將包含沿著接觸面的孔壓,這是因為定義在單元節(jié)點上的孔壓也在接觸面節(jié)點上。如果接觸面的上下兩面連在一起,在沒有阻力時,將發(fā)生穿越接觸面的流體流動。但程序不對沿著接觸面的流體流動(裂隙流)進行計算。單滲流與滲流耦合問題FLAC3D既能進行單滲流分析,也能進行固流耦合分析。耦合分析可由FLAC3D內(nèi)置力學(xué)模型完成。但要注意,滲流模型中的空單元并不是力學(xué)空單元。必須用命令modelfl_null給單元賦予流體空屬性。對于耦合過程,F(xiàn)LAC3D提供了幾種計算模式。其中之一是假設(shè)孔壓一旦被賦予便不再改變。該方法并不要求任何額外空間存儲計算過程。除此之外涉及到滲流的計算模式都要求使用命令configfluid。命令modelfl_iso使所有單元中都能發(fā)生滲流。不同的耦合計算模式在下面討論。一般情況下,在能跟所模擬問題的物理過程相似的情況下,應(yīng)使用盡可能簡單的模式。計算模式的選擇根據(jù)以下幾個方面確定。時間比例對所需模擬的滲流或耦合問題用FLAC3D估計與涉及的不同進程相關(guān)的時間比例是非常有用的。對有關(guān)研究問題的時間度量和擴散性的認識有助于估計最大網(wǎng)格寬度、最小區(qū)域尺寸、時步大小和計算可行性。如果不同進程的時間比例相差太大,則很可能采用一種簡單的(非耦合)方法。時間比例可用特征時間給出。以下這些由量綱分析得出的定義,都是基于解析的連續(xù)源理論表達式。它們可用于得出FLAC3D分析的大致時間比例。力學(xué)過程特征時間、流體擴散過程特征時間流體擴散率FLAC3D中使用了取決于控制過程的儲水系數(shù)的幾種形式:流體存儲系數(shù)、地下潛水相存儲系數(shù)、彈性存儲系數(shù)以上定義,有幾點特性值得注意:(1)因為FLAC3D中顯式的時步對應(yīng)于最小區(qū)域中信息從一個節(jié)點傳到下一節(jié)點所需要的時間,時步的大小可用計算特征時間公式中特征長度的最小區(qū)域來估計。重要的是注意FLAC3D中在用流體擴散率(即使是在耦合模擬中)計算顯式流體時步。因此,時步的大小可用特征長度的最小區(qū)域尺寸來估計。(2)在飽和流體問題中,簡化的體積模量不但導(dǎo)致時步的增加,同樣導(dǎo)致到達穩(wěn)定狀態(tài)時間的增加,所以總步數(shù)增加,該總步數(shù)可用模型和最小區(qū)域的特征長度來估計。(3)在部分飽和流體流動問題中,可通過調(diào)整流體體積模量加速收斂以趨于穩(wěn)定狀態(tài),但要注意不可將體積模量減小太多以至產(chǎn)生數(shù)值不穩(wěn)定。數(shù)值穩(wěn)定條件能由流體儲量在一個特征長度區(qū)域的高度上必須保持低于地下潛水儲量的要求推導(dǎo)而出。(4)為避免擴散問題中的邊界效應(yīng),模型的特征長度必須大于某個尺度。同樣,最小模擬時間由某個關(guān)系式控制。(5)在耦合流體問題中,實際擴散率由流體剛度與巖土介質(zhì)的剛度比來控制。完全耦合模擬方法的選擇用FLAC3D進行完全耦合的準靜態(tài)固流耦合分析通常要耗費大量時間,且有時候并不必要。很多情況下,可使用不同程度的非耦合方法簡化分析并加快計算速度。下面的例子給出了對應(yīng)于流固耦合的不同水平的FLAC3D模擬方法。選擇計算方法時有3個主要的因素需要考慮:(1)模擬時間比例和擴散過程的特征時間;(2)耦合過程中強制擾動特性;(3)流固剛度比。時間比例首先通過從擾動的開始階段計算時間來考慮時間比例因素。定義分析所需要的時間(模擬時間),對應(yīng)于耦合擴散過程的特征時間。短期行為(不排水)如果對應(yīng)于耦合擴散特征時間,分析所需時間非常短,在模擬結(jié)果中流體流動的影響幾乎可以忽略不計,則可采用不排水模擬(configfluid,setfluidoff)。數(shù)值模擬中不涉及真實的時間,但如果給流體體積模量一個實際值,則體積應(yīng)變將導(dǎo)致孔壓的變化。長期行為(排水)如果分析所需時間大于耦合擴散特征時間并在模擬時間到達時排水,則孔壓場可不耦合到立場中。穩(wěn)定狀態(tài)的孔壓場可用單純流動模擬確定(setfluidon,setmechoff)(不代表擴散率),然后力學(xué)場可通過在設(shè)置流體模量為0的力學(xué)模式中(setmechon,setfluidoff)計算到平衡狀態(tài)獲得。(嚴格說,這種方法僅對彈性材料有效,因為塑性材料力學(xué)行為是與路徑有關(guān)的)。另外一種描述時間比例的方法是不排水行為和排水行為。嚴格地說,不排水表示與模型外界無流體交換。排水則是與模型外界有完全的流體交換,這就意味著流體壓力能在各處達到平衡。由于不排水試驗通常所需時間很短,而排水試驗則需要很長的時間以使多余的流體壓力消散,因此,“排水”和“不排水”這兩個詞常分別和“短期行為”和“長期行為”聯(lián)系在一起。在現(xiàn)場,“短期行為”通常意味著流體流動可以忽略,而“長期行為”則意味著幾乎所有壓力降都變?yōu)?(這需要一個很長的過程)。注意在無滲流計算模式(不使用configfluid)和短期行為模式(使用configfluid,setfluidoff)的模擬過程中,由于施加的孔壓發(fā)生變化而產(chǎn)生的總應(yīng)力的修正并不是通過程序在內(nèi)部執(zhí)行。但是,孔壓增量可用FISH函數(shù)監(jiān)測,并用于減小循環(huán)到力學(xué)平衡前的總法向應(yīng)力。如果地下水位已在網(wǎng)格內(nèi)部移動,同時需要調(diào)整飽和及非飽和的質(zhì)量密度。強制擾動到耦合進程的特性將擾動強加到完全耦合的固流系統(tǒng)可能導(dǎo)致流體流動邊界條件和力學(xué)邊界條件的改變。如,流向位于層間含水層內(nèi)的井的瞬時流體流動是由井內(nèi)孔壓變化引起的。作為公路路堤建設(shè)成果的飽和地基的固結(jié)是由路堤高度確定的力學(xué)載荷控制。如果擾動是由于孔壓的變化,很可能流體流動進程可不與力學(xué)過程耦合。如果是固體產(chǎn)生的擾動,非耦合的程度取決于流固剛度比。剛度比相對剛度比對用于解決固流耦合問題的模擬方法有重要影響:相對剛性巖土介質(zhì)(相對剛度比遠小于1)如果巖土介質(zhì)骨架剛度很大(或者流體是高壓縮性的)且相對剛度比很小,孔壓的擴散方程可以不耦合,因此擴散率有流體控制。建模方法取決于流體或固體擾動的力學(xué)機制:(1)在固體控制的模擬中,孔壓可假設(shè)保持不變。在彈性模擬中,固體表現(xiàn)的力學(xué)行為好像流體不存在;但在塑性分析中,孔壓壓力的出現(xiàn)可能導(dǎo)致破壞。這種模擬方法在邊坡穩(wěn)定性分析中使用。(2)在孔壓控制的彈性模擬中(如由于流體被擠出導(dǎo)致的沉降),體積應(yīng)變不顯著影響孔壓場,且流體的計算可獨立進行(setfluidon,setmechoff)(這種情況下,擴散率是精確的,因為對于相對剛度比小于1,總壓縮系數(shù)等于流體擴散率)。一般地,孔壓變化會影響應(yīng)變,且這種影響可以通過隨后在力學(xué)模式中將模型循環(huán)到平衡狀態(tài)來加以研究(setmechon,setfluidoff)。相對柔性巖土介質(zhì)(相對剛度比遠大于1)如果巖土介質(zhì)骨架剛度很小(或流體不可壓縮),且相對剛度比很大,則巖土骨架控制系統(tǒng)擴散率的耦合。模擬方法也取決于控制的力學(xué)機制。(1)在力學(xué)控制的模擬中,計算可能比較耗時。FLAC3D的顯式時步可能會很小,為增加時步,可減小流體模量。注意,流體模量不應(yīng)該設(shè)置得大于流體的實際值。(2)在多數(shù)孔壓控制系統(tǒng)的實際例子中,經(jīng)驗表明,孔壓場和力學(xué)場的耦合是微弱的。如果介質(zhì)是彈性的,可用單純流動模式(setmechoff,setfluidon)計算,然后在單純力學(xué)模式(setmechon,setfluidoff)中計算到平衡。必須注意為保持系統(tǒng)的擴散率(以及特征時間比例),流體模量必須在流體計算階段調(diào)整到某一值,且在力學(xué)計算階段為0,以防通過體積應(yīng)變進一步調(diào)整。對于建模方法的選擇,建議根據(jù)以下步驟進行。首先,對于特定的問題條件和特性,確定擴散進程的特征時間,且將此時間同所關(guān)注的實際時間進行對比。其次,考慮對于系統(tǒng)的擾動是由孔壓控制還是由固體控制。第三,確定流體剛度對固體基質(zhì)骨架的剛度比。最后,基于這3個因素綜合考慮選擇合適的建模方法。在建模時需注意:(1)為建立無地下水流動的有效應(yīng)力分析的初始條件,用watertable或initialpp命令,或者用FISH函數(shù)建立穩(wěn)定狀態(tài)的孔壓分布。指定正確的位于地下水位以下區(qū)域的濕密度和地下水位以上區(qū)域的干密度。(2)為建立地下水流動的有效應(yīng)力分析的初始條件,如果地下水位位置未知,用initial命令或FISH函數(shù)建立穩(wěn)定孔壓分布,或者指定setfluidon和setmechoff并逐步計算到穩(wěn)定狀態(tài)。將流體模量設(shè)為一個較小的值以加快部分飽和系統(tǒng)的收斂速度。注意設(shè)定的流體模量值應(yīng)滿足數(shù)值穩(wěn)定。(3)為建立孔壓驅(qū)動分析的初始條件,如果地下水位位置未知,用initial命令或FISH函數(shù)建立穩(wěn)定孔壓分布,或者指定setfluidon和setmechoff并逐步計算到穩(wěn)定狀態(tài)。將流體模量設(shè)為一個較小的值以加快部分飽和系統(tǒng)的收斂速度。注意設(shè)定的流體模量值應(yīng)滿足數(shù)值穩(wěn)定。(4)非流固耦合方法推薦用于孔壓驅(qū)動系統(tǒng),且在相對剛度比遠大于1時謹慎使用。注意在單純流動分析階段調(diào)整流體模量的值以滿足耦合擴散率是正確的。(5)完全耦合分析中,注意對于相對剛度比遠大于1時的情況,如果流體模量調(diào)整得低于某個值,時間響應(yīng)將會接近于無限大的流體模量的時間。2.FLAC3D固流耦合學(xué)習(xí)小結(jié)

通過幾天來對FLAC3D手冊固流耦合部分的翻譯和學(xué)習(xí),對FLAC3D在流體方面的應(yīng)用有了大致的了解。其計算模式主要分為幾種情況:無滲流、非耦合方法以及各種不同程度的固流耦合方法。這些方法都有各自的適應(yīng)條件,應(yīng)根據(jù)需要模擬問題的具體情況加以選擇??傮w來說,固流耦合涉及到了兩種不同形態(tài)物質(zhì)的力學(xué)行為研究甚至二者的相互作用,這比單一介質(zhì)的分析復(fù)雜多了,其參數(shù)也比單一介質(zhì)分析要多得多。眾所周知,數(shù)值模擬的一個最大難題便是參數(shù)的確定,參數(shù)越多,各種不可預(yù)測因素就越多,直接影響到數(shù)值計算的有效性和準確性。尤其是對于巖土工程,各種不確定因素太多,很多人由此對數(shù)值模擬結(jié)果產(chǎn)生了懷疑,認為那是花架子,放在項目報告里只有唬人的作用。中尉對此不敢茍同。任何技術(shù)的發(fā)展均遵從實踐-理論-實踐的過程,經(jīng)驗以及由經(jīng)驗得出的方法確實在很多工程中起到了不可抹殺的作用,但經(jīng)驗如果上升不到理論,就永遠是經(jīng)驗,不能是“放之四海皆準”的真理,真理雖然沒有絕對,但在一定時期內(nèi)它是推動整個技術(shù)進步的源動力。沒有理論,就不能把實踐上升到更高程度的實踐。數(shù)值模擬目前在所有領(lǐng)域內(nèi)均取得了廣泛的應(yīng)用便是其具有強大生命力的最好證明。誠然,巖土工程領(lǐng)域是有很多不確定因素,數(shù)值模擬結(jié)果的不盡人意應(yīng)該是多種因素造成的,我們?yōu)楹尾粰z討獲取數(shù)值模擬參數(shù)的現(xiàn)場觀測手段、實驗室手段,而去質(zhì)疑這種方法本身?

在這幾天的學(xué)習(xí)過程中,還有一點對翻譯的額外體會。以前也看過很多中國人直接翻譯自老外的教材,以計算機教材最多,看的過程中總感覺翻譯的痕跡太重,可當(dāng)自己翻譯出來時,才發(fā)現(xiàn)無論怎么修改,潤色,仍然晦澀不堪。中尉的一位朋友對這個問題曾有評論,中尉很以為然,援引之:中文的表達方式慣用短句,層層推進,像一條河,后浪推前浪,引人入勝。而英文的句子像一棵棵枝繁葉茂的大樹,句子套句子,得透過無數(shù)的從句、定語去尋找主干。翻譯者或許是在兩種思維方式中穿梭得迷了路,翻譯過來的句子披著中文的外衣卻完全是英文的表達方式,看到主語之后就是一大堆莫名其妙的短句、分號、連接符,最后找到謂語、賓語時已經(jīng)不知所云。3.關(guān)于流固耦合的問題/cgi-bin/english/topic_show.cgi?id=62969&pg=2qinjianshe記住概念:ko為有效應(yīng)力之比,ini應(yīng)力為總應(yīng)力按此原則計算初始應(yīng)力場水平應(yīng)力=k0×豎向有效應(yīng)力+水應(yīng)力hfm009請問水平應(yīng)力=k0×豎向有效應(yīng)力+水應(yīng)力,其水應(yīng)力還需要乘以Porosity嗎?下面是我所建立的模型,總覺得初始應(yīng)力場有點怪,調(diào)試了好幾天,還是老樣子,還望抽空指點!newconfigfluiddefpara_modelwid_x=70h_model=-100rad_tun=3.5;隧道半徑rad_tunnel=(-1)*rad_tunwidth_m=1dep_r1=20dep_r11=(-1)*dep_r1dep_r2=15dep_r22=-dep_r2depth_r=-(dep_r1+dep_r2)wid_add=wid_x-dep_r1h_add=-dep_r2-dep_r1-dep_r1-h_modelendpara_modelgenzoncylp000depth_rp1addrad_tun00p2add0width_m0p3add00rad_tunsize618rat1.211grouptunnelgenzonradcylp000depth_rp1adddep_r100p2add0width_m0p3add00dep_r1&

dimrad_tunrad_tunrad_tunrad_tunsize5188rat1111.2genzonebrickp0dep_r10depth_rp1addwid_add00p2add0width_m0p3add00dep_r1&

size514rat1.311genzonreflectnormal001origin00depth_rgenzonebrickp000h_modelp1adddep_r100p2add0width_m0p3add00h_add&

size414rat111genzonebrickp0dep_r10h_modelp1addwid_add00p2add0width_m0p3add00h_add&

size514rat1.311;assignnamestogroupsofzonesgrouprock1rangegrouptunnelnotgenzonebrickp000dep_r22p1adddep_r100p2add0width_m0p3add00dep_r2&

size413rat111genzonebrickp0dep_r10dep_r22p1addwid_add00p2add0width_m0p3add00dep_r2&

size513rat1.311grouprock2rangegrouprock1notgrouptunnelnotgenzonreflectnormal100origin000;fluidflowmodelmodelfl_isorangegrouprock1propperm1.0e-9poro0.3biot_c1modelfl_isorangegrouptunnelpropperm1.0e-9poro0.3biot_c1modelfl_isorangegrouprock2propperm1.0e-7poro0.3biot_c1inifmod2e9inifdensity1e3;mechanicalmodelmodelelasinidens1500propbulk5e10shear3.0e9rangegrouprock1propbulk5e10shear3.0e9rangegrouptunnelpropbulk5e10shear3.0e9rangegrouprock2;assignboundaryconditionsfixxrangex69.970.1fixxrangex-70.1-69.9fixzrangez-100.1-99.9fixy;initialstressstateinipp2.0e5grad00-10000fixpprangez-0.10.1fixpprangez-100.1-99.9;setfluidbioton;該處取消,則產(chǎn)生超空隙水壓力setfluidoffsetgrav00-10setlargesolveplotsketchplotaddcontppqinjianshe個人愚見:水應(yīng)力不需要乘以Porosity4.也談采用FLAC3D對地下采礦的模擬以下轉(zhuǎn)自中尉發(fā)到SIMWE論壇FLAC\FLAC3D版面的帖子地下采礦,以層狀的煤層開采為例,目前很多都是采用全部垮落法,煤層開采后,采空區(qū)巖層從彎曲下沉到出現(xiàn)裂隙并最終垮落,按開采沉陷“上三帶”的說法,就是采空區(qū)上覆巖層形成了垮落帶、裂隙帶和彎曲下沉帶。對于這樣一個會出現(xiàn)完整巖層垮落成松散矸石的過程,采用基于連續(xù)介質(zhì)的FLAC來模擬,本身就并不十分恰當(dāng)!因為采空區(qū)上覆巖層垮落后,已經(jīng)不再是連續(xù)介質(zhì)。如果采用FLAC模擬,在大范圍的開采(長壁開采一般范圍都很大)后,絕大多數(shù)情況下是算不到平衡狀態(tài)的,但有可能出現(xiàn)穩(wěn)定的塑性流動狀態(tài),從計算原理上來說,這是非常正常的,而不是什么參數(shù)選取的問題。采礦工程不同于其他地下巖土工程之處就在于,它不對采空區(qū)進行任何支護處理,而其他工程不論是地下廠房,隧道開挖等都會進行及時支護,保持了圍巖的完整性和穩(wěn)定性。雖然從開采沉陷角度來說,巖層移動最終會有個穩(wěn)定過程,但由于FLAC本身不能模擬巖層垮落后形成的散體對上覆巖層起到一定的支撐作用,因此如果不對采空區(qū)進行另外的處理,一般是不會計算到系統(tǒng)默認的平衡狀態(tài)(最大不平衡力比率達到1×10-5)的,除非開采范圍很小。于是,論壇里出現(xiàn)了很多關(guān)于用FLAC模擬地下開采后對采空區(qū)進行處理方法的討論,如對采空區(qū)進行彈性充填等。對于這些方法,本人也曾做過一些試驗,效果并不好,畢竟采空區(qū)垮落不是充填,這樣做有一種“亡羊補牢”的感覺。如果非要用FLAC來模擬地下開采,本人建議研究重點放在裂隙帶及以上的彎曲下沉帶到地表這段范圍,因為這部分巖層還比較完整、連續(xù),對于涉及到采場覆巖破壞結(jié)構(gòu)方面的研究,建議還是采用離散元進行。以上觀點,是。己應(yīng)用FLAC做開采沉陷兩年來的體會,如有不妥,歡迎各位指正并交流!5.FLAC3D本構(gòu)模型開發(fā)FLAC3D基于顯式有限差分格式,計算過程首先調(diào)用運動方程,由初始應(yīng)力和邊界條件計算出新的速度和位移,然后,由速度計算出應(yīng)變率,進而根據(jù)本構(gòu)方程獲得新的應(yīng)力或力。顯式有限差分法計算流程如圖。FLAC3D本構(gòu)模型的主要功能就是根據(jù)應(yīng)變增量(應(yīng)變率)返回新的應(yīng)力張量。FLAC3D采用面向?qū)ο蟮恼Z言C++編寫。C++語言的特點是采用面向?qū)ο蠓椒?,使用類來代表對象進行編程。與對象有關(guān)的信息被封裝在類中,這些信息在類的外部是不可見的。與對象的通信通過成員函數(shù)操作封裝數(shù)據(jù)來完成。一個新的對象類型可以從基類派生而來,基類的成員函數(shù)也可被派生類的同名函數(shù)覆蓋。這種方式便于程序的模塊化設(shè)計。FLAC3D中的所有本構(gòu)模型都是以動態(tài)鏈接庫文件(.dll文件)的形式提供,自定義本構(gòu)模型也不例外。動態(tài)鏈接庫文件必須采用VC++6.0(SP4)或更高版本編譯得到。用VC++編寫自定義FLAC3D本構(gòu)模型的過程主要包括:基類、成員函數(shù)的定義,模型注冊,模型與FLAC3D間的數(shù)據(jù)傳遞以及模型狀態(tài)指示?;惖拿枋龌愄峁┝藢嶋H本構(gòu)模型的框架,用戶自定義模型類都繼承于該類?;惷麨镃onstitutiveModel,由于它定義了一系列“虛”(語法上以0為標志)的成員函數(shù),因此又被稱為“抽象”類。這也是說不能創(chuàng)建該類的任何對象,而其它繼承自該類的類的對象必須給出實際的成員函數(shù)來代替基類的“虛”函數(shù)?;惖念^文件(.h文件)中定義了這些“虛”的成員函數(shù)。模型成員函數(shù)ConstitutiveModel類有很多成員函數(shù),主要有:constchar*Keyword()返回一個指向包括模型名稱的字符數(shù)組的指針,以便用戶在FLAC3D中使用MODEL命令時,C++能夠識別。constchar*Name()返回一個指向包含模型名稱的字符數(shù)組的指針,以識別用戶使用如PRINTZone等命令。constchar**Properties()返回一個指向包含模型力學(xué)參數(shù)名稱的字符串?dāng)?shù)組的指針,并用一個空指針代表字符串?dāng)?shù)組的結(jié)束。這樣程序能識別用戶輸入的PROPERTY命令。constchar*States()返回一個包含單元狀態(tài)名稱的字符串?dāng)?shù)組的指針,并用一個空指針代表字符串?dāng)?shù)組的結(jié)束。這樣程序就能輸出或顯示用戶自定義的模型內(nèi)部狀態(tài)(如:塑性流動、屈服、受拉)。constchar*Run(unsigneduDim,State*ps)該函數(shù)在FLAC3D計算循環(huán)的每一步對每一個子單元使用。模型根據(jù)應(yīng)變增量對應(yīng)力張量進行更新。這個函數(shù)是本構(gòu)模型的核心,不同的本構(gòu)模型通過不同的Run()函數(shù)得到不同的應(yīng)力張量。所有本構(gòu)模型的Run()函數(shù)都繼承自ConstitutiveModel類的Run()函數(shù)。模型注冊每一個用戶自定義本構(gòu)模型有其自己的模型名稱、力學(xué)參數(shù)名稱和狀態(tài)指示器。FLAC3D通過調(diào)用模型對象的靜態(tài)全局實例獲得用戶定義模型的信息并使用結(jié)構(gòu)子(constructor)將新模型注冊到模型列表中。一個特定模型只有一個靜態(tài)注冊產(chǎn)生,方便將其放到模型的C++源碼中,這樣當(dāng)相應(yīng)的.dll文件被裝載時,模型被注冊。數(shù)據(jù)傳遞在FLAC3D和用戶自定義模型間的最重要的連接就是成員函數(shù)Run(unsignednDim,State*ps),它在模型的計算循環(huán)時計算其力學(xué)響應(yīng)。State結(jié)構(gòu)被用來傳輸信息和生成模型。同時,在非線性模型中,Run()函數(shù)也用來傳遞模型的內(nèi)部狀態(tài)。狀態(tài)指示FLAC3D中的單元是由四面體子單元所組成,每一個四面體有記錄其當(dāng)前狀態(tài)的成員變量。該成員變量共有16位,能夠代表最多15種不同的狀態(tài)。對于用戶定義本構(gòu)模型,用戶可以命名一種狀態(tài)并為其分配特定的位。頭文件和源文件在C++中,主要有頭文件(.h)和C++源文件(.cpp)兩種文件類型,頭文件作為一種包含功能函數(shù)、數(shù)據(jù)接口聲明的載體文件,用于保存程序的聲明(declaration),是用戶應(yīng)用程序和函數(shù)庫之間的橋梁和紐帶。而源文件(.cpp)用于保存程序的實現(xiàn)(implementation),是具體實現(xiàn)代碼。先在VC++6.0環(huán)境中建立一個工程(project)文件jdmohr.dsw,工程文件中包含了空的頭文件和源文件。FLAC3D的本構(gòu)模型需要用到如表所示的一些頭文件和源文件:FLAC3D本構(gòu)模型的C++頭文件和源文件名稱功能CONMODEL.h聲明與本構(gòu)模型交換數(shù)據(jù)的變量數(shù)據(jù)類型State,保存結(jié)果的數(shù)據(jù)類型ModelSaveObject和本構(gòu)模型基類ConstitutiveModelSTENSOR.h聲明存儲對稱張量(應(yīng)力或應(yīng)變張量)STensor類AXES.h聲明一個與坐標軸變換有關(guān)的數(shù)據(jù)類型Axes和相關(guān)函數(shù)CONTABLE.h聲明了一個ConTableList類,該類為本構(gòu)模型提供了一張表,該表用來存儲模型單元或節(jié)點ID號USERMODEL.h用戶自定義本構(gòu)模型派生類的聲明USERMODEL.cpp用戶自定義本構(gòu)模型的由應(yīng)變增量獲得應(yīng)力增量的實現(xiàn)在編寫自定義本構(gòu)模型的C++文件時,需要在FLAC3D自帶的莫爾-庫侖模型基礎(chǔ)上增加新的材料參數(shù)變量。如中尉編寫的節(jié)理巖體損傷莫爾-庫侖模型增加如圖所示的材料參數(shù)。FLAC3D本構(gòu)模型的主要功能就是根據(jù)應(yīng)變增量得到新的應(yīng)力增量,應(yīng)力應(yīng)變關(guān)系表達式很可能為矩陣表達式,在計算時,可能需要對矩陣求逆。對于逆矩陣的求取,可根據(jù)逆矩陣定義或矩陣的初等行變換來進行,建議采用一種在數(shù)值計算方法中常用的全主元高斯-約當(dāng)(Gauss-Jordan)消去法。該方法具有數(shù)值穩(wěn)定而且精度較高的特點。由于巖體的柔度張量矩陣元素都非常?。?0的-7、-8次方級),在進行乘法計算時,將產(chǎn)生極大的舍入誤差,而高斯-約當(dāng)消去法的消去過程是在全矩陣中選主元(絕對值最大的元素)來進行,故可使舍入誤差對結(jié)果的影響減小到最小。將編寫好的頭文件jdmohr.h和源文件jdmohr.cpp導(dǎo)入到工程文件(.dsw)中,通過編譯(compile)和鏈接(link),形成了節(jié)理巖體損傷莫爾-庫侖本構(gòu)模型的動態(tài)鏈接庫文件jdmohr.dll,將其復(fù)制到FLAC3D的安裝目錄下,如圖程序的調(diào)試是編程過程中不可缺少的重要步驟,尤其是對于數(shù)值計算,需要實時監(jiān)控計算流程和各種變量,以防出現(xiàn)死循環(huán)和結(jié)果嚴重失真。在VC++中可設(shè)置將FLAC3D中的EXE文件路徑加入到程序的調(diào)試范圍中,并將自定義的FLAC3D的.dll文件加入到附加動態(tài)鏈接庫(AdditionalDLLs)中,然后在.cpp文件里的Initialize()或Run()函數(shù)中設(shè)置斷點,進行調(diào)試。使用自定義模型時,首先在命令流中使用命令CONFIGcppudm對FLAC3D進行配置,使其能接收動態(tài)鏈接庫文件,然后通過MODELload命令將自定義本構(gòu)模型(即動態(tài)鏈接庫文件)加載到FLAC3D中,這樣,F(xiàn)LAC3D就可以識別出新的模型名和屬性名。同樣,在恢復(fù)(命令:RESTORE)一個使用自定義模型的文件時,也必須使用CONFIGcppudm命令和MODELload命令。如圖6.FLAC3D自定義本構(gòu)模型對應(yīng)manual之OptionalFeatures中最后關(guān)于自定義本構(gòu)模型的部分,給出以下翻譯。FLAC3D中可以用C++編寫動態(tài)鏈接庫文件(.dll文件)來自定義本構(gòu)模型,其主要功能是根據(jù)應(yīng)變增量返回新的應(yīng)力張量。C++語言的特點是采用面向?qū)ο蠓椒ǎ褂妙悂泶韺ο筮M行編程。與對象有關(guān)的信息被封裝在類中,這些信息在類的外部是不可見的。與對象的通信通過成員函數(shù)操作封裝數(shù)據(jù)來完成。一個新的對象類型可以從基類派生而來,基類的成員函數(shù)也可被派生類的同名函數(shù)覆蓋。這種方式便于程序的模塊化設(shè)計。用C++自定義FLAC3D本構(gòu)模型的過程主要包括:基類、成員函數(shù)的定義,模型注冊,模型與FLAC3D間的數(shù)據(jù)傳遞以及模型狀態(tài)指示。本構(gòu)模型的基類基類提供了實際本構(gòu)模型的框架,其它類都來源于該類?;惷麨镃onstitutiveModel,由于它定義了一系列“虛”(語法上以0為標志)的成員函數(shù),因此又被成為“抽象”類。這也是說不能創(chuàng)建該類的任何對象,而其它繼承自該類的類的對象必須給出實際的成員函數(shù)來代替基類的“虛”函數(shù)?;惖念^文件(.h)中定義了這些“虛”的成員函數(shù)。成員函數(shù)ConstitutiveModel類的成員函數(shù)及功能如下:constchar*Keywork()返回一個指向包括模型名稱的字符數(shù)組的指針,以便用戶在FLAC3D中使用MODEL命令時,C++能夠識別。constchar*Name()返回一個指向包含模型名稱的字符數(shù)組的指針,以識別用戶使用如PRINTZone等命令。constchar**Properties()返回一個指向包含模型力學(xué)指標名稱的字符串?dāng)?shù)組的指針,并用一個空指針代表字符串?dāng)?shù)組的結(jié)束。這樣程序能識別用戶輸入的PROPERTY命令。constchar*States()返回一個包含單元狀態(tài)名稱的字符串?dāng)?shù)組的指針,并用一個空指針代表字符串?dāng)?shù)組的結(jié)束。這樣程序就能輸出或顯示用戶自定義的模型內(nèi)部狀態(tài)(如:塑性流動、屈服、受拉)。SetProperty(unsignedn,constdouble&dVal)dVal的值由FLAC3D命令PROP>DoubleGetProperty(unsignedn)返回力學(xué)指標順序為n的值,供模型使用。constchar*Copy(constConstitutiveModel*cm)該成員函數(shù)首先調(diào)用基類的Copy函數(shù),然后從指向cm的模型對象中拷貝所有的數(shù)據(jù)。如果出現(xiàn)錯誤,返回一個指向錯誤字符串的指針;否則,返回0。在調(diào)用Initialize()函數(shù)時并不需要拷貝被計算的數(shù)據(jù)。constchar*Initialize(unsigneduDim,State*ps)該函數(shù)在使用命名CYCLE命令和當(dāng)大應(yīng)變更新坐標時對每一個單元使用。模型對象可能對屬性變量和狀態(tài)變量進行初始化,也可能不初始化。uDim為計算維數(shù)(在FLAC3D中為3)。ps是結(jié)構(gòu)子,包含了當(dāng)前被計算的子單元的當(dāng)前應(yīng)力分量和前一步的應(yīng)變增量分量。如果出現(xiàn)錯誤,返回一個指向錯誤字符串的指針;否則,返回0。注意,在調(diào)用Initialize()時應(yīng)變沒被定義。單元的平均應(yīng)力分量在狀態(tài)結(jié)構(gòu)子中可以得到;不能通過Initialize()來改變它們。constchar*Run(unsigneduDim,State*ps)該函數(shù)在FLAC3D計算循環(huán)的每一步對每一個子單元使用。模型必須根據(jù)應(yīng)變增量對應(yīng)力張量進行更新。ps結(jié)構(gòu)子包含當(dāng)前被計算的子單元的當(dāng)前應(yīng)力分量和前一步的應(yīng)變增量分量。當(dāng)調(diào)用Run()函數(shù)時,應(yīng)力分量已經(jīng)包含了應(yīng)力修正。如果出現(xiàn)錯誤,返回一個指向錯誤字符串的指針;否則,返回0。doubleConfinedModulus(void)模型對象必須返回一個對最大受限模量做出最好估計的值,這被用來計算穩(wěn)定的計算時步。doubleShearModulus(void)返回一個對當(dāng)前切線剪切模量做出最好估計的值,F(xiàn)LAC3D據(jù)此來確定動態(tài)模式下靜態(tài)邊界系數(shù)。doubleBulkModulus(void)返回一個對當(dāng)前切線體積模量做出最好估計的值,F(xiàn)LAC3D在當(dāng)前步不調(diào)用該函數(shù)。doubleSafetyFactor(void)返回某個安全系數(shù)值,F(xiàn)LAC3D在當(dāng)前步不調(diào)用該函數(shù)。ConstitutiveModel*Clone(void)創(chuàng)建同一個類的新對象作為當(dāng)前對象,返回一個指向ConstitutiveModel類的指針,該函數(shù)在單元使用該模型時被調(diào)用。constchar*SaveRestore(ModelSaveObject*mso)該函數(shù)在使用命名SAVE或RESTORE時被調(diào)用。模型對象首先調(diào)用基類的SaveRestore()函數(shù)對文件進行保存和恢復(fù)。其數(shù)據(jù)類型只允許整數(shù)和實數(shù)變量,其它數(shù)據(jù)類型需要被轉(zhuǎn)換成這兩種類型。派生類函數(shù)必須調(diào)用mso->Initialize(nd,ni),這里nd為雙精度型數(shù)據(jù)個數(shù),ni為整數(shù)型數(shù)據(jù)個數(shù)。這些變量然后通過調(diào)用mso->Save(ns,var),這里ns為變量順序(從0到nd-1或0到ni-1,取決于保存整數(shù)或?qū)崝?shù))。var是要保存的變量。對于雙精度或整數(shù)型變量,分別有Save()函數(shù)來處理。模型類定義也應(yīng)該包含一個能調(diào)用基類結(jié)構(gòu)子的結(jié)構(gòu)子。如果基類結(jié)構(gòu)子由bRegister調(diào)用,其值設(shè)為true,則派生的模型就被FLAC3D注冊了。跟模型唯一對應(yīng)的類型號(uTypeIn)也必須被傳遞。這樣就能夠在從保存文件中恢復(fù)時重新調(diào)用正確的模型。建議使用較大的類型號(100或更大)以避免和內(nèi)在模型(從1開始編號)發(fā)生沖突。數(shù)據(jù)成員的初始化可以通過結(jié)構(gòu)子來完成。模型的注冊每一個用戶自定義本構(gòu)模型有模型名稱、力學(xué)參數(shù)名稱和狀態(tài)指示器。FLAC3D通過調(diào)用合適的成員函數(shù)來確定這些信息。FLAC3D通過調(diào)用模型對象的靜態(tài)全局實例獲得用戶定義模型的信息。true值使得基類的結(jié)構(gòu)子將新模型注冊并將其加入到模型列表中。一個特定模型只有一個靜態(tài)注冊產(chǎn)生,方便將其放到模型的C++源碼中,這樣當(dāng)相應(yīng)的.dll文件被裝載時,模型被注冊。模型與FLAC3D之間的信息交換在FLAC3D和用戶自定義模型間的最重要的連接就是成員函數(shù)Run(unsignednDim,State*ps),它在模型的計算循環(huán)時計算其力學(xué)響應(yīng)。State結(jié)構(gòu)被用來傳輸信息和生成模型。State結(jié)構(gòu)的成員主要如下:Run()的主要功能就是根據(jù)應(yīng)變增量計算出新的應(yīng)力。在非線性模型中,它也用來傳遞模型的內(nèi)部狀態(tài)。如補充模型顯示當(dāng)前處于屈服狀態(tài)或者以前已經(jīng)發(fā)生屈服。每一個子單元設(shè)定變量mState以一串二進制代碼記錄模型狀態(tài)。模型狀態(tài)指示器FLAC3D中的單元是由四面體子單元所組成,每一個四面體有記錄其當(dāng)前狀態(tài)的成員變量。該成員變量共有16位,能夠代表最多15種不同的狀態(tài)。對于用戶定義本構(gòu)模型,用戶可以命名一種狀態(tài)并為其分配特定的位。FLAC3D對組成單元的每個四面體單元調(diào)用Run()函數(shù)來更新其應(yīng)力值。在這個過程中,狀態(tài)指示器也通過本構(gòu)模型更新。對于內(nèi)置模型,狀態(tài)指示器顯示了四面體單元的破壞狀態(tài)。本構(gòu)模型對四面體狀態(tài)指示器變量和當(dāng)前破壞狀態(tài)使用邏輯“或”運算符來進行更新。7.?dāng)?shù)值計算中初始應(yīng)力場的模擬中尉認為,在做數(shù)值模擬時,巖體初始應(yīng)力場就是在本次開挖前巖體的應(yīng)力狀態(tài),這種應(yīng)力狀態(tài)應(yīng)該是穩(wěn)定的(數(shù)值模擬中以最大不平衡比率來衡量)。但在實際中,巖體的初始應(yīng)力狀態(tài)由于受到多種因素的影響而非常復(fù)雜。以一個露天煤礦邊坡巖體為例,首先,重力作為外加載荷將產(chǎn)生重力場,如果該巖體在過去的地質(zhì)歷史中經(jīng)歷了各種動力運動,由于溫度不均、水壓梯度、地表剝蝕或其它物理化學(xué)變化等也可引起相應(yīng)的應(yīng)力場。除了自重應(yīng)力場和構(gòu)造應(yīng)力場外,由于露天煤礦采用爆破開采,這種動載荷對邊坡巖體應(yīng)力場的擾動也不可忽略?,F(xiàn)在要對在露天煤礦邊坡巖體下的井工開采進行數(shù)值模擬,考慮上述各種因素,則初始應(yīng)力場的確定就十分困難了。如果有條件做地應(yīng)力測量的話,當(dāng)然更好。如果沒有條件,就只能做簡化。中尉的論文只考慮井工開采對露天邊坡的擾動,因此忽略了動載荷的影響,也沒有考慮構(gòu)造應(yīng)力,只加入自重應(yīng)力場。開挖前的應(yīng)力狀態(tài)首先是一種平衡狀態(tài),因此自重應(yīng)力作為外力應(yīng)與巖體中存在的應(yīng)力場產(chǎn)生平衡。由于考慮本次開挖的影響,因此開挖前的應(yīng)力狀態(tài)一般也應(yīng)不產(chǎn)生破壞(塑性區(qū))而且位移場也應(yīng)為零。因此可認為:在進行數(shù)值模擬時,巖體在自重應(yīng)力場下達到平衡狀態(tài)時的應(yīng)力狀態(tài)就是初始應(yīng)力場。但同時還要對位移和塑性狀態(tài)清零。以FLAC3D為例,可有如下獲取初始應(yīng)力場并開挖計算的方法:(1)對模型施加重力,采用彈性模型計算至平衡狀態(tài),保存;(2)恢復(fù)保存文件,位移清零,采用彈塑性模型,施加重力;(3)開挖,計算,保存結(jié)果。這種方法由于第一步采用彈性模型可避免出現(xiàn)塑性區(qū),但第二步位移場仍然需要清零,值得注意的是,第二步仍然需要施加重力,因為這樣才能保證此時的平衡狀態(tài)(重力與第一步計算出的應(yīng)力場平衡)。8.FLAC3D應(yīng)變分析按塑性力學(xué)理論,一點的應(yīng)變張量可以分為與體積變化有關(guān)的球形應(yīng)變張量和與物體形狀變化有關(guān)的應(yīng)變偏量。FLAC3D里稱球形應(yīng)變張量為體積應(yīng)變張量,應(yīng)變偏量為剪應(yīng)變張量。在進行理想塑性分析時,常假設(shè)體積不變,此時球形應(yīng)變張量為零,應(yīng)變偏量等于應(yīng)變張量(尤其對于金屬材料);或者考慮體積力只引起體積變形,剪切力只引起剪切變形。但在進行巖土塑性分析時,尤其是對于土體,具有壓硬性和剪脹性的特性。壓硬性指的是靜水壓力(體積力)與剪切變形的耦合作用,即靜水壓力也會引起剪切變形。剪脹性是指切應(yīng)力與體積應(yīng)變的耦合作用,即切應(yīng)力也會引起體積改變(擴容或體積收縮)。對于巖土材料來說,靜水壓力不僅產(chǎn)生彈性和塑性的體應(yīng)變,而且由于靜水壓力的存在,還會引起剪變形剛度的增大而使切應(yīng)變變化;而切應(yīng)力不僅會產(chǎn)生彈性或塑性的切應(yīng)變,而且會引起剪脹或剪縮。因此與彈性和理想彈塑性材料相比,巖土的本構(gòu)關(guān)系顯然要復(fù)雜得多。但FLAC3D中常用的莫爾-庫侖模型還是采用的理想塑性分析。FLAC3D的塑性本構(gòu)模型采用的是增量理論,因此其計算結(jié)果里并沒有應(yīng)變值,而出現(xiàn)的是體積應(yīng)變增量(vsi)、剪應(yīng)變增量(ssi)和體積應(yīng)變率(vsr)、剪應(yīng)變率(ssr)。由于應(yīng)變增量張量是一個三維張量,上述各項應(yīng)該出現(xiàn)的是由多個值組成的三維狀態(tài)量,但FLAC3D里給出的都只有一個值,實際上對體積應(yīng)變給出的是平均應(yīng)變增量;對剪應(yīng)變給出的是最大剪應(yīng)變增量值。盡管FLAC3D的計算結(jié)果不能直接得到全應(yīng)變,但后處理程序語言FISH中還提供了全應(yīng)變增量fsi和全應(yīng)變率fsr的變量z_fsi(p_z,arr)和z_fsr(p_z,arr),其中,arr表示六個分量??筛鶕?jù)這兩個變量寫FISH代碼得到全應(yīng)變增量和全應(yīng)變率。好像實際分析中用到體積應(yīng)變的很少,對剪應(yīng)變的分析多一些,如在邊坡分析中通過剪應(yīng)變率形成的條帶判斷滑動面的生成。其原理在于:滑動面各點的剪應(yīng)變改變速率要快于沿該點滑移面法線方向上的各點。9.FLAC3D的調(diào)參以下轉(zhuǎn)自中尉發(fā)到SIMWE論壇FLAC\FLAC3D版面的帖子數(shù)值模擬與經(jīng)驗方法的不同之處在于前者具有普適性,后者則局限在相似的條件下使用。一般經(jīng)驗方法需要的參數(shù)較少并且容易獲得和比較準確,如可通過有效的觀測手段直接得出。但對于數(shù)值模擬的參數(shù)就不一樣了,因為對于巖土工程來說,限于測試手段,一般很少進行大型的巖體原位三維試驗而在實驗室中對取自現(xiàn)場的巖樣進行試驗。這樣得到的巖樣參數(shù)往往并不能代表巖體參數(shù),人們已經(jīng)對巖體參數(shù)進行了一些研究,但這些研究很多仍然靠一些模糊的分類來界定參數(shù),還沒達到定量化或者實際使用效果并不是很好。數(shù)值模擬說到底只是一種數(shù)學(xué)方法,任何參數(shù)的變化均可能得出跟實際完全相悖的結(jié)果。因此對于數(shù)值模擬,調(diào)參就是一項很重要的工作,它決定了模擬結(jié)果的可信性;同時由于數(shù)值模擬中的參數(shù)眾多,為得到可信結(jié)果,參數(shù)怎么調(diào)就成為一個比較棘手的問題。針對不同的要求需要調(diào)哪些參數(shù)?調(diào)大還是調(diào)???調(diào)一個還是調(diào)多個?這些問題是不能用排列組合和窮舉法一一試驗的。這些問題對我們使用數(shù)值模擬方法就提出了一個前提條件,即:我們必須對所模擬的問題有一個相當(dāng)?shù)牧私?,對其模擬結(jié)果有個大概的估計,這種了解和估計源于其他已被驗證過的理論或經(jīng)驗知識。我們通過調(diào)參后得到的數(shù)值模擬結(jié)果不能違反這些經(jīng)驗知識。數(shù)值模擬的調(diào)參應(yīng)該根據(jù)計算原理來分析。以FLAC3D中常用的莫爾庫侖模型為例,這是一個假設(shè)單元在彈性階段為線彈性材料,在塑性階段為理想塑性材料的彈塑性準則。在線彈性階段,顯然按虎克定律,應(yīng)力和應(yīng)變之間只通過變形模量(以彈模和泊松比表示)發(fā)生關(guān)系。變形模量的大小反映物體抗變形能力的大小。變形模量越大,發(fā)生的變形(位移)就越小,反之則反。變形模量在FLAC3D中又分為剪切模量和體積模量。前者反映抗剪切變形能力,后者反映抗體積變形能力。因此,如果基于經(jīng)驗知識,發(fā)現(xiàn)位移過大或過小,可通改變模量值來調(diào)整。而在塑性階段,應(yīng)力不再簡單地根據(jù)應(yīng)變按彈模和泊松比來調(diào)整,還要根據(jù)流動法則來確定(拉破壞服從關(guān)聯(lián)流動,剪破壞服從非關(guān)聯(lián)流動),這時,粘聚力C、內(nèi)摩擦角、剪漲角和抗拉強度都要參與進來,分析起來就很復(fù)雜了。但在塑性破壞階段,我們更多地不是關(guān)心應(yīng)力值大小,而是關(guān)心破壞區(qū)域的大小。顯然,破壞區(qū)域的大小只與屈服函數(shù)中的粘聚力、內(nèi)摩擦角和抗拉強度有關(guān)。通過對最大主應(yīng)力和最小主應(yīng)力圖上表示的莫爾庫侖模型分析,增大粘聚力、內(nèi)摩擦角和抗拉強度都能使破壞區(qū)域減小。但這時還有一個參數(shù)敏感性的問題,即:哪個參數(shù)對結(jié)果影響最大。這可通過調(diào)整某一個值,同時固定另外兩個值來進行試驗。最后要說明的一點是:上述參數(shù)的調(diào)整并不是任意的!應(yīng)根據(jù)試驗結(jié)果進行合理的調(diào)整。比如對于變形模量值,它是由彈模和泊松比求出來的。反之,彈模和泊松比也能夠由變形模量表示出來。注意到,泊松比的取值是有范圍的,一般不超過0.5!因此,變形模量的賦值應(yīng)該滿足泊松比的取值范圍。其他如抗拉強度也不能任意加大,巖體本身就是一種不抗拉材料!10.開采沉陷垂直剖面等值線的生成以下轉(zhuǎn)自中尉發(fā)到SIMWE論壇FLAC\FLAC3D版面的帖子在應(yīng)用FLAC3D對煤礦開采沉陷的研究中,經(jīng)常需要得到某一垂直剖面上的位移、應(yīng)力的等值線分布。等值線可以由其他軟件如tecplot或surfer軟件作出,論壇里也有很多相關(guān)帖子,這里不再贅述。問題的關(guān)鍵在于要把垂直剖面上的單元或節(jié)點數(shù)據(jù)導(dǎo)出到數(shù)據(jù)文件中以便由繪圖軟件畫出等值線。由于煤系地層均為層狀,建模時一般采用逐層建模,各層單元的ID號就是連續(xù)的,如果要得到某一層或地表的位移等值線則可很方便地采用FISH遍歷該層各單元,讀出各單元數(shù)據(jù)就行了;但某一垂直剖面上的各單元的ID號并不是連續(xù)的,這時可以通過FISH中的內(nèi)存變量mem()將該剖面上的所有單元連接起來形成一個鏈表,然后對該鏈表操作讀出剖面上各單元的數(shù)據(jù)。以下分別是找出剖面上各單元的findsection函數(shù)和讀出單元數(shù)據(jù)的readdata函數(shù)。deffindsectionhead1=null

p_z=zone_head

loopwhilep_z#null

ifz_ycen(p_z)=310;該垂直剖面為y=310

new1=get_mem(2)

mem(new1)=head1

mem(new1+1)=p_z

head1=new1

endif

p_z=z_next(p_z)

endloopendfindsectiondefreaddataad=head1loopwhilead#nullp_z=mem(ad+1)p_smax=z_sig3(p_z);將剖面上所有單元的最大主應(yīng)力放到p_smax中ad=mem(ad)endloopend然后就可用FISH編寫讀取p_smax變量的函數(shù)了。下圖為該例子的剖面云圖和等值線。11.FLAC3D的應(yīng)變硬化軟化模型對于巖土體的常規(guī)靜力計算,F(xiàn)LAC3D的莫爾庫侖模型應(yīng)該是用得最多的了,但這個模型在塑性階段采用的是理想塑性模型,簡單說,就是材料達到屈服后,其應(yīng)力不再隨應(yīng)變而變化,塑性階段的應(yīng)變只有塑性應(yīng)變。這跟一般的巖石力學(xué)試驗得出的結(jié)果是不同的,巖石在很多情況下都表現(xiàn)出了應(yīng)變軟化的性質(zhì),即在屈服點以后,應(yīng)力隨著應(yīng)變的增大而減小,在塑性階段發(fā)生的應(yīng)變包括彈性應(yīng)變和塑性應(yīng)變兩部分。FLAC3D將這一現(xiàn)象體現(xiàn)在了一種本構(gòu)模型中,稱之為應(yīng)變軟化模型。同理,屈服點以后,應(yīng)力隨應(yīng)變增大而增大的模型稱為應(yīng)變硬化模型。(其實在塑性力學(xué)中,材料只分為理想塑性材料和硬化材料。其定義為:隨著塑性應(yīng)變等的出現(xiàn)和發(fā)展,屈服面的大小和形狀不發(fā)生變化的材料稱為理想塑性材料,反之叫硬化材料。這里的硬化材料就包括上述軟化性質(zhì))。對于應(yīng)變軟化或硬化,F(xiàn)LAC3D的處理方法仍然是在莫爾庫侖模型的理論框架下進行計算,只不過需要定義一個隨應(yīng)變而變化的材料屬性(粘聚力、內(nèi)摩擦角和抗拉強度)函數(shù),在材料達到屈服后的計算的每一時步,程序都根據(jù)這些函數(shù)弱化或強化這些材料屬性,在每一步計算時,材料的本構(gòu)關(guān)系仍然遵從莫爾庫侖模型。這種模型的好處還在于可以直接從單元的材料屬性中得出剪切塑性應(yīng)變和拉伸塑性應(yīng)變,這樣就可以很方便地根據(jù)全應(yīng)變張量得到單元的彈性應(yīng)變(全應(yīng)變減去塑性應(yīng)變?yōu)閺椥詰?yīng)變)。當(dāng)然,該模型的難點也顯而易見,那就是如何給出這個材料屬性軟化或硬化的函數(shù)。12.FLAC3D的塑性流動格式FLAC3D的二次開發(fā)大有可為!中尉的畢業(yè)論文主要進行了FLAC3D的二次開發(fā)工作,其中本構(gòu)模型的開發(fā)是其中最重要的一項工作。仔細研讀manual之theoryandbackground,里面有各個模型的原理介紹,從塑性模型最簡單的莫爾庫侖模型入手,可以對其計算流程有個深入了解,為自定義本構(gòu)模型奠定基礎(chǔ)。中尉根據(jù)manual翻譯了FLAC3D中塑性流理論增量方程一節(jié)。FLAC3D中的塑性流動遵守如下5條準則。(1)破壞準則。即為屈服函數(shù),即當(dāng)塑性流發(fā)生時的應(yīng)力組合關(guān)系。該函數(shù)為應(yīng)力空間中的一個曲面,所有在該面之內(nèi)的應(yīng)力點保持彈性行為。(2)應(yīng)變分解準則。該準則將應(yīng)變增量分解為彈性和塑性部分。(3)彈性增量關(guān)系:應(yīng)力增量為彈性應(yīng)變增量的線性函數(shù)。(4)流動法則該法則指定了塑性應(yīng)變增量向量與塑性勢函數(shù)的正交性。(5)新的應(yīng)力矢量分量滿足屈服函數(shù)。FLAC3D中,t+1時刻的彈性假設(shè)應(yīng)力狀態(tài)由t時刻的應(yīng)力狀態(tài)加上由總應(yīng)變增量采用彈性應(yīng)力-應(yīng)變關(guān)系求出的應(yīng)力分量增量獲得。如果該彈性假設(shè)應(yīng)力狀態(tài)滿足屈服函數(shù),則用塑性流動法則得到位于屈服曲線上的應(yīng)力。否則,新的應(yīng)力狀態(tài)由t時刻的彈性假設(shè)應(yīng)力給出。

莫爾-庫侖模型FLAC3D中的莫爾-庫侖模型遵從莫爾-庫侖準則(壓剪破壞)和拉伸破壞準則。強度包絡(luò)線上的應(yīng)力點在剪破壞時服從非關(guān)聯(lián)流動法則,拉破壞時服從關(guān)聯(lián)流動法則。FLAC3D在運行莫爾-庫侖模型時,首先通過總應(yīng)變增量由虎克定律計算出應(yīng)力增量,再將應(yīng)力增量加到應(yīng)力分量上計算出彈性假設(shè)應(yīng)力。主應(yīng)力及其方向根據(jù)一點應(yīng)力狀態(tài)和主應(yīng)力關(guān)系即可得到。如果主應(yīng)力滿足組合屈服準則,則必發(fā)生剪切破壞或者拉伸破壞。對于剪切破壞,根據(jù)剪切流動法則得到新的應(yīng)力增量并得到新的應(yīng)力;對于拉伸破壞,根據(jù)拉伸流動法則得到新應(yīng)力增量并得到新的應(yīng)力。如果應(yīng)力點位于組合屈服包絡(luò)線下方,則當(dāng)前時步?jīng)]有塑性流動發(fā)生,新的主應(yīng)力由彈性關(guān)系給出。

說明:由于博客里的HTML文件粘不上公式,具體文件在中尉的電腦里共享。

13.FLAC3D的動畫制作FLAC3D的3.0版本有制作動畫功能,其原理很簡單,就是根據(jù)設(shè)置的特定時步記錄一次作為關(guān)鍵幀,計算結(jié)束后,對關(guān)鍵幀之間進行插值,生成動畫。主要命令如下:命令流開頭:setmovieavisize700300step20filedispvector3-2.avi;設(shè)置象素、記錄步數(shù)和保存文件名moviestar;記錄動畫開始命令流末尾:moviefinish;記錄動畫結(jié)束中尉做了一個邊坡體下開采的巖層位移矢量動畫。14.地下連續(xù)墻基坑開挖支護/old/dispbbs.asp?boardid=23&Id=388geotechman我用殼結(jié)構(gòu)單元模擬地下連續(xù)墻,梁單元模擬鋼支撐,分步開挖,分步支護,怎么算出來的鋼支撐軸力老是拉力,并且殼單元上的彎矩很小,為幾噸,本基坑開挖深度為17米,計算結(jié)果與實際不符,請各位大俠幫我看一下!殼單元到底能不能模擬地下連續(xù)墻,該怎樣模擬?局部坐標如何定義?請高人指點!!configfluidgenzonebrickp0-10-40p1150-40p2-120-40p3-100size162040genzonebrickp0160-40p1400-40p21620-40p31600size242040selshellid20ranx15.916.1y020z-260selshellpropiso(28.5e9,0.17)thick1dens2500selgroupwallranid20selnodelocalxdir001ydir010ranselgroupwallsellinkattachzd=rigidxd=freeyd=freexrdir=freeyrdir=freezrdir=freeranselgroupwallgroupsoil1ranz-20groupsoil2ranz-20-2groupsoil3ranz-22-20groupsoil4ranz-25-22groupsoil5ranz-40-25modelmohrrangroupsoil1defderive1s_mod1=y_mod1/(2.0*(1.0+p_ratio1))b_mod1=y_mod1/(3.0*(1.0-2.0*p_ratio1))endsety_mod1=5.9e6p_ratio1=0.4derive1propbulb_mod1shears_mod1cohe4e4fric12modelmohrrangroupsoil2defderive2s_mod2=y_mod2/(2.0*(1.0+p_ratio2))b_mod2=y_mod2/(3.0*(1.0-2.0*p_ratio2))endsety_mod2=5.3e6p_ratio2=0.36derive2propbulb_mod2shears_mod2cohe2.8e4fric19modelmohrrangroupsoil3defderive3s_mod3=y_mod3/(2.0*(1.0+p_ratio3))b_mod3=y_mod3/(3.0*(1.0-2.0*p_ratio3))endsety_mod3=8.5e6p_ratio3=0.3derive3propbulb_mod3shears_mod3cohe1.4e4fric29modelmohrrangroupsoil4defderive4s_mod4=y_mod4/(2.0*(1.0+p_ratio4))b_mod4=y_mod4/(3.0*(1.0-2.0*p_ratio4))endsety_mod4=9.7e6p_ratio4=0.25derive4propbulb_mod4shears_mod4cohe1.3e4fric26modelmohrrangroupsoil5defderive5s_mod5=y_mod5/(2.0*(1.0+p_ratio5))b_mod5=y_mod5/(3.0*(1.0-2.0*p_ratio5))endsety_mod5=14.9e6p_ratio5=0.24derive5propbulb_mod5shears_mod5cohe1.0e4fric34modelfl_isorangroupsoil1propperm1e-12poro0.47modelfl_isorangroupsoil2propperm2.8e-11poro0.467modelfl_isorangroupsoil3propperm1.2e-10poro0.467modelfl_isorangroupsoil4propperm1.9e-8poro0.475modelfl_isorangroupsoil5propperm2.1e-9poro0.44inifdensity1e3inifmod2e9modelfl_nullranselgroupwallmodelfl_nullrangroupsoil1inipp2e4grad001e4rangex040y020z-40-2fixpprangez-2.1-1.9inidens1.88e3rangroupsoil1inidens1.95e3rangroupsoil2inidens1.96e3rangroupsoil3inidens1.81e3rangroupsoil4inidens1.97e3rangroupsoil5int1faceranplanenorm100origin152020dist0.01z-260int1maxedge1int1propks1e8kn1e8fric20cohe100inixadd1ranx-115y020Z-400attachfaceranx15.916.1y020z-40-26fixxranx-0.10.1fixxranx39.940.1fixyrany-0.10.1fixyrany19.920.1fixzranz-40.1-39.9iniszz0grad001.88e4ranz-20inisxx0grad001.22e4ranz-20inisyy0grad001.22e4ranz-20iniszz1.4e3grad001.95e4ranz-20-2inisxx-1e3grad001.17e4ranz-20-2inisyy-1e3grad001.17e4ranz-20-2iniszz3.4e3grad001.96e4ranz-22-20inisxx2e2grad001.176e4ranz-22-20inisyy2e2grad001.176e4ranz-22-20iniszz-2.96e4grad001.81e4ranz-25-22inisxx-5.942e4grad000.905e4ranz-25-22inisyy-5.942e4grad000.905e4ranz-25-22iniszz1.04e4grad001.97e4ranz-40-25inisxx-3.942e4grad000.985e4ranz-40-25inisyy-3.942e4grad000.985e4ranz-40-25applysxx0grad001.22e4ranx39.940.1z-20applysxx-1e3grad001.17e4ranx39.940.1z-20-2applysxx2e2grad001.176e4ranx39.940.1z-22-20applysxx-5.942e4grad000.905e4ranx39.940.1z-25-22applysxx-3.942e4grad000.985e4ranx39.940.1z-40-25applysyy0grad001.22e4ranx39.940.1z-20applysyy-1e3grad001.17e4ranx39.940.1z-20-2applysyy2e2grad001.176e4ranx39.940.1z-22-20applysyy-5.942e4grad000.905e4ranx39.940.1z-25-22applysyy-3.942e4grad000.985e4ranx39.940.1z-40-25applysxx0grad001.22e4rany-0.10.1z-20applysxx-1e3grad001.17e4rany-0.10.1z-20-2applysxx2e2grad001.176e4rany-0.10.1z-22-20applysxx-5.942e4grad000.905e4rany-0.10.1z-25-22applysxx-3.942e4grad000.985e4rany-0.10.1z-40-25applysyy0grad001.22e4rany-0.10.1z-20applysyy-1e3grad001.17e4rany-0.10.1z-20-2applysyy2e2grad001.176e4rany-0.10.1z-22

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論