Professional Documents
Culture Documents
8-1
2000
1.5 109
1.5 109
0.12278
20
[M/L3 ]
[M/T2 ]
[M/T2 ]
(7o )
[L]
1
2
(8.1)
8-2
Example Applications
Fx = Lx Lz 2
Fy = Ly Lz 2
(8.2)
8-3
8-4
Example Applications
Figure 8.1
Figure 8.2
Figure 8.3
8-5
8-6
Example Applications
Lx=R
Ly=2R
Lx=2R
Ly=2R
Lx=2R
Ly=R
Lx=0
Ly=2R
y
Lx=2R
Ly=0
h= 2R
x
(b) large layer exposed vertical lengths
Figure 8.4
Figure 8.5
8-7
PFC3D 3.00
Step 17000 13:55:23 Wed Mar 12 2003
2.4
History
3 rsr (FISH Symbol)
Linestyle
8.278e-001 <-> 2.391e+000
2.2
Vs.
2 e1 (FISH Symbol)
1.575e-004 <-> 2.914e-002
Table
1 UnNamed
Linestyle
2.300e+000 <-> 2.400e+000
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0
0.0
Itasca Consulting Group, Inc.
Minneapolis, MN USA
Figure 8.6
0.5
1.0
1.5
x10^-2
2.0
2.5
3.0
8-8
Example Applications
8-9
end_command
end_if
end_if
else
if i > nau + 1
inv = i - nau - 1
if j > inv
if j < nlc - inv + 1
numid = numid + 1
command
ball id numid x xb y yb z zb rad radb
end_command
end_if
end_if
else
numid = numid + 1
command
ball id numid x xb y yb z zb rad radb
end_command
end_if
end_if
xb = xb + radb * 2.
end_loop
yb = yb + radb * 2.
end_loop
end
; --- generate small layer of balls
def g_small
yb = -sc
loop i (1,nlc-1)
xb = -sc
loop j (1,nlc-1)
if i < nls
if j > nls - i
if j < nau + i
numid = numid + 1
command
ball id numid x xb y yb z zb rad radb
end_command
end_if
end_if
else
if i > nau
inv = i - nau
if j > inv
if j < nlc - inv
8 - 10
Example Applications
numid = numid + 1
command
ball id numid x xb y yb z zb rad radb
end_command
end_if
end_if
else
numid = numid + 1
command
ball id numid x xb y yb z zb rad radb
end_command
end_if
end_if
xb = xb + radb * 2.
end_loop
yb = yb + radb * 2.
end_loop
end
; --- generate assembly of small and large layers --def g_pack
dz = hz / 4.
zb = 0
ninc = 0
loop k (1,n_sl)
g_large
z1 = zb - dz
z2 = zb + dz
command
ini c_index 0 range z z1 z2
end_command
zb = zb + hz
g_small
z1 = zb - dz
z2 = zb + dz
command
change c_index 1 range z z1 z2
end_command
zb = zb + hz
ninc = ninc + 1
end_loop
g_large
z1 = zb - dz
z2 = zb + dz
command
change c_index 0 range z z1 z2
end_command
8 - 11
end
; --- apply confining pressure --def c_press
bp = ball_head
nump = 0
loop while bp # null
bid = b_id(bp)
xval = b_x(bp)
yval = b_y(bp)
zval = b_z(bp)
fac = 2. * hz * conf_p
if zval < zmin
fac = fac * 0.5
end_if
if zval > zmax
fac = fac * 0.5
end_if
if abs(yval) > lc - zmin then
if abs(xval) > llim then
fxval = -radb * sgn(xval) * fac
fyval = -radb * sgn(yval) * fac * 2.
nump = nump + 1
command
ini xforce fxval range id bid bid
ini yforce fyval range id bid bid
fix xspin yspin zspin range id bid bid
end_command
else
fxval = 0.
fyval = -radb * sgn(yval) * fac * 2.
nump = nump + 1
command
ini xforce fxval range id bid bid
ini yforce fyval range id bid bid
fix xspin yspin zspin range id bid bid
end_command
end_if
else
if abs(xval) > lc - zmin
if abs(yval) > llim then
fxval = -radb * sgn(xval) * fac * 2.
fyval = -radb * sgn(yval) * fac
nump = nump + 1
command
ini xforce fxval range id bid bid
ini yforce fyval range id bid bid
8 - 12
Example Applications
8 - 13
while_stepping
bp = ball_head
f1 = 0.
loop while bp # null
if b_z(bp) > zmax
f1 = f1 + b_zfob(bp)
end_if
bp = b_next(bp)
end_loop
rsr = f1 / (area * conf_p)
end
def strain_mes
while_stepping
verdis = verdis + pzvel * tdel
e1 = 2. * verdis / height
end
def c_t
c_t = tdel
end
; --- generate geometrical constants--c_rowe
; --- create ball assembly --g_pack
; --- property set up --ini den 2000 kn 1.5e9 ks 1.5e9
; --- fix top and bottom layers --fix z range z 0 zmin
fix z range z zmax zhi
;--- compaction phase --ini fric 1e-5
ini zvel 0. range z 0 zmin
ini zvel 0. range z zmax zhi
c_press
cyc 600
; --- histories --hist c_t
hist e1
hist rsr
set log on
; --- loading phase --set hist_rep 100
set pzvel 0.01
set mzvel -0.01
ini fric 0.12278
; 7 degrees
ini zvel pzvel range z 0 zmin
ini zvel mzvel range z zmax zhi
8 - 14
Example Applications
cyc 16400
save rowe.sav
hist dump 1,2,3
his write 1,2,3 file rowe.his
;
table 1 0.8e-2,2.4 2.8e-2,2.3 ; experimental data
plot create his_plot
plot add his 3 vs 2 xmin=0.0 xmax=3.0e-2 ymin=0 ymax=2.5
plot add table 1 red mark xmin=0.0 xmax=3.0e-2 ymin=0 ymax=2.5
plot show
;
return
; EOF: rowe.dat