《6穩(wěn)定滲流問題的分析》由會員分享,可在線閱讀,更多相關(guān)《6穩(wěn)定滲流問題的分析(5頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、土壩穩(wěn)定滲流問題的分析
一、問題和條件:土壩穩(wěn)定滲流分析,采用生死單元技術(shù),迭代計(jì)算浸潤線,根據(jù)前次計(jì)算結(jié)果,不斷修改單元的浸潤逸出點(diǎn)位置,直到滿足精度要求。本算例的模型比較簡單,對均質(zhì)矩形土體穩(wěn)定滲流問題進(jìn)行計(jì)算,上游水頭為+6m,下游水頭為+1m,壩體寬度為4m,壩體高度為6m。試做滲流分析。
滲透系數(shù)k=0.02二、進(jìn)入ANSYS界面
單擊開始?程序~ansys8.0fconfigureANSYSproduct然后在FileManagement中定義WorkingDirectory(工作路徑)如如:class;定義JobName(工作文件名)。如如calculateseepageo
2、fearthdam。
1 三、定義單元及材料定義程序中需要調(diào)用的數(shù)組
運(yùn)行main中parameters—arrayparameters—define/edit—add,接著在對話框中par選項(xiàng)中輸入數(shù)組名字:nodefour,在Type中選擇Array,在I、J、K中對應(yīng)輸入4、1、1,然后點(diǎn)擊OK按鈕。
2 Smart,offAntype,staticNROPT,FULLOUTPR,BASIC,ALL新建單元類型
運(yùn)行主菜單Preprocessor—ElementType—Add/Edit/Delete(新建/編輯/刪除單元類型)命令,接著在對話框中單擊“Add”按鈕新建單元類型。
3、
3 定義單元類型
先選擇單元為Thermalsolid,接著選擇Quad4node55,然后單擊“OK”按鈕確定,完成單元類型的選擇。
4 關(guān)閉單元類型對話框
回到單元類型對話框,已經(jīng)新建了Thermalsolid單元,單擊對話框中“Close”按鈕關(guān)閉對話框。
5設(shè)置材料屬性
運(yùn)行主菜單Preprocessor—Materialprops—MaterialModels(材料屬性)命令。選擇材料屬性命令后,系統(tǒng)會顯示材料屬性設(shè)置對話框,接著在對話框Thermal中選擇conductivity—Isotropic—在kxx中輸入滲透系數(shù)0.02。點(diǎn)擊OK按鈕。
6關(guān)閉材料屬性對話
4、框
完成材料屬性的設(shè)置后,可在對話框右上方單擊兇,關(guān)閉材料屬性設(shè)置。
1 四、建立框架幾何圖形生成節(jié)點(diǎn)
運(yùn)行主菜單PreprocessorfModelingfCreatefNodesfInActiveCS生成節(jié)點(diǎn)于目前坐標(biāo)系統(tǒng)命令。
接著在Nodenumber輸入1,接著依照順序輸入第一點(diǎn)XYZ的坐標(biāo)值為0,0,0,完成輸入后單擊“Apply”按鈕繼續(xù)生成第二點(diǎn)。
如上依次
2 0,6,0
3 4,6,0
2 4,0,0生成線條
運(yùn)行主菜單PreprocessorfModelingfCreateflinesflinesfStraightline,依次選擇節(jié)點(diǎn)1、節(jié)點(diǎn)2,點(diǎn)擊a
5、pply;選擇節(jié)點(diǎn)2、節(jié)點(diǎn)3,點(diǎn)擊apply;選擇節(jié)點(diǎn)3、節(jié)點(diǎn)4,點(diǎn)擊apply;選擇節(jié)點(diǎn)4、節(jié)點(diǎn)1,點(diǎn)擊apply。
3 生成面單元
運(yùn)行主菜單PreprocessorfModelingfCreatefAreasfarbitraryfBylines生成單元命令。
依次選擇線1、線2、線3、線4,完成輸入后單擊“OK”按鈕生成面單元。
4 按等分每條線為32等份的格式分網(wǎng)格
運(yùn)行主菜單PreprocessorfMeshingfSizecntrlsfManualsizeflinesfAlllines,生成一個對話框,在Ndiv對應(yīng)項(xiàng)輸入每條線的等分?jǐn)?shù)目,該例題中輸入32,點(diǎn)擊ok按鈕。
6、
5 劃分網(wǎng)格
運(yùn)行主菜單PreprocessorfMeshingfMeshtool,生成一個對話框依次選擇Quad、free,點(diǎn)擊Mesh按鈕。網(wǎng)格劃分完畢。
6 顯示單元和節(jié)點(diǎn)編號
運(yùn)行下拉菜單中PlotCtrlsfNumbering編號顯示命令。接著在編號控制對話框中將選擇打開Nodenumber和Elementnumber顯示單元編號,完成后單擊“OK”按鈕。此時系統(tǒng)將會以顏色區(qū)分單元編號。
五、施加荷載并進(jìn)行分析*get,n_max,node,,num,max*get,e_max,elem,,num,max
*dim,n_temp,array,n_max
*dim,n_
7、pre,array,n_max!壩體前加水頭lsel,s,line,,1nsll,s,1
!獲取最大節(jié)點(diǎn)數(shù)目,用于計(jì)算時循環(huán)使用!獲取最大單元數(shù)目,用于計(jì)算時循環(huán)使用!將最大節(jié)點(diǎn)數(shù)目賦值給n_temp變量!將最大節(jié)點(diǎn)數(shù)目賦值給n_pre變量!選擇線條1!選擇線條1的的所有節(jié)點(diǎn)
nsel,r,loc,y,0,6!從剛才所選擇的所有節(jié)點(diǎn)中選擇y坐標(biāo)介于0與6的所有節(jié)點(diǎn)d,all,temp,6!給剛選擇的線條上的節(jié)點(diǎn)加溫度6(即為水頭值)!壩體后加水頭lsel,s,line,,3!選擇線條3nsll,s,1!選擇線條3的的所有節(jié)點(diǎn)nsel,r,loc,y,0,l!從剛才所選擇的所有節(jié)點(diǎn)中選擇y坐
8、標(biāo)介于0與1的所有節(jié)點(diǎn)d,all,temp,1!給剛選擇的線條上的節(jié)點(diǎn)加溫度1(即為水頭值)lsel,s,line,,3!重新選擇線條3
nsel,r,loc,y,1,6!從剛才所選擇的所有節(jié)點(diǎn)中選擇y坐標(biāo)介于1與6的所有節(jié)點(diǎn)*get,n_num2,node,,count*dim,n_no2,array,n_num2k=0!獲取剛才選擇的節(jié)點(diǎn)總數(shù),并賦值給n_num2!建立n_no2數(shù)組為n_num2維
!賦k的初值,用于循環(huán)*do,i,1,n_max*if,nsel(i),eq,1,thenk=k+1n_no2(k)=I!判斷節(jié)點(diǎn)是否選中
!存儲滲流可能逸出點(diǎn)節(jié)點(diǎn)編號*endif*en
9、ddo
*get,n_num,node,,count*dim,n_nu,array,n_numk=0
!獲得滲流出口節(jié)點(diǎn)總數(shù)
!定義變量,存儲滲流出口節(jié)點(diǎn)編號
nsel,r,loc,y,0,6!第一次計(jì)算,假設(shè)浸潤線逸出點(diǎn)在6m高位置,與上游同高!判斷節(jié)點(diǎn)是否選中*do,i,1,n_max
*if,nsel(i),eq,1,thenk=k+1n_nu(k)=I
*endif*enddo
!存儲滲流出口節(jié)點(diǎn)編號*do,i,1,n_num
d,n_nu(i),temp,ny(n_nu(i))!定義下游面總水頭值*enddoallsel,allfinish/solusolvefini
10、shconutt=20dd_heat=0.001chuk_st=3chuk_maxy2=10E5*do,com_num,1,conutt!第一次計(jì)算完畢
!迭代計(jì)算
!最大循環(huán)次數(shù)
!前后兩次計(jì)算,總水頭最大允許計(jì)算差
!出口邊界條件重新設(shè)定的起始點(diǎn)!臨時變量,用于存儲浸潤線出口坐標(biāo)dd_h=0
/post1
set,1*do,i,1,n_max*if,com_num,gt,chuk_st+1,thendd1=n_temp(i)*if,abs(dd1-temp(i)),gt,dd_h,then
dd_h=abs(dd1-temp(1))
*endif
*endif
n_
11、temp(i)=temp(i)!計(jì)算節(jié)點(diǎn)溫度(總水頭)
n_pre(i)=n_temp(i)-ny(i)!計(jì)算節(jié)點(diǎn)壓力,總水頭-Y坐標(biāo)*enddo*if,com_num,gt,chuk_st+1,then
*if,dd_h,le,dd_heat,then*exit
*endif
*endif/prep7
*do,i,1,e_max*do,ik,1,4*get,nodefour(ik),elem,i,node,ik!獲取單元四個節(jié)點(diǎn)編號
*enddotemp_y=(n_temp(nodefour(1))+n_temp(nodefour(2))+n_temp(nodefour(3))+
12、n_temp(nodefour(4)))/4!計(jì)算單元中心點(diǎn)平均溫度press_t=temp_y-CENTRY(i),
*if,press_t,lt,0,thenEKILL,i!利用生死單元技術(shù)殺死單元中心點(diǎn)溫度小于節(jié)點(diǎn)y坐標(biāo)的單元ESEL,S,LIVE!激活滿足要求的單元EPLOT
*endif
*enddo!重新設(shè)定出口邊界條件*if,conutt,gt,chuk_st,then!前CHUK_ST次采用原邊界條件lsel,s,line,,3nsll,s,1
nsel,r,loc,y,1,6
ddele,all,temp!刪除原邊界條件
ii=0chuk_maxy=0*do,jj
13、,1,n_num2*if,n_temp(n_no2(jj)),ge,ny(n_no2(jj)),thend,n_no2(jj),temp,ny(n_no2(jj))!總水頭=Y坐標(biāo)*if,ny(n_no2(jj)),ge,chuk_maxy,thenchuk_maxy=ny(n_no2(jj))*endif*endif
*enddo
*if,chuk_maxy2,ne,chuk_maxy,then!判斷前后兩次計(jì)算的浸潤線出口位置是否相同nsel,r,loc,y,chuk_maxy!選擇最高節(jié)點(diǎn)*if,chuk_maxy,gt,o,then
ddele,all,temp!刪除出口最高節(jié)點(diǎn)
14、邊界條件*endif
chuk_maxy2=chuk_maxy
*endif
*endif
allsel,all
finish
/solu
solve
finish*enddosave七、結(jié)果顯示FINISH!迭代計(jì)算完畢,進(jìn)入后處理/POST1/CLABEL,,1/EDGE,,0/CONTOUR,,,0,1,6
ESEL,S,LIVEEPLOTPLNSOL,TEMP!顯示總水頭云圖PLVECT,TF,,,,VECT,ELEM,ON,0PLVECT,TF,,,,VECT,NODE,ON,0LSEL,S,LINE,,3NSLL,S,1PRRSOL,HEAT!PRINTFLOWRATETHROUGHSOILFSUM,HEAT!計(jì)算滲流量*GET,Q_DAY,FSUM,0,ITEM,HEATALLSEL,ALLSAVE*DO,I,1,N_MAXN_TEMP(I)=TEMP(I)!計(jì)算節(jié)點(diǎn)總水頭(溫度)N_PRE(I)=N_TEMP(I)-NY(I)!計(jì)算節(jié)點(diǎn)壓力,總水頭-Y坐標(biāo)DNSOL,I,TEMP,,N_PRE(I)!將壓力水頭值復(fù)制到節(jié)點(diǎn)*ENDDOPLNSOL,TEMP!顯示壓力水頭云圖FINISH