一、模型展示
rectangular specimen
Model the excavation of slope
Solve the slope excavation problem
二、代码展示
new
set random 10000
;;;--------------------------Generate rectangular specimen-------------------------------------
[L=50]; Length of slope
[H=25]; Height of slope
domain extent [L*-0.75] [L*0.75] [H*-0.75] [H*0.75] condition destroy
wall generate box [L*-0.5] [L*0.5] [H*-0.5] [H*0.5]
;pause key
cmat default model linear prop kn 1e7 ks 1e7 fric 0.0
ball distribute porosity 0.10 box [L*-0.5] [L*0.5] [H*-0.5] [H*0.5] rad 0.15 0.3
;pause key
ball attribute density 2650 damp 0.7
set gravity 0 -9.81
cycle 500 calm 10
cycle 500
;;;;------------------------Assign contact model and properties to slope body-------------------
cmat default model linearcbond ...
property kn 1e7 ks 1e7 ...
fric 0.15 dp_nratio 0.2 ...
method cb_strength tensile 1e3 shear 5e4
cmat apply
;cmat default type ball-ball model linearpbond ...
; property kn 1e7 ks 1e7 fric 0.15 ...
; pb_kn 1e7 pb_ks 1e7 dp_nratio 0.2 ...
; pb_ten 1e2 pb_coh 1e2 pb_fa 18
;cmat apply
ball attribute contactforce mul 0.0 contactmoment mul 0.0 velocity mul 0.0 spin mul 0.0
;pause key
cycle 10
solve aratio 1e-5
;pause key
;;;;--------------------------Delete specimen top walls------------------------------------------
wall delete walls range id 3
ball attribute contactforce mul 0.0 contactmoment mul 0.0 velocity mul 0.0 spin mul 0.0
;pause key
cycle 5000 calm 5
cycle 1000
;pause key
ball delete range y [H*0.5] [H*0.75];;;delete balls located higher than the top wall
solve aratio 1e-5 ;;; Allow the system to achieve equilibrium
;pause key
;;;;--------------------------Model the excavation of slope--------------------------------------
def set_parp
H0=0.75*H
B0=0.4*L
theta=75
X1=L*-0.5
Y1=[H*0.5]-H0
X2=X1+B0
Y2=Y1
X3=X2+H0/math.tan(theta*math.pi/180)
Y3=[H*0.5]
X4=X1
Y4=Y3
end
@set_parp
geo set restsoil
geometry polygon positions ...
([X1],[Y1]) ...
([X2],[Y2]) ...
([X3],[Y3]) ...
([X4],[Y4])
ball delete range geometry restsoil count odd
ball attribute contactforce mul 0.0 contactmoment mul 0.0
ball attribute displacement mul 0
ball attribute spin mul 0
ball attribute vel mul 0
pause key
;;;;;;----------------------Solve the slope excavation problem-------------------------------------
cycle 10
;solve aratio 1e-5
cycle 10000
save slope
三、抗滑桩的添加
抗滑桩若直接用wall命令生成一个封闭的矩形,当墙体受到土压力后(无论多大力),好像是不动的,实际是会发生位移的。所以最好采用球体组成的桩(并赋予合适参数),具体命令是ball generate cubic,生成一个立柱,这样即可以测桩身力,也可测桩位移。