changqing 发表于 2005-2-22 00:17:33

【原创】用Ansys分析有浸润线的土石坝平面渗流问题

土石坝渗流分析,采用非饱和土渗流参数,迭代计算浸润线,根据前次计算结果,不断修改单元的渗透系数和浸润线出口位置,直到满足精度要求。本算例的土石坝体型比较简单.采用非饱和渗流计算.即渗透系数为空隙压力的函数.首先建立一个数据文件PPPP.TXT,存储渗透系数函数关系,如下。第一列为空隙压力值(水头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
土坝顶宽4M,上下游坡比均为1:2,总高12M,底宽52M。上游水深8M,下游无水。

FINI
/TITLE, EARTHDAM SEEPAGE
/FILNAME,SEEPAGE5
/PLOPTS,DATE,0
*DIM,TPRE,TABLE,11,1,1,PRESS,KKPE! 定义水压与渗透系数的关系数组
*TREAD,TPRE,PPPP,TXT               ! 读入数组
*DIM,NCON,ARRAY,4                  ! 定义数组,用于存贮单元四个节点号
/PREP7
SMRT,OFF
ANTYPE,STATIC             ! THERMAL ANALYSIS         
ET,1,PLANE55
MP,KXX,1,1                ! 饱和状态下的渗透系数
MP,KXX,2,1E-4             ! 完全干燥下的渗透系数,假设空隙水压力小于-10M时
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,,6
NSLL,S,1
*GET,N_NUM2,NODE,,COUNT
*DIM,N_NO2,ARRAY,N_NUM2
II=0
*DO,I,1,N_MAX
*IF,NSEL(I),EQ,1,THEN    ! 判断节点是否选中
    II=II+1
    N_NO2(II)=I            ! 存储渗流可能出口节点编号
*ENDIF
*ENDDO

NSEL,R,LOC,Y,0,8         ! 第一次计算,仅假设浸润线出口在8M高位置,与上游同高
*GET,N_NUM,NODE,,COUNT   ! 获得渗流出口节点总数
*DIM,N_NO,ARRAY,N_NUM      ! 定义变量,存储渗流出口节点编号

II=0
*DO,I,1,N_MAX
*IF,NSEL(I),EQ,1,THEN    ! 判断节点是否选中
    II=II+1
    N_NO(II)=I             ! 存储渗流出口节点编号
*ENDIF
*ENDDO
*DO,I,1,N_NUM
    D,N_NO(I),TEMP,NY(N_NO(I))   ! 定义下游面总水头值
*ENDDO

ALLSEL,ALL
FINISH

/SOLU   
SOLVE
FINISH
!!!第一次计算完毕

!-------------------------------------------------------------------------
!迭代计算

CONUTT=20             ! 最大循环次数
DD_HEAT=0.001         ! 前后两次计算,总水头最大允许计算差
CHUK_ST=3             ! 出口边界条件重新设定的起始点
CHUK_MAXY2=10E5       ! 临时变量,用于存储浸润线出口坐标
*DO,COM_NUM,1,CONUTT
    DD_H=0
    /POST1
    SET,1
    *DO,I,1,N_MAX
   *IF,COM_NUM,GT,CHUK_ST+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,GT,CHUK_ST+1,THEN
       *IF,DD_H,LE,DD_HEAT,THEN
         *EXIT
       *ENDIF
   *ENDIF   
    /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
   
    ! 重新设定出口边界条件
    *IF,CONUTT,GT,CHUK_ST,THEN         !前CHUK_ST次采用原边界条件
      LSEL,S,LINE,,6
      NSLL,S,1
      DDELE,ALL,TEMP               ! 删除原边界条件
      II=0
      CHUK_MAXY=0
      *DO,JJ,1,N_NUM2
            *IF,N_TEMP(N_NO2(JJ)),GE,NY(N_NO2(JJ)),THEN
               D,N_NO2(JJ),TEMP,NY(N_NO2(JJ))    ! 总水头=Y坐标
               *IF,NY(N_NO2(JJ)),GT,CHUK_MAXY,THEN
                  CHUK_MAXY=NY(N_NO2(JJ))               
               *ENDIF
            *ENDIF
      *ENDDO
      *IF,CHUK_MAXY2,NE,CHUK_MAXY,THEN! 判断前后两次计算的浸润线出口位置是否相同
         NSEL,R,LOC,Y,CHUK_MAXY         ! 选择最高节点
         *IF,CHUK_MAXY,GT,0,THEN
            DDELE,ALL,TEMP    ! 删除出口最高节点边界条件
         *ENDIF
         CHUK_MAXY2=CHUK_MAXY
         *ENDIF
    *ENDIF
    ALLSEL,ALL
    FINI
   
    /SOLU   
    SOLVE
    FINISH
*ENDDO
SAVE

!迭代计算完毕,进入后处理
   
FINISH
/POST1
/CLABEL,,1
/EDGE,,0
/CONTOUR,,8,0,1,8
PLNSOL,TEMP                  ! 显示总水头云图
PLVECT,TF, , , ,VECT,ELEM,ON,0
PLVECT,TF, , , ,VECT,NODE,ON,0
LSEL,S,LINE,,6
NSLL,S,1
PRRSOL,HEAT                  ! PRINT FLOWRATE THROUGH SOIL
FSUM,HEAT                  ! 计算渗流量
*GET,Q_DAY,FSUM,0,ITEM,HEAT
ALLSEL,ALL
SAVE

*DO,I,1,N_MAX
N_TEMP(I)=TEMP(I)          ! 计算节点总水头(温度)
N_PRE(I)=N_TEMP(I)-NY(I)   ! 计算节点压力,总水头-Y坐标
DNSOL,I,TEMP,,N_PRE(I)   ! 将压力水头值复制到节点
*ENDDO
PLNSOL,TEMP                  ! 显示压力水头云图
FINI

changqing 发表于 2005-2-22 00:22:00

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

经过16此迭代,前后两次最大水头差2.4e-4m,渗流量为0.987,使用Geo-slope之Seep/W计算的渗流量为0.999,比较接近。
Ansys计算的总水头云图

changqing 发表于 2005-2-22 00:25:12

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

Seep/W计算的总水头云图

changqing 发表于 2005-2-22 00:26:16

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

Ansys计算的压力水头云图

changqing 发表于 2005-2-22 00:27:59

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

Seep/W计算的压力水头,二者非常一直

changqing 发表于 2005-2-22 00:33:34

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

浸润线出口比较

xixi9118 发表于 2005-2-22 09:31:18

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

我也在做这方面的分析,不过还不会用ANSYS做,请问楼主是否做过更复杂一些的大坝的分析,如深厚覆盖层上的心墙堆石坝等,如有,可否共享?

cjiao2000 发表于 2005-3-20 17:24:55

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

很好,不错!
但是,如何计算渗漏面的流量呢?
如何计算,补给水源的情况呢?

cjiao2000 发表于 2005-3-25 23:57:30

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

lsel,s,,,34
lsel,a,,,31
lsel,a,,,41

lsel,a,,,62
lsel,a,,,49
lsel,a,,,54
NSLL,S,1

FSUM,HEAT
*GET,Q_DAY,FSUM,0,ITEM,HEAT

流量 是不是就是,先选择流出面的线,然后选择线上的node,然后FSUM,HEAT,然后就可以get流量了,总的流量,我想问一下楼主,
MP,KXX,1,1 ! 饱和状态下的渗透系数
MP,KXX,2,1E-4
中渗透稀疏的单位是多少?换算成标准单位的话是不是再乘以10e-6

cjiao2000 发表于 2005-4-7 00:09:40

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

计算得到的流量,如何换算成m3/day?
计算结果出来的流量,但是是什么呢???!

changqing 发表于 2005-4-7 22:11:04

Re:【原创】用Ansys分析有浸润线的土石坝平面渗流问题

本算例采用热力学方法计算渗流,热流量就是渗流量,渗透系数的单位假设为m/d,所以总的渗流量为m3/day。

yzh9909324 发表于 2010-2-28 11:25:59

本算例采用热力学方法计算渗流,热流量就是渗流量,渗透系数的单位假设为m/d,所以总的渗流量为m3/day。

qxgseu 发表于 2010-5-17 00:27:55

很牛很强大

hrc2823 发表于 2010-6-27 08:43:11

楼主的算例研究了好久 我打算做心墙坝三维渗流计算请教如何从二维扩展到三维 两者之间主要区别有哪些算三维的难度在哪里还有就是三维建模地基怎么处理 是沿一个地基分界线拖拉成三维吗 三维土石坝建模的基本思路可否指点一下 谢谢

goodplace 发表于 2011-1-30 23:35:50

下来学习了,非常感谢

zxazxy 发表于 2013-5-5 16:31:54

厉害。。。

newtang 发表于 2013-6-11 14:29:14

牛逼学习中

yingwuluo1989 发表于 2013-9-15 11:40:38

想学习一下有混凝土面板的坝体渗流分析,不知楼主可以相关的命令流可以分享的?

jinweize03 发表于 2015-5-8 09:23:53

学习一下
页: [1]
查看完整版本: 【原创】用Ansys分析有浸润线的土石坝平面渗流问题