本示例表示生成球体在一定的空间内进行运动的部分代码以及代码表示意义。
新建一个PFC3D模型必要部分生成的整体日志。PFC3D建模需要的部分和代码解释
**********************************************
* Logging started at 周三 八月 30 16:50:55 2017
* By pfc3d Version 5.00 Release 025
*
*
* Job Title: Pandect example
**********************************************
pfc3d>
pfc3d>; 3-设置模型名称,可有可无。
pfc3d>title 'Pandect example'
pfc3d>
pfc3d>; 4-设定计算区域(必要条件)
pfc3d>; Set the domain extent
pfc3d>domain extent -10.0 10.0 -20 20  ;  domain当中有两个关键词是condition和extent,condition指的是边界条件 periodic ;destroy ;stop ;reflect;condition默认值是stop。
extent指的是模型区域
pfc3d>
pfc3d>; 5-指定随机种子(若不指定,种子随机)
pfc3d>set random 10001;默认值是一万,且数量级是相同的数量级,也就是该随机数值10
000不能过大,不能过小。设置随机种子以后,生成的颗粒的半径和位置都在范围内随机。
pfc3d>
pfc3d>; 6-生成及修改模型组件(必要条件),有三种命令是来生成颗粒的,generate,create,distribute。
pfc3d>; Generate 30 balls in a box,wall就是一个生成颗粒的容器。
pfc3d>wall generate box -5.0 5.0
--- The wall boxWallBottom1 with id 1 and 2 facets has been created
--- The wall boxWallTop2 with id 2 and 2 facets has been created
--- The wall boxWallLeft3 with id 3 and 2 facets has been created
--- The wall boxWallRight4 with id 4 and 2 facets has been created
-
-- The wall boxWallFront5 with id 5 and 2 facets has been created
--- The wall boxWallBack6 with id 6 and 2 facets has been created
pfc3d>;ball create
pfc3d>ball generate radius 1.0 1.4 box -5.0 5.0 number 1000
+++ Fewer balls were generated than specified!
34 balls out of 1000 generated in 20000 tries.
pfc3d>;ball distribute
pfc3d>
pfc3d>; 7-组件分组,颗粒分组,墙体分组。
pfc3d>
pfc3d>ball group small_balls range radius 1.0 1.2
--- Group small_balls assigned to 14 Balls in slot 1.莫艳琳 中国最强音
pfc3d>ball group big_balls range radius 1.2 1.4
--- Group big_balls assigned to 20 Balls in slot 1.
pfc3d>
pfc3d>; 8-施加实体属性(必要条件),实体属性的意思是这些属性是作用在颗粒的中心的。
pfc3d>; Assign ball density,颗粒的实体属性一般都是由attribute这个属性来添加。fix是来限制颗粒的移动方向和位移。
pfc3d>ball attribute density 100.0
--- Attribute density initialized in 34 ball(s).绝对不会
pfc3d>ball fix zvelocity range group big_balls
--- Fixity conditions changed in 20 balls.
pfc3d>
pfc3d>pause key
Press any key to continue --
                           
pfc3d>
pfc3d>ball attribute radius multiply 1.2;这是半径放大和缩小倍数的,这句话的意思是,生成的半径乘以1.2倍。
--- Attribute radius initialized in 34 ball(s).
pfc3d>ball attribute damp 0.7; 局部阻尼,PFC3.0-4.0默认值是0.7,在PFC5.0是0.0
--- Attribute damp initialized in 34 ball(s).
pfc3d>
pfc3d>pause key
小白杨简谱Press any key to continue --
                           
pfc3d>
pfc3d>; 9-指定接触模型(必要条件)
pfc3d>; Modify the default slots of the Contact Model Assignment Table
pfc3d>; Here we choose the linear contact model (with kn=1e6) for all contact types
pfc3d>cmat default model linear property kn 1.0e6 fric 0.0;定义法向刚度为10的6次方。
pfc3d>
pfc3d>; 10-设置表面属性,也就是说这些属性是作用在颗粒表面的。
pfc3d>ball property kn 2e6 ks 1e6 fric 0.0;要通过属性转换才能转到50行的fric好日子伴奏
--- Property kn assigned to 34 ball(s) in range.
--- Property ks assigned to 34 ball(s) in range.
--- Property fric assigned to 34 ball(s) in range.
pfc3d>
pfc3d>; 11-添加重力场
pfc3d>; Activate gravity
pfc3d>set gravity 10.0崔雪莉崔珉豪
pfc3d>
pfc3d>; 12-设定时间步长(若不指定,取默认值,默认值为模拟时间步长)
pfc3d>set timestep maximum 5e-3
--- maximum timestep set to 0.005 in mechanical process.
pfc3d>
pfc3d>def timestep
  Def>    timestep = math.sqrt(m/K)
  Def>    time = mech.age;得到模拟时间从而设置时间步长的时候要将时间步长设置的小于该模拟时间,否则该设置的时间步长将会被忽略。
  Def>end
热情的沙漠伴奏
pfc3d>
pfc3d>; 13-记录数据
pfc3d>wall history id 1 zcontactforce id 1
--- Created history 1 Z-ContactForce of wall 1
pfc3d>
pfc3d>pause 5;现在是数字,指的是暂停五秒,如果是pause key的话,则是摁任意键继续。
pfc3d>
pfc3d>; 14-计算求解(必要条件)主要是三个命令,step,cycle,solve time。
pfc3d>; Solve for a given time and save the model
pfc3d>;step 1000,step很少用,几乎用不到。step和cycle后面都是跟的步数。
pfc3d>;cycle 2002
pfc3d>solve time 10.0
    Cycle      Total    Timestep    Mech Time      Clock
--------- ---------- ----------- ------------ -----------
    2000      2000 5.00000E-03 1.000000e+01 00:00:00:24                                  1.000000
e+01           
--- Limit time of 1.000000e+01 met in process(es): mech Ball (1.000000e+01),mech Clump (1.000000e+01),mech Wall (1.000000e+01).
--- Cycling ended at: 2017-08-30 16:51:36
pfc3d>
pfc3d>; 15-输出数据
pfc3d>history write 1 file wzcforce  ;.csv,如果不加扩展名默认的扩展名是.his,his文件可以用文本打开。
--- History contents written to file D:/安装程序/PFC/PFC学习版2d+3d+例子/01-模型基本组成/PFC5.0-3D/wzcforce.his.
pfc3d>
pfc3d>; 16-保存模型及模型调用,保存模型是以.p3sav为扩展名的一个文件。通过restore来调用模型。