在FLAC中有关大变形的使用,通常并没有具体的说明。论坛中有些人尝试进行对比计算后觉得并无差别,其原因为所采用的计算模型中并未发生大变形。关于FLAC中大变形的原理,简而言之是采用坐标更新的方式进行迭代运算,即在每次迭代之后将网格变化后的坐标值作为新的起始坐标进行运算,以达到更为真实的模拟实际变形的情况,具体可以参考相关论文。 在FLAC中使用大变形模式的命令为:set=large 1、关于什么时候使用大变形,可以按变形量值来看,根据笔者经验在超过20cm时就应该使用大变形,此时模型所采用的围岩参数是比较低的,实际中大变形发生的情况为软岩、高地应力、膨胀岩、黄土等,因此在围岩好的时候,采用大变形计算模式并没有什么区别,只有在变形大,容易进入塑性的围岩中,才需要使用大变形模式。 2、关于大变形模式与小变形模式的区别。 我们知道,普通的有限元都有一个小变形假定,这种假定是基于弹性理论而来的,因而对于有较大塑性变形的大变形来说,这种假定是不合适的,因此必须采用大变形模式。 下面举例分析:选取围岩参数E=0.767e9,μ=0.35,c=1000KPa,φ=20°,ρ=2000kg/m?,埋深600m,λ=1.5。断面形式按照时速250标准客运专线断面,如下图。计算毛洞开挖洞周位移。
采用FLAC3D计算,厚度方向取1m用以模拟平面应变,不同荷载释放率位移情况如下表。 | 释放率/% | 100 | 90 | 80 | 70 | 60 | 50 | 30 | 10 | 大变形模式Set=large | 拱顶下沉/cm | 128.6 | 65.3 | 38.4 | 24.1 | 15.5 | 9.9 | 3.9 | 1.3 | 墙腰水平位移/cm | 90.9 | 44.4 | 29.3 | 21.4 | 16.1 | 11.9 | 6 | 1.9 | 小变形模式 | 拱顶下沉/cm | 180 | 81.4 | 45 | 27.5 | 17 | 10.8 | 4.2 | 1.4 | 墙腰水平位移/cm | 125 | 51 | 32.9 | 23.1 | 17 | 12.5 | 6.2 | 2 | 不同计算模式下变形曲线图如下图:
大变形计算模式 小变形计算模式 由上表和图可知,在应力释放率小于70%时,变形小于20cm,两者计算结果相差并不大;大于70%时,随释放率增大,变形值相差急剧增大,最大相差50%。 同时给出利用FLAC2D计算结果,如下表,由于FLAC2D在大变形模式下对网格划分产生的原因引起变形畸形,在100%释放时未取得计算结果。 | 释放率/% | 100 | 90 | 80 | 70 | 60 | 50 | 30 | 10 | 大变形模式Set=large | 拱顶下沉/cm | - | 73 | 40 | 23 | 13.9 | 8.8 | 4 | 0.5 | 墙腰水平位移/cm | - | 43 | 27.7 | 19.1 | 13.9 | 10 | 5.2 | 0.7 | 小变形模式 | 拱顶下沉/cm | 188 | 85 | 46 | 26 | 15 | 9.3 | 4.1 | 0.6 | 墙腰水平位移/cm | 131 | 49 | 30 | 20.8 | 14.4 | 10.3 | 5.3 | 0.8 |
比较FLAC2D与3D计算结果,在平面应变模式下,两者差别不大,在荷载释放率比较小时,2D结果略小,在释放率比较大的情况下2D比3D略微大一点点,因而采用2D计算完全能够满足精度。 附:FLAC2D命令流 config grid 100,100 gen (-10.0,-10.0) (-10.0,10.000001)(10.0,10.000001) (10.0,-10.0) i 31 71 j 31 71 gen (-10.0,10.000001) (-200.0,200.0)(200.0,200.0) (10.0,10.000001) ratio 1.0,1.1292433 i 31 71 j 71 101 gen (-200.0,-200.0) (-200.0,200.0)(-10.0,10.000001) (-10.0,-10.0) ratio 0.8855488,1.0 i 1 31 j 31 71 gen (-200.0,-200.0) (-10.0,-10.0)(10.0,-10.0) (200.0,-200.0) ratio 1.0,0.8855488 i 31 71 j 1 31 gen (10.0,-10.0) (10.0,10.000001) (200.0,200.0)(200.0,-200.0) ratio 1.1292433,1.0 i 71 101 j 31 71 model elastic i=31,70 j=31,70 model elastic i=31,70 j=71,100 model elastic i=1,30 j=31,70 model elastic i=31,70 j=1,30 model elastic i=71,100 j=31,70 attach aside from 31 1 to 31 31 bside from1 31 to 31 31 attach aside from 31 101 to 31 71 bsidefrom 1 71 to 31 71 attach aside from 71 1 to 71 31 bside from101 31 to 71 31 attach aside from 71 101 to 71 71 bsidefrom 101 71 to 71 71 fix y i 31 71 j 1 fix x i 1 j 31 71 fix x i 101 j 31 71 gen arc 0,0 0,6.91 110 gen arc 0,0 0,6.91 -110 gen arc 0,10.601 0,-4.771 -18 gen arc 0,10.601 0,-4.771 18 gen arc -3.708,-1.197 -6.576,-2.124 50 gen arc 3.708,-1.197 6.576,-2.124 -50 group 'User:rock' notnull model mohr notnull group 'User:rock' def derive1 s_mod1=E_mod1/(2.0*(1.0+p_ratio1)) b_mod1=E_mod1/(3.0*(1.0-2.0*p_ratio1)) end set E_mod1=0.767e9 p_ratio1=0.35 derive1 prop density=2000.0 bulk=b_mod1shear=s_mod1 cohesion=1.0e6 friction=20 notnull group 'User:rock' set gravity=10 ini syy=-16e6 var 0,8e6 ini sxx=-24e6 var 0,16e6 ini szz=-16e6 var 0,8e6 apply syy -8e6 from 31,101 to 71,101 solve elastic initial xdisp 0 ydisp 0 initial xvel 0 yvel 0 model null region 52 50 group 'null' region 52 50 group delete 'null' apply xvelocity 0.0 long from 51,65 to51,65 apply yvelocity 0.0 long from 51,65 to51,65 cycle 1 set echo off call relax_tractions.fis set ninc=1000 rstart=1.0 rstop=0.1 set ib_ap=37 ie_ap=65 set jb_ap=41 je_ap=65 relax_tractions history 999 unbalanced history 1 ydisp i=51 j=65 history 2 xdisp i=37 j=51 history 3 ydisp i=51 j=41 set =large solve
|