找回密码
 注册
Simdroid-非首页
查看: 294|回复: 3

平面渗流计算—迭代计算浸润线

[复制链接]
发表于 2006-3-31 10:35:14 | 显示全部楼层 |阅读模式 来自 河南郑州
对网上一位老兄的渗流计算程序进行了修改,计算稳定渗流,根据前次计算结果,不断修改浸润线出口位置。迭代过程比较简单,容易收敛。算例是《土工原理与计算》第三章中的矩形土坝。与初学者分享。
fini
/cle
/prep7
!定义材料,建模,剖分网格
et,1,plane55
mp,kxx,1,1e-7
k,1,0,0
k,2,4,0
k,3,4,6
k,4,0,6
a,1,2,3,4
lesize,1,,,10
lesize,2,,,15
mshape,0
mshkey,1
mat,1
amesh,all
nummrg,node
*get,n_max,node,,num,max
*dim,n_temp,array,n_max
!定义上游边界条件
lsel,s,line,,4
nsll,s,1
d,all,temp,6
!定义下游边界条件
lsel,s,line,,2
nsll,s,1
*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
cyd=2
nsel,r,loc,y,0,cyd
*get,n_num1,node,,count
*dim,n_no1,array,n_num1
ii=0
*do,i,1,n_max
*if,nsel(i),eq,1,then
ii=ii+1
n_no1(ii)=i
*endif
*enddo
*do,i,1,n_num1
d,n_no1(i),temp,ny(n_no1(i))
*enddo
!第一次求解
/solu
antype,0
solve
fini
!迭代计算
*do,com_num,1,5
/post1
set,1
*do,i,1,n_max
n_temp(i)=temp(i)
*enddo
!重新定义下游边界条件
/solu
lsel,s,line,,2
nsll,s,1
ddel,all,temp
cyd1=0
*do,i,1,n_num
*if,n_temp(n_no(i)),ge,ny(n_no(i)),then
d,n_no(i),temp,ny(n_no(i))
*if,ny(n_no(i)),gt,cyd1,then
cyd1=ny(n_no(i))
*endif
*endif
*enddo
*if,abs(cyd-cyd1),gt,0.001,then
cyd=cyd1
*else
*exit
*endif
solve
fini
*enddo
发表于 2009-7-24 10:22:49 | 显示全部楼层 来自 广东广州
Simdroid开发平台
计算结果有没有验证过啊?老兄,我用你的代码做出来的浸润线好像有点问题呀
回复 不支持

使用道具 举报

发表于 2010-3-30 09:48:11 | 显示全部楼层 来自 江苏徐州
1# zzshenlu
不知道真的假的
回复 不支持

使用道具 举报

发表于 2010-7-25 09:49:19 | 显示全部楼层 来自 大连理工大学
请假楼主做过三维心墙坝渗流吗 我用这个例子改的算例浸润线在心墙中降低不多 溢出点也高 请教怎么改进 谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-20 16:30 , Processed in 0.039196 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表