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

This commit is contained in:
sjplimp 2014-09-09 15:17:43 +00:00
parent ac246386d0
commit 95d3f975f5
6 changed files with 945 additions and 648 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -42,9 +42,29 @@ fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq
and Goddard)</A> and formulated in <A HREF = "#Nakano">(Nakano)</A> (also known
as the matrix inversion method) and in <A HREF = "#Rick">(Rick and Stuart)</A> (also
known as the extended Lagrangian method) based on the
electronegativity equilization principle. These fixes can be used
with any potential in LAMMPS, so long as it defines and uses charges
on each atom and that QEq parameters are provided.
electronegativity equilization principle.
</P>
<P>These fixes can be used with any <A HREF = "pair_style.html">pair style</A> in
LAMMPS, so long as per-atom charges are defined. The most typical
use-case is in conjunction with a <A HREF = "pair_style.html">pair style</A> that
performs charge equilibration periodically (e.g. every timestep), such
as the ReaxFF or Streitz-Mintmire potential (the latter is not yet
implemented in LAMMPS). But these fixes can also be used with
potentials that normally assume per-atom charges are fixed, e.g. a
<A HREF = "pair_buck.html">Buckingham</A> or <A HREF = "pair_lj.html">LJ/Coulombic</A> potential.
</P>
<P>Because the charge equilibration calculation is effectively
independent of the pair style, these fixes can also be used to perform
a one-time assignment of charges to atoms. For example, you could
define the QEq fix, perform a zero-timestep run via the <A HREF = "run.html">run</A>
command without any pair style defined which would set per-atom
charges (based on the current atom configuration), then remove the fix
via the <A HREF = "unfix.html">unfix</A> command before performing further dynamics.
</P>
<P>IMPORTANT NOTE: Computing and using charge values different from
published values defined for a fixed-charge potential like Buckingham
or CHARMM or AMBER, can have a strong effect on energies and forces,
and produces a different model than the published versions.
</P>
<P>IMPORTANT NOTE: The <A HREF = "fix_qeq_comb.html">fix qeq/comb</A> command must
still be used to perform charge equliibration with the <A HREF = "pair_comb.html">COMB

View File

@ -36,9 +36,29 @@ Perform the charge equilibration (QEq) method as described in "(Rappe
and Goddard)"_#Rappe and formulated in "(Nakano)"_#Nakano (also known
as the matrix inversion method) and in "(Rick and Stuart)"_#Rick (also
known as the extended Lagrangian method) based on the
electronegativity equilization principle. These fixes can be used
with any potential in LAMMPS, so long as it defines and uses charges
on each atom and that QEq parameters are provided.
electronegativity equilization principle.
These fixes can be used with any "pair style"_pair_style.html in
LAMMPS, so long as per-atom charges are defined. The most typical
use-case is in conjunction with a "pair style"_pair_style.html that
performs charge equilibration periodically (e.g. every timestep), such
as the ReaxFF or Streitz-Mintmire potential (the latter is not yet
implemented in LAMMPS). But these fixes can also be used with
potentials that normally assume per-atom charges are fixed, e.g. a
"Buckingham"_pair_buck.html or "LJ/Coulombic"_pair_lj.html potential.
Because the charge equilibration calculation is effectively
independent of the pair style, these fixes can also be used to perform
a one-time assignment of charges to atoms. For example, you could
define the QEq fix, perform a zero-timestep run via the "run"_run.html
command without any pair style defined which would set per-atom
charges (based on the current atom configuration), then remove the fix
via the "unfix"_unfix.html command before performing further dynamics.
IMPORTANT NOTE: Computing and using charge values different from
published values defined for a fixed-charge potential like Buckingham
or CHARMM or AMBER, can have a strong effect on energies and forces,
and produces a different model than the published versions.
IMPORTANT NOTE: The "fix qeq/comb"_fix_qeq_comb.html command must
still be used to perform charge equliibration with the "COMB

View File

@ -370,6 +370,26 @@ capable compilers is to use one thread for each available CPU core
when <I>OMP_NUM_THREADS</I> is not set, which can lead to extremely bad
performance.
</P>
<P>By default LAMMPS uses 1 thread per MPI task. If the environment
variable OMP_NUM_THREADS is set to a valid value, this value is used.
You can set this environment variable when you launch LAMMPS, e.g.
</P>
<PRE>env OMP_NUM_THREADS=4 lmp_machine -sf omp -in in.script
env OMP_NUM_THREADS=2 mpirun -np 2 lmp_machine -sf omp -in in.script
mpirun -x OMP_NUM_THREADS=2 -np 2 lmp_machine -sf omp -in in.script
</PRE>
<P>or you can set it permanently in your shell's start-up script.
All three of these examples use a total of 4 CPU cores.
</P>
<P>Note that different MPI implementations have different ways of passing
the OMP_NUM_THREADS environment variable to all MPI processes. The
2nd line above is for MPICH; the 3rd line with -x is for OpenMPI.
Check your MPI documentation for additional details.
</P>
<P>You can also set the number of threads per MPI task via the <A HREF = "package.html">package
omp</A> command, which will override any OMP_NUM_THREADS
setting.
</P>
<P>Which combination of threads and MPI tasks gives the best performance
is difficult to predict and can depend on many components of your input.
Not all features of LAMMPS support OpenMP and the parallel efficiency

View File

@ -364,6 +364,34 @@ capable compilers is to use one thread for each available CPU core
when {OMP_NUM_THREADS} is not set, which can lead to extremely bad
performance.
By default LAMMPS uses 1 thread per MPI task. If the environment
variable OMP_NUM_THREADS is set to a valid value, this value is used.
You can set this environment variable when you launch LAMMPS, e.g.
env OMP_NUM_THREADS=4 lmp_machine -sf omp -in in.script
env OMP_NUM_THREADS=2 mpirun -np 2 lmp_machine -sf omp -in in.script
mpirun -x OMP_NUM_THREADS=2 -np 2 lmp_machine -sf omp -in in.script :pre
or you can set it permanently in your shell's start-up script.
All three of these examples use a total of 4 CPU cores.
Note that different MPI implementations have different ways of passing
the OMP_NUM_THREADS environment variable to all MPI processes. The
2nd line above is for MPICH; the 3rd line with -x is for OpenMPI.
Check your MPI documentation for additional details.
You can also set the number of threads per MPI task via the "package
omp"_package.html command, which will override any OMP_NUM_THREADS
setting.
Which combination of threads and MPI tasks gives the best performance
is difficult to predict and can depend on many components of your input.
Not all features of LAMMPS support OpenMP and the parallel efficiency