Data Files for “Creation of a Synthetic Rock Mass (SRM) Specimen” Tutorial
- fracturedrock_doall.p3dvr (3D example)
- fracturedrock_make_brick.p3dat (3D example)
- fracturedrock_make_intact.p3dat (3D example)
- fracturedrock_make_fractured.p3dat (3D example)
- fracturedrock_doall.p2dvr (2D example)
- fracturedrock_make_brick.p2dat (2D example)
- fracturedrock_make_intact.p2dat (2D example)
- fracturedrock_make_fractured.p2dat (2D example)
doall.p3dvr
1 2 3 4 5 6 7 8 9 10 11 | ; fname: doall.p3dvr
;
; sequentially call the datafiles used to create a fractured rock mass model
;===========================================================================
model title 'Fractured Rock'
program call 'make_brick.p3dat'
program call 'make_intact.p3dat'
program call 'make_fractured.p3dat'
program return
;===========================================================================
; eof: doall.p3dvr
|
make_brick.p3dat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ; fname: make_brick.p3dat
;
; create a brick in periodic space
;===========================================================================
model new
model domain extent -2.0 2.0 condition periodic
contact cmat default model linear property kn 1e5
model random 10001
ball distribute porosity 0.30 radius 1.0 1.6 res 0.1
ball attribute density 2500.0 damp 0.7
model cycle 1000 calm 10
model mechanical timestep scale
model solve
model calm
brick make id 1
brick export id 1 skip-errors
return
;===========================================================================
; eof: make_brick.p3dat
|
make_intact.p3dat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ; fname: make_intact.p3dat
;
; assemble a brick in a full scale model and install the linear parallel
; bond contact model
;===========================================================================
model new
model domain extent -4.0 4.0 -4.0 4.0 -8.0 8.0
brick import id 1
brick assemble id 1 origin -4.0 -4.0 -8.0 size 2 2 4
contact cmat default model linearpbond method deformability emod 60e9 ...
kratio 2.5 property fric 0.5 lin_mode 1
contact cmat apply
ball attribute force-contact multiply 0.0 moment-contact multiply 0.0
contact method bond gap 0.0 pb_deformability emod 60e9 kratio 2.5
contact property pb_ten 1e8 pb_coh 5e7 pb_fa 20.0
model save 'intact'
return
;===========================================================================
; eof: make_intact.p3dat
|
make_fractured.p3dat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ; fname: make_fractured.p3dat
;
; restore an intact BPM - generate a DFN and install the smoothjoint
; contact model at contacts intercepted by the fractures
;===========================================================================
model restore 'intact'
model random 10001
fracture template create 1 size power-law 3 size-limit 1 100
fracture generate dfn 'fractures' template 1 ...
generation-box -4.0 4.0 -4.0 4.0 -8.0 8.0 ...
p10 1.5 begin (0.0,0.0,-8.0) end (0.0,0.0,8.0)
fracture combine angle 30.0 distance 1.0 merge
fracture combine angle 40.0 distance 1.0 merge
fracture contact-model model 'smoothjoint' install
model save 'fractured'
return
;===========================================================================
; eof: make_fractured.p3dat
|
doall.p2dvr
1 2 3 4 5 6 7 8 9 10 | ; fname: doall.p2dvr
;
; sequentially call the datafiles used to create a fractured rock mass model
;===========================================================================
program call 'make_brick'
program call 'make_intact'
program call 'make_fractured'
return
;===========================================================================
; eof: doall.p2dvr
|
make_brick.p2dat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ; fname: make_brick.p2dat
;
; create a brick in periodic space
;===========================================================================
model new
model domain extent -2.0 2.0 condition periodic
contact cmat default model linear property kn 1e5
model random 10001
ball distribute porosity 0.08 radius 1.0 1.6 res 0.025
ball attribute density 2500.0 damp 0.7
model cycle 1000 calm 10
model mechanical timestep scale
model solve
model calm
brick make id 1
brick export id 1 skip-errors
return
;===========================================================================
; eof: make_brick.p2dat
|
make_intact.p2dat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ; fname: make_intact.p2dat
;
; assemble a brick in a full-scale model and install the linear parallel
; bond contact model
;===========================================================================
model new
model domain extent -4.0 4.0 -8.0 8.0
brick import id 1
brick assemble id 1 origin -4.0 -8.0 size 2 4
contact cmat default model linearpbond method deformability emod 60e9 ...
kratio 2.5 property fric 0.5 lin_mode 1
contact cmat apply
ball attribute force-contact multiply 0.0 moment-contact multiply 0.0
contact method bond gap 0.0 pb_deformability emod 60e9 kratio 2.5
contact property pb_ten 1e8 pb_coh 5e7 pb_fa 20.0
model save 'intact'
return
;===========================================================================
; eof: make_intact.p2dat
|
make_fractured.p2dat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ; fname: make_fractured.p2dat
;
; restore an intact BPM - generate a DFN and install the smoothjoint
; contact model at contacts intercepted by the fractures
;===========================================================================
model restore 'intact'
model random 10001
fracture template create 'test' size power-law 3 size-limits 1 100
fracture generate dfn 'fractures' template 'test' ...
generation-box -4 4 -8 8 p10 1.5 begin (0,-8) end (0,8)
fracture combine angle 30.0 distance 1.0 merge
fracture combine angle 40.0 distance 1.0 merge
fracture contact-model model 'smoothjoint' install
model save 'fractured'
return
;===========================================================================
; eof: make_fractured.p2dat
|
Was this helpful? ... | PFC 6.0 © 2019, Itasca | Updated: Nov 19, 2021 |