1、物体的地址将通过fc_arg( 0 )传入函数,而坐标x-, y-, 和z-分量将通过fc_arg( 1 ), fc_arg( 2 ), fc_arg( 3 )分别传入函数。物体类型由FISH内置的pointer_type指定。如果物体不在指定范围内,则fname的值必须在函数内设置为零,如果未指定,默认值为。group gname定义属于group名字gname的颗粒球体,(粒子组通过group命令定义)id il id编号在il,iu范围内的物体,如果iu没有指定,则默认il = iujset il 节理编号在在il,iu范围内的接触,如果iu没有指定,则默认il = iu节理通过JSET
2、命令创建name rname创建一个命名范围rname,通过在命令行中范围元素集合定义,通常一个范围用range命令创建。plane keyword无限平面包围区域Keyword:Origin x, y, z 平面上一点(x, y, z )dd dd 方向角x-y平面上方向角,从y轴正向顺时针方向测量dip dip 俯角从x-y平面,向z轴负向。Distance d 在距离d范围内区域Above 平面上方below 平面下方normal nx, ny, nz 平面的单位法向矢量radius rl 半径在(rl, ru )范围内球体。ru未指定,则范围(rl t, ru t )t 未指定,则t
3、= rl 10-6. 注意误差范围只有在未指定ru 条件下指定。rname 命名范围rnamesphere center( x, y, z ) radius = r 球形区域,中心(x, y, z ) 半径rx = xl, , y = yl, tolerance = t z = zl, 指定x, y, z 坐标在指定范围内的物体。其他同radius 条重点理解fish定义range部分。在线帮助Command ? 适用command的各个关键词?/ help 显示所有可用命令命令分类程序控制命令这些命令支持批处理执行模式,允许改变程序状态。其与用程序建立实际数值模型无关。Cycle & Ste
4、p 执行指定时间步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
5、+ 类特殊计算模式可选计算模式,通过config命令调用。Config 可在任何分析阶段给出,但是必须在调用时指定计算模式。Cppudm C+用户定义接触模型Cppuwc C+用户编写代码fluid 流体分析thermal 热分析模型属性部分模型建立和修改Ball 建立新球体Clump 建立新团块,或修改新团块属性Delete 删除球体,团块,墙体和时程记录Generate 生成球体集合Jset 生成一系列节理Wall 生成墙体或修改墙体属性Fix 对球体设置固定速度Free 将球体固定速度清零Model 对指定接触指定用户定义接触模型Property 修改已有球体属性(材料属性和施加外力和速
6、度),修改属性,粘结属性,接触属性模型监控History 指定执行过程变量(预定或用户定义fish变量Measure 建立一个测量球或改变测量球属性Movie 对屏幕输出进行控制抓图,从而实现动画输出Plot 控制模型几何和反应属性输出Print 生成输出变量和模型信息Trace 追踪模型中能量及功的输出命令工具Define 定义fish函数Group 定义和修改组集合Macro 命令宏Range 定义范围Table 控制表的创建和修改。成对数值索引命令集合建立球体Ball radius = r Radius :球体半径density : 密度(m/V)Hertz: 指定Hertz接触模型否则
7、为线性接触模型Id: 编号,唯一性,默认值大于当前编号最大值的整数x, y, z :x-, y- z-坐标,默认为0.0用ball 建立球体允许重叠,球体属性由property命令设置Build 控制执行AC/DC 操作Build assembly xa, ya, 通过复制粒子和包含在pbrick中的力(必须已经存在)建立粒子集合,而初始粒子由Call 调用data文件,默认为pfc3d.dat, 而若扩展名未指定,等于*.dat文件调用允许多级调用,但不允许相互迭代。Change 同property命令一样创建团块Clump full = on / off permanent release
8、 update_cycle = n创建一个团块,若id等于已有团块编号,则为修改团块属性Range 为要建立团块的范围,范围内原来属于其他团块的粒子转化到当前团块,必须指定range防止所有粒子变成一个团块Print clump 输出团块信息,plot clump 输出团块1、Full on 在计算团块运动时,使用全部惯性向量力矩,这会耗费更多计算时间。因为cross-coupling term使用,必须进行矩阵转换。当旋转速度较大和陀螺效应影响大时使用。Full off 计算团块运动时,只有使用diagonal inertia,而忽略旋转速度乘积。只有3D计算受full关键词影响。当full
9、 on 时,应设置update_cycle = 12、Permanent 通过阻止构成团块粒子间生成接触使得构成团块的粒子在随后模拟过程保持接触。这样不需要存储接触信息,并且避免经常性更新接触信息及其对应的矢量。当在模拟过程中团块有个形成和分解过程,就不能指定这个关键词然而,指定颗粒间永久接触有利于节约内存和计算时间。当一个团块有其permanent属性设置,其设置为永久的然而永久团块可被删除且团块内球体可被释放。Release关键词用于从团块提取球体,释放时,球体将不存在接触3、release 范围内所有属于同一团块将被释放。如果id未指定,所有范围内属于任何团块的粒子将被释放。团块内所有粒
10、子被释放时,团块本身不被删除,形成“空团块”, 这种情况在计算过程中忽略,而在粒子重新加入之后,被激活。Delete clump 删除团块4、update_cycle n控制数据更新速度,默认值n= 10。N越大,计算时间小。可被更新速度有Moment of inertia tensor 惯性张量力矩(3D)contact coordinates 接触坐标contact normal vector 接触法向矢量接触剪力矢量(3D) 平行粘结力矩(3D) 平行粘结剪力矢量(3D )注意团块阻尼系数为构成团块粒子的阻尼系数的算术平均值当模型中存在团块时,在本版本中就不能使用密度放大系数Fix/fr
11、ee命令用于团块内任何粒子时,此工况用于团块重心。Print clump 可看到各个团块的fix/free状况。Config keyword 指定可选计算模式Cppudm C+用户定义模型Cppuwc C+用户编写代码Fluid 流体分析Thermal 热分析Continue 重启由pause中止的data文件过程Cycle/Step n执行n 时间步对于热分析和热力分析计算为热计算步,否则为力学步计算过程输入Esc,中止计算过程。计算过程输入空格,继续中止当前cycle.当前计算过程由set mechanical 和set thermal命令指定。对于热力耦合计算,每个热步后跟着最多n个力学
12、计算子步,命令:thermal set substep.Damp keyword range 设置局部阻尼的阻尼属性(球体)和粘性阻尼的阻尼属性(接触) 局部阻尼:施加一个与各个球体自身不平衡力成比例大小的阻尼力。粘性阻尼:在每个接触施加一个法向和切向粘壶,这些粘壶与原有接触作用平行,从而生成与两接触实体(球球或球墙)相对速度差值成比力的粘滞阻力两种阻尼可以同时存在当未指定阻尼系数时,局部阻尼发生作用,且所有球体阻尼系数为0.7,而粘性阻尼不发生作用。Keyword1、 default 指定新建球的阻尼参数default local = v 局部阻尼系数默认v= 0.7 viscous nor
13、mal = v 法向临界阻尼系数,默认v = 0 notension off/ on 无拉力标记on 无张力默认off shear = v 切向临界阻尼系数,默认v = 02、 local = v 范围内所有球体局部阻尼系数为v3、 viscous normal = v notension = off/on shear = v设定范围内粘滞阻尼系数Define functionnameEnd定义fish函数所有define end 内的语句被编译并以压缩方式存储以便后续过程使用Delete keyword删除球体,团块,时程关系,墙体1、Balls 删除id号球体 删除质心在范围内球体未指定任
14、何参数时,模型内所有球体被删除2、Clump id删除编号为id的团块,不能使用range参数。团块内所有球体被释放,但是球体未删除。4、 histories 删除所有时程记录。时程记录内容可以用history reset命令删除。Walls id1 删除编号为id1,id2的墙体Id1 to id2 删除编号在id1,id2间墙体Fix keyword 固定球体指定自由度速度值。即赋值速度常量。速度属性可以由property命令设置。关键词:x,y, z x-,y-,z-方向速度xspin, yspin, zspin : x-, y-, z- 方向角速度例子, 固定球体(id = 5 )x-
15、方向速度Fix x range id = 5Property xvel = 1.5 range id = 5Fluid 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), 边界上附
16、加一个单元为边界条件2、 property density d 流体密度d Viscosity 流体粘滞系数v3、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 方向下
17、边界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发出一个警告消息而不是结束
18、计算 Crit cr 指定SIMPLE 计划收敛标准,默认10-6 Intval intv 如果在tdel auto 时间步模式下指定。则流体计算将在每intv计算步调用,而流体计算步有模型状况指定Iteration it 指定SIMPLE scheme迭代限制,默认it = 5000 P_relax pr 在压力调整计算中指定松弛因子默认pr = 0.8Por_relax por 在孔隙率中指定松弛因子por = 1.0 Tdel auto 流体分析计算中时间步为自动计算 Tdel tdel 指定流体时间步tdel V_relax vr 指定速度计算的松弛因子, 默认vr= 0.5Free
19、keyword 消除指定范围内指定自由度的固定速度约束x/y/z/ xspin/yspin/zspinGenerate x = xl, xu y = yl, yu z = zl, zu radius = rl, ru id = il, iu 生成颗粒集合,指定粒子数目(编号起始和终止),粒子生成区域和粒子半径分布。粒子位置和半径以随机分布。因此粒子集合最终状态有随机种子生成器(SET random )影响。1、粒子生成区域定义:(1) x, y, z 关键词决定长方体区域(xl, xu ) ( yl, yu ) ( zl, zu )。当xl = xu/ yl = yu / zl = zu 生成
20、一排粒子集合。(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
21、用于将错误提示改为警告提示,则命令将继续。球体属性将用随后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)/ 23. hertz新建球为Hertz接触模型
22、,未指定为线性接触模型4Local只有在并行计算时有用。通常只有在局部处理器,这样就处理器之间没有共享信息,必须保证没有重复的id号5. Min rmin只有在gauss关键词时定义,此时高斯分布中最小半径为rmin, 默认值为rl / 106. no_shadow 防止球体在墙体阴影中(即墙体从非活动面的垂直投影)生成。默认球体将在所有墙体活动面和非活动面任何一面生成。7. tries tmax设置粒子生成尝试次数。默认tmax = 20000。GROUP keyword定义群组,定义属于球体的群组(不论位置和属性改变)。可生成多级嵌套群组,比如一个球体可属于多个群组Print group
23、显示当前存在群组Print ball info 显示球体信息,包括其属于的群组关键词1. delete gname群组gname将删除2. gname 建立群组gname. 群组将包括所有指定范围内球体。若无指定,将包括模型内所有球体, 如果gname已经存在,则位于指定范围的球体将加入群组gname.Owner 关键词, gname0被指定为gnames上一级(即gname作为群组gname0的从对象。如果上一级组gname0用range 单元定义,则gname0包含所有指定范围内球体和所有从组内球体。而从组gname作为从组内单元,则从组之包含从组内球体。注意:range 定义中为叠加过程
24、。History nstep n keyword 存储和采样一系列模型计算过程的变量。这些变量可以绘制与步数或其他相关时程变量(plot history)的图形。时程变量可输出到文件(write关键词),每个History命令中只能有一个变量,history时程变量可在任何时间添加。所有时程变量内的具体内容可用purge关键词删除而所有时程变量可用delete关键词删除Print history 显示所有时程变量项目每个时程变量有唯一的ID号,默认按history命令顺序生成。可通过id关键词指定。所有时程变量用一个采样间隔。默认采样间隔为10步,采样间隔可用nstep关键词修改(更好的方法是
25、set hist_rep命令指定) 不同时程变量不能使用不同的nstep。除此之外还可将FISH符号作为关键词。1. 内置时程变量(1). 球体History ball 关键词 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) 诊断标志History Diagnostic keyword mcf: 平均接触力(所有非零法向力接触的法向力的平均绝对值。 muf:
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2