Call
默认为pfc3d.dat, 而若扩展名未指定,等于*.dat 文件调用允许多级调用,但不允许相互迭代。
Change 同property命令一样
创建团块
Clump
若id等于已有团块编号,则为修改团块属性 Range 为要建立团块的范围,
范围内原来属于其他团块的粒子转化到当前团块,必须指定range防止所有粒子变成一个团块
Print clump 输出团块信息,plot clump 输出团块
1、Full on 在计算团块运动时,使用全部惯性向量力矩,这会耗费更多计算时间。因为cross-coupling term使用,必须进行矩阵转换。当旋转速度较大和陀螺效应影响大时使用。 Full off 计算团块运动时,只有使用diagonal inertia,而忽略旋转速度乘积。只有3D计算受full关键词影响。
当full on 时,应设置update_cycle = 1
2、Permanent 通过阻止构成团块粒子间生成接触使得构成团块的粒子在随后模拟过程保持接触。这样不需要存储接触信息,并且避免经常性更新接触信息及其对应的矢量。 当在模拟过程中团块有个形成和分解过程,就不能指定这个关键词 然而,指定颗粒间永久接触有利于节约内存和计算时间。 当一个团块有其permanent属性设置,其设置为永久的 然而永久团块可被删除且团块内球体可被释放。
Release关键词用于从团块提取球体,释放时,球体将不存在接触
3、release 范围内所有属于同一团块将被释放。如果id未指定,所有范围内属于任何团块的粒子将被释放。团块内所有粒子被释放时,团块本身不被删除,形成“空团块”, 这种情况在计算过程中忽略,而在粒子重新加入之后,被激活。 Delete clump 删除团块 4、update_cycle n
控制数据更新速度,默认值n= 10。N越大,计算时间小。可被更新速度有 Moment of inertia tensor 惯性张量力矩(3D)
contact coordinates 接触坐标 contact normal vector 接触法向矢量 接触剪力矢量(3D) 平行粘结力矩(3D) 平行粘结剪力矢量(3D ) 注意
团块阻尼系数为构成团块粒子的阻尼系数的算术平均值 当模型中存在团块时,在本版本中就不能使用密度放大系数 Fix/free命令用于团块内任何粒子时,此工况用于团块重心。 Print clump 可看到各个团块的fix/free状况。
Config keyword < keyword > 指定可选计算模式 Keyword:
Cppudm C++用户定义模型 Cppuwc C++用户编写代码 Fluid 流体分析 Thermal 热分析
Continue 重启由pause中止的data文件过程
Cycle/Step n 执行n 时间步
对于热分析和热力分析计算为热计算步,否则为力学步
计算过程输入Esc,中止计算过程。计算过程输入空格,继续中止当前cycle. 当前计算过程由set mechanical 和set thermal命令指定。
对于热力耦合计算,每个热步后跟着最多n个力学计算子步,命令:thermal set substep.
Damp keyword < keyword … > < range … >
设置局部阻尼的阻尼属性(球体)和粘性阻尼的阻尼属性(接触) 局部阻尼:施加一个与各个球体自身不平衡力成比例大小的阻尼力。
粘性阻尼:在每个接触施加一个法向和切向粘壶,这些粘壶与原有接触作用平行,从而生成与两接触实体(球-球或球-墙)相对速度差值成比力的粘滞阻力 两种阻尼可以同时存在
当未指定阻尼系数时,局部阻尼发生作用,且所有球体阻尼系数为0.7,而粘性阻尼不发生作用。 Keyword 1、 default 指定新建球的阻尼参数
default local = v 局部阻尼系数 默认v= 0.7
viscous normal = v 法向临界阻尼系数, 默认v = 0 notension off/ on 无拉力标记 on – 无张力 默认off shear = v 切向临界阻尼系数, 默认v = 0 2、 local = v 范围内所有球体局部阻尼系数为v 3、 viscous normal = v notension = off/on shear = v 设定范围内粘滞阻尼系数
Define functionname End
定义fish函数
所有define… end 内的语句被编译并以压缩方式存储以便后续过程使用
Delete keyword…
删除球体,团块,时程关系,墙体 Keyword:
1、Balls < id > 删除id号球体
< range … > 删除质心在范围内球体 未指定任何参数时,模型内所有球体被删除
2、Clump id
删除编号为id的团块,不能使用range参数。团块内所有球体被释放,但是球体未删除。 4、 histories 删除所有时程记录。
时程记录内容可以用history reset命令删除。 Walls id1 < id2 > 删除编号为id1,id2的墙体
Id1 to id2 < id3 to id4 > 删除编号在id1,id2间墙体
Fix keyword … < range >
固定球体指定自由度速度值。即赋值速度常量。 速度属性可以由property命令设置。 关键词:
x,y, z x-,y-,z-方向速度 xspin, yspin, zspin : x-, y-, z- 方向角速度 例子, 固定球体(id = 5 )x-方向速度 Fix x range id = 5 Property xvel = 1.5 range id = 5
Fluid keyword < keyword … > 流体分析 关键词: 1、 model xl, xh, yl, yh, zl, zh size nx, ny, nz 设置x-, y-, z-方向模型尺寸和单元数目。
在[xl, xh ] [yl, yh] [ zl, zh ] 范围内建立总数为nx* ny * nz数目流体单元,每个流体单元x-, y-,z-方向尺寸为(xh-xl)/ nx, (yh – yl ) / ny, ( zh – zl ) / nz,注意模型总单元数为(nx + 2)*( ny + 2) * (nz+2), 边界上附加一个单元为边界条件 2、 property density d 流体密度 d
Viscosity 流体粘滞系数 v
3、boundary nonslip keyword 在keyword指定位置设置无滑动边界 Slip keyword 在keyword指定位置设置滑动边界 Pressure pv keyword 在keyword指定位置设置压力
为pv
Velocity xv, yv, zv keyword
在keyword指定位置指定apparent速度为xv, yv, zv
注:apparent速度定义:对于进入网格的流体将flow rate除以单元长度(或单元面积) 边界位置指定:
xl : x 方向下边界 xu: x 方向上边界 yl : y 方向下边界 yu: y 方向上边界 zl : z 方向下边界 zu: z 方向上边界 at xp,yp,zp 在点(xp, yp, zp )
4、set keyword 控制流体计算循环参数
buoterm off( 默认 )/ on on: 打开浮力作为外部体力(流体计划中 grterm off(默认)/on off: 在Navier-Strokes方程中忽略重力
on: 在流体计算中考虑重力影响 set gravity visterm off(默认)/on off: 忽略粘滞影响
下面参数控制SIMPLE项目,注意如果迭代不收敛,pfc3D发出一个警告消息而不是结束计
算
Crit cr 指定SIMPLE 计划收敛标准,默认10-6 Intval intv 如果在tdel auto 时间步模式下指定。则流体计算将在每intv计算步调用,而流体计算步有模型状况指定
Iteration it 指定SIMPLE scheme迭代限制,默认it = 5000 P_relax pr 在压力调整计算中指定松弛因子默认pr = 0.8 Por_relax por 在孔隙率中指定松弛因子 por = 1.0 Tdel auto 流体分析计算中时间步为自动计算 Tdel tdel 指定流体时间步tdel
V_relax vr 指定速度计算的松弛因子, 默认vr= 0.5
Free keyword …
消除指定范围内指定自由度的固定速度约束 关键词: x/y/z/ xspin/yspin/zspin
Generate < keyword … > x = xl, xu y = yl, yu z = zl, zu radius = rl, ru id = il, iu < annulus (xc,
yc, zc ) r1, r2 >
生成颗粒集合,指定粒子数目(编号起始和终止),粒子生成区域和粒子半径分布。粒子位置和半径以随机分布。因此粒子集合最终状态有随机种子生成器(SET random )影响。 1、粒子生成区域定义: (1) x, y, z 关键词决定长方体区域(xl, xu ) ( yl, yu ) ( zl, zu )。当xl = xu/ yl = yu / zl = zu
生成一排粒子集合。
(2) annulus 关键词 定义一圆形空心区域 中心( xc, yc, zc )内径 r1 外径 r2。
在这种情况下可忽略x, y, z 关键词。如果同时指定。生成圆形空心区域和长方体区域交集
(3) 生成区域可用用户定义的fish 函数定义( filter ) 2、 半径分布
Radius 关键词指定,默认为均匀分布,高斯正态分布用 gauss 关键词 粒子数目
粒子数目指定 id = il, iu 粒子数目 iu – il + 1 。粒子生成时与已存在的粒子不能重叠。但空间不能足够容纳粒子,则可用tries关键词。定义更多尝试次数。如果不能生成足够粒子,则可发生错误提示,Set gen_error 用于将错误提示改为警告提示,则命令将继续。 球体属性将用随后property 命令指定 可选关键词:
1、 filter fname
调用用户定义生成粒子过滤器。在每个试验粒子生成过程中,FISH 函数fname将被调用。试验粒子半径将通过fc_arg( 0 ),而粒子坐标三个分量将通过fc_arg( 1 ), fc_arg( 2 ), fc_arg( 3 )分别导入函数。如果符合条件(即粒子落入指定区域)则fname必须被设定为0,当调用时fname设置为1。 2、 gauss
半径为高斯分布,平均半径(rl + ru)/ 2, 标准差为(ru - rl)/ 2 3. hertz
新建球为Hertz接触模型,未指定为线性接触模型
4.Local
只有在并行计算时有用。通常只有在局部处理器,这样就处理器之间没有共享信息,必须保证没有重复的id号 5. Min rmin
只有在gauss关键词时定义,此时高斯分布中最小半径为rmin, 默认值为rl / 10 6. no_shadow
防止球体在墙体阴影中(即墙体从非活动面的垂直投影)生成。 默认球体将在所有墙体活动面和非活动面任何一面生成。 7. tries tmax
设置粒子生成尝试次数。默认tmax = 20000。
GROUP keyword…
定义群组,定义属于球体的群组(不论位置和属性改变)。可生成多级嵌套群组,比如一个球体可属于多个群组
Print group 显示当前存在群组
Print ball info 显示球体信息,包括其属于的群组 关键词
1. delete gname 群组gname将删除
2. gname < owner gname0 > < range … >
建立群组gname. 群组将包括所有指定范围内球体。若无指定,将包括模型内所有球体, 如果gname已经存在,则位于指定范围的球体将加入群组gname.
Owner 关键词, gname0被指定为gnames上一级(即gname作为群组gname0的从对象。如果上一级组gname0用range 单元定义,则gname0包含所有指定范围内球体和所有从组内球体。而从组gname作为从组内单元,则从组之包含从组内球体。
注意:range 定义中为叠加过程。
History < id = id > < nstep n > keyword … 存储和采样一系列模型计算过程的变量。
这些变量可以绘制与步数或其他相关时程变量(plot history)的图形。 时程变量可输出到文件(write关键词),
每个History命令中只能有一个变量,history时程变量可在任何时间添加。 所有时程变量内的具体内容可用purge关键词删除 而所有时程变量可用delete关键词删除 Print history 显示所有时程变量项目
每个时程变量有唯一的ID号,默认按history命令顺序生成。可通过id关键词指定。所有时程变量用一个采样间隔。默认采样间隔为10步,采样间隔可用nstep关键词修改(更好的方法是set hist_rep命令指定) 不同时程变量不能使用不同的nstep。 除此之外还可将FISH符号作为关键词。
关键词
1. 内置时程变量