《FLAC/FLAC 3D 基础与工程实例》全部命令流
1
gen zone bri p0 0 0 0 p1 10 0 0 p2 0 10 0 p3 0 0 10 &
p4 15 15 0 p5 0 15 15 p6 15 0 10 p7 20 20 20 &
size 10 10 10 rat 1.0 0.9 1.1 group brick_1
gen zone bri p0 20 0 0 p1 add 10 0 0 p2 add 0 20 0 p3 add 0 0 15 &
size 10 10 10 rat 1.0 0.9 1.1 group brick_2
gen zone bri p0 40 0 0 edge 10 size 10 10 10 rat 1.0 0.9 1.1 group brick_3
plot sur
2-1
new
gen zon bri size 3 3 3
model elas
prop bulk 3e8 shear 1e8
ini dens 2000
fix z ran z -.1 .1
fix x ran x -.1 .1
fix x ran x 2.9 3.1
fix y ran y -.1 .1
fix y ran y 2.9 3.1
set grav 0 0 -10
solve
app nstress -10e4 ran z 3 x 1 2 y 1 2
hist gp vel 0 0 3
hist gp vel 0 3 3
plo hist 1 red
plo add hist 2 blue
solve
x y j 1
x i 1
x i 11
3-1
;-------------------------------------工程信息
;Project Record Tree export
;Title:Simple test
;---------------------------------计算第一步
;... STATE: STATE1 ....
config
grid 10,10
model elastic
group 'User:Soil' notnull
model elastic notnull group 'User:Soil'
prop density=1500.0 bulk=3E6 shear=1E6 notnull group 'User:Soil'
fix
fix
fix
set gravity=9.81
history 999 unbalanced
solve
save state1.sav
;----------------------------------计算第二步
;... STATE: STATE2 ....
initial xdisp 0 ydisp 0
initial xvel 0 yvel 0
model null i 4 7 j 8 10
group 'null' i 4 7 j 8 10
group delete 'null'
history 1 xdisp i=4, j=11
solve
save state2.sav
;--------------------------------绘图命令
;*** plot commands ****
;plot name: syy
plot hold grid syy fill
;plot name: Unbalanced force
plot hold history 999
;plot name: grid
plot hold
;plot name: Xdis-A
plot hold history 1 line
grid magnify 20.0 lred grid displacement
5-1
new
; ===============================
; 定义球体半径和半径方向上单元网格数
; ===============================
def parm
rad=10.0
rad_size=5
end
parm
; ===============================
; 建立八分之一球体外接立方体网格
; ===============================
gen zone pyramid p0 rad 0 0 p1 rad 0 rad p2 rad rad 0 p3 0 0 0 &
p4 rad rad rad size rad_size rad_size rad_size group 1
gen zone pyramid p0 0 rad 0 p1 rad rad 0 p2 0 rad rad p3 0 0 0 &
p4 rad rad rad size rad_size rad_size rad_size group 2
gen zone pyramid p0 0 0 rad p1 0 rad rad p2 rad 0 rad p3 0 0 0 &
p4 rad rad rad size rad_size rad_size rad_size group 3
; ==================================
; 利用 FISH 语言将内部立方体节点调整到球面
; ==================================
def make_sphere
p_gp=gp_head
loop while p_gp#null
; 获取节点点坐标值:P=(px,py,pz)
px=gp_xpos(p_gp)
py=gp_ypos(p_gp)
pz=gp_zpos(p_gp)
dist=sqrt(px*px+py*py+pz*pz)
if dist>0 then
; 节点位置调整
maxp=max(px,max(py,pz))
k=(maxp/rad)*(rad/dist)
gp_xpos(p_gp)=k*px
gp_ypos(p_gp)=k*py
gp_zpos(p_gp)=k*pz
end_if
p_gp=gp_next(p_gp)
end_loop
end
make_sphere
; ===============================
; 利用镜像生成完整球体网格
; ===============================
gen zone ref
gen zone ref dip 90
gen zone ref dip 90 dd 90
; ===============================
; 显示球体网格
; ===============================
plot surf
pl set back wh
pl bl gr
5-3
n
gen zon bri size 1 1 2
group soil ran z 1 1
group rock ran z 0 1
expgrid 1.flac3d
6-1
gen zon bri size 3 3 3
model mohr
prop bu 3e6 sh 1e6 coh 10e3 fric 15
fix z ran z -.1 .1
fix x ran x -.1 .1
fix x ran x 2.9 3.1
fix y ran y -.1 .1
fix y ran y 2.9 3.1
ini dens 2000
hist unbal
set grav 10
solve elastic
save 6-1.sav
6-2
rest 6-1.sav
ini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0
app nstress -100e3 ran z 2.9 3.1 x 1 2 y 1 2
solve
save 6-2.sav