forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14140 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
8a10c55a3b
commit
1a488ad50a
|
@ -2515,7 +2515,9 @@ the electrostatic environment inducing polarizability.
|
|||
<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
|
||||
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
|
||||
shell with the core having the larger mass.
|
||||
</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
|
||||
defined between the shells. Coulombic interactions are defined
|
||||
between all cores and shells. If desired, additional bonds can be
|
||||
specified between cores.
|
||||
specified between cores.
|
||||
</P>
|
||||
<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
|
||||
|
@ -2577,7 +2579,7 @@ satellite particle if desired.
|
|||
</P>
|
||||
<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
|
||||
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
|
||||
page</A> for details. All of the core/shell enabled pair
|
||||
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
|
||||
following issues should be considered. Since the relative motion of
|
||||
the core and shell particles corresponds to the polarization, typical
|
||||
thermostats can alter the polarization behaviour, meaining the shell
|
||||
will not react freely to its electrostatic environment. Therefore
|
||||
thermostats can alter the polarization behaviour, meaning the shell
|
||||
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
|
||||
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
|
||||
|
@ -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.
|
||||
Note that to perform thermostatting using this definition of
|
||||
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
|
||||
this temperature be output for the overall system.
|
||||
this temperature be output for the overall system.
|
||||
</P>
|
||||
<P>For the NaCl example, this can be done as follows:
|
||||
</P>
|
||||
|
@ -2634,6 +2637,15 @@ fix thermostatequ all nve # integrator as needed f
|
|||
fix_modify thermoberendsen temp CSequ
|
||||
thermo_modify temp CSequ # output of center-of-mass derived temperature
|
||||
</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
|
||||
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
|
||||
|
@ -2653,12 +2665,19 @@ velocity. This allow the shells to effectively react instantaneously
|
|||
to the electrostatic environment. This fast movement also limits the
|
||||
timestep size that can be used.
|
||||
</P>
|
||||
<P>Additionally, the mass mismatch of the core and shell particles means
|
||||
that only a small amount of energy is transfered to the decoupled
|
||||
imaginary degrees of freedom. However, this 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
|
||||
<P>The primary literature of the adiabatic core/shell model suggests that
|
||||
the fast relative motion of the core/shell pairs only allows negligible
|
||||
energy transfer to the environment. Therefore it is not intended to
|
||||
decouple the core/shell degree of freedom from the physical system
|
||||
during production runs. In other words, the <A HREF = "compute_temp_cs.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
|
||||
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
|
||||
|
|
|
@ -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
|
||||
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,
|
||||
zz, xy, xz, yz. Again, the velocity of each core or shell atom is its
|
||||
COM velocity.
|
||||
zz, xy, xz, yz. In contrast to the temperature, the velocity of
|
||||
each core or shell atom is taken individually.
|
||||
</P>
|
||||
<P>The change this fix makes to core/shell atom velocities is essentially
|
||||
computing the temperature after a "bias" has been removed from the
|
||||
|
|
|
@ -926,6 +926,10 @@
|
|||
</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>
|
||||
|
||||
|
|
Loading…
Reference in New Issue