PFC基本命令注释
PFC中的单位
PFC程序不执行单位之间的转换,故在取值时统一采用国际单位制,能够避免产生计算错误。详情可看PFC帮助文档——PFC Thermal Formulation。
PFC命令流编制顺序:
; 对后面的内容进行注释
new; 开始新任务并释放当前内存
domain extent -100.0 100.0 condition periodic; 设定计算区域
; periodic/stop/reflect/destroy分别表示当实体碰到domain边界时所作的4种处理方式
set random 10005; 设置随机种子数
; 系统默认为10000,自定义种子数可保证每次计算生成相同的模型
wall generate box -50.0 50.0; 生成模型边界wall
; 创建颗粒体系,并分组用于后面的属性赋值
; 在-5到5的方形区域内生成500个半径在1.2~1.5的球
ball generate radius 1.2 1.5 box -5.0 5.0 number 500
; 使用range命令将其操作限制在指定范围内的对象
ball group small_balls range radius 1.2 1.35
; 颗粒分组,将1.2~1.35归为samll_balls
ball group big_balls range radius 1.35 1.4
; 没有定义到的区间将自成一组none
; 设定球的实体属性
ball attribute density 100.0 ; 设置密度
ball fix yvelocity range group big_ball ; 固定big_balls的y向速度
ball attribute radius multiply 1.2 ; 将所有球的半径放大1.2倍
ball attribute damp 0.7 ; 设置阻尼
; 指定接触模型。可以采用contact方式、cmat(contact model applied table)方式,或属性继承方式实现
cmat default model linear property kn 1.0e8 fric 1.0
; 设置球的接触属性
ball property kn 2e8 ks 1e8 fric 1.0 ;属性继承
; 添加外力(重力场或外界施加的作用力等)
set gravity 10.0
; 设定时间步长,根据系统中所有物体的当前刚度和质量计算稳定时间步长。 这是默认设置。
set timestep auto
; set timestep fix f ; 将时间步长设置为固定值f。跳过所有时间步长计算,从而可以提高性能。
; 记录数据(针对ball、 wall、 clump、 measure、 contact等对象。)
wall history id 1 xcontactforce id 1
; 计算求解(多种求解方式)
; step 1000
; cycle 2000
solve time 10.0
; 输出数据,并分析
history write 1 file wzcforce000;默认后缀.csv
;保存模型及模型调用
save example
; 根据情况将位移、速度、接触力进行归零设置。方便下次重新运行程序不产生冲突。
ball attribute displacement multiply 0.0