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

 

posted @ 2021-09-02 15:26  希望先生  阅读(1509)  评论(1编辑  收藏  举报