土石坝有限元分析(ANSYS)-渗流分析命令流
- 格式:doc
- 大小:37.00 KB
- 文档页数:5
第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命令流中文说明(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命令流中文说明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这一强大的工程模拟软件,对土石坝的稳定渗流场进行数值模拟,以期更准确地理解渗流对土石坝稳定性的影响,并为土石坝的设计、施工和维护提供理论支持和实践指导。
本文将简要介绍土石坝及其渗流现象的基本概念,阐述稳定渗流场研究的重要性和必要性。
然后,详细介绍ANSYS软件在水利工程中的应用,以及其在土石坝稳定渗流场数值模拟中的优势。
接下来,本文将详细描述数值模拟的过程,包括模型的建立、边界条件的设定、计算参数的选择等。
通过对模拟结果的分析和讨论,揭示土石坝稳定渗流场的特征和规律,为土石坝的安全稳定运行提供理论支撑。
本文的研究不仅有助于深化对土石坝渗流规律的理解,也有助于提升水利工程的设计水平和施工质量,为保障水利工程的安全运行提供有力支持。
二、土石坝渗流基本理论土石坝是一种利用当地石料、土料或混合料,经过抛填、碾压等方法堆筑成的挡水建筑物。
在土石坝的运行过程中,渗流是一个不可忽视的物理过程,它关系到坝体的稳定性和安全性。
因此,对土石坝渗流的基本理论进行深入研究,对于保障坝体安全、优化坝体设计具有重要意义。
渗流是指液体在固体骨架中通过孔隙或裂隙流动的现象。
在土石坝中,渗流主要受到重力、孔隙水压力、坝体材料性质以及边界条件等因素的影响。
当库水通过坝体向下游渗流时,会形成一定的渗流场。
这个渗流场是一个三维的空间分布,其中包含了渗流速度、渗流压力、渗流量等多个物理量。
土石坝的渗流场分析通常采用达西定律来描述渗流速度与渗流压力梯度之间的关系。
达西定律表达式为:v = -k * (dP/dx),其中v为渗流速度,k为渗透系数,dP/dx为渗流压力梯度。
基于ANSYS的土石坝渗流与稳定分析研究的开题报告一、研究背景和意义土石坝是一种重要的水利工程结构,其安全稳定性直接关系到人们的生命财产安全和社会经济发展。
而渗流问题是土石坝安全稳定性研究的重要内容之一。
在土石坝工程设计、施工和运行过程中,渗流问题一直是困扰工程师的难题,如何在渗流对土石坝安全稳定性产生影响的情况下,保证土石坝的安全运行是当前亟需解决的问题。
本研究利用ANSYS软件,通过有限元数值模拟方法,研究土石坝内部的渗流分析及土石坝的稳定性分析,旨在探讨土石坝渗流及其对稳定性的影响规律,为土石坝设计、施工和运行提供技术支撑和依据。
二、研究内容和方法本研究的主要内容有两个方面:一是土石坝内部渗流模拟及分析;二是土石坝稳定性分析。
具体通过以下步骤实现:1. 确定研究对象:本研究以某一具体土石坝为研究对象,对其渗流分析及稳定性进行模拟和分析。
2. 建立土石坝模型:根据实际情况建立土石坝三维有限元模型,包括坝体、坝基、边坡等,考虑土、石材料的物理力学特性。
3. 渗流模拟:对建立的土石坝模型进行渗流模拟,通过ANSYS中的多孔介质渗流模型,对土石坝内部流场进行数值计算和分析。
4. 渗流分析:根据渗流模拟结果,分析产生渗流的原因,判断坝体、坝基是否产生渗漏现象,并分析渗漏现象的破坏机理。
5. 稳定性分析:根据建立的土石坝模型,通过ANSYS有限元分析软件对土石坝的稳定性进行数值计算,分析坝体的变形、破坏状况,确定安全系数,预测土石坝的破坏条件。
三、预期成果和意义本研究通过ANSYS软件,对土石坝内部的渗流分析及稳定性分析进行研究,预期取得以下成果:1. 对土石坝内部渗流模拟及分析技术的研究与应用,提高土石坝设计、施工和运行的水平,为工程师在实际工程中提供技术支撑和依据;2. 对土石坝安全稳定性分析方法的探究和应用,为土石坝的安全设计和管理提供科学依据,提高工程的安全性和经济效益;3. 深入了解土石坝渗流及其对稳定性的影响规律,为水工、环境等领域的科研人员提供参考,促进相关学科的发展。
尾矿坝渗流场的ANSYS有限元分析
王强;鲁炳强;王水平;周文厚;肖金生
【期刊名称】《现代矿业》
【年(卷),期】2009(000)012
【摘要】尾矿坝的渗流稳定对结构稳定有重要影响,渗流场分析是尾矿坝工程研究的重要内容.以ANSYS软件热模块为平台,通过渗流-热理论比拟分析,利用APDL
语言编制渗流计算命令流程序,并应用于金山店锡冶山尾矿坝的渗流场进行了模拟分析,可看出该坝浸润线埋深较高,对坝体的稳定性产生不利影响;初期坝的渗透系数对浸润线具有显著的影响.
【总页数】4页(P27-30)
【作者】王强;鲁炳强;王水平;周文厚;肖金生
【作者单位】武汉理工大学;武钢公司金山店铁矿;武钢公司金山店铁矿;武钢公司金山店铁矿;武汉理工大学
【正文语种】中文
【中图分类】TD854.7
【相关文献】
1.白岩尾矿坝土工席垫排渗措施模拟及渗控效果分析 [J], 陶东良;梅聪;陆誉婷
2.垂直—水平联合排渗系统对某尾矿坝排渗效果的影响研究 [J], 程良;李宏儒;马辽;王神尼;张盼
3.温庄尾矿库尾矿坝渗流场的数值模拟 [J], 张平;王欢
4.尾矿库堆积坝排渗设施在某尾矿库的应用 [J], 谭杰骥
5.水平排渗管对尾矿堆积坝渗流场影响三维分析 [J], 陈嘉帅;刘小文
因版权原因,仅展示原文概要,查看原文内容请购买。
ANSYS 在土石坝防渗加固分析中的应用摘要:为了评价多头小直径深搅桩防渗墙的防渗效果,通过有限元软件 ANSYS 热分析模块 APDL 参数化语言结合反演分析理论,分析了大坝加固前后的渗流特性,对比其浸润面、逸出点、渗流流量的变化。
计算结果表明 ANSYS 热分析能准确得模拟大坝渗流状态,多头小直径深搅防渗墙能有效降低大坝渗流量,加强坝体稳定性,该防渗加固方法可广泛推广应用。
关键词:多头小直径;深搅桩防渗墙;防渗加固;APDL ;反演分析1引言多头小直径深搅桩防渗墙技术在近几年得到了较大范围的应用,但对其防渗效果工程界还无准确的定论。
本文运用 ANSYS 热分析模块,分析某土石坝防渗前后渗流量的变化,为多头小直径深搅桩防渗墙技术的推广提供一定的理论依据。
2 ANSYS 分析渗流原理渗流本是复杂的三维应力场问题,但考虑到坝身长度远大于坝宽,可将其简化为二维问题加以研究。
假设坝体每层土体为各向同性并不可压缩,在稳定流作用下,渗流控制方程为:式中:、分别为、方向的渗流系数;为水头。
而热力学二维微分控制方程为:式中:、分别为、方向的热传导系数;T 为温度。
由( 1)式和( 2)式可以看出,渗流场和热力场的控制方程相同。
同样,在边界条件、坡降、流量计算等方面两者也具有高度的一致性。
由此,不难看出渗流场其实是热力场的一种特殊情况,通过ANSYS 热力学模块仿真模拟大坝渗流是合理的。
3有限元模型建立及渗流系数反演3.1 有限元模型建立为了分析多头小直径深搅桩防渗墙技术防渗效果,选取某水库经多头小直径深搅桩防渗墙技术防渗后的典型断面CS01 进行分析。
坝基土层分布如下:①层为粉质黏土,主要是人工填筑而成。
由于多次加高,碾压不实渗透严重;②层为粉质黏土,塑性较好,层内发现多处小孔,粉性局部略大。
上述两层为渗流发生主要区域;③层为粉质黏土夹粉土;④层为粉质黏土,其下部为完整基岩,可视作不透水层。
通过 ANSYS的APDL命令输入各关键点坐标,然后分别创建线和面建立大坝平面模型。
土石坝有限元分析1.问题描述采用邓肯-张模型对土石坝施工过程和蓄水状态受力情况进行分析,选择通用有限元分析软件ANSYS 作为研究平台,计算土石坝竣工期竖向方向沉降、水平方向沉降、最大主应力和最小主应力情况。
坝体结构示意图如图1所示。
本文主要完成以下工作:采用ANSYS 内部参数化设计语言APDL 编写邓肯-张模型计算材料弹性参数;使用中点增量法计算每步施工单元材料弹性参数;根据位移修正算法,编写专用程序对计算结果进行处理,获得坝体沉降云图。
(本文针对每个步骤提供相应的APDL 程序,方便后续研究人员进一步研究,也希望阅读本文的读者能够将自己的研究成果与大家分享。
相关程序可能存在错误,笔者也未能完全认识到,仅做参考)图1 坝体结构示意图计算所采用参数详见表1所示。
仿真分析结果如下图。
坝身填土排水棱体淤泥质粘土全风化花岗岩图2竖向沉降位移云图图3水平方向位移云图图4最大主应力云图图5最小主应力云图仿真分析流程图如下图。
图6仿真分析流程图2.关键仿真分析过程2.1 网格划分与单元组件创建当几何模型比较规则时,尽可能采用映射方式划分网格,网格分布规则,位移结果过渡光滑一些。
一般情况下几何模型比较复杂,此时建议将截面网格尺寸设置小一些,可以设置为每次浇筑层厚度的四分之一。
采用扫略的方式划分网格,扫略方向可以设置少一些网格,控制整体网格数量。
有限元网格模型如下图。
图7有限元网格模型坝体浇筑分为13步完成,每次浇筑层厚度为1m,根据竖向坐标选取浇筑层单元,创建单元组件,如图8和图9所示。
图8创建单元组件图9单元示意图相关命令流程序如下:!单元分组!==================================================vsel,s,loc,y,0,13.2! 选择坝体几何体alls,below,volu! 选择坝体单元和节点cm,ebar,elem! 创建单元组件ebarcm,nbar,node! 创建节点组件nbarystep=13.2/13! 浇筑层厚度ytorl=0.2! 选择重叠区域范围*do,i,1,13! 循环建立每步浇筑层组件cmsel,s,nbarcmsel,s,ebarnsel,r,loc,y,ystep*(i-1)-ytorl,ystep*i+ytorlesln,r,1cm,e%i%,elem! 组件名格式为exx*enddo2.2 初始应力场计算初始应力场计算时,采用生死单元法抑制所有填筑层土体,仅保留地基土体处于激活状态。
ANSYS在土石坝防渗加固分析中的应用土石坝是一种常见的水利工程结构,用于蓄水或防洪目的。
土石坝防渗加固是土石坝设计中非常重要的一环,其主要目的是防止坝体内的水从坝体内部泄漏出去,影响坝体的稳定性和使用寿命。
在土石坝防渗加固设计中,ANSYS软件可以发挥重要的作用。
1.坝体内水压分析:土石坝在蓄水或雨水侵蚀的情况下,坝体内部会产生水压力。
通过ANSYS软件可以对坝体内部的水压力进行分析,包括水压的大小、分布情况等。
这些信息对于设计合适的防渗加固措施非常重要。
2.渗流路径分析:土石坝防渗加固的设计需要准确地预测坝体内水的渗流路径。
通过ANSYS软件可以建立数值模型,模拟坝体内水通过不同部位的渗流路径,找出可能的渗漏点和路径,为加固设计提供参考。
3.加固材料力学性能分析:土石坝防渗加固通常涉及到各种加固材料,如混凝土、聚合物和土工合成材料等。
通过ANSYS软件可以对这些材料的力学性能进行分析,包括强度、刚度、变形等,为加固设计提供依据。
4.加固结构设计优化:在土石坝防渗加固设计过程中,需要确定合适的加固结构形式和参数。
通过ANSYS软件可以建立不同加固结构的有限元模型,进行受力分析和设计优化,找出最优的加固方案。
5.加固效果评估:在加固完成后,需要对加固效果进行评估。
通过ANSYS软件可以对加固后的土石坝进行受力分析和模拟,评估加固效果,判断是否满足设计要求。
综上所述,ANSYS在土石坝防渗加固设计中的应用具有重要意义。
通过ANSYS软件的分析和模拟,可以帮助工程师更准确地了解土石坝的受力和渗流情况,设计出更科学、安全、经济的防渗加固方案。
在实际工程应用中,工程师们可以借助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 ! 定义数组,用于存贮单元四个节点号
/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。