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

[流固耦合] 编程算例,菜鸟求指导!

[复制链接]
发表于 2011-11-23 23:22:13 | 显示全部楼层 |阅读模式 来自 湖南长沙
本帖最后由 颠倒 于 2011-12-3 13:23 编辑


我是菜鸟,刚学flac3d,编了个程序但问题一大堆,自己解决不了,连哪个地方出问题了都不是很清楚,到这里求助前辈高手啊!
先把基本情况说说:这个程序模拟软土地基上箱涵的受力与软基变形的协调关系。假设涵洞和涵洞基础呈刚性,路堤范围内软基处理后土体性质与路堤以外部分有一定不同。模型中原点在涵洞底部中央,以下15m为软基,以上10.8m为涵洞和路堤部分。计算模型以路堤中线为分界截取一半进行研究。
  1. new

  2. config fluid

  3. generate zone radtunnel size 6 11 12 18 ratio 1 1 1 1.15 &

  4. p0=(0,0,0) p1=(27,0,0) p2=(0,29.2,0) p3=(0,0,10.8) p4=(27,29.2,0) p5=(0,23,10.8) p6=(27,0,10.8) p7=(27,23,10.8) &

  5. p8=(2.4,0,0) p9=(0,0,4.8) p10=(2.4,29.2,0) p11=(0,22,4.8) p12=(2.4,0,4.8) p13=(2.4,22,4.8) &

  6. group embankment

  7. generate zone brick size 6 11 12 &

  8. p0=(0,0,0) p1=(2.4,0,0) p2=(0,29.2,0) p3=(0,0,4.8) p4=(2.4,29.2,0) p5=(0,22,4.8) p6=(2.4,0,4.8) p7=(2.4,22,4.8) &

  9. group culvert

  10. generate zone brick size 10 11 6 ratio 1.15 1 1 &

  11. p0=(0,0,0), p1=(0,0,-15) p2=(0,29.2,0) p3=(2.4,0,0) &

  12. group foundation

  13. generate zone brick size 10 11 18 ratio 1.15 1 1.15 &

  14. p0=(2.4,0,0) p1=(2.4,0,-15) p2=(2.4,29.2,0) p3=(27,0,0) &

  15. group plastic_foundation

  16. generate zone brick size 10 6 6 ratio 1.15 1 1 &

  17. p0=(0,29.2,0) p1=(0,29.2,-15) p2=(0,42,0) p3=(2.4,29.2,0) &

  18. group ground1
  19. generate zone brick size 10 6 18 ratio 1.15 1 1.15 &

  20. p0=(2.4,29.2,0) p1=(2.4,29.2,-15) p2=(2.4,42,0) p3=(27,29.2,0) &

  21. group ground2

  22. group ground range group ground1 any group ground2 any

  23. generate zone reflect normal (1,0,0) origin =(0,0,0)

  24. model null range x -2 2 y 0 29.2 z 0.4 4.4 ; 这个命令的作用到后面怎么体现不出来了呀?算完初始应力,涵洞就变成实心的了。。。

  25. plot block group

  26. pause

  27. fix x y z range z -14.9 -15.1

  28. fix x range x -26.9 -27.1

  29. fix x range x 26.9 27.1

  30. fix y range y -0.1 0.1

  31. fix y range y 41.9 42.1

  32. model mohr

  33. model null range group embankment

  34. prop bulk 1.52e7 shear 1.05e7 coh 1e10 tens 1e10 range group culvert

  35. ini dens 2500 ran group culvert

  36. prop bulk 1.52e7 shear 1.05e7 coh 1e10 tens 1e10 range group foundation

  37. ini dens 2500 ran group foundation

  38. prop bulk 1.6e6 shear 1.2e6 coh 1e10 tension 1e10 range group ground

  39. ini dens 1800 ran group ground

  40. prop bulk 1.2e6 shear 9e5 coh 1e10 tension 1e10 range group plastic_foundation

  41. ini dens 1800 ran group plastic_foundation

  42. model fl_iso

  43. ini pp 0 grad 00 -10e3 range z 0 -15 ; 这样定义孔压是否得体?我的原点在涵洞底部中央,下面是软土。为什么我后面算出来初始应力的孔压图中只分了两层,体现不了渐变,而且凸出去的涵洞居然会存在孔压?很震惊。。。

  44. ini ftens -1e-3

  45. ini fdens 1000

  46. ini fmod 2e8

  47. prop perm 1e-11 poro 0.45 range group ground any group plastic_foundation any

  48. model fl_null range group foundation ; 这个命令说涵洞基础没有孔压,是不是应该把所有没孔压的地方都用这个命令给套一套?

  49. fix pp range x -26.9 -27.1 ; 我把四周都做了透水边界,合理不?

  50. fix pp range x 26.9 27.1

  51. fix pp range y -0.1 0.1

  52. fix pp range y 41.9 42.1

  53. set fluid off

  54. set gravity 0,0,-9.8

  55. plot con zdis sk

  56. hist id=1 unbal

  57. solve

  58. prop bulk 1.52e7 shear 1.05e7 fric 50 coh 7e7 range group culvert

  59. prop bulk 1.52e7 shear 1.05e7 fric 50 coh 7e7 range group foundation

  60. prop bulk 1.6e6 shear 1.2e6 fric 8 coh 1e4 range group ground

  61. prop bulk 1.2e6 shear 9e5 fric 8 coh 1e4 range group plastic_foundation ; 说实话我一直不明白为啥要赋值两变,而且项目还不一样(前一个没内摩擦角,后一个没抗拉强度)?书上说为了不屈服,但还是不咋理解,我参考的书上的。。。

  62. solve

  63. save 初始应力.sav

  64. plot con szz outline on

  65. plot con syy outline on

  66. ini xdis 0 ydis 0 zdis 0

  67. ini xvel 0 yvel 0 zvel 0

  68. set fluid on

  69. set mech force1.5e3

  70. set mech subs 10000 auto

  71. set fluid subs 30 ; 这三句话说的是主从进程法求解流固耦合问题吧?但具体赋值我真不知道该怎么弄。这里是参考的一位前辈大侠的,估计也不怎么适用。。。

  72. def day

  73. day=fltime/24/3600

  74. end

  75. day

  76. hist id=2 day

  77. model mohr ran z 0 1.2 group embankment ; 因为我考虑的不只是路堤的重量,还要考虑它对结构物受力的影响,所以就用的摩尔-库伦模型

  78. prop bulk 1.11e7 shear 8.3e6 coh 3e3 fric 36 ran z 0 1.2 group embankment

  79. ini dens 2100 ran z 0 1.2 group embankment

  80. hist id=3 gp zdis 4.2 0 0 ; 后面的很多个“hist”命令中好多id所表示的都是同一点的同一个应变,只是荷载不同所以大小不一样,不知道是否可以把它们归一?不知道这个命令是否占用很大内存,如果不占的话这样是否也行?

  81. hist id=4 gp zdis 6 0 0

  82. hist id=5 gp zdis 7.8 0 0

  83. hist id=6 gp xforce 2.4 0 0.4

  84. solve age 1.0368e6

  85. save fill-1.sav

  86. pause

  87. model mohr ran z 1.2 2.4 group embankment

  88. prop bulk 1.11e7 shear 8.3e6 coh 3e3 fric 36 ran z 1.2 2.4 group embankment

  89. ini dens 2100 ran 1.2 2.4 group embankment

  90. hist id=7 gp zdis 4.2 0 0

  91. hist id=8 gp zdis 6 0 0

  92. hist id=9 gp zdis 7.8 0 0

  93. hist id=10 gp xforce 2.4 0 0.4

  94. solve age 1.0368e6

  95. save fill-2.sav

  96. model mohr ran z 2.4 3.6 group embankment

  97. prop bulk 1.11e7 shear 8.3e6 coh 3e3 fric 36 ran z 2.4 3.6 group embankment

  98. ini dens 2100 ran z 2.4 3.6 group embankment

  99. hist id=11 gp zdis 4.2 0 0

  100. hist id=12 gp zdis 6 0 0

  101. hist id=13 gp zdis 7.8 0 0

  102. hist id=14 gp xforce 2.4 0 0.4

  103. hist id=15 gp xforce 2.4 0 2.4

  104. solve age 1.0368e6

  105. save fill-3.sav

  106. model mohr ran z 3.6 4.8 group embankment

  107. prop bulk 1.11e7 shear 8.3e6 coh 3e3 fric 36 ran z 3.6 4.8 group embankment

  108. ini dens 2100 ran z 3.6 4.8 group embankment

  109. hist id=16 gp zdis 4.2 0 0

  110. hist id=17 gp zdis 6 0 0

  111. hist id=18 gp zdis 7.8 0 0

  112. hist id=19 gp zdis 4.2 0 4.8

  113. hist id=20 gp zdis 6 0 4.8

  114. hist id=21 gp zdis 7.8 0 4.8

  115. hist id=22 gp xforce 2.4 0 0.4

  116. hist id=23 gp xforce 2.4 0 2.4

  117. hist id=24 gp xforce 2.4 0 4.4

  118. solve age 1.0368e6

  119. save fill-4.sav

  120. model mohr ran z 4.8 5.8 group embankment

  121. prop bulk 1.11e7 shear 8.3e6 coh 3e3 fric 36 ran z 4.8 5.8 group embankment

  122. ini dens 2100 ran z 4.8 5.8 group embankment

  123. hist id=25 gp zdis 4.2 0 0

  124. hist id=26 gp zdis 6 0 0

  125. hist id=27 gp zdis 7.8 0 0

  126. hist id=28 gp zdis 4.2 0 4.8

  127. hist id=29 gp zdis 6 0 4.8

  128. hist id=30 gp zdis 7.8 0 4.8

  129. hist id=31 gp xforce 2.4 0 0.4

  130. hist id=32 gp xforce 2.4 0 2.4

  131. hist id=33 gp xforce 2.4 0 4.4

  132. hist id=34 gp zforce 0 0 4.8

  133. hist id=35 gp zforce 2.0 0 4.8

  134. hist id=36 gp zforce 4.2 0 4.8

  135. hist id=37 gp zforce 6 0 4.8

  136. hist id=38 gp zforce 7.8 0 4.8

  137. solve age 8.64e5

  138. save fill-5.sav
复制代码

后面几层的加载编程就暂不列举了,反正也是差不多的循环。。。  但编程完毕后到目前为止,我就只算了个没有进行路堤加载时的初始应力图,也不知道有什么用,而且结果还是错的。。。接下来的第一层填土算了一天没有算完,估计也是错了,菜鸟呀这是。。。

问几个不懂的问题,有热心的前辈高手帮忙解答个,算是提携晚辈呀!!!

1. 为什么建模过程中我把涵洞中心用null命令掏空了,但在后来计算的初始应力图中仍然显示为填充状态?

2. 为什么程序中孔压定义在z=0-15之间(ini pp 0 grad 0 0 -10e3 range z 0 -15),初始应力算完后涵洞上却分布有孔压?上面我没有设置水呀?

3. 这个命令(model fl_null range groupfoundation)是否可以让指定部分没有孔压了?这样的话是不是应该把所有不应该存在孔压的地方都用这个命令套一套?

4. 为什么我的初始应力计算出来以后孔压只分为两层,而且没有渐变的过程,显然不对,问题可能出在了哪呀?

5. 后面我记录采样的id有很多,但其中不少id所表示的都是同一个地点同一个变量,但是在不同荷载条件下大小可能不同。想问一下有没有这个必要,是不是能够只用一个id表示不同荷载下的同一个变量?如果用同一个id表示,后处理过程中取用是否方便?还有一点,记录采样是否会耗用很大的计算空间?如果不占什么地方的话是否就可以用多个id去表示了。。。。。。

6. 后面有个算流固耦合的命令不理解,直接copy别个的,也不知道可行不可行,我想自己算了一天也算不完第一层填土的原因就在这里:

set mech force 1.5e3

set mech subs10000 auto

set fluid subs30

书上介绍的好像是主从进程法,但看了半天不知所云,领悟力差呀,有前辈高手帮忙指点个,要是觉得痛心疾首了,想骂随便骂!

7. 还有好多错误我自己看不出来的,求前辈高手指正啊!!!感激不尽,感激不尽啊!!!!!
程序在这里:




本帖子中包含更多资源

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

×

评分

1

查看全部评分

 楼主| 发表于 2011-11-23 23:33:08 | 显示全部楼层 来自 湖南长沙
Simdroid开发平台
    这个是整个的路堤和涵洞模型     这个是初始应力算完之后的垂直位移
这个是初始应力算完之后的孔压,很好奇很疑惑。。。

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2011-11-24 20:09:57 | 显示全部楼层 来自 重庆沙坪坝区
你上传个命令流TXT文档,不好复制,我也不懂,不过可以帮忙看看。
回复 不支持

使用道具 举报

 楼主| 发表于 2011-11-24 23:26:59 | 显示全部楼层 来自 湖南长沙
本帖最后由 颠倒 于 2011-11-24 23:27 编辑

谢谢,谢谢前辈了啊!附件上传了
回复 不支持

使用道具 举报

 楼主| 发表于 2011-11-26 11:54:16 | 显示全部楼层 来自 湖南长沙
本帖最后由 颠倒 于 2011-12-7 23:05 编辑

     
按照后面高手的建议修正了下,比之前好多了呵呵,但依然存在几点问题。。。
初始应力时位移好像有问题。。。

第一层填土之后计算好像不收敛,怎么解决?



本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

 楼主| 发表于 2011-11-27 16:34:58 | 显示全部楼层 来自 湖南长沙
本帖最后由 颠倒 于 2011-11-27 16:35 编辑
cid2012 发表于 2011-11-24 20:09
你上传个命令流TXT文档,不好复制,我也不懂,不过可以帮忙看看。

大侠在不在呀?唉不好意思哦。。。。
回复 不支持

使用道具 举报

发表于 2011-11-29 11:13:22 | 显示全部楼层 来自 重庆沙坪坝区
你一开始把涵洞部分挖掉是要模拟开挖还是模拟充填?
回复 不支持

使用道具 举报

 楼主| 发表于 2011-11-30 08:10:55 | 显示全部楼层 来自 湖南长沙
cid2012 发表于 2011-11-29 11:13
你一开始把涵洞部分挖掉是要模拟开挖还是模拟充填?

不是开挖也不是充填,就是模拟它中间是空的。。。
不知道可以不?
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-3 13:24:39 | 显示全部楼层 来自 湖南长沙
。。。。。。
回复 不支持

使用道具 举报

发表于 2011-12-5 09:43:31 | 显示全部楼层 来自 甘肃兰州
本帖最后由 xinmj10 于 2011-12-5 09:49 编辑

大概看了一下你的建模部分,我也是学FLAC3D不长时间,提一些建议,我认为你的建模部分有问题,首先空模型是用来模拟开挖的,而你是要模拟涵洞已经建好后于软基的关系,建议参考陈育民第五章中矿山圆拱巷道的建模。至于后面部分,我和你方向不同,不敢乱加断言。
还有就是,第一遍摸索建模过程中,网格不要划分的那么细,运算起来很费时间的,先把所有的都弄好,分析结果合理后,把网格适当细分运行即可。
回复 不支持

使用道具 举报

发表于 2011-12-5 15:42:17 | 显示全部楼层 来自 重庆沙坪坝区
求美女关注
回复 不支持

使用道具 举报

发表于 2011-12-5 15:49:17 | 显示全部楼层 来自 重庆沙坪坝区
本帖最后由 cid2012 于 2011-12-5 15:50 编辑

1MODEL NULL 命令和MODEL MOHR或别的本构 是一对相反的命令 一个是开挖 一个是充填, 你同时用,就出现你那个问题,建议你建模,不要用model null 命令删除中间涵洞部分,直接建成中间是空的模型或者用别的软件建模导入到FLAC3D中
回复 不支持

使用道具 举报

发表于 2011-12-5 15:56:03 | 显示全部楼层 来自 重庆沙坪坝区
2 算两遍是因为摩尔库伦准则算自重不是方条形,甚至会出现自重屈服现象,觉得你主要问题还是模型建立问题,我QQ是301069165,一般晚上在,有事可以M我
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-7 13:01:37 | 显示全部楼层 来自 湖南长沙
xinmj10 发表于 2011-12-5 09:43
大概看了一下你的建模部分,我也是学FLAC3D不长时间,提一些建议,我认为你的建模部分有问题,首先空模型是 ...

嗯啊,按照你的建议我试了下,果然有效果,有些问题我先研究研究,谢谢了啊!
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-7 13:12:50 | 显示全部楼层 来自 湖南长沙
cid2012 发表于 2011-12-5 15:56
2 算两遍是因为摩尔库伦准则算自重不是方条形,甚至会出现自重屈服现象,觉得你主要问题还是模型建立问题, ...

嗯,加您QQ了,我会找时间请教的啊。。。
回复 不支持

使用道具 举报

发表于 2011-12-8 12:20:58 | 显示全部楼层 来自 江苏南京
建议不要使用FLAC3D的建模,用ansys或者HM等方便多了
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-12 23:49:48 | 显示全部楼层 来自 湖南长沙
faye100 发表于 2011-12-8 12:20
建议不要使用FLAC3D的建模,用ansys或者HM等方便多了

呵呵,既然是菜鸟,哪有那境界呀。。。
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-24 20:32 , Processed in 0.049787 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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