git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12985 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
pscrozi
2015-01-23 17:24:00 +00:00
parent 65f7c353e8
commit 3d19d66333
2 changed files with 132 additions and 70 deletions

View File

@ -37,7 +37,7 @@
<LI>zero or more keyword/value pairs may be appended to args
<LI>keyword = <I>mol</I>, <I>region</I>, <I>maxangle</I>, <I>pressure</I>, or <I>fugacity_coeff</I>
<LI>keyword = <I>mol</I>, <I>region</I>, <I>maxangle</I>, <I>pressure</I>, <I>fugacity_coeff</I>, <I>full_energy</I>, or <I>charge</I>
<PRE> <I>mol</I> value = template-ID
template-ID = ID of molecule template specified in a separate <A HREF = "molecule.html">molecule</A> command
@ -48,23 +48,25 @@
<I>maxangle</I> value = maximum molecular rotation angle (degrees)
<I>pressure</I> value = pressue of the gas reservoir (pressure units)
<I>fugacity_coeff</I> value = fugacity coefficient of the gas reservoir (unitless)
<I>full_energy</I> = compute the entire system energy when performing MC moves
<I>charge</I> value = charge of inserted atoms (charge units)
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 2 gas gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01
fix 3 water gcmc 10 100 100 0 3456543 3.0 -2.5 0.1 mol my_one_water maxangle 180
fix 3 water gcmc 10 100 100 0 3456543 3.0 -2.5 0.1 mol my_one_water maxangle 180 full_energy
fix 4 my_gas gcmc 1 10 10 1 123456543 300.0 -12.5 1.0 region disk
</PRE>
<P><B>Description:</B>
</P>
<P>This fix performs grand canonical Monte Carlo (GCMC) exchanges of
atoms or molecules of the given type with an imaginary ideal gas
reservoir at the specified T and chemical potential (mu) as discussed
in <A HREF = "#Frenkel">(Frenkel)</A>. If used with the <A HREF = "fix_nh.html">fix nvt</A>
command, simulations in the grand canonical enemble (muVT, constant
chemical potential, constant volume, and constant temperature) can be
atoms or molecules of the given type with an imaginary ideal gas reservoir at
the specified T and chemical potential (mu) as discussed in
<A HREF = "#Frenkel">(Frenkel)</A>. If used with the <A HREF = "fix_nh.html">fix nvt</A> command,
simulations in the grand canonical ensemble (muVT, constant chemical
potential, constant volume, and constant temperature) can be
performed. Specific uses include computing isotherms in microporous
materials, or computing vapor-liquid coexistence curves.
</P>
@ -103,16 +105,16 @@ smaller-than-usual timestep size may be needed when running such a
hybrid simulation, especially if the inserted molecules are not well
equilibrated.
</P>
<P>This command may optionally use the <I>region</I> keyword to define an
exchange and move volume. The specified region must have been
previously defined with a <A HREF = "region.html">region</A> command. It must be
defined with side = <I>in</I>. Insertion attempts occur only within the
specified region. Move and deletion attempt candidates are selected
from gas atoms or molecules within the region. If no candidate can be
found within the specified region after randomly selecting candidates
1000 times, the move or deletion attempt is considered a
failure. Moves must start within the specified region, but may move
the atom or molecule slightly outside of the region.
<P>This command may optionally use the <I>region</I> keyword to define an
exchange and move volume. The specified region must have been
previously defined with a <A HREF = "region.html">region</A> command. It must be
defined with side = <I>in</I>. Insertion attempts occur only within the
specified region. Move and deletion attempt candidates are selected
from gas atoms or molecules within the region. If no candidate can be
found within the specified region after randomly selecting candidates
1000 times, the move or deletion attempt is considered a failure. Moves
must start and end with the atom or molecule center-of-mass within the
specified region. Moves are not otherwise attempted.
</P>
<P>If used with <A HREF = "fix_nvt.html">fix_nvt</A>, the temperature of the imaginary
reservoir, T, should be set to be equivalent to the target temperature
@ -160,7 +162,10 @@ the angle in degrees. The specified angle will apply to all three
Euler angles used internally to define the rotation matrix for
molecular rotations. The max angle can be set to zero, but rotations
will be pointless. Note that the default is ten degrees for each
Euler angle.
Euler angle. Also note that fix GCMC does not do configurational bias
MC. In other words, while inserted molecules have different rotations,
they all have the same molecular configuration, which was specified
in the molecule command input.
</P>
<P>For atomic gasses, inserted atoms have the specified atom type, but
deleted atoms are any atoms that have been inserted or that belong
@ -176,6 +181,42 @@ keyword, in which case the user-specified chemical potential is
ignored. For non-ideal gas reservoirs, the user may also specify the
fugacity coefficient using the <I>fugacity_coeff</I> keyword.
</P>
<P>The <I>full_energy</I> option means that fix GCMC will compute the total
potential energy of the entire simulated system. The total system
energy before and after the proposed GCMC move is then used in the
Metropolis criterion to determine whether or not to accept the
proposed GCMC move. By default, this option is off, in which case
only partial energies are computed to determine the difference in
energy that would be caused by the proposed GCMC move.
</P>
<P>The <I>full_energy</I> option is needed for systems with complicated
potential energy calculations, including the following:
</P>
<UL><LI> long-range electrostatics (kspace)
<LI> many body pair styles
<LI> hybrid pair styles
<LI> eam pair styles
<LI> triclinic systems
<LI> need to include potential energy contributions from other fixes
</UL>
<P>Some fixes have an associated potential energy. Examples of such fixes
include: <A HREF = "fix_efield.html">efield</A>, <A HREF = "fix_gravity.html">gravity</A>,
<A HREF = "fix_addforce.html">addforce</A>, <A HREF = "fix_langevin.html">langevin</A>,
<A HREF = "fix_restrain.html">restrain</A>, <A HREF = "fix_temp_berendsen.html">temp/berendsen</A>,
<A HREF = "fix_temp_rescale.html">temp/rescale</A>, and <A HREF = "fix_wall.html">wall fixes</A>.
For that energy to be included in the total potential energy of the
system (the quantity used when performing GCMC moves),
you MUST enable the <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option for
that fix. The doc pages for individual <A HREF = "fix.html">fix</A> commands
specify if this should be done.
</P>
<P>Use the <I>charge</I> option to insert atoms with a user-specified point
charge. Note that doing so will cause the system to become non-neutral.
LAMMPS issues a warning when using long-range electrostatics (kspace)
with non-neutral systems. See the
<A HREF = "compute_group_group.html">compute_group_group</A> documentation for more
details about simulating non-neutral systems with kspace on.
</P>
<P>Use of this fix typically will cause the number of atoms to fluctuate,
therefore, you will want to use the
<A HREF = "compute_modify.html">compute_modify</A> command to insure that the
@ -192,7 +233,7 @@ mass = 39.948 amu.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>This fix writes the state of the deposition to <A HREF = "restart.html">binary restart
<P>This fix writes the state of the fix to <A HREF = "restart.html">binary restart
files</A>. This includes information about the random
number generator seed, the next timestep for MC exchanges, etc. See
the <A HREF = "read_restart.html">read_restart</A> command for info on how to
@ -202,9 +243,9 @@ the operation of the fix continues in an uninterrupted fashion.
<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to this
fix.
</P>
<P>This fix computes a global vector of length 6, which can be accessed
<P>This fix computes a global vector of length 8, which can be accessed
by various <A HREF = "Section_howto.html#howto_15">output commands</A>. The vector
values are the following global cummulative quantities:
values are the following global cumulative quantities:
</P>
<UL><LI>1 = displacement attempts
<LI>2 = displacement successes
@ -230,19 +271,8 @@ LAMMPS</A> section for more info.
<P>Do not set "neigh_modify once yes" or else this fix will never be
called. Reneighboring is required.
</P>
<P>Only pairwise interactions, as defined by the
<A HREF = "pair_style.html">pair_style</A> command, are included in this
calculation. Long-range interactions due to a
<A HREF = "kspace_style.html">kspace_style</A> command are not included. Not all
pair potentials can be evaluated in a pairwise mode as required by
this fix. For example, 3-body potentials, such as
<A HREF = "pair_tersoff.html">Tersoff</A> and <A HREF = "pair_sw.html">Stillinger-Weber</A> cannot
be used. <A HREF = "pair_eam.html">EAM</A> potentials for metals only include the
pair potential portion of the EAM interaction, not the embedding term.
</P>
<P>Can be run in parallel, but aspects of the GCMC part will not scale
well in parallel. Only usable for 3D simulations with orthogonal
simulation cells.
well in parallel. Only usable for 3D simulations.
</P>
<P>Note that very lengthy simulations involving insertions/deletions of
billions of gas molecules may run out of atom or molecule IDs and
@ -259,13 +289,14 @@ referenced by the user for each subsequent fix gcmc command.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nvt.html">fix_nvt</A>, <A HREF = "neighbor.html">neighbor</A>,
<P><A HREF = "fix_atom_swap.html">fix_atom_swap</A>,
<A HREF = "fix_nvt.html">fix_nvt</A>, <A HREF = "neighbor.html">neighbor</A>,
<A HREF = "fix_deposit.html">fix_deposit</A>, <A HREF = "fix_evaporate.html">fix_evaporate</A>,
<A HREF = "delete_atoms.html">delete_atoms</A>
</P>
<P><B>Default:</B>
</P>
<P>The option defaults are mol = no, maxangle = 10.
<P>The option defaults are mol = no, maxangle = 10, full_energy = no.
</P>
<HR>

View File

@ -23,7 +23,7 @@ T = temperature of the ideal gas reservoir (temperature units) :l
mu = chemical potential of the ideal gas reservoir (energy units) :l
displace = maximum Monte Carlo displacement distance (length units) :l
zero or more keyword/value pairs may be appended to args :l
keyword = {mol}, {region}, {maxangle}, {pressure}, or {fugacity_coeff} :l
keyword = {mol}, {region}, {maxangle}, {pressure}, {fugacity_coeff}, {full_energy}, or {charge} :l
{mol} value = template-ID
template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command
{shake} value = fix-ID
@ -32,23 +32,25 @@ keyword = {mol}, {region}, {maxangle}, {pressure}, or {fugacity_coeff} :l
region-ID = ID of region to use as an exchange/move volume
{maxangle} value = maximum molecular rotation angle (degrees)
{pressure} value = pressue of the gas reservoir (pressure units)
{fugacity_coeff} value = fugacity coefficient of the gas reservoir (unitless) :pre
{fugacity_coeff} value = fugacity coefficient of the gas reservoir (unitless)
{full_energy} = compute the entire system energy when performing MC moves
{charge} value = charge of inserted atoms (charge units) :pre
:ule
[Examples:]
fix 2 gas gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01
fix 3 water gcmc 10 100 100 0 3456543 3.0 -2.5 0.1 mol my_one_water maxangle 180
fix 3 water gcmc 10 100 100 0 3456543 3.0 -2.5 0.1 mol my_one_water maxangle 180 full_energy
fix 4 my_gas gcmc 1 10 10 1 123456543 300.0 -12.5 1.0 region disk :pre
[Description:]
This fix performs grand canonical Monte Carlo (GCMC) exchanges of
atoms or molecules of the given type with an imaginary ideal gas
reservoir at the specified T and chemical potential (mu) as discussed
in "(Frenkel)"_#Frenkel. If used with the "fix nvt"_fix_nh.html
command, simulations in the grand canonical enemble (muVT, constant
chemical potential, constant volume, and constant temperature) can be
atoms or molecules of the given type with an imaginary ideal gas reservoir at
the specified T and chemical potential (mu) as discussed in
"(Frenkel)"_#Frenkel. If used with the "fix nvt"_fix_nh.html command,
simulations in the grand canonical ensemble (muVT, constant chemical
potential, constant volume, and constant temperature) can be
performed. Specific uses include computing isotherms in microporous
materials, or computing vapor-liquid coexistence curves.
@ -87,16 +89,16 @@ smaller-than-usual timestep size may be needed when running such a
hybrid simulation, especially if the inserted molecules are not well
equilibrated.
This command may optionally use the {region} keyword to define an
exchange and move volume. The specified region must have been
previously defined with a "region"_region.html command. It must be
defined with side = {in}. Insertion attempts occur only within the
specified region. Move and deletion attempt candidates are selected
from gas atoms or molecules within the region. If no candidate can be
found within the specified region after randomly selecting candidates
1000 times, the move or deletion attempt is considered a
failure. Moves must start within the specified region, but may move
the atom or molecule slightly outside of the region.
This command may optionally use the {region} keyword to define an
exchange and move volume. The specified region must have been
previously defined with a "region"_region.html command. It must be
defined with side = {in}. Insertion attempts occur only within the
specified region. Move and deletion attempt candidates are selected
from gas atoms or molecules within the region. If no candidate can be
found within the specified region after randomly selecting candidates
1000 times, the move or deletion attempt is considered a failure. Moves
must start and end with the atom or molecule center-of-mass within the
specified region. Moves are not otherwise attempted.
If used with "fix_nvt"_fix_nvt.html, the temperature of the imaginary
reservoir, T, should be set to be equivalent to the target temperature
@ -144,7 +146,10 @@ the angle in degrees. The specified angle will apply to all three
Euler angles used internally to define the rotation matrix for
molecular rotations. The max angle can be set to zero, but rotations
will be pointless. Note that the default is ten degrees for each
Euler angle.
Euler angle. Also note that fix GCMC does not do configurational bias
MC. In other words, while inserted molecules have different rotations,
they all have the same molecular configuration, which was specified
in the molecule command input.
For atomic gasses, inserted atoms have the specified atom type, but
deleted atoms are any atoms that have been inserted or that belong
@ -160,6 +165,42 @@ keyword, in which case the user-specified chemical potential is
ignored. For non-ideal gas reservoirs, the user may also specify the
fugacity coefficient using the {fugacity_coeff} keyword.
The {full_energy} option means that fix GCMC will compute the total
potential energy of the entire simulated system. The total system
energy before and after the proposed GCMC move is then used in the
Metropolis criterion to determine whether or not to accept the
proposed GCMC move. By default, this option is off, in which case
only partial energies are computed to determine the difference in
energy that would be caused by the proposed GCMC move.
The {full_energy} option is needed for systems with complicated
potential energy calculations, including the following:
long-range electrostatics (kspace)
many body pair styles
hybrid pair styles
eam pair styles
triclinic systems
need to include potential energy contributions from other fixes :ul
Some fixes have an associated potential energy. Examples of such fixes
include: "efield"_fix_efield.html, "gravity"_fix_gravity.html,
"addforce"_fix_addforce.html, "langevin"_fix_langevin.html,
"restrain"_fix_restrain.html, "temp/berendsen"_fix_temp_berendsen.html,
"temp/rescale"_fix_temp_rescale.html, and "wall fixes"_fix_wall.html.
For that energy to be included in the total potential energy of the
system (the quantity used when performing GCMC moves),
you MUST enable the "fix_modify"_fix_modify.html {energy} option for
that fix. The doc pages for individual "fix"_fix.html commands
specify if this should be done.
Use the {charge} option to insert atoms with a user-specified point
charge. Note that doing so will cause the system to become non-neutral.
LAMMPS issues a warning when using long-range electrostatics (kspace)
with non-neutral systems. See the
"compute_group_group"_compute_group_group.html documentation for more
details about simulating non-neutral systems with kspace on.
Use of this fix typically will cause the number of atoms to fluctuate,
therefore, you will want to use the
"compute_modify"_compute_modify.html command to insure that the
@ -176,7 +217,7 @@ mass = 39.948 amu.
[Restart, fix_modify, output, run start/stop, minimize info:]
This fix writes the state of the deposition to "binary restart
This fix writes the state of the fix to "binary restart
files"_restart.html. This includes information about the random
number generator seed, the next timestep for MC exchanges, etc. See
the "read_restart"_read_restart.html command for info on how to
@ -186,9 +227,9 @@ the operation of the fix continues in an uninterrupted fashion.
None of the "fix_modify"_fix_modify.html options are relevant to this
fix.
This fix computes a global vector of length 6, which can be accessed
This fix computes a global vector of length 8, which can be accessed
by various "output commands"_Section_howto.html#howto_15. The vector
values are the following global cummulative quantities:
values are the following global cumulative quantities:
1 = displacement attempts
2 = displacement successes
@ -214,19 +255,8 @@ LAMMPS"_Section_start.html#start_3 section for more info.
Do not set "neigh_modify once yes" or else this fix will never be
called. Reneighboring is required.
Only pairwise interactions, as defined by the
"pair_style"_pair_style.html command, are included in this
calculation. Long-range interactions due to a
"kspace_style"_kspace_style.html command are not included. Not all
pair potentials can be evaluated in a pairwise mode as required by
this fix. For example, 3-body potentials, such as
"Tersoff"_pair_tersoff.html and "Stillinger-Weber"_pair_sw.html cannot
be used. "EAM"_pair_eam.html potentials for metals only include the
pair potential portion of the EAM interaction, not the embedding term.
Can be run in parallel, but aspects of the GCMC part will not scale
well in parallel. Only usable for 3D simulations with orthogonal
simulation cells.
well in parallel. Only usable for 3D simulations.
Note that very lengthy simulations involving insertions/deletions of
billions of gas molecules may run out of atom or molecule IDs and
@ -243,13 +273,14 @@ referenced by the user for each subsequent fix gcmc command.
[Related commands:]
"fix_atom_swap"_fix_atom_swap.html,
"fix_nvt"_fix_nvt.html, "neighbor"_neighbor.html,
"fix_deposit"_fix_deposit.html, "fix_evaporate"_fix_evaporate.html,
"delete_atoms"_delete_atoms.html
[Default:]
The option defaults are mol = no, maxangle = 10.
The option defaults are mol = no, maxangle = 10, full_energy = no.
:line