CAD TO ANSYS TO FLAC3D邊坡穩定性分析全程揭密

最近看到不少朋友在問這個方面的問題,我現在把我過去幾個月做的工程實例貢獻出來,與大家共享。
(1)從CAD圖獲取等高線點的數據
這個過程我是采用捕捉點獲取數據的方式,不過是用軟件實現的,否則手工操作十分費事。這樣的軟件在論壇上的ANSYS版塊已經有了。有時候,CAD圖也并非全有三維信息,不過只要知道二維信息,輔之以高程,就可以了,這個工作量不大。將得到的點的坐標導入到EXCEL中進行處理,轉換為下面的格式
k, 1, 600 ,0, 0
k, 2, 600 ,0, 700
k, 3, 0 ,0, 700
k, 4, 0 ,0, 0
k, 5, 600 ,24, 0
k, 6, 600 ,24, 700
k, 7, 0 ,24, 700
k, 8, 0 ,24, 0
即關鍵點坐標,然后就可以由點生成線了。至于為什么要導入到EXCEL,因為得出的數據點格式未必是符合ANSYS的數據格式,采用她可以進行批量處理,減少工作量。處理完畢后,這些數據點格式可以直接拷貝到記事本中,就成為符合ANSYS輸入要求的數據點格式了。
(2)有了數據點,就進入到下一步,即由點在ANSYS中建立幾何模型。
通過數據點生成幾何模型的方法多種多樣,因人而異,沒有統一的方法。不過對于我來說,個人覺得巖土工程模型比較復雜,最好是采用點生成線、線生面,面生成體的辦法。至于地質界面,我是采用先生成面,然后切割體的方式生成。附件是我的ANSYS命令流,里面配有說明,大家可以參考一下。附圖是按上述步驟得到的結果圖和網格模型圖,說明一下,這些圖和我現在貼出的命令流得到的結果有些差異,原因是我后來更改了模型,不過步驟完全一樣;后面我提到的在ANSYS生成水面的方式也是采用面切割體的方式得到的。


[forum.simwe.com]3.JPG



[forum.simwe.com]4(1).JPG



[forum.simwe.com]5.JPG



[forum.simwe.com]6.JPG


(3)ansys模型導入FLAC3D1
這個我采用haitang兄的五一紀念版轉換軟件實現。
具體步驟為:
導入ANSYS命令流得到網格模型后,點擊file欄read input from,找到五一紀念版轉換軟件文件夾中的ANSYS_COMMAND文件,得到單元和節點信息文件,并被保存在D盤根目錄下。復制這兩個文件,放置到軟件文件夾,雙擊轉換軟件,即可得到FLAC3D IMPGRID命令所需的數據格式文件(附件1),然后IMPGRID這個文件就可以得到FLAC3D網格模型(附圖)


[forum.simwe.com]無標題.JPG


4)FLAC3D計算
對導入后的FLAC3D加上相關約束條件并賦上參數值就可以進行計算了。
下面是命令流和相關解釋,做得比較簡單,沒有考慮其它,僅考慮了靜水壓力而已,呵呵。
;導入網格數據以生成水面
impgrid ww.flac3d
attach face
;為建立水面設置“輔助界面”而分組為水上部分和水下部分
group water_below range group 1 any group 2 any
group water_above range group water_below not
gen separate water_below
interface 1 wrap water_below water_above
set grav 0 -9.81 0
water den 1000
;遍歷界面單元節點生成水面
def water_table
p_i=i_head
p_ie=i_elem_head(p_i) ;界面1單元指針賦予p_ie4
loop while p_ie # null
;返回界面單元的三個頂點的地址
p_gp1=ie_vert(p_ie,1) 
p_gp2=ie_vert(p_ie,2)
p_gp3=ie_vert(p_ie,3)
;以這三個界面單元頂點為水面的三個頂點,生成水面)
;interface的節點和網格節點的地址是分別存放的
x1=in_pos(p_gp1,1)
y1=in_pos(p_gp1,2)
z1=in_pos(p_gp1,3)
x2=in_pos(p_gp2,1)
y2=in_pos(p_gp2,2)
z2=in_pos(p_gp2,3)
x3=in_pos(p_gp3,1)
y3=in_pos(p_gp3,2)
z3=in_pos(p_gp3,3)
command
water table face x1,y1,z1 x2,y2,z2 x3,y3,z3
endcommand
p_ie=ie_next(p_ie)
endloop
end
;刪除單元組water_below和組water_above,為導入實際的材料分組做準備
model null range group water_below
model null range group water_above
;建立實際材料分組部分
;導入網格數據,重新分組
impgrid ww.flac3d
group soil range group 2 any group 4 any
group rock range group 1 any group 3 any
;執行生成水面的函數water_table
water_table
;刪除輔助界面單元
int 1 dele
;徹底刪除原先的分組,釋放空間
dele range group water_below
dele range group water_above
;施加邊界約束條件
fix x y z rang y -0.1 0.1
fix z range x 0 600 z -0.1 0.1
fix x range x -0.1 0.1 z 0 700
fix z range x 0 600 z 699.9 700.1
fix x range x 599.9 600.1 z 0 700
;初始化材料密度: 飽和的和非飽和的
def ini_dens
p_z = zone_head ;將網格單元指針賦為p_z
;循環,并進行判斷,如果隸屬于組名為“土”的網格單元孔隙水壓力不等于0,那么該單元密度為2120,其它單元密度為20206
loop while p_z # null 
if z_group( p_z)='soil' then 
if z_pp( p_z) # 0.0 then
     z_density( p_z) = 2120
else
z_density( p_z) = 2020
endif
endif

if z_group( p_z)='rock' then
if z_pp( p_z) # 0.0 then
z_density( p_z) = 3460
else
z_density( p_z) = 3360
endif
endif
p_z = z_next( p_z)
endloop
end
;執行ini_dens函數
ini_dens
;通過彈性求解生成初始應力場
model elas9 t7 g, l& W M3 s4 i
pro bulk 1e10 she 1e10 range group soil
pro bulk 1e10 she 1e10 range group rock
solve fo 1e3
;位移和速度歸零
ini xdisp 0
ini ydisp 0
ini zdisp 0
ini xvel 0
ini yvel 0
ini zvel 0
;定義材料特性
;冰磧土物理力學參數指標
model mohr
pro bulk 4.0e8 she 2.4e8 co 2.6e5 fric 28.5 ten 1e4 dil 10 range group soil
;強節理化輝長巖物理力學參數指標
pro bulk 8e8 she 6e8 co 4.60e5 fric 37 ten 4e3 dil 15 range group rock
set mech ratio 1.0e-6
solve
(5)計算結果分析
下面就是對計算結果進行分析了,呵呵。
計算結果呢,我的習慣是先整體后局部,先三維后二維,即先看整體位移、應力云圖,然后切剖面,繪等值線。說實話,我也是第一次做數值分析,也不知道上面的方式是否科學。剖面繪等值線程序來自論壇上前版主dynamax大牛的flac3d to tecplot,具體步驟如下,等命令流計算完畢后,call flac3d to tecplot文件即可,然后在tecplot 軟件中切剖面繪等值線,就可以進行分析了。當然用下面的命令:
plot set plane nor() ori()
plo cont smin plane
or plo cont smax plane
等等也可以得到某些剖面的位移或主應力云圖。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

7
6
5