git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14140 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
sjplimp 2015-10-21 19:40:47 +00:00
parent 8a10c55a3b
commit 1a488ad50a
3 changed files with 38 additions and 15 deletions

View File

@ -2515,7 +2515,9 @@ the electrostatic environment inducing polarizability.
<P>Technically, shells are attached to the cores by a spring force f = <P>Technically, shells are attached to the cores by a spring force f =
k*r where k is a parametrized spring constant and r is the distance k*r where k is a parametrized spring constant and r is the distance
between the core and the shell. The charges of the core and the shell between the core and the shell. The charges of the core and the shell
add up to the ion charge, thus q(ion) = q(core) + q(shell). In a add up to the ion charge, thus q(ion) = q(core) + q(shell). This
setup introduces the ion polarizability (alpha) given by
alpha = q(shell)^2 / k. In a
similar fashion the mass of the ion is distributed on the core and the similar fashion the mass of the ion is distributed on the core and the
shell with the core having the larger mass. shell with the core having the larger mass.
</P> </P>
@ -2560,7 +2562,7 @@ for NaCl, as found in examples/coreshell, has this format:
<P>Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only <P>Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only
defined between the shells. Coulombic interactions are defined defined between the shells. Coulombic interactions are defined
between all cores and shells. If desired, additional bonds can be between all cores and shells. If desired, additional bonds can be
specified between cores. specified between cores.
</P> </P>
<P>The <A HREF = "special_bonds.html">special_bonds</A> command should be used to <P>The <A HREF = "special_bonds.html">special_bonds</A> command should be used to
turn-off the Coulombic interaction within core/shell pairs, since that turn-off the Coulombic interaction within core/shell pairs, since that
@ -2577,7 +2579,7 @@ satellite particle if desired.
</P> </P>
<P>Since the core/shell model permits distances of r = 0.0 between the <P>Since the core/shell model permits distances of r = 0.0 between the
core and shell, a pair style with a "cs" suffix needs to be used to core and shell, a pair style with a "cs" suffix needs to be used to
implement a valid long-rangeCoulombic correction. Several such pair implement a valid long-range Coulombic correction. Several such pair
styles are provided in the CORESHELL package. See <A HREF = "pair_cs.html">this doc styles are provided in the CORESHELL package. See <A HREF = "pair_cs.html">this doc
page</A> for details. All of the core/shell enabled pair page</A> for details. All of the core/shell enabled pair
styles require the use of a long-range Coulombic solver, as specified styles require the use of a long-range Coulombic solver, as specified
@ -2600,8 +2602,9 @@ bond_coeff 2 25.724 0.0
<P>When running dynamics with the adiabatic core/shell model, the <P>When running dynamics with the adiabatic core/shell model, the
following issues should be considered. Since the relative motion of following issues should be considered. Since the relative motion of
the core and shell particles corresponds to the polarization, typical the core and shell particles corresponds to the polarization, typical
thermostats can alter the polarization behaviour, meaining the shell thermostats can alter the polarization behaviour, meaning the shell
will not react freely to its electrostatic environment. Therefore will not react freely to its electrostatic environment. This is
critical during the equilibration of the system. Therefore
it's typically desirable to decouple the relative motion of the it's typically desirable to decouple the relative motion of the
core/shell pair, which is an imaginary degree of freedom, from the core/shell pair, which is an imaginary degree of freedom, from the
real physical system. To do that, the <A HREF = "compute_temp_cs.html">compute real physical system. To do that, the <A HREF = "compute_temp_cs.html">compute
@ -2620,9 +2623,9 @@ into account by the <I>group-ID</I> (2nd argument) of the compute. The
groups can be defined using the <A HREF = "group.html">group <I>type</I></A> command. groups can be defined using the <A HREF = "group.html">group <I>type</I></A> command.
Note that to perform thermostatting using this definition of Note that to perform thermostatting using this definition of
temperature, the <A HREF = "fix_modify.html">fix modify temp</A> command should be temperature, the <A HREF = "fix_modify.html">fix modify temp</A> command should be
used to assign the comptue to the thermostat fix. Likewise the used to assign the compute to the thermostat fix. Likewise the
<A HREF = "thermo_modify.html">thermo_modify temp</A> command can be used to make <A HREF = "thermo_modify.html">thermo_modify temp</A> command can be used to make
this temperature be output for the overall system. this temperature be output for the overall system.
</P> </P>
<P>For the NaCl example, this can be done as follows: <P>For the NaCl example, this can be done as follows:
</P> </P>
@ -2634,6 +2637,15 @@ fix thermostatequ all nve # integrator as needed f
fix_modify thermoberendsen temp CSequ fix_modify thermoberendsen temp CSequ
thermo_modify temp CSequ # output of center-of-mass derived temperature thermo_modify temp CSequ # output of center-of-mass derived temperature
</PRE> </PRE>
<P>If <A HREF = "compute_temp_cs.html">compute temp/cs</A> is used, the decoupled
relative motion of the core and the shell should in theory be
stable. However numerical fluctuation can introduce a small
momentum to the system, which is noticable over long trajectories.
Therefore it is recomendable to use the <A HREF = "fix_momentum.html">fix
momentum</A> command in combination with <A HREF = "compute_temp_cs.html">compute
temp/cs</A> when equilibrating the system to
prevent any drift.
</P>
<P>When intializing the velocities of a system with core/shell pairs, it <P>When intializing the velocities of a system with core/shell pairs, it
is also desirable to not introduce energy into the relative motion of is also desirable to not introduce energy into the relative motion of
the core/shell particles, but only assign a center-of-mass velocity to the core/shell particles, but only assign a center-of-mass velocity to
@ -2653,12 +2665,19 @@ velocity. This allow the shells to effectively react instantaneously
to the electrostatic environment. This fast movement also limits the to the electrostatic environment. This fast movement also limits the
timestep size that can be used. timestep size that can be used.
</P> </P>
<P>Additionally, the mass mismatch of the core and shell particles means <P>The primary literature of the adiabatic core/shell model suggests that
that only a small amount of energy is transfered to the decoupled the fast relative motion of the core/shell pairs only allows negligible
imaginary degrees of freedom. However, this transfer will typically energy transfer to the environment. Therefore it is not intended to
lead to a a small drift in total energy over time. This internal decouple the core/shell degree of freedom from the physical system
energy can be monitored using the <A HREF = "compute_chunk_atom.html">compute during production runs. In other words, the <A HREF = "compute_temp_cs.html">compute
chunk/atom</A> and <A HREF = "compute_temp_chunk.html">compute temp/cs</A> command should not be used during
production runs and is only required during equilibration. This way one
is consistent with literature (based on the code packages DL_POLY or
GULP for instance).
</P>
<P>The mentioned energy transfer will typically lead to a a small drift
in total energy over time. This internal energy can be monitored
using the <A HREF = "compute_chunk_atom.html">compute chunk/atom</A> and <A HREF = "compute_temp_chunk.html">compute
temp/chunk</A> commands. The internal kinetic temp/chunk</A> commands. The internal kinetic
energies of each core/shell pair can then be summed using the sum() energies of each core/shell pair can then be summed using the sum()
special function of the <A HREF = "variable.html">variable</A> command. Or they can special function of the <A HREF = "variable.html">variable</A> command. Or they can

View File

@ -67,8 +67,8 @@ calculated by this compute for use in the computation of a pressure
tensor. The formula for the components of the tensor is the same as tensor. The formula for the components of the tensor is the same as
the above formula, except that v^2 is replaced by vx*vy for the xy the above formula, except that v^2 is replaced by vx*vy for the xy
component, etc. The 6 components of the vector are ordered xx, yy, component, etc. The 6 components of the vector are ordered xx, yy,
zz, xy, xz, yz. Again, the velocity of each core or shell atom is its zz, xy, xz, yz. In contrast to the temperature, the velocity of
COM velocity. each core or shell atom is taken individually.
</P> </P>
<P>The change this fix makes to core/shell atom velocities is essentially <P>The change this fix makes to core/shell atom velocities is essentially
computing the temperature after a "bias" has been removed from the computing the temperature after a "bias" has been removed from the

View File

@ -926,6 +926,10 @@
</dt> </dt>
<dt><a href="fix_ave_correlate_long.html#index-0">fix ave/correlate/long</a>
</dt>
<dt><a href="fix_ave_histo.html#index-0">fix ave/histo</a> <dt><a href="fix_ave_histo.html#index-0">fix ave/histo</a>
</dt> </dt>