土石坝有限元分析(ANSYS)-渗流分析命令流
有限元法在土石坝渗流稳定分析中的运用

桂五水库大坝经数次加高培厚筑 分 析 。
E M中提取 的流 域河 网水 系 高精度 D E M前提下 , 数字地表水 系和排 坦的区域 ,如果数据精度无法提供真 使得从 D E M 自动 提取 出 实存在的细微高程差别 ,就无法生成 和实际情况有些差别 。本文所取的最 涝分 区可 以通过基 于 D 合理的数字河 网。 为此 , 选取较高精度 小水道长度 阀值略大于经验值 ,是由 来 ,但存在河道局部偏移及河 网失 真等 需要进行 局部修正 。在 D E M数 字 的 1: 5 0 0 0 D E M 作为数据 源 , 基本可 研究 区的特点所决定的 ,由于地势平 问题 ,
薮 科技推广与应用】 l
有限元法在土石= l [ 贝 滢流稳定分析巾响运用
王
引 言
鑫 赵 才全 梁
军
一
、
水库 大坝渗流稳定 进行 计算分析 , 为 成 , 因当时施工工艺条 件差 等原因 , 坝 身 和走 访有关人员 ,得知大坝渗流性态 现 状存 在以下 问题 : ( 1 ) 大坝坝 体 内埋 设 的测压 管 已堵
元法在土石坝渗流分析 中得到 了广泛 坝 干渠 输水 箱涵 ,断面 为 2 . 2 5 m× 可能性和产生渗流破坏 的可能 ,选择对
. 2 5 m( 长 ×宽 ) 。 应用 ,此种方法可以计算非稳定渗流 2 和较 复杂 的渗流问题。本文拟采用有 限元软 件 ( A u t o B A N K) 对淮 安市桂 五 三、 大坝渗流性态现状分析
一
四、 大坝渗流稳定计算
为了对桂 五水 库现状大坝渗流安全
2 . 5 ,戗台内有清水 进行评价 , 根据水位情况 , 考虑其遭遇 的 定设备 , 且费 时较长。近年来 , 有限 上下坡 比均为 1: 1 / 3 坝高水位 、 正常蓄水位 、 设计水 位 、 水 位降落期水位下的大坝渗流稳定性进 行
anays渗流

第2章水工流体力学问题的ANSYS模拟ANSYS软件具有专门针对流体的计算模块,可以模拟理想流体的流动、稳定和非稳定渗流。
本章主要介绍利用ANSYS进行简单的渗流分析和流体分析。
2.1 水工渗流场模拟需要指出的是,在ANSYS中并不存在专门的渗流分析模块,但由于渗流场与温度场的有限元计算公式相同,因此可以利用ANSYS中的热分析模块进行分析,只需相应参数对应采取即可。
鉴于问题的复杂性,这里仅用一个重力坝的例子进行分析。
2.1.1 数值模拟对象考虑混凝土大坝下水的渗流。
假定坝下土壤的渗流系数K约为每天15米,即K=15m/天,试确定该土壤的渗流速度分布。
本问题为一个稳态渗流问题,可以利用ANSYS的稳态热传导进行分析。
2.1.2 有限元模型本问题中,考虑混凝土坝体不透水,渗流主要发生在坝基部分,因此,模型仅涉及坝基,具体建模过程如下:1.模型的定义启动ANSYS,设置好文件夹及文件名;2.设置分析类型点击Preferences,在弹出的对话框中选择Thermal,选择热分析,点击OK;随后进入前处理模块:Main Menu>PreProcessor;3.设置单元类型对于二维渗流(热)分析,采用Plane55单元。
Element Type>Add/Edit/Delete…,弹出对话框:4.定义材料参数稳态渗流分析中,主要设置材料的渗透系数(本问题中,坝基材料的渗透系数为K =15m/天,其对应热分析中的热传导系数)。
设置方法如下:Material Props>Material Models …,弹出对话框中:5.建立数学模型本问题中,通过创建关键点,再由关键点直接生成二维(坝基)面。
●在命令行中,分别输入关键点命令,生成关键点:K,1,0,0;K,2,5,0;K,3,9,0;K,4,16,0;K,5,16,4;K,6,16,5;K,7,9,5;K,8,9,4;K,9,5,4;K,10,5,5;K,11,0,5;K,12,0,4●连接关键点生成面Modelling>Creat>Areas>Arbitary>Throuth KPs…,弹出点选择对话框:8,9)、(3,4,5,8)、(8,5,6,7)、(12、9,10,11),生成其它四个面。
有限元分析软件ANSYS命令流中文说明

有限元分析软件ANSYS命令流中文说明有限元分析软件ANSYS命令流中文说明(1)CommandVSBV, NV1, NV2, SEPO, KEEP1, KEEP2 —Subtracts volumes from volumes,用于2个solid相减操作,最终目的是要nv1-nv2=?通过后面的参数设置,可以得到很多种情况:sepo项是2个体的边界情况,当缺省的时候,是表示2个体相减后,其边界是公用的,当为sepo的时候,表示相减后,2个体有各自的独立边界。
keep1与keep2是询问相减后,保留哪个体?当第一个为keep时,保留nv1,都缺省的时候,操作结果最终只有一个体,比如:vsbv,1,2,sepo,,keep,表示执行1-2的操作,结果是保留体2,体1被删除,还有一个1-2的结果体,现在一共是2个体(即1-2与2),且都各自有自己的边界。
如vsbv,1,2,,ke ep,,则为1-2后,剩下体1和体1-2,且2个体在边界处公用。
同理,将v换成a及l是对面和线进行减操作!mp,lab, mat, co, c1,…….c4 定义材料号及特性lab: 待定义的特性项目(ex,alpx,reft,prxy,nuxy,gxy,mu,dens)ex: 弹性模量nuxy: 小泊松比alpx: 热膨胀系数reft: 参考温度reft: 参考温度prxy: 主泊松比gxy: 剪切模量mu: 摩擦系数dens: 质量密度mat: 材料编号(缺省为当前材料号)co: 材料特性值,或材料之特性,温度曲线中的常数项c1-c4: 材料的特性-温度曲线中1次项,2次项,3次项,4次项的系数定义DP材料:首先要定义EX和泊松比:MP,EX,MAT,……MP,NUXY,MAT,……定义DP材料单元表(这里不考虑温度):TB,DP,MAT进入单元表并编辑添加单元表:TBDATA,1,CTBDATA,2,ψTBDATA,3,……如定义:EX=1E8,NUXY=0.3,C=27,ψ=45的命令如下:MP,EX,1,1E8MP,NUXY,1,0.3TB,DP,1TBDATA,1,27TBDATA,2,45这里要注意的是,在前处理的最初,要将角度单位转化到“度”,即命令:*afun,degVSEL, Type, Item, Comp, VMIN, VMAX, VINC, KSWPType,是选择的方式,有选择(s),补选(a),不选(u),全选(all)、反选(inv)等,其余方式不常用Item, Comp 是选取的原则以及下面的子项如volu 就是根据实体编号选择,loc 就是根据坐标选取,它的comp就可以是实体的某方向坐标!其余还有材料类型、实常数等MIN, VMAX, VINC,这个就不必说了吧!,例:vsel,s,volu,,14vsel,a,volu,,17,23,2上面的命令选中了实体编号为14,17,19,21,23的五个实体VDELE, NV1, NV2, NINC, KSWP: 删除未分网格的体nv1:初始体号nv2:最终的体号ninc:体号之间的间隔kswp=0:只删除体kswp=1:删除体及组成关键点,线面如果nv1=all,则nv2,ninc不起作用其后面常常跟着一条显示命令VPLO,或aplo,nplo,这个湿没有参数的命令,输入后直接回车,就可以显示刚刚选择了的体、面或节点,很实用的哦!Nsel, type, item, comp, vmin, vmax, vinc, kabs 选择一组节点为下一步做准备Type: S: 选择一组新节点(缺省)R: 在当前组中再选择A: 再选一组附加于当前组U: 在当前组中不选一部分All: 恢复为选中所有None: 全不选Inve: 反向选择Stat: 显示当前选择状态Item: loc: 坐标node: 节点号Comp: 分量Vmin,vmax,vinc: ITEM范围Kabs: “0” 使用正负号“1”仅用绝对值下面是单元生死第一个载荷步中命令输入示例:!第一个载荷步TIME,... !设定时间值(静力分析选项)NLGEOM,ON !打开大位移效果NROPT,FULL !设定牛顿-拉夫森选项ESTIF,... !设定非缺省缩减因子(可选)ESEL,... !选择在本载荷步中将不激活的单元EKILL,... !不激活选择的单元ESEL,S,LIVE !选择所有活动单元NSLE,S !选择所有活动结点NSEL,INVE !选择所有非活动结点(不与活动单元相连的结点)D,ALL,ALL,0 !约束所有不活动的结点自由度(可选)NSEL,ALL !选择所有结点ESEL,ALL !选择所有单元D,... !施加合适的约束F,... !施加合适的活动结点自由度载荷SF,... !施加合适的单元载荷BF,... !施加合适的体载荷SAVESOLVE请参阅TIME,NLGEOM,NROPT,ESTIF,ESEL,EKILL,NSLE,NSEL,D,F,SF和BF命令得到更详细的解释。
浅谈基于ANSYS的土石坝渗流场模拟

介 质 的分界线应 该与 非均质 岩层 的分界 线也 要保 持
一
情况 , 由于 A S S软件 没有 提供模 拟 图的给水 度 的 NY 功能 , 不能直接 分析 非 稳 定 渗 流 的情 况 和渗 流 问题
本身 的复杂性 , 采用 数值 模拟方 法 , 如何真 实准确 的 模 拟实 际渗流是 一个 需要 不断完 善 的过 程 。从 而研
参考文 献 :
[ ] 毛昶熙 . 流计算分析与控制 [ . 1 渗 M] 北京 : 中国水利水
电 出 版社ห้องสมุดไป่ตู้,o3 2o.
4 工 程 实例 分 析
本 文利用 西安市 金盆水 利枢 纽工 程为例 。该 工 程 为大 型二等工 程 , 于黏 土心墙 土石 坝 , 址位 于 属 坝
西安 市 的周至县境 内 , 周至 县城 约 1 k 距 3 m。该 枢纽
有重要 地位 。对 土石 坝 而 言 , 透水 流 除浸 湿 土 体 渗 降低其 强度指 标外 , 当渗 透 力大 到 一定 程 度 时将 导 致坝坡 滑动 、 防渗 体 被击 穿 、 坝基 管 涌 、 土 等重 大 流 渗流事 故 , 接 影 响大 坝 的运 行安 全 。对 于 混凝 土 直
受力安 全 ; 岸坝 肩渗透 压力 ( 下水 位 ) 两 地 的高 地关 系到坝 肩岸坡 岩体 的抗 滑稳定安 全 。带 有浸蚀 性 的
渗流对 建筑 物和 坝基 的可溶 性 物质 造 成 浸蚀 , 响 影
结构安 全 问题 。此 外 , 大 的渗 透 损 失也 将 减少 工 过
程效益 。
( ) 散化 : 求 解 域 划 分 为具 有 一 定 几 何形 2离 将 状 的单元 进行单 元 编号 并 确定 插 值 函数 , 对结 点 进 行 总体 编号和单元 上 的局部 编号并 给 出结 点局部 标
有限元分析软件ANSYS命令流中文说明4 4

有限元分析软件ANSYS命令流中文说明4 4有限元分析软件ANSYS命令流中文说明4/42010-05-23 21:151设置分析类型ANTYPE,Antype,status,ldstep,action其中antype表示分析类型STATIC:静态分析MODAL:模态分析TRANS:瞬态分析SPECTR:谱分析2 KBC,KEY制定载荷为阶跃载荷还是递增载荷EKY=0递增方式KEY=1阶跃方式3 SOLVE开始一个求解运算4 LSSOLVE读入并求解多个载荷步5 TIME,time设置求解时间有时在分析中需要进入后处理,然后在保持进入后处理之前的状态的情况下接着算下去,可以使用以下的方法:PARSAV,ALL,PAR,TXT!PARSAV命令是储存ANSYS的参数,ALL代表所有参数,PAR是文件名,TXT是扩展名/SOLU ANTYPE,REST,CruStep-1,,CONTINUE!ANTYPE是定义分析类型的命令,REST代表重启动,CruStep代表本载荷步的编号PARRES,NEW,PAR,TXT!PARRES是恢复参数的命令,NEW表示参数是以刷新状态恢复,PAR和TXT 代表了储存了参数的文件名和扩展名如果有单元生死的问题,可以这样处理:ALLSEL,ALL*GET,E_SUM_MAX,ELEM,NUM,MAX!得到单元的最大编号,即单元的总数ESEL,S,LIVE!选中"生"的单元*GET,E_SUM_AL,ELEM,COUNT*DIM,E_POT_AL,E_SUM_MAX!单元选择的指示*DIM,E_NUM_AL,E_SUM_AL!单元编号的数组J=0!读出所选单元号*DO,I,1,E_SUM_MAX*VGET,E_POT_AL(I),ELEM,I,ESEL!对所有单元做循环,被选中的单元标志为"1"*IF,E_POT_AL(I),EQ,1,THEN J=J+1 E_NUM_AL(J)=I*ENDIF*ENDDO ALLSEL,ALL在重启动之后恢复单元生死状态*if,E_SUM_AL,ne,0,then*do,i,1,Num_Alive esel,a,E_NUM_AL(i)*enddo ealive,all allsel*endif/WINDOW,WN,XMIN,XMAX,YMIN,YMAX,NCOPY注意x的坐标是-1到1.67,y坐标是-1到1 Xmin=off on,FULL,LEFT,RIGH,TOP,BOT,LTOP,LBOT,RTOP,RBOT注意一个问题,除了1号窗口外,其他的不能用鼠标操作,只用先发/view 和/dist,然后用/replot。
土石坝有限元分析(ANSYS)-渗流分析命令流

土石坝有限元分析(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,下游无水。
FINISH/CLEAR/TITLE, EARTHDAM SEEPAGE/FILNAME,SEEPAGE5/PLOPTS,DATE,0*DIM,TPRE,TABLE,11,1,1,PRESS,KKPE ! 定义水压与渗透系数的关系数组*TREAD,TPRE,PPPP,TXT ! 读入数组*DIM,NCON,ARRAY,4 ! 定义数组,用于存贮单元四个节点号/PREP7SMRT,OFFANTYPE,STATIC ! THERMAL ANALYSISET,1,PLANE55MP,KXX,1,1 ! 饱和状态下的渗透系数MP,KXX,2,1E-4 ! 完全干燥下的渗透系数,假设空隙水压力小于-10M时K,1,24,12K,2,24,0K,3,0,0K,4,28,12K,5,28,0K,6,52,0L,1,3L,1,2L,4,5L,5,6L,4,6LESIZE,ALL,,,24A,1,3,2A,1,2,5,4A,4,5,6MSHK,2 ! MAPPED AREA MESH IF POSSIBLEMSHA,0,2D ! USING QUADSAMESH,ALL ! MESH AREASNUMMRG,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,,1NSLL,S,1NSEL,R,LOC,Y,0,8D,ALL,TEMP,8 !定义上游面总水头值!定义下游面总水头值LSEL,S,LINE,,6NSLL,S,1*GET,N_NUM2,NODE,,COUNT*DIM,N_NO2,ARRAY,N_NUM2II=0*DO,I,1,N_MAX*IF,NSEL(I),EQ,1,THEN ! 判断节点是否选中II=II+1N_NO2(II)=I ! 存储渗流可能逸出点节点编号*ENDIF*ENDDONSEL,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 ! 判断节点是否选中N_NO(II)=I ! 存储渗流出口节点编号*ENDIF*ENDDO*DO,I,1,N_NUMD,N_NO(I),TEMP,NY(N_NO(I)) ! 定义下游面总水头值*ENDDOALLSEL,ALLFINISH/SOLUSOLVEFINISH!第一次计算完毕!------------------------------------------------------------------------- !迭代计算CONUTT=20 ! 最大循环次数DD_HEAT=0.001 ! 前后两次计算,总水头最大允许计算差CHUK_ST=3 ! 出口边界条件重新设定的起始点CHUK_MAXY2=10E5 ! 临时变量,用于存储浸润线出口坐标*DO,COM_NUM,1,CONUTTDD_H=0/POST1SET,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,THENDD_H=ABS(DD1-TEMP(I))*ENDIF*ENDIFN_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 ! 获取单元四个节点编号*ENDDOTEMP_Y=(N_TEMP(NCON(1))+N_TEMP(NCON(2))+N_TEMP(NCON(3))+N_TEMP(NCON (4)))/4 !计算单元中心点平均温度RESS_T=TEMP_Y-CENTRY(I)*IF,PRESS_T,GT,0,THENRESS_T=0MPCHG,1,I*ELSEIF,PRESS_T,LT,-10,THENRESS_T=-10MPCHG,2,I*ELSEMP,KXX,MATNUM+1,10**TPRE(PRESS_T)MPCHG,MATNUM+1,IMATNUM=MATNUM+1*ENDIF*ENDDO! 重新设定出口边界条件*IF,CONUTT,GT,CHUK_ST,THEN !前CHUK_ST次采用原边界条件LSEL,S,LINE,,6NSLL,S,1DDELE,ALL,TEMP ! 删除原边界条件II=0CHUK_MAXY=0*DO,JJ,1,N_NUM2*IF,N_TEMP(N_NO2(JJ)),GE,NY(N_NO2(JJ)),THEND,N_NO2(JJ),TEMP,NY(N_NO2(JJ)) ! 总水头=Y坐标*IF,NY(N_NO2(JJ)),GT,CHUK_MAXY,THENCHUK_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,THENDDELE,ALL,TEMP ! 删除出口最高节点边界条件*ENDIFCHUK_MAXY2=CHUK_MAXY*ENDIF*ENDIFALLSEL,ALLFINI/SOLUSOLVEFINISH*ENDDOSAVE!迭代计算完毕,进入后处理FINISH/POST1/CLABEL,,1/EDGE,,0/CONTOUR,,8,0,1,8PLNSOL,TEMP ! 显示总水头云图PLVECT,TF, , , ,VECT,ELEM,ON,0PLVECT,TF, , , ,VECT,NODE,ON,0LSEL,S,LINE,,6NSLL,S,1PRRSOL,HEAT ! PRINT FLOWRATE THROUGH SOIL FSUM,HEAT ! 计算渗流量*GET,Q_DAY,FSUM,0,ITEM,HEATALLSEL,ALLSAVE*DO,I,1,N_MAXN_TEMP(I)=TEMP(I) ! 计算节点总水头(温度)N_PRE(I)=N_TEMP(I)-NY(I) ! 计算节点压力,总水头-Y坐标DNSOL,I,TEMP,,N_PRE(I) ! 将压力水头值复制到节点*ENDDOPLNSOL,TEMP ! 显示压力水头云图FINI。
基于ANSYS的大坝渗流分析研究

总体而言,ANSYS在大坝渗流分析中具有重要的应用价值和潜力。未来可以 进一步探索ANSYS在解决实际工程问题中的其他应用,为水利工程领域的科学研 究和技术发展提供更全面的支持。
谢谢观看
然而,ANSYS在应用于大坝渗流分析时也存在一定的局限性。例如,对于复 杂的三维模型,网格划分和计算量可能会变得非常大,需要较高的计算资源和时 间成本。此外,ANSYS的数值计算结果也会受到许多因素的影响,如模型的简化 程度、参数设置是否合理等。因此,在使用ANSYS进行大坝渗流分析时,需要充 分考虑这些因素,并进行必要的实验验证和对比分析,以确保分析结果的准确性 和可靠性。
结论
本次演示介绍了基于ANSYS的大坝渗流分析方法及其应用。通过文献综述, 总结了ANSYS在水利工程领域的应用及研究现状,指出了现有研究的不足之处。 在此基础上,阐述了ANSYS进行大坝渗流分析的基本原理、方法和流程,并通过 实例分析展示了ANSYS在解决实际工程问题中的应用。最后,对实例分析的结果 进行了讨论和评价,总结了ANSYS在大坝渗流分析中的优势和适用性,并指出了 其局限性。
结果表明,ANSYS作为一种强大的数值计算和可视化工具,在应用于大坝渗 流分析时能够有效地模拟渗流场的分布情况和影响因素。同时,ANSYS还具有广 泛的适用性和灵活性,可以针对不同的工程实际问题进行模型的灵活调整和优化 计算。然而,对于复杂的三维模型和特定的工程问题,仍需充分考虑ANSYS的局 限性,并进行必要的实验验证和对比分析。
实例分析
以某实际大坝渗流问题为例,运用ANSYS进行渗流分析。首先,根据大坝的 结构特征和实际运行环境,建立大坝及周围区域的几何模型;然后,根据工程实 际情况,将模型划分为适当的计算网格;接着,设定合理的边界条件和材料属性, 进行数值计算;最后,根据计算结果进行后处理,得到渗流场的分布情况。
ANSYS有限元生死单元技术在砼面板堆石坝渗流计算中的研究与应用

甘 肃 农 业 大 学 学 报 J OU RNAL O F GANSU A GRICUL TU RAL UN 单元技术在砼面板堆石坝 渗流计算中的研究与应用
吴建东 ,许健
(甘肃农业大学工学院 ,甘肃 兰州 730070)
WU J ian2do ng , XU J ian
(College of Engineering , Gansu Agricult ural U niversity , Lanzho u 730070 , China)
Abstract :Based o n t he basic t heory of seepage and co nt rol equatio ns , a new finite2element seepage cal2 culatio n mat hematical model of co ncrete face rockfill dam was p ropo sed. By utilizing t he similarit y of tem2 perat ure and seepage field and large2scale finite2element co mp utatio n soft ware AN S YS , ekill and ealive technology co uld be used to kill t he unit above t he infilt ratio n line and activate t he unit below t he infilt ra2 tio n line while impo sing correspo nding bo rder co nditio n , and finally o btained t he infilt ratio n line and t he seepage speed of t he dam t hro ugh simulatio n. The result s suggested t hat t he model accuracy meet t he p ro2 ject requirement s , at t he same time t he model was simple and t he result s were int uitive.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
土石坝有限元分析(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,下游无水。
FINISH
/CLEAR
/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,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 ! 判断节点是否选中
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 !计算单元中心点平均温度
RESS_T=TEMP_Y-CENTRY(I)
*IF,PRESS_T,GT,0,THEN
RESS_T=0
MPCHG,1,I
*ELSEIF,PRESS_T,LT,-10,THEN
RESS_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。