forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12450 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
ac246386d0
commit
95d3f975f5
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue