LIGGGHTS WWW Site - LIGGGHTS Documentation - LIGGGHTS Commands
Syntax:
fix ID group-ID pour/dev target_speficier target seed keyword values ...
ID, group-ID are documented in fix command
pour/dev = style name of this fix command
target_speficier = mass or nparticles
target = mass or number of atoms to insert, depending on target_speficier
seed = random # seed (positive integer)
one or more keyword/value pairs may be appended to args
keyword = distributiontemplate and region or massflowrate or vol or rate or vel or regionexempts
distributiontemplate value = dist-fix-ID dist-fix-ID = ID of fix of type particledistribution/discrete to be used region value = region-ID region-ID = ID of region to use as insertion volume regionexempts values = n_exempts region-ID_1 region-ID_2 ... n_exempts = number of regions to exempt from insertion volume region-ID_i = ID of region # i to exempt from insertion volume massflowrate values = particle mass flow rate (mass/time 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 ins nve_group pour/dev nparticles 3000 1 distributiontemplate pdd1 & vol 0.25 200 massflowrate 0.1 vel uniform 0. 0. 0. 0. -2.0 region bc fix ins nve_group pour/dev mass 0.1 1 distributiontemplate pdd1 & vol 0.25 200 massflowrate 0.9 vel uniform 0. 0. 0. 0. -2.0 region bc
LIGGGHTS vs. LAMMPS Info:
This LIGGGHTS command offers the following improvements vs.
LAMMPS:
Fix pour/legacy has been introduced in version 1.0.3. It
is quite similar to fix pour, but some
major re-works allow the following new capabilities: With fix
pour/dev, you can now define conditions for mass-flow rate and total
insertion mass. The insertion height probability has been re-worked
to be in accordance with the velocity distribution . Moreover, fix
pour/dev has now restart capability, which means that it is not
necessary to change the fix parameters in a restarted simulation run.
The insertion takes place in a way that allows higher volume
fractions than the old fix pour command for poly-disperse
simulations. The fix pour/dev command can now takes discrete particle
distributions, defined by a new fix particledistribution/discrete
command. 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. This is useful for simulating the pouring of particles into a container under the influence of gravity.
This command specify by means of targetspecifier if the goal is to insert a certain number of particles or a certain mass of particles, where the mass (number of particles) is set by target.
This command must use the distributiontemplate keyword to refer to a fix of type particledistribution/discrete (defined by dist-fix-ID) that defines the properties of the particles to be inserted r the insertion.
Inserted particles are assigned the properties as defined by the fix particledistribution/discrete 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. With the optional regionexempts keyword, you can specify regions to exempt from the insertion region. These regions can be of any style (see region command). Please note that the target volume fraction is still calculated using the whole insertion volume as specified by the region keyword.
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. Particles are inserted at a height that is in accordance with the velocity distribution.
All other keywords are optional with defaults as shown below. The vel option enables inserted particles to have a range of 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 vx, vy (for 3d). 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 (for mono-disperese simulation). 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: Insertion will stop if either the specified mass-flow rate or the specified volume fraction is reached. In case you want to make sure as many particles as possible are inserted, you should specify a large value for vol, e.g. 0.6. If the mass-flow rate can still be not achieved, you have to choose a higher insertion velocity. This command also offers the option to exempt certain regions from the specified insertion region
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.
IMPORTANT NOTE: Insertion will stop if either the specified mass-flow rate or the specified volume fraction is reached. In case you want to make sure as many particles as possible are inserted, you should specify a large value for vol, e.g. 0.6. If the mass-flow rate can still be not achieved, you have to choose a higher insertion velocity. This command also offers the option to exempt certain regions from the specified insertion region
Restart, fix_modify, output, run start/stop, minimize info:
Information about this fix is written to binary restart files . This means you can restart a pouring simulation, when the restart file was written in the middle of the pouring operation.
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:
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 , fix_particletemplate_sphere fix_particledistribution_discrete
Default:
The option defaults are vol = 0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0.