加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

PFC常用命令集合

(2009-10-19 17:23:06)
标签:

杂谈

New

清除所有颗粒

set random     

/随机产生颗粒

set disk on ; treat balls as disks of unit thickness

title ’Idealized mine block-caving process’

为整个程序命名,在窗体上显示为“Job title 。。。”

wall id 1 ks 1e9 kn 1e9 fric 0.5 nodes -20,0 20,0       / 生成墙

wall id 墙编号 ;ks 切向刚度;kn 法向刚度;fric 摩擦系数;nodes x,y  产生墙的起始及结束坐标

gen  x -20,20 y 0,3 id=20000,22550 rad 0.05,0.1       / 生成颗粒

x a1 ,b y b1,b ,产生颗粒范围;id 颗粒编号;rad r1, r 产生颗粒半径范围;

ini rad mul 1.55 range id = 20000,22550

ini 初始条件设置;rad mul n 颗粒半径扩大倍数;id 颗粒编号;

plot create cave1

产生新的窗体

plot add ball lblue range (id )

添加显示颗粒,range 确定范围,x y;id确定编号;lblue 颗粒颜色;

(颗粒颜色:black,blue,green,cyan蓝绿色,red,magenta紫红色,orange,brown,lgray灰色,dgray,lblue,lgreen,lcyan,lred,lmagenta,lorange,yellow,white)

plot add clump

显示簇

plot add cf black

添加接触应力

wall id 6  xvel 5

设置墙体速度,x正方向数值为正,x负方向数值为负。

wall id 6 spin 5   a1  b1

墙体以(a1,b1)为中心,以5rad/s的角速度旋转,正值为顺时针旋转,负值为逆时针旋转

hist id 120 wall power id 6

监测墙体与球接触力的大小

hist id=1 diag mcf

监测平均接触力

hist id=2 diag muf

监测平均不平衡力

meas id 1 x -14 y 6 rad 6

设置测圆,measure;id,编号;x y ,测圆中心坐标;rad,测圆半径

hist id=3 measure porosity id=1

监测测圆孔隙度,id=3 监测编号;id=1测圆编号

prop ks 1e9 kn 1e9 dens 2000

设置颗粒材料参数,ks kn,切向法向刚度;dens 材料密度 单位kg/m3

set gravity 0,-10

设置重力加速度

cyc 6000

循环次数,或者step命令

save cave0.sav

save cave0.dat

保存文件

Call abc.txt

调用记事本编辑的程序

Restore abc.sav

Restore abc.dat

调用保存的数据文件

 

 

delete balls range id=20000,22550

删除颗粒 range 确定范围

hist id=101 ball yposition 0 4

监测单个颗粒y方向位移,此颗粒质心坐标距给定坐标(0,4)最近

set log on

print hist

set log off

记录文件及其数据存取的过程,并在与原文件相同的文件夹里产生pfc2d.log记事本文件

range name meiceng  x 0 500 y 20  30 

自定义名称代替范围

macro raft 'id=5000,5079'

property pb_kn 1e10 pb_ks 1e10 c_index 1 range raft

自定义任意字符,代替常用或重复使用的字符串

Solve

自动运行至合适的结果

delete wall 3

删除墙

property pb_rad 1.0 pb_s 1e20 pb_n 1e20 range raft

设置平行粘结半径,切向法向刚度

ini xv 0 range Raft

ini yforce -4e6.98 range Raft

x方向速度,y方向应力

set echo off

  set x0=-19.75 y0=12.25  radius=0.25    /确定初始颗粒质心坐标及颗粒半径

  set id_start=5000 n_col=80 n_row=1     /所产生颗粒的起始id编号,每排颗粒数及排数

 chansheng

set echo on

产生规则排列的颗粒。

 

def chansheng

  xc   = x0

  yc   = y0

  rc   = radius

  idc  = id_start

  r2   = 2.0 * radius

  yinc = radius * sqrt(3.0)

  loop row (1,n_row)

    loop col (1,n_col)

      command

        ball id=idc x=xc y=yc rad=rc

      end_command

      idc = idc + 1

      xc   = xc + r2

    end_loop

    yc = yc + yinc

    xc = x0 + radius * (row - (row/2) * 2)

  end_loop

end

产生规则颗粒的fish程序

 

ball x 0 y 2 rad 1

产生单个颗粒,质心坐标,半径

ball x 0 y 2 rad 1

 ball x 2 y 2 rad 1

 ball x 4 y 2 rad 1

clump id=1 range  x= -1 5 y=1,3

产生一系列单个颗粒,将这些颗粒连接成簇,x  y 分别限定簇起作用的范围

def traverse_clumps

  clp = clump_head

  loop while clp # null

    oo = out('Clump, ID = '+string(cl_id(clp))+' contains ...')

    bp = cl_list(clp)

    loop while bp # null

      oo = out('        Ball '+string(b_id(bp)))

      bp = b_cllist(bp)

    endLoop

    clp = cl_next(clp)

  endLoop

end

未知

prop xdisp 0.0 ydisp 0.0

将x y 位移归零,进行初始化

plot add disp red

显示位移向量为红色

plot add meas red

显示测圆为红色

hist id 911 meas porosity id 1     /孔隙率

hist id 912 meas s11 id 1        /x-x stress

hist id 913 meas s12 id 1        /x-y stress

hist id 914 meas s22 id 1        /y-y stress

jset id 1 origin 0 30 dip 45 spacing 10 number 100 range guanxia

产生节理,origin x y 初始点坐标;dip 节理方向角度;spacing 节理间间距;number 产生节理数目;

range 产生范围

plot add contact yellow range jset 1 2

显示节理颜色,jset 编号

prop kn 3e8 ks 3e8 dens 2000 pb_kn 1e9 pb_ks 1e9 pb_nstr 1e15 pb_sstr 1e15 range id 1 100

设置材料参数

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有