2 岩石滚落
这个例子将分析一个边坡上岩石滚落的运动过程。
(1) 建立一个新项目,选择“Cell space detection”,项目题目定义为“Blocks Bouncing Down Slope”, 项目文件名为"rockfall.prj"。
(2) 工具[Build]->[Block]建立"New Block", x值的范围为(0,15), y值的范围为(0,15), "Block rounding radius"的值取0.01。默认情况下,产生的Block是矩形,不过,可以通过插入或移动点来改变块体的形状。对于真实的边坡稳定性分析,一个问题是在这个阶段直接生成边坡面好还是在后续添加节理后通过删除边坡面以上的块体好,本质上来说都一样,不多对于复杂问题来说,我的经验是后者的做法比较好。
block config cell 10 10
block tolerance corner-round-length 1E-2
block tolerance minimum-edge-length 2E-2
block create polygon 0,0 0,15 3,10 8,9 11,2 15,2 15,0
在GUI中,也可以使用block config cellspace,省略默认值。使用Cell space detection算法可以同时创建多个Block, 因此我们可以使用相同的步骤再创建一个Block来模拟边坡上的岩块。
block create polygon 2,12 2,15 4,15 4,12
(3) 使用crack命令划分这个Block。工具[Build]->[Joints],"Range"内选择“Full model”,“Shapes”选择“Line”, 然后按“Input Shape",输入线段值,每产生一条线段按"Generate shape"产生一组节理。代码如下:
block cut crack (2,13) (4,13)
block cut crack (2,13) (3,15)
block cut crack (3,12) (3,15)
block cut crack (2,14) (4,14)
(4) 设置块体参数。工具[Material]->[BlockMat], 代码如下:
block change mat 1
block property mat 1 density 2.55E-3
(5) 设置节理参数值. 工具[Material]->[JointMat], 按"Create", 打开"Property Editor", 代码如下:
block contact group 'area contact'
block contact cmodel assign area ...
stiffness-shear 5E3 stiffness-normal 5E3 ...
friction 30 range group 'area contact'
; new contact default
set jcondf joint model area ...
stiffness-shear=5000 ...
stiffness-normal=5000 friction=30
在手写代码中,stiffness-normal可以缩写为st-n;stiffness-shear可以缩写成st-s.
(6) 固定边界:工具[In Situ]->[Fix], 按"Edit range"输入边界范围值。按"Apply by range"。代码如下:
block fix all range pos-x 0,15 pos-y 0,10
(7) 设置重力。工具[Settings]->[Gravity].
block mechanical gravity 0.0 -9.81
(8) 设置阻尼。工具[Settings]->[Damping]。我们使用Rayleigh阻尼。代码如下:
block mechanical damping 0.23 225.0 stiffness
(9) 设置接触容许量。工具[Settings]->[Mech] 。代码如下:
block contact tolerance overlap 0.1
(10) 运行数据文件。工具[Run]->[Cycle] 。代码如下:
block cycle 50000
3 结束语
本文通过一个边坡岩石滚落的例子,引入了GIIC一些新的使用方法, 包括:(1) 通过增加单点创建任意Block形状;(2) 在一个模型中创建多个Block, 这只有在config cellspace的情况下才能这么做;(3) 阻尼的使用方法。