ansys分析案例自由液面的土石坝平面渗流分析

用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
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 ! 最大循环次数
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
*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
经6次跌代计算,前后两次跌代的最大总水头差为0.0057m,每天的渗流量为1.322m^3/day,采用Geo-slope的Seep/W的渗透量为1.374m^3/day,计算值很接近。

 

返回Ansys文章专题列表>>>