lammps/doc/fix_deposit.txt

132 lines
5.9 KiB
Plaintext
Raw Normal View History

"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 deposit command :h3
[Syntax:]
fix ID group-ID deposit N type M seed keyword values ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
deposit = style name of this fix command :l
N = # of atoms to insert :l
type = atom type to assign to inserted atoms :l
M = insert a single particle every M steps :l
seed = random # seed :l
one or more keyword/value pairs may be appended to args :l
keyword = {region} or {global} or {local} or {near} or {attempt} or {rate} or {vx} or {vy} or {vz} or {units} :l
{region} value = region-ID
region-ID = ID of region to use as insertion volume
{global} values = lo hi
lo,hi = put new particle a distance lo-hi above all other particles (distance units)
{local} values = lo hi delta
lo,hi = put new particle a distance lo-hi above any nearby particle beneath it (distance units)
delta = lateral distance within which a neighbor is considered "nearby" (distance units)
{near} value = R
R = only insert particle if further than R from existing particles (distance units)
{attempt} value = Q
Q = attempt a single insertion up to Q times
{rate} value = V
V = z velocity (y in 2d) at which insertion volume moves (velocity units)
{vx} values = vxlo vxhi
vxlo,vxhi = range of x velocities for inserted particle (velocity units)
{vy} values = vylo vyhi
vylo,vyhi = range of y velocities for inserted particle (velocity units)
{vz} values = vzlo vzhi
vzlo,vzhi = range of z velocities for inserted particle (velocity units)
{units} value = {lattice} or {box}
lattice = the geometry is defined in lattice units
box = the geometry is defined in simulation box units :pre
:ule
[Examples:]
fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box
fix 2 newatoms deposit 10000 1 500 12345 region disk near 2.0 vz -1.0 -0.8 :pre
[Description:]
Insert a single particle into the simulation domain every M timesteps
until N particles have been inserted. This is useful for simulating
the deposition of particles onto a surface.
Inserted particles have the specified atom type and are assigned to
two groups: the default group "all" and the group specified in the fix
deposit command (which can also be "all").
If you are computing temperature values which include inserted
particles, you will want to use the "temp_modify"_temp_modify.html
dynamic option, which insures the current number of atoms is used as a
normalizing factor each time temperature is computed.
Care must be taken that inserted particles are not too near existing
particles, using the options described below. When inserting
particles above a surface in a non-perioidic box (see the
"boundary"_boundary.html command), the possibility of a particle
escaping the surface and flying upward should be considered, since the
particle may be lost or the box size may grow infinitely large. A
"fix wall/reflect"_fix_wall_reflect.html command can be used to
prevent this behavior. Note that if a shrink-wrap boundary is used,
it is OK to insert the new particle outside the box, however the box
will immediately be expanded to include the new particle.
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 defined with side = {in}.
Each timestep a particle is to be inserted, its coordinates are chosen
as follows. A random position within the insertion volume is
generated. If neither the {global} or {local} keyword is used, that
is the trial position. If the {global} keyword is used, the random
x,y values are used, but the z position of the new particle is set
above the highest current atom in the simulation by a distance
randomly chosen between lo/hi. (For a 2d simulation, this is done for
the y position.) If the {local} keyword is used, the z position is
set a distance between lo/hi above the highest current atom in the
simulation that is "nearby" the chosen x,y position. In this context,
"nearby" means the lateral distance (in x,y) between the new and old
particles is less than the delta parameter.
Once a trial x,y,z location has been computed, the insertion is only
performed if no current particle in the simulation is within a
distance R of the new particle. If this test fails, a new random
position within the insertion volume is chosen and another trial is
made. Up to Q attempts are made, after which LAMMPS prints a warning
message.
The {rate} option moves the insertion volume in the z direction (3d)
or y direction (2d). This enables particles to be inserted from a
successively higher height over time. Note that this parameter is
ignored if the {global} or {local} keywords are used, since those
options choose a z-coordinate for insertion independently.
The vx, vy, and vz components of velocity for the inserted particle
are set using the values specified for the {vx}, {vy}, and {vz}
keywords. Note that normally, new particles should be a assigned a
negative vertical velocity so that they move towards the surface.
The {units} keyword determines the meaning of the distance units used
for the other deposition parameters. A {box} value selects standard
distance units as defined by the "units"_units.html command,
e.g. Angstroms for units = real or metal. A {lattice} value means the
distance units are in lattice spacings. The "lattice"_lattice.html
command must have been previously used to define the lattice spacing.
Note that the units choice affects all the keyword values that have
units of distance or velocity.
[Restrictions:] none
[Related commands:]
"fix_pour"_fix_pour.html, "region"_region.html
[Default:]
The option defaults are delta = 0.0, near = 0.0, attempt = 10, rate =
0.0, vx = 0.0 0.0, vy = 0.0 0.0, vz = 0.0 0.0, and units = lattice.