PFC3d手册命令中文详解.docx
《PFC3d手册命令中文详解.docx》由会员分享,可在线阅读,更多相关《PFC3d手册命令中文详解.docx(68页珍藏版)》请在冰豆网上搜索。
![PFC3d手册命令中文详解.docx](https://file1.bdocx.com/fileroot1/2022-12/13/3ef40e41-69d8-4d45-80d7-a6da23de3bb3/3ef40e41-69d8-4d45-80d7-a6da23de3bb31.gif)
PFC3d手册命令中文详解
PFC3d手册命令中文详解
PFC3D学习记录5-COMMANDREFERENCE
通用规定和特征
命令语法
默认情况下,命令行忽略大小写,然而可以通过SETcase命令激活区别大小写情况。
斜体字代表数字,以i,j,mn为开头的字母代表整数,其他情况为实数
命令词,关键字和数值 可用空格,以及 ( ) , = 分隔。
在分号(;)后为注释
一行最多可包含80个字符。
而& 表示续行
Range语法
定义一定限制范围的物体
可运用Range的命令:
Change/initial/property Clump Fix/Free Group Jset
Model Plot(运用于不同输出项目 ) Print
Range(创建一个命名的范围)
一个Range定义一系列物体。
由许多范围元素构成。
节理通过JSET命令创建
namername
创建一个命名范围rname,通过在命令行中范围元素集合定义,通常一个范围用range命令创建。
planekeyword
无限平面包围区域
Keyword:
Originx,y,z平面上一点(x,y,z)
dddd方向角 x-y平面上方向角,从y轴正向顺时针方向测量
dipdip俯角 从x-y平面,向z轴负向。
Distanced在距离d范围内区域
Above平面上方 below平面下方
normalnx,ny,nz平面的单位法向矢量
radiusrl
半径在(rl,ru)范围内球体。
ru 未指定,则范围(rl–t,ru–t)
t未指定,则t=rl× 10-6.注意误差范围只有在未指定ru条件下指定。
rname命名范围rname
spherecenter(x,y,z)radius=r
球形区域,中心( x,y,z)半径 r
x=xl,,
y=yl,,
z=zl,,
指定x,y,z坐标在指定范围内的物体。
其他同radius条
重点理解 fish定义range部分。
在线帮助
Command?
适用command的各个关键词
?
/help显示所有可用命令
命令分类
程序控制命令
这些命令支持批处理执行模式,允许改变程序状态。
其与用程序建立实际数值模型无关。
Cycle&Step执行指定时间步
Solve 执行计算,直至满足收敛条件
Build 控制 AC/DC操作
call 调用data文件,执行命令,批处理模式
return 从批处理模式中返回到控制台。
或在多级调用中返回上一级调用文件
continue-pause重新/中止 调用data文件
Fluid 设置流体分析条件
/MPI 控制MPI操作
/PARALLEL 控制并行计算程序操作
NEW重启新模型
Quit&Stop/Save–Restore
Set改变全局程序设置
/Thermal 设置热分析
/Title 设置模型名称, 这些将保存在随后的输出图并记录在save文件中
/Ucode 注册用户编译的C++类
特殊计算模式
可选计算模式,通过config命令调用。
Config可在任何分析阶段给出,但是必须在调用时指定计算模式。
CppudmC++用户定义接触模型
CppuwcC++用户编写代码
fluid流体分析
thermal热分析
模型属性部分
模型建立和修改
Ball建立新球体
Clump建立新团块,或修改新团块属性
Delete删除球体,团块,墙体和时程记录
Generate生成球体集合
Jset生成一系列节理
Wall生成墙体或修改墙体属性
Fix对球体设置固定速度
Free将球体固定速度清零
Model对指定接触指定用户定义接触模型
Property修改已有球体属性( 材料属性和施加外力和速度),修改
属性,粘结属性,接触属性
模型监控
History指定执行过程变量( 预定或用户定义fish变量
Measure建立一个测量球或改变测量球属性
Movie对屏幕输出进行控制抓图,从而实现动画输出
Plot控制模型几何和反应属性输出
Print生成输出变量和模型信息
Trace追踪模型中能量及功的输出
命令工具
Define定义fish函数
Group定义和修改组集合
Macro命令宏
Range定义范围
Table控制表的创建和修改。
成对数值索引
命令集合
建立球体
Ballradius=r
Radius:
球体半径 density:
密度(m/V)
Hertz:
指定Hertz接触模型 否则为线性接触模型
Id:
编号,唯一性,默认值大于当前编号最大值的整数
x,y,z:
x-,y-z-坐标,默认为0.0
用ball建立球体允许重叠,球体属性由property命令设置
Build 控制执行AC/DC操作
Buildassemblyxa,ya,
通过复制粒子和包含在pbrick中的力(必须已经存在)建立粒子集合,而初始粒子由
Call调用data文件,
默认为pfc3d.dat,而若扩展名未指定,等于*.dat
文件调用允许多级调用,但不允许相互迭代。
Change同property命令一样
创建团块
Clumpfull=on/offpermanentreleaseupdate_cycle=n
创建一个团块,
若id等于已有团块编号,则为修改团块属性
Range为要建立团块的范围,
范围内原来属于其他团块的粒子转化到当前团块,必须指定range防止所有粒子变成一个团块
Printclump输出团块信息,plotclump输出团块
1、Fullon在计算团块运动时,使用全部惯性向量力矩,这会耗费更多计算时间。
因为cross-couplingterm使用,必须进行矩阵转换。
当旋转速度较大和陀螺效应影响大时使用。
Fulloff计算团块运动时,只有使用diagonalinertia,而忽略旋转速度乘积。
只有3D计算受full关键词影响。
当fullon时,应设置update_cycle=1
2、Permanent通过阻止构成团块粒子间生成接触使得构成团块的粒子在随后模拟过程保持接触。
这样不需要存储接触信息,并且避免经常性更新接触信息及其对应的矢量。
当在模拟过程中团块有个形成和分解过程,就不能指定这个关键词
然而,指定颗粒间永久接触有利于节约内存和计算时间。
当一个团块有其permanent属性设置,其设置为永久的
然而永久团块可被删除且团块内球体可被释放。
Release关键词用于从团块提取球体,释放时,球体将不存在接触
3、release范围内所有属于同一团块将被释放。
如果id未指定,所有范围内属于任何团块的粒子将被释放。
团块内所有粒子被释放时,团块本身不被删除,形成“空团块”,这种情况在计算过程中忽略,而在粒子重新加入之后,被激活。
Deleteclump删除团块
4、update_cyclen
控制数据更新速度,默认值n=10。
N越大,计算时间小。
可被更新速度有
Momentofinertiatensor惯性张量力矩(3D)
contactcoordinates接触坐标 contactnormalvector接触法向矢量
接触剪力矢量(3D)平行粘结力矩(3D)平行粘结剪力矢量(3D)
注意
团块阻尼系数为构成团块粒子的阻尼系数的算术平均值
当模型中存在团块时,在本版本中就不能使用密度放大系数
Fix/free命令用于团块内任何粒子时,此工况用于团块重心。
Printclump可看到各个团块的fix/free状况。
Configkeyword
指定可选计算模式
Keyword:
CppudmC++用户定义模型
CppuwcC++用户编写代码
Fluid流体分析
Thermal热分析
Continue重启由pause中止的data文件过程
Cycle/Stepn
执行n时间步
对于热分析和热力分析计算为热计算步,否则为力学步
计算过程输入Esc,中止计算过程。
计算过程输入空格,继续中止当前cycle.
当前计算过程由setmechanical和setthermal命令指定。
对于热力耦合计算,每个热步后跟着最多n个力学计算子步,命令:
thermalsetsubstep.
Damp keyword
设置局部阻尼的阻尼属性(球体)和粘性阻尼的阻尼属性(接触)
局部阻尼:
施加一个与各个球体自身不平衡力成比例大小的阻尼力。
粘性阻尼:
在每个接触施加一个法向和切向粘壶,这些粘壶与原有接触作用平行,从而生成与两接触实体(球-球或球-墙)相对速度差值成比力的粘滞阻力
两种阻尼可以同时存在
当未指定阻尼系数时,局部阻尼发生作用,且所有球体阻尼系数为0.7,而粘性阻尼不发生作用。
Keyword
1、default指定新建球的阻尼参数
defaultlocal=v局部阻尼系数 默认v=0.7
viscousnormal=v法向临界阻尼系数, 默认v=0
notensionoff/on无拉力标记 on–无张力 默认off
shear=v切向临界阻尼系数, 默认v=0
2、local=v范围内所有球体局部阻尼系数为v
3、viscousnormal=vnotension=off/onshear=v
设定范围内粘滞阻尼系数
Definefunctionname
End
定义fish函数
所有define…end内的语句被编译并以压缩方式存储以便后续过程使用
Deletekeyword…
删除球体,团块,时程关系,墙体
Keyword:
1、Balls 删除id号球体
删除质心在范围内球体
未指定任何参数时,模型内所有球体被删除
2、Clumpid
删除编号为id的团块,不能使用range参数。
团块内所有球体被释放,但是球体未删除。
4、histories删除所有时程记录。
时程记录内容可以用historyreset命令删除。
Wallsid1删除编号为id1,id2的墙体
Id1toid2删除编号在id1,id2间墙体
Fixkeyword…
固定球体指定自由度速度值。
即赋值速度常量。
速度属性可以由property命令设置。
关键词:
x,y,zx-,y-,z-方向速度 xspin,yspin,zspin:
x-,y-,z-方向角速度
例子,固定球体(id=5)x-方向速度
Fixxrangeid=5
Propertyxvel=1.5rangeid=5
Fluidkeyword
流体分析
关键词:
1、modelxl,xh,yl,yh,zl,zhsizenx,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、propertydensityd流体密度 d
Viscosity流体粘滞系数 v
3、boundarynonslipkeyword在keyword指定位置设置无滑动边界
Slipkeyword在keyword指定位置设置滑动边界
Pressurepvkeyword在keyword指定位置设置压力
为pv
Velocityxv,yv,zvkeyword
在keyword指定位置指定apparent速度为xv,yv,zv
注:
apparent速度定义:
对于进入网格的流体将flowrate除以单元长度(或单元面积)
边界位置指定:
xl:
x方向下边界 xu:
x方向上边界
yl:
y方向下边界 yu:
y方向上边界
zl:
z方向下边界 zu:
z方向上边界
atxp,yp,zp在点(xp,yp,zp)
4、setkeyword控制流体计算循环参数
buotermoff(默认)/onon:
打开浮力作为外部体力(流体计划中
grtermoff(默认)/onoff:
在Navier-Strokes方程中忽略重力
on:
在流体计算中考虑重力影响setgravity
vistermoff(默认)/onoff:
忽略粘滞影响
下面参数控制SIMPLE项目,注意如果迭代不收敛,pfc3D发出一个警告消息而不是结束计算
Critcr指定SIMPLE计划收敛标准,默认10-6
Intvalintv如果在tdelauto时间步模式下指定。
则流体计算将在每intv计算步调用,而流体计算步有模型状况指定
Iterationit指定SIMPLEscheme迭代限制,默认it=5000
P_relaxpr在压力调整计算中指定松弛因子默认pr=0.8
Por_relaxpor在孔隙率中指定松弛因子 por=1.0
Tdelauto流体分析计算中时间步为自动计算
Tdeltdel指定流体时间步tdel
V_relaxvr指定速度计算的松弛因子,默认vr=0.5
Freekeyword…
消除指定范围内指定自由度的固定速度约束
关键词:
x/y/z/xspin/yspin/zspin
Generatex=xl,xuy=yl,yuz=zl,zuradius=rl,ruid=il,iu
生成颗粒集合,指定粒子数目(编号起始和终止),粒子生成区域和粒子半径分布。
粒子位置和半径以随机分布。
因此粒子集合最终状态有随机种子生成器(SETrandom)影响。
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关键词。
定义更多尝试次数。
如果不能生成足够粒子,则可发生错误提示,Setgen_error用于将错误提示改为警告提示,则命令将继续。
球体属性将用随后property命令指定
可选关键词:
1、filterfname
调用用户定义生成粒子过滤器。
在每个试验粒子生成过程中,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.Minrmin
只有在gauss关键词时定义,此时高斯分布中最小半径为rmin,默认值为rl/10
6.no_shadow
防止球体在墙体阴影中(即墙体从非活动面的垂直投影)生成。
默认球体将在所有墙体活动面和非活动面任何一面生成。
7.triestmax
设置粒子生成尝试次数。
默认tmax=20000。
GROUPkeyword…
定义群组,定义属于球体的群组(不论位置和属性改变)。
可生成多级嵌套群组,比如一个球体可属于多个群组
Printgroup显示当前存在群组
Printballinfo显示球体信息,包括其属于的群组
关键词
1.deletegname
群组gname将删除
2.gname
建立群组gname.群组将包括所有指定范围内球体。
若无指定,将包括模型内所有球体,如果gname已经存在,则位于指定范围的球体将加入群组gname.
Owner关键词,gname0被指定为gnames上一级(即gname作为群组gname0的从对象。
如果上一级组gname0用range单元定义,则gname0包含所有指定范围内球体和所有从组内球体。
而从组gname作为从组内单元,则从组之包含从组内球体。
注意:
range定义中为叠加过程。
Historykeyword…
存储和采样一系列模型计算过程的变量。
这些变量可以绘制与步数或其他相关时程变量(plothistory)的图形。
时程变量可输出到文件(write关键词),
每个History命令中只能有一个变量,history时程变量可在任何时间添加。
所有时程变量内的具体内容可用purge关键词删除
而所有时程变量可用delete关键词删除
Printhistory显示所有时程变量项目
每个时程变量有唯一的ID号,默认按history命令顺序生成。
可通过id关键词指定。
所有时程变量用一个采样间隔。
默认采样间隔为10步,采样间隔可用nstep关键词修改(更好的方法是sethist_rep命令指定)不同时程变量不能使用不同的nstep。
除此之外还可将FISH符号作为关键词。
关键词
1.内置时程变量
(1).球体
Historyball关键词x,y,z/id=n
监控特定球变量:
①距离坐标为(x,y,z)最近的球/②id=n的球。
关键词有:
s11:
对应应力σxx,s12(σxy),s13(σxz)。
。
。
。
s33
Temperature:
温度,若热学分析未激活,返回0
Xposition/xspin/xvelocity:
质心坐标,角速度,平移速度的x分量。
(y/z方向类似)
(2)诊断标志
HistoryDiagnostickeyword
mcf:
平均接触力(所有非零法向力接触的法向力的平均绝对值。
muf:
平均不平衡力(所有球体不平衡力平均绝对值
smr:
力学计算过程的比例限制
str:
热学计算过程的比例限制
(3)能量和功
HistoryEnergykeyword(必须通过traceenergy激活此命令)
Body:
体力功
Bond:
粘结能
Boundary:
边界功(外力功)
Frictional:
摩擦功
Kinetic:
动能
Strain:
应变能
(3)测量球内时程变量
HistoryMeasurekeywordid=id编号为id测量球内数据变量
Coord坐标数目(每个球的平均接触数目)
ed11/ed12…ed33应变率1-x2-yz-3
porosity孔隙率
sliding_fraction:
滑动比例(接触中发生滑动的比例)
s11/s12…/s33应力
(5)墙体
Historywallkeywordid=id
ID=id墙体的参数
Power:
由于接触球体所有力矩和外力施加在墙体上的功率
xforce/yforce/zforce:
由所有与之接触球体产生不平衡力(x/y/z分量)
xmoment/ymoment/zmoment:
由与之接触球体作用在旋转中心的不平衡力矩。
2、时程英语语法支持
(1)删除所有时程数据
Historydelete等效于:
reset关键词+deletehistories
(2)输出与计算步对应的编号为id1到idn时程变量数据到屏幕
Historydumpid1
关键词用于指定输出计算步范围。
Beginnb:
所有计算步大于或等于nb的时程数值将被输出。
Endne:
所有计算步小于或等于ne的时程数值将被输出。
Skipns:
每隔ns样本采样间隔的数据输出
Vsid0:
编号为id1到idn时程数据值与编号为id0s时程数据输出
Xmaximumxmax:
x分量值小于等于xmax的数据将被输出,默认x分量为计算步。
然而如果vsid0关键词,则x分量为id0的时程数据。
Xminimumxmin:
x分量值大于等于xmin的数据将被输出,默认x分量为计算步。
然而如果vsid0关键词,则x分量为id0的时程数据。
ymaximumymax:
y分量值小于等于ymax的数据将被输出
yminimumymax:
y分量值大于等于ymin的数据将被输出
(3)historylimits:
输出所有时程最大最小计算步数和数值
(4).Historyprint:
输出所有时程数据信息。
=printhistory
(5).historypurge:
所有时程项目内数据删除,保存时程项目
(6).Historyrenamei