LIGGGHTS输入文件中关于颗粒入射的设置例子
转载至:新浪博客“suningchen”的博文“liggghts输入文件中关于颗粒的入射的设置例子”
1. insert/pack 的例子
用于在指定区域内以每几个时间步长入射颗粒,一般先定义一个入射区域,指定粒径分布,指定颗粒速度,然后接一个insert_every 关键字。不能指定动态变化的区域,每个时间步颗粒入射在区域内的随机位置。在energy minimization 时不会调用此fix。
其他关键字
verbose: 在每次颗粒时是否将统计信息输出到屏幕,默认为yes
overlapcheck: 在入射时检查入射颗粒是否与已经入射的颗粒重叠,关闭时并行效果好,但可能会引起过度重叠,默认为yes
maxattempt: 当overlapcheck开启时,指定每个入射颗粒在入射时最多尝试的次数使它与其他颗粒不重叠,当大于次数仍不成功时会打印一个警告,默认为50
all_in: 指定颗粒是全部在入射区域内(yes)或者只需要质心在区域内(no)
random_distribute: 控制在不同并行处理器中的入射颗粒数目,exact或uncorrelated, 后者会进行四舍五入但最终两者会有统计相同的结果,默认为exact
vel constant: 入射颗粒具有相同的速度
vel uniform, vel guassian:入射颗粒的速度服从速度分布,可以指定涨落速度
orientation, omega: 指定入射颗粒的旋转轴,角速度
可以再选用以下任意一个关键字来指定入射颗粒的数目
volumefraction_region: 指定想要入射区域固含率
particles_in_region: 指定入射区域的颗粒个数
mass_in_region: 指定入射区域想要的质量
ntry_mc 指定计算入射区域固含率的蒙特卡洛次数,默认为100000
Examples:
fix ins all insert/pack seed 1001 distributiontemplate pdd1 insert_every once overlapcheck yes volumefraction_region 0.3 region mysphere ntry_mc 10000
另外如果用insert/rate/region 命令可以指定nparticles, mass, particlerate, massrate参数。
Examples:
fix ins all insert/rate/region seed 1001 distributiontemplate pdd1 nparticles 1000 particlerate 5000 insert_every 1000 overlapcheck yes region mysphere ntry_mc 10000
#ErgunTestMPI exmaple
#particle distributions and insertion
#cylinder args = dim c1 c2 radius lo hi # dim = x or y or z = axis of cylinder //cylinder的轴在那个方向上 # c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) //cylinder的轴在另外两个方向上的坐标 # radius = cylinder radius (distance units) //cylinder的半径 # radius can be a variable (see below) # lo,hi = bounds of cylinder in dim (distance units) //cylinder在轴向方向上的边界
region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
#packing exmaple
#region and insertion group nve_group region reg fix ins nve_group insert/pack seed 5330 distributiontemplate pdd1 maxattempt 200 insert_every once overlapcheck yes all_in yes vel constant 0. 0. 0. region reg volumefraction_region ${alphastart}
#fillCylinder exmaple
#particle insertion region bc cylinder z 0.0 0.0 0.012 0.02 0.03 units box fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 1000 region bc
#cohesion example
#region for insertion region bc cylinder z 0.01 0.01 0.025 0.05 0.0603 units box group nve_group region reg fix ins nve_group insert/pack seed 5332 distributiontemplate pdd1 maxattempt 100 insert_every 3000 overlapcheck yes all_in yes vel constant 0.0 0.0 -0.2 region bc particles_in_region 250 ntry_mc 10000
#contactModel example
#region of insertion region bc cylinder z 0. 0. 0.045 0.00 0.15 units box fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -0.5 insert_every once overlapcheck yes all_in yes particles_in_region 1800 region bc
#heatGran example
#region of insertion region bc cylinder z 0. 0. 0.045 0.00 0.15 units box fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -0.3 insert_every once overlapcheck yes all_in yes volumefraction_region 0.3 region bc
#hysteresis example
#region for insertion region bc cylinder z 0.01 0.01 0.025 0.05 0.0603 units box group nve_group region reg fix ins nve_group insert/pack seed 5332 distributiontemplate pdd1 maxattempt 100 insert_every 3000 overlapcheck yes all_in yes vel constant 0.0 0.0 -0.2 region bc particles_in_region 250 ntry_mc 10000
2. insert/stream 的例子
在指定区域内以指定时间步长间隔入射直到指定颗粒数或者指定颗粒质量达到。一般会指定一个入射面(stl文件),必须为一个平面,入射面的法向会有入射颗粒的速度方向自动指定。必须接一个nparticles 或mass 关键字。
nparticles ,mass: 选其一用,总共想要入射的颗粒的个数,质量
particlerate, massrate: 选其一用,每秒入射的颗粒数,颗粒质量
insert_every, extrude_length: 选其一用,insert_every和particlerate或massrate结合使用,如果用了extrude_length 入射频率直接由挤压长度计算,并且入射速度是和入射面垂直。
Examples:
fix ins all insert/stream seed 1001 distributiontemplate pdd1 nparticles 5000 vel constant 0. -0.5 -2. particlerate 1000 overlapcheck yes insertion_face ins_mesh extrude_length 0.6
#chute_wear example
#region and insertion group nve_group region reg region bc cylinder z 0.0 0.0 0.015 0.05 0.12 units box fix inface all mesh/surface file insertion_face.stl type 1 fix ins nve_group insert/stream seed 5330 distributiontemplate pdd1 nparticles 6000 massrate 0.1 insert_every 1000 overlapcheck yes all_in no vel constant 0.0 0.0 -1.0 insertion_face inface
#conveyor example
#region for insertion group nve_group region reg fix inface all mesh/surface file insertion_face.stl type 1 fix ins nve_group insert/stream seed 5330 distributiontemplate pdd1 maxattempt 100 mass 30. massrate 30. overlapcheck yes vel constant 0. 0. -1.0 insertion_face inface extrude_length 0.1
#insert_stream example
#region and insertion fix ins_mesh all mesh/surface file face.stl type 1 scale 0.005 group nve_group region reg fix ins nve_group insert/stream seed 100001 distributiontemplate pdd1 nparticles 5000 vel constant 0. -0.5 -2. particlerate 1000 overlapcheck yes insertion_face ins_mesh extrude_length 0.6
#meshGran example
#definition of insertion face fix inface all mesh/surface file insertion_face.stl type 1 #particle insertion fix ins nve_group insert/stream seed 5330 distributiontemplate pdd1 maxattempt 100 nparticles 10000 particlerate 1000 overlapcheck yes all_in no vel constant 0. 0. -1.0 insertion_face inface extrude_length 0.02
3. 其他的例子
定义一个由vtk文件生成的网格,并在此区域按照sc规则填满颗粒
#mesh_tet example
#region and insertion variable d equal 0.05 region mesh mesh/tet file test.vtk scale 1. move 0. 0. 0. rotate 0. 0. 0. units box group nve_group region reg lattice sc $d create_atoms 1 region mesh set group all density 500 diameter $d
#movingMeshGran example
#particle insertion region bc block -0.9 0.9 -0.4 0.4 -0.02 -0.0 units box group nve_group region reg fix ins nve_group pour/legacy 1500 1 1 vol 0.7 1000 diam 0.08 0.08 dens 2500 2500 vel 0. 0. 0. 0. -0.8 region bc
#twoSphereGlowinskiMPI example
直接制造两个颗粒
#- create single partciles create_atoms 1 single .5 .5 3.5 units box //postion create_atoms 1 single .5 .5 3.16 units box set atom 1 diameter 0.167 density 1.5 vx 0 vy 0 vz 0 //properties set atom 2 diameter 0.167 density 1.5 vx 0 vy 0 vz 0