From e5d19d4a9ec388fc384d39acaf9516d0244468ec Mon Sep 17 00:00:00 2001
From: sjplimp
Pair styles. See the pair_style command for an diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index 35b798d48b..c5041bd9c8 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -361,6 +361,7 @@ or click on the command itself for a full description: "fix addforce"_fix_addforce.html, "fix aveforce"_fix_aveforce.html, "fix com"_fix_com.html, +"fix deposit"_fix_deposit.html, "fix drag"_fix_drag.html, "fix efield"_fix_efield.html, "fix enforce2d"_fix_enforce2d.html, @@ -369,7 +370,6 @@ or click on the command itself for a full description: "fix gravity"_fix_gravity.html, "fix gyration"_fix_gyration.html, "fix indent"_fix_indent.html, -"fix insert"_fix_insert.html, "fix langevin"_fix_langevin.html, "fix lineforce"_fix_lineforce.html, "fix msd"_fix_msd.html, @@ -382,6 +382,7 @@ or click on the command itself for a full description: "fix orient/fcc"_fix_orient_fcc.html, "fix planeforce"_fix_planeforce.html, "fix poems"_fix_poems.html, +"fix pour"_fix_pour.html, "fix print"_fix_print.html, "fix rdf"_fix_rdf.html, "fix recenter"_fix_recenter.html, diff --git a/doc/Section_history.html b/doc/Section_history.html index c45f64fedf..881d419cd3 100644 --- a/doc/Section_history.html +++ b/doc/Section_history.html @@ -37,7 +37,7 @@ time or interest; others are just a lot of work!
The freeze, gran/diag, gravity, insert, nve/gran, and +
The freeze, gran/diag, gravity, nve/gran, pour, and wall/gran styles are part of the "granular" package.
The poems style is part of the "poems" package. diff --git a/doc/fix.txt b/doc/fix.txt index 67a48e1fc0..dca0859087 100644 --- a/doc/fix.txt +++ b/doc/fix.txt @@ -59,6 +59,7 @@ Here is an alphabetic list of fix styles defined in LAMMPS: "fix addforce"_fix_addforce.html - add a force to each atom "fix aveforce"_fix_aveforce.html - add an averaged force to each atom "fix com"_fix_com.html - compute a center-of-mass +"fix deposit"_fix_desosit.html - add new atoms above a surface "fix drag"_fix_drag.html - drag atoms towards a defined coordinate "fix efield"_fix_efield.html - impose electric field on system "fix enforce2d"_fix_enforce2d.html - zero out z-dimension velocity and force @@ -67,7 +68,6 @@ Here is an alphabetic list of fix styles defined in LAMMPS: "fix gravity"_fix_gravity.html - add gravity to atoms in a granular simulation "fix gyration"_fix_gyration.html - compute radius of gyration "fix indent"_fix_indent.html - impose force due to an indenter -"fix insert"_fix_insert.html - add new atoms to a granular simulation "fix langevin"_fix_langevin.html - Langevin temperature control "fix lineforce"_fix_lineforce.html - constrain atoms to move in a line "fix msd"_fix_msd.html - compute mean-squared displacement \ @@ -84,6 +84,7 @@ Here is an alphabetic list of fix styles defined in LAMMPS: "fix planeforce"_fix_planeforce.html - constrain atoms to move in a plane "fix poems"_fix_poems.html - constrain clusters of atoms to move \ as coupled rigid bodies +"fix pour"_fix_pour.html - pour new atoms into a granular simulation domain "fix print"_fix_print.html - print text and variables during a simulation "fix rdf"_fix_rdf.html - compute radial distribution functions "fix recenter"_fix_recenter.html - constrain the center-of-mass position \ @@ -117,7 +118,7 @@ Some fix styles are part of specific packages. They are only enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#2_2 section for more info. -The {freeze}, {gran/diag}, {gravity}, {insert}, {nve/gran}, and +The {freeze}, {gran/diag}, {gravity}, {nve/gran}, {pour}, and {wall/gran} styles are part of the "granular" package. The {poems} style is part of the "poems" package. diff --git a/doc/fix_deposit.html b/doc/fix_deposit.html new file mode 100644 index 0000000000..8f288c42eb --- /dev/null +++ b/doc/fix_deposit.html @@ -0,0 +1,145 @@ + +
Syntax: +
+fix ID group-ID deposit N type M seed keyword values ... ++
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 ++ +
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 ++
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 +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 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 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 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 command, +e.g. Angstroms for units = real or metal. A lattice value means the +distance units are in lattice spacings. The lattice +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: +
+ +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. +
+ diff --git a/doc/fix_deposit.txt b/doc/fix_deposit.txt new file mode 100644 index 0000000000..9f7c147b36 --- /dev/null +++ b/doc/fix_deposit.txt @@ -0,0 +1,131 @@ +"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. diff --git a/doc/fix_indent.html b/doc/fix_indent.html index 752cfab63c..41d490ccc0 100644 --- a/doc/fix_indent.html +++ b/doc/fix_indent.html @@ -35,7 +35,7 @@ vel args = vx vy vz vx,vy,vz = velocity of center of indenter (velocity units) rstart value = R0 - R0 = sphere or cylinder radius at start of run + R0 = sphere or cylinder radius at start of run (distance units) R is value at end of run, so indenter expands/contracts over time units value = lattice or box lattice = the geometry is defined in lattice units diff --git a/doc/fix_indent.txt b/doc/fix_indent.txt index b272ec4eee..174cf098d1 100644 --- a/doc/fix_indent.txt +++ b/doc/fix_indent.txt @@ -27,7 +27,7 @@ keyword = {sphere} or {cylinder} or {vel} or {rstart} or {units} :l {vel} args = vx vy vz vx,vy,vz = velocity of center of indenter (velocity units) {rstart} value = R0 - R0 = sphere or cylinder radius at start of run + R0 = sphere or cylinder radius at start of run (distance units) R is value at end of run, so indenter expands/contracts over time {units} value = {lattice} or {box} lattice = the geometry is defined in lattice units diff --git a/doc/fix_insert.html b/doc/fix_pour.html similarity index 85% rename from doc/fix_insert.html rename to doc/fix_pour.html index 492c6b8bf0..cfa597d384 100644 --- a/doc/fix_insert.html +++ b/doc/fix_pour.html @@ -9,15 +9,15 @@Syntax:
-fix ID group-ID insert N type seed keyword values ... +fix ID group-ID pour N type seed keyword values ...
Examples:
-fix 3 all insert 1000 2 29494 region myblock -fix 2 all insert 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam 0.9 1.1 +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.1Description:
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. +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 insert command (which can also be "all"). +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 @@ -96,9 +97,9 @@ 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 allows the insertion volume to move in the z -direction (3d) or y direction (2d). This enables pouring particles -from a successively higher height over time. +
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.
Restrictions:
@@ -111,7 +112,8 @@ must be defined in the -y direction.Related commands:
-fix_deposit, fix_gravity, +region
Default:
diff --git a/doc/fix_insert.txt b/doc/fix_pour.txt similarity index 85% rename from doc/fix_insert.txt rename to doc/fix_pour.txt index c34675ce73..f802fdbcdb 100644 --- a/doc/fix_insert.txt +++ b/doc/fix_pour.txt @@ -6,14 +6,14 @@ :line -fix insert command :h3 +fix pour command :h3 [Syntax:] -fix ID group-ID insert N type seed keyword values ... :pre +fix ID group-ID pour N type seed keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l -insert = style name of this fix command :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 :l @@ -41,18 +41,19 @@ keyword = {region} or {diam} or {dens} or {vol} or {rate} or {vel} :l [Examples:] -fix 3 all insert 1000 2 29494 region myblock -fix 2 all insert 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam 0.9 1.1 :pre +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 :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. +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 insert command (which can also be "all"). +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 @@ -85,9 +86,9 @@ 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 allows the insertion volume to move in the z -direction (3d) or y direction (2d). This enables pouring particles -from a successively higher height over time. +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. [Restrictions:] @@ -100,7 +101,8 @@ must be defined in the -y direction. [Related commands:] -"fix_gravity"_fix_gravity.html, "region"_region.html +"fix_deposit"_fix_deposit.html, "fix_gravity"_fix_gravity.html, +"region"_region.html [Default:] diff --git a/doc/temp_modify.html b/doc/temp_modify.html index 1b1b4f13c7..02f1a75ce2 100644 --- a/doc/temp_modify.html +++ b/doc/temp_modify.html @@ -19,16 +19,19 @@
extra value = N - N = # of extra degrees of freedom to subtract + N = # of extra degrees of freedom to subtract + dynamic value = yes or no + yes/no = do or do not recompute the number of atoms contributing to the temperature
Examples:
-temp_modify mine extra 0 +temp_modify mine extra 0 +temp_modify mine dynamic yesDescription:
@@ -42,6 +45,14 @@ subtracted (typically from 3N) as a normalizing factor in the temperature computation. The default is 3 which is a correction factor for an ensemble of velocities with zero total linear momentum. +The dynamic keyword determines whether the number of atoms N in the +temperature group is re-computed each time the temperature is +computed. By default, N is assumed to be constant. If you are adding +atoms to the system (see the fix pour or fix +deposit commands) or expect atoms to be lost +(e.g. due to evaporation), then this option can be used to insure the +temperature is correctly normalized. +
Restrictions: none
Related commands: @@ -50,6 +61,6 @@ factor for an ensemble of velocities with zero total linear momentum.
Default:
-The option defaults are extra = 3. +
The option defaults are extra = 3 and dynamic = no.