3 一个示例学会ZDEM

一个构造沙箱试验仿真的完整流程:

  • 生成。生成颗粒集合体,定义颗粒的材料参数,让其在重力作用下沉积,形成初始模型。

  • 挤压。给定墙相应的速度,开始挤压。

下面是一个最简单的挤压计算实例,26行命令即可完成该计算。学会了该命令脚本,基本掌握ZDEM的使用方法。

登陆 并行超算云 ,运行 push.py 脚本:

zdem push.py

push.py 中完整脚本命令如下

######################################
# title: 一个实例学会ZDEM
# date: 2021-04-25
# authors: 李长圣
# E-mail: sheng0619@163.com
# note:
# 括号内参数可根据模型大小及个人需要修改
# 脚本命令不区分大小写
# 用16个核心,实际用时<1小时
# 计算费用约<2元
# more info, see www.geovbox.com
#######################################
#程序初始化
START
#颗粒设为球,计算颗粒体积用4/3*pi*r^3计算
SET disk off
#设置研究范围 
BOX left 0.0 right 41000.0 bottom 0.0 height 11000.0 kn=0e10 ks=0e10 fric 0.00 
#设置挡板墙,这里模型采用hertz接触模型,挡板墙的kn ks无效,计算时取颗粒的参数
WALL ID 0, NODES (      0.0 ,     10.0 ) (  40000.0 ,     10.0 ), kn=0e10 ks=0e10 fric 0.0 COLOR black
WALL ID 1, NODES (     10.0 ,  10000.0 ) (     10.0 ,     10.0 ), kn=0e10 ks=0e10 fric 0.0 COLOR blue
WALL ID 2, NODES (  40000.0 ,     10.0 ) (  40000.0 ,  10000.0 ), kn=0e10 ks=0e10 fric 0.0 COLOR red
#在矩形范围内生成颗粒
GEN NUM 100000 rad discrete 60.0 80.0,  x ( 10.0, 40000.0), y ( 10.0, 10000.0), COLOR black GROUP ball_rand
#设置颗粒的微观参数 density 密度,firc 摩擦系数,shear 剪切模量,poiss 泊松比,damp 局部阻尼常数,heart Hertz-Mindlin接触模型
PROP density 2.5e3, fric 0.0, shear 2.9e9, poiss 0.2, damp 0.4, hertz
#设置时间步及重力加速度
SET  DT 5e-2,  GRAVITY  0.0,  -9.8 
#设置每1000步保存一次vtk格式的计算结果
SET  vtk 1000
#设置每1000步保存一次ps格式的计算结果
SET  ps 1000
#设置每1000步保存一次dat格式的计算结果
SET  print 1000
#沉积,计算5000步
CYC 5000
#删除4000米以上的颗粒
DEL RANGE y 4000.0 999000.0
#平衡,计算1000步
CYC 1000
#输出包含颗粒的[x y r]信息的初始模型 init_xyr.dat
#EXP init_xyr.dat

#设置bond粘结,使颗粒具有粘聚力,ebmod 杨氏模量, gbmod 剪切模量,tstrength 抗拉强度,sstrength 聚合强度, firc 摩擦系数
PROP ebmod 2e8 gbmod 2e8  tstrength 2e7 sstrength 4e7 fric 0.3 
#给地层赋上颜色
PROP COLOR lg          range y    0.0   500.0
PROP COLOR green       range y  500.0  1000.0
PROP COLOR yellow      range y 1000.0  1500.0
PROP COLOR red         range y 1500.0  2000.0
PROP COLOR black       range y 2000.0  2500.0
PROP COLOR mg          range y 2500.0  3000.0
PROP COLOR blue        range y 3000.0  3500.0
PROP COLOR gb          range y 3500.0  4000.0
PROP COLOR violet      range y 4000.0  4500.0

#设置挡板墙摩擦系数
WALL id 0 fric 0.3
WALL id 1 fric 0.3
WALL id 2 fric 0.3
#设置墙的挤压速度 x方向速度为2.0
WALL id 1 xv 2.0
#设置墙的挤压量x方向推进10000.0,每挤压2000.0保存一次计算结果
IMPLE wall id 1 xmove 10000.0 save 2000.0 print 1000.0 ps 1000.0 vtk 1000.0
#计算停止
STOP

计算结束后,将得到以下结果:

../_images/colorbar1.png
../_images/shearSS.gif
../_images/10km.png

图 3.1 单位(km)

警告

软件中,坐标不支持负数,为了防止墙体和BOX重合,本示例将模型左下角起始点为 (10.0, 10.0) 。实际设计实验时,一般将模型左下角起始点设置为 (1000.0,1000.0) ,再结合 zdemss 中的 --xmove=-1000.0--ymove=-1000.0 将模型左下角移到 (0.0,0.0)。

颗粒参数表

颗粒直径

颗粒密度

颗粒摩擦系数

缩短速率

时间步

\(d (m)\)

\(ρ(kg \cdot m^{-3})\)

\(\mu\)

\(v(m \cdot s^{-1})\)

\(s\)

60,80

2500

0.3

2.0

0.05