flac3d 中应力释放的实现,在 flac3d 中,很多时候在隧道模拟计算中,在隧道纵向取 1m 长 计算,
实际上是种平面应变计算, 因此需要考虑岩体开挖后的应力释放问题, 经本人多次试 算,总结大家提出的各种方法,认为,下面方法可以实现应力释放的控制:
range n ame chuzhi group 5 range name weiyan group 3
;说明 其中 group 5 group 3 为需要释放应力的节点所共有的 2 个 group; y, 7 B2 d: P0 Z! U+ s( Q* Q ;开挖 .. ini state 0
ini xdis=0 ydis=0 zdis=0 1 x- [* ?* g1 |5 G\" M8 w% z _0 A set large
-a8 X Q# _% X8 C\" C5 Z, W
model null range group 5 model null range group 6 model null range group 7 ; 应力释放
step 1
* Q0 H7 ?( E+ A& D( ]7 b
:v/ n* {5 l5 b2 K8 a \" Q) z7 N / C' ~, V5 |$ y 4 g8 m
def relax
relax_coef=0.0 ;应力释放系数,取值 relax_m=1.0-relax_coef p_gp=gp_head/ \\; Y3 E/ ]: N loop while p_gp # null
2 I5 g3 c# I ? I( E0 {% x : o
0-1 之间
5 F# \\! Q* c% G# f0 B$ @
if inrange('chuzhi',p_gp) = 1 then
if inrange('weiyan',p_gp) = 1 then ; 选择需要加反向节点力的节点 xf=-gp_xfunbal(p_gp)*relax_m yf=-gp_yfunbal(p_gp)*relax_m
zf=-gp_zfunbal(p_gp)*relax_m ;计算所需加的反向节点力 pid=gp_id(p_gp)
command
apply xforce xf rang id pid apply yforce yf rang id pid apply zforce zf rang id pid endcommand endif endif
% \\7 _4 A9 P! J. n2 |
;加反向节点力……
p_gp=gp_next(p_gp) endloop end\"\"
relax
- c# z) [' g: m2 Y
大家只需要根据自己的模型调整一下 很容易实现应力释放,并且可以如 了,非常容易操作。
group 的名称, 正确找到需要应力释放的节点, 就可以 an sys里面一样做到控制应力释放率,并且不影响计算速
度。比如需要释放 30%,只需要设置 relax_coef=0.3 就可以