自由液麪的土石壩平面滲流分析

Ansys 進行土石壩滲流分析,主要難點在於滲流的浸潤線未知,需要進行跌代計算。 本算例的土石壩體型比較簡單,採用非飽和滲流計算,即滲透係數爲空隙壓力的函數,滲透係數函數關係,如下,第一列爲空隙壓力值(水頭 m),第二列爲滲透係數參數,滲透係數等於10^a(m/d)

-10.00 -4.0E+00 
-9.00 -3.6E+00 
-8.00 -3.2E+00 
-7.00 -2.8E+00 
-6.00 -2.4E+00 
-5.00 -2.0E+00 
-4.00 -1.6E+00 
-3.00 -1.2E+00 
-2.00 -8.0E-01 
-1.00 -4.0E-01 
0.00 0.0E+00 
APDL 如下: 
FINI 
/TITLE, EARTHDAM SEEPAGE 
/PLOPTS,DATE,0 
*DIM,TPRE,TABLE,11,1,1,PRESS,KKPE ! 定義水壓與滲透係數的關係 
TPRE(1)=-4.0E+00,-3.6E+00,-3.2E+00,-2.8E+00,-2.4E+00,-2.0E+00,-1.6E+00,-1.2E+00,-8. 
0E-01,-4.0E-01,0.0E+00 
TPRE(1,0)=-10.00 ,-9.00 ,-8.00 ,-7.00 ,-6.00 ,-5.00 ,-4.00 ,-3.00 ,-2.00 ,-1.00 ,0.00 
*DIM,NCON,ARRAY,4 ! 定義數組,用於存貯單元四個節點號 
/PREP7 
SMRT,OFF 
ANTYPE,STATIC ! THERMAL ANALYSIS 
ET,1,PLANE55 
MP,KXX,1,1 ! PERMEABILITY 
MP,KXX,2,1E-4 
K,1,24,12 
K,2,24,0 
K,3,0,0 
K,4,28,12 
K,5,28,0 
K,6,52,0 
L,1,3 
L,3,2 
L,1,2 
L,4,5 
L,5,6 284 
L,4,6 
LESIZE,ALL,,,24 
A,1,3,2 
A,1,2,5,4 
A,4,5,6 
MSHK,2 ! MAPPED AREA MESH IF POSSIBLE 
MSHA,0,2D ! USING QUADS 
AMESH,ALL ! MESH AREAS 
NUMMRG,NODE ! MERGE NODES AT BOTTOM OF CAISSON 
*GET,N_MAX,NODE,,NUM,MAX ! 獲得最大節點號 
*GET,E_MAX,ELEM,,NUM,MAX ! 獲得最大單元號 
*DIM,N_TEMP,ARRAY,N_MAX ! 定義節點溫度變量-總水頭 
*DIM,N_PRE,ARRAY,N_MAX ! 定義節點壓力水頭變量 
!定義上游面總水頭值 
LSEL,S,LINE,,1 
NSLL,S,1 
NSEL,R,LOC,Y,0,8 
D,ALL,TEMP,8 !定義上游面總水頭值 
!定義下游面總水頭值 
LSEL,S,LINE,,5 
NSLL,S,1 
NSEL,R,LOC,X,42.9,52.1 
*GET,Nc_NUM,NODE,,COUNT ! 獲得滲流出口節點總數 
*get,Nc_min,node,,num,min 
DNN=Nc_min 
*DO,I,1,Nc_NUM 
D,DNN,TEMP,NY(DNN) ! 定義下游面總水頭值 
*if,I,LT,Nc_NUM,then 
dnn=ndnext(dnn) 
*endif 
*ENDDO 
ALLSEL,ALL 
FINISH 
/SOLU 
SOLVE 
FINISH 
SAVE 
!!!第一次計算完畢 
MAXCOMP=20 ! 最大循環次數 285 
DD_HEAT=0.01 ! 前後兩次計算,總水頭最大計算差 
*DO,COM_NUM,1,MAXCOMP 
DD_H=0 
FINI 
/POST1 
*DO,I,1,N_MAX 
*IF,COM_NUM,NE,1,THEN 
DD1=N_TEMP(I) 
*IF,ABS(DD1-TEMP(I)),GT,DD_H,THEN 
DD_H=ABS(DD1-TEMP(I)) 
*ENDIF 
*ENDIF 
N_TEMP(I)=TEMP(I) ! 計算節點溫度(總水頭) 
N_PRE(I)=N_TEMP(I)-NY(I) ! 計算節點壓力,總水頭-Y 座標 
*ENDDO 
*IF,COM_NUM,NE,1,and,DD_H,LE,DD_HEAT,exit 
FINI 
/PREP7 
! 重新給每個單元設定材料 
MATNUM=2 
*DO,I,1,E_MAX 
*DO,KK,1,4 
*GET,NCON(KK),ELEM,I,NODE,KK ! 獲取單元四個節點編號 
*ENDDO 
TEMP_Y=(N_TEMP(NCON(1))+N_TEMP(NCON(2))+N_TEMP(NCON(3))+N_TEMP(NCON(4 
)))/4 !計算單元中心點平均溫度 
PRESS_T=TEMP_Y-CENTRY(I) 
*IF,PRESS_T,GT,0,THEN 
PRESS_T=0 
MPCHG,1,I 
*ELSEIF,PRESS_T,LT,-10,THEN 
PRESS_T=-10 
MPCHG,2,I 
*ELSE 
MP,KXX,MATNUM+1,10**TPRE(PRESS_T) 
MPCHG,MATNUM+1,I 
MATNUM=MATNUM+1 
*ENDIF 
*ENDDO 
ALLSEL,ALL 
FINI 
/SOLU 
SOLVE 
FINISH 286 
*ENDDO 
FINISH 
/POST1 
/CLABEL,,1 
/EDGE,,0 
/CONTOUR,,8,0,1,8 
PLNSOL,TEMP ! 顯示總水頭雲圖 
!PLVECT,TG ! DISPLAY THERMAL GRADIENT VECTORS 
PLVECT,TF, , , ,VECT,ELEM,ON,0 
LSEL,S,LINE,,1 
NSLL,S,1 
PRRSOL,HEAT ! PRINT FLOWRATE THROUGH SOIL 
FSUM,HEAT ! 計算滲流量 
*GET,Q_day,FSUM,0,ITEM,HEAT 
Q_day=abs(Q_day) 
ALLSEL,ALL 
*DO,I,1,N_MAX 
N_TEMP(I)=TEMP(I) 
N_PRE(I)=N_TEMP(I)-NY(I) 
DNSOL,I,TEMP,,N_PRE(I) ! 將壓力水頭值複製到節點 
*ENDDO 
PLNSOL,TEMP ! 顯示壓力水頭雲圖 
ALLSEL,ALL 
fini 

作者:XuJC

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章