LIGGGHTS WWW Site - LIGGGHTS Documentation - LIGGGHTS Commands
Syntax:
fix ID group-ID pour N type seed keyword values ...
ID, group-ID are documented in fix command
pour = style name of this fix command
N = # of atoms to insert
type = atom type to assign to inserted atoms
seed = random # seed (positive integer)
one or more keyword/value pairs may be appended to args
keyword = region or diam or dens or vol or rate or vel
region value = region-ID region-ID = ID of region to use as insertion volume diam values = random_style param1 param2 dens values = random_style param1 param2 random style='uniform' or 'gaussian' for style 'uniform': param1,param2 = lo,hi values for range of diameters/densities velocities for inserted particles (distance units) for style 'gaussian': param1,param2 = mu,sigma values for range of diameters/densites for inserted particles (distance units) vol values = fraction Nattempt fraction = desired volume fraction for filling insertion volume Nattempt = max # of insertion attempts per atom rate value = V V = z velocity (3d) or y velocity (2d) at which insertion volume moves (velocity units) vel values (3d) = random_style vx_param1 vx_param2 vy_param1 vy_param2 vz vel values (2d) = random_style vx_param1 vx_param2 vy for style 'uniform': vx_param1/vy_param1,vx_param2/vy_param2 = lo,hi values for range of x velocities/y velocities for inserted particles (distance units) for style 'gaussian': param1,param2 = mu,sigma values for range of x velocities/y velocities for inserted particles (distance units) vz = z velocity (3d) assigned to inserted particles (velocity units) vy = y velocity (2d) assigned to inserted particles (velocity units)
Examples:
fix 3 all pour 1000 2 29494 region myblock fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam 0.9 1.1
LIGGGHTS vs. LAMMPS Info:
This LIGGGHTS command offers the following improvements vs. LAMMPS: The particles that are generated in a way that they are now completely located within the insertion region, e.g. it is now e.g. possible to use the whole simulation box as insertion region. Furthermore, you can now choose from different random styles for the properties of the particles to be inserted. For poly-disperse pouring, you can now achieve the desired volume fraction more easily.
The LAMMPS-style version of this command is available under fix pour/legacy.
Description:
Insert particles into a granular run every few timesteps within a specified region until N particles have been inserted. This is useful for simulating the pouring of particles into a container under the influence of gravity.
Inserted particles are assigned the specified atom type and are assigned to two groups: the default group "all" and the group specified in the fix pour command (which can also be "all").
This command must use the region keyword to define an insertion volume. The specified region must have been previously defined with a region command. It must be of type block or a z-axis cylinder and must be defined with side = in. The cylinder style of region can only be used with 3d simulations.
Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. The larger the volume, the more particles that can be inserted at any one timestep. Particles are inserted again after enough time has elapsed that the previously inserted particles fall out of the insertion volume under the influence of gravity. Insertions continue every so many timesteps until the desired # of particles has been inserted.
All other keywords are optional with defaults as shown below. The diam, dens, and vel options enable inserted particles to have a range of diameters or densities or xy velocities. The specific values for a particular inserted particle will be chosen randomly where you can choose between uniform and gaussian random styles for diam, dens, vx, vy (for 3d). Please note that the randum distrubutions are number-based, not mass%- based. The vz or vy value for option vel assigns a z-velocity (3d) or y-velocity (2d) to each inserted particle.
The vol option specifies what volume fraction of the insertion volume will be filled with particles. The higher the value, the more particles are inserted each timestep. Since inserted particles cannot overlap, the maximum volume fraction should be no higher than about 0.6. Each timestep particles are inserted, LAMMPS will make up to a total of M tries to insert the new particles without overlaps, where M = # of inserted particles * Nattempt. If LAMMPS is unsuccessful at completing all insertions, it prints a warning.
The rate option moves the insertion volume in the z direction (3d) or y direction (2d). This enables pouring particles from a successively higher height over time.
IMPORTANT NOTE: Be careful not to choose the insertion volume too small. Compared to the LAMMPS style fix pour command, the volume has to be larger because the particles are completely located within the insertion volume.
Restart, fix_modify, output, run start/stop, minimize info:
No information about this fix is written to binary restart files. This means you must be careful when restarting a pouring simulation, when the restart file was written in the middle of the pouring operation. Specifically, you should use a new fix pour command in the input script for the restarted simulation that continues the operation. You will need to adjust the arguments of the original fix pour command to do this.
Also note that because the state of the random number generator is not saved in restart files, you cannot do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior if you adjust the fix pour parameters appropriately.
None of the fix_modify options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various output commands. No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization.
Restrictions:
This fix is part of the "granular" package. It is only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.
For 3d simulations, a gravity fix in the -z direction must be defined for use in conjunction with this fix. For 2d simulations, gravity must be defined in the -y direction.
The specified insertion region cannot be a "dynamic" region, as defined by the region command.
Related commands:
fix_deposit, fix_gravity, region
Default:
The option defaults are diam = 1.0 1.0, dens = 1.0 1.0, vol = 0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0.