- 积分
- 0
- 注册时间
- 2013-4-12
- 仿真币
-
- 最后登录
- 1970-1-1
|
我是一个FLAC3D的菜鸟,才开始学习FLAC3D不长时间,提出的问题可能很不专业,还请各位高手不吝赐教,多多批评~
看了陈育民的书上有预应力锚杆的章节,也介绍了托盘的做法。不过书中只有涉及单根锚杆的例子。建立大量锚杆时候肯定不能一根根来建,太费时。于是就用FISH写了一段一排预应力锚杆的循环。问题来了!代码如下:- def maogan1w
- qingjiao=15
- L1=8
- L2=8
- ;锚杆坐标要素
- bw1=-7.5-L1*float(sin(qingjiao*pi/180))
- cw1=30+L1*float(cos(qingjiao*pi/180))
- b11=bw1-L2*float(sin(qingjiao*pi/180))
- c11=cw1+L2*float(cos(qingjiao*pi/180))
-
- ;自由段
- loop n(0,24)
- a=0.6+n*1.2
- command
- sel cable id=1 begin=(a,30,-7.5) end=(a,cw1,bw1) nseg L1
- ;托盘
- sel cable id=1 prop emod 1.95e11 ytens 430e3 xcarea 0.00042 & gr_c 10e8 gr_k 2e10 gr_per 0.5024 ra cid 1,1
- ;预应力
- sel cable id=1 pretension 301e3 range cid 1,8
- ;自由段
- sel cable id=1 prop emod 1.95e11 ytens 430e3 xcarea 0.00042 & gr_c 1 gr_k 1 gr_per 0.5024 ra cid 2,8
- endcommand
- endloop
- ;锚固段
- loop n(0,24)
- a=0.6+n*1.2
- command
- sel cable id=1 begin=(a,cw1,bw1) end=(a,c11,b11) nseg L2
- ;锚固段
- sel cable id=1 prop emod 1.95e11 ytens 430e3 xcarea 0.00042 & gr_c 25e5 gr_k 1.144e10 gr_per 0.5024 ra cid 9,17
- endcommand
- endloop
- end
- maogan1w
复制代码 代码中执行循环里的command生成锚杆后,附加锚杆参数的时候,只能写一句赋参数的命令,多于一句就不行了。。。但建立非全长预应力锚杆需要对锚杆托盘、自由段、锚固段、预应力分别赋值,至少得写四句赋参数的命令。所以,试过像上文命令那样,失败;试了把赋参数命令在循环中分条建立command,不会提示出错,可以运行过去,但是一计算,锚杆受力情况不对(部分区域受压),查了log,赋完参数系统并没反馈赋值的信息,原因应该是参数没有赋上,失败;或者在循环外、定义函数内分条用command写,跟上一条错误一样,失败;或先不定义参数只用FISH建立锚杆,待锚杆生成后再用FLAC3D命令定义参数,跟上条错误一样,失败。
自己也看了很多涉及桩锚支护基坑大模型建立锚杆的命令,基本都是忽略了预应力,不区分锚杆的锚固段和自由段,近似成全长锚固。基本没有用预应力的。这样是不是不太符合实际情况啊?
恳请各位高手大神指教,感激不尽! |
|