forked from lijiext/lammps
162 lines
7.0 KiB
Plaintext
162 lines
7.0 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
:line
|
|
|
|
fix pour command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID pour N type seed keyword values ... :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
pour = style name of this fix command :l
|
|
N = # of atoms to insert :l
|
|
type = atom type to assign to inserted atoms :l
|
|
seed = random # seed (positive integer) :l
|
|
one or more keyword/value pairs may be appended to args :l
|
|
keyword = {region} or {diam} or {dens} or {vol} or {rate} or {vel} :l
|
|
{region} value = region-ID
|
|
region-ID = ID of region to use as insertion volume
|
|
{diam} values = dstyle args
|
|
dstyle = {one} or {range} or {poly}
|
|
{one} args = D
|
|
D = single diameter for inserted particles (distance units)
|
|
{range} args = Dlo Dhi
|
|
Dlo,Dhi = range of diameters for inserted particles (distance units)
|
|
{poly} args = Npoly D1 P1 D2 P2 ...
|
|
Npoly = # of (D,P) pairs
|
|
D1,D2,... = diameter for subset of inserted particles (distance units)
|
|
P1,P2,... = percentage of inserted particles with this diameter (0-1)
|
|
{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) = vxlo vxhi vylo vyhi vz
|
|
{vel} values (2d) = vxlo vxhi vy
|
|
vxlo,vxhi = range of x velocities for inserted particles (velocity units)
|
|
vylo,vyhi = range of y velocities for inserted particles (velocity units)
|
|
vz = z velocity (3d) assigned to inserted particles (velocity units)
|
|
vy = y velocity (2d) assigned to inserted particles (velocity units) :pre
|
|
:ule
|
|
|
|
[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 range 0.9 1.1
|
|
fix 2 all pour 10000 1 19985583 region disk diam poly 2 0.7 0.4 1.5 0.6 :pre
|
|
|
|
[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"_region.html 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} option specifes the diameters of inserted particles. There
|
|
are 3 styles: {one}, {range}, or {poly}. For {one}, all particles
|
|
will have diameter {D}. For {range}, the diameter of each particle
|
|
will be chosen randomly and uniformly between the specified {Dlo} and
|
|
{Dhi} bounds. For {poly}, a series of {Npoly} diameters is specified.
|
|
For each diameter a percentage value from 0.0 to 1.0 is also
|
|
specified. The {Npoly} percentages must sum to 1.0. For the example
|
|
shown above with "diam 2 0.7 0.4 1.5 0.6", all inserted particles will
|
|
have a diameter of 0.7 or 1.5. 40% of the particles will be small;
|
|
60% will be large.
|
|
|
|
The {dens} and {vel} options enable inserted particles to have a range
|
|
of densities or xy velocities. The specific values for a particular
|
|
inserted particle will be chosen randomly and uniformly between the
|
|
specified bounds. 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. For particles with a size
|
|
specified by the {diam range} keyword, they are assumed to all be of
|
|
maximum diamter {Dhi} for purposes of computing their contribution to
|
|
the volume fraction.
|
|
|
|
The higher the volume fraction 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.
|
|
|
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
|
|
|
No information about this fix is written to "binary restart
|
|
files"_restart.html. 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"_fix_modify.html options are relevant to this
|
|
fix. No global or per-atom quantities are stored by this fix for
|
|
access by various "output commands"_Section_howto.html#howto_15. No
|
|
parameter of this fix can be used with the {start/stop} keywords of
|
|
the "run"_run.html command. This fix is not invoked during "energy
|
|
minimization"_minimize.html.
|
|
|
|
[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_start.html#start_3 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"_region.html command.
|
|
|
|
[Related commands:]
|
|
|
|
"fix_deposit"_fix_deposit.html, "fix_gravity"_fix_gravity.html,
|
|
"region"_region.html
|
|
|
|
[Default:]
|
|
|
|
The option defaults are diam = one 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.
|