Merge branch 'develop' into remove-smallsmall

This commit is contained in:
Axel Kohlmeyer
2025-03-15 02:11:02 -04:00
475 changed files with 6305 additions and 10865 deletions

View File

@ -1,6 +1,5 @@
# preset that enables KOKKOS and selects CUDA compilation with OpenMP # preset that enables KOKKOS and selects CUDA compilation with OpenMP
# enabled as well. This preselects CC 5.0 as default GPU arch, since # enabled as well. The GPU architecture *must* match your hardware
# that is compatible with all higher CC, but not the default CC 3.5
set(PKG_KOKKOS ON CACHE BOOL "" FORCE) set(PKG_KOKKOS ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE) set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE) set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE)

View File

@ -162,8 +162,8 @@ OPT.
* :doc:`phonon <fix_phonon>` * :doc:`phonon <fix_phonon>`
* :doc:`pimd/langevin <fix_pimd>` * :doc:`pimd/langevin <fix_pimd>`
* :doc:`pimd/nvt <fix_pimd>` * :doc:`pimd/nvt <fix_pimd>`
* :doc:`pimd/langevin/bosonic <fix_pimd_bosonic>` * :doc:`pimd/langevin/bosonic <fix_pimd>`
* :doc:`pimd/nvt/bosonic <fix_pimd_bosonic>` * :doc:`pimd/nvt/bosonic <fix_pimd>`
* :doc:`planeforce <fix_planeforce>` * :doc:`planeforce <fix_planeforce>`
* :doc:`plumed <fix_plumed>` * :doc:`plumed <fix_plumed>`
* :doc:`poems <fix_poems>` * :doc:`poems <fix_poems>`

View File

@ -170,6 +170,18 @@ performance characteristics on NVIDIA GPUs. Both, the KOKKOS
and the :ref:`GPU package <PKG-GPU>` are maintained and the :ref:`GPU package <PKG-GPU>` are maintained
and allow running LAMMPS with GPU acceleration. and allow running LAMMPS with GPU acceleration.
Compute atom/molecule
_____________________
.. deprecated:: 11 Dec2015
The atom/molecule command has been removed from LAMMPS since it was superseded
by the more general and extensible "chunk infrastructure". Here the system is
partitioned in one of many possible ways - including using molecule IDs -
through the :doc:`compute chunk/atom <compute_chunk_atom>` command and then
summing is done using :doc:`compute reduce/chunk <compute_reduce_chunk>` Please
refer to the :doc:`chunk HOWTO <Howto_chunk>` section for an overview.
Fix ave/spatial and fix ave/spatial/sphere Fix ave/spatial and fix ave/spatial/sphere
------------------------------------------ ------------------------------------------

View File

@ -24,4 +24,5 @@ of time and requests from the LAMMPS user community.
Classes Classes
Developer_platform Developer_platform
Developer_utils Developer_utils
Developer_internal
Developer_grid Developer_grid

View File

@ -0,0 +1,113 @@
Internal Styles
---------------
LAMMPS has a number of styles that are not meant to be used in an input
file and thus are not documented in the :doc:`LAMMPS command
documentation <Commands_all>`. The differentiation between user
commands and internal commands is through the case of the command name:
user commands and styles are all lower case, internal styles are all
upper case. Internal styles are not called from the input file, but
their classes are instantiated by other styles. Often they are
created by other styles to store internal data or to perform actions
regularly at specific steps of the simulation.
The paragraphs below document some of those styles that have general
utility and may be used to avoid redundant implementation.
DEPRECATED Styles
^^^^^^^^^^^^^^^^^
The styles called DEPRECATED (e.g. pair, bond, fix, compute, region, etc.)
have the purpose to inform users that a specific style has been removed
or renamed. This is achieved by creating an alias for the deprecated
style to the corresponding class. For example, the fix style DEPRECATED
is aliased to fix style ave/spatial and fix style ave/spatial/sphere with
the following code:
.. code-block:: c++
FixStyle(DEPRECATED,FixDeprecated);
FixStyle(ave/spatial,FixDeprecated);
FixStyle(ave/spatial/sphere,FixDeprecated);
The individual class will then determine based on the style name
what action to perform:
- inform that the style has been removed and what style replaces it, if any, and then error out
- inform that the style has been renamed and then either execute the replacement or error out
- inform that the style is no longer required, and it is thus ignored and continue
There is also a section in the user's guide for :doc:`removed commands
and packages <Commands_removed>` with additional explanations.
Internal fix styles
^^^^^^^^^^^^^^^^^^^
fix DUMMY
"""""""""
Most fix classes cannot be instantiated before the simulation box has
been created since they access data that is only available then.
However, in some cases it is required that a fix must be at or close to
the top of the list of all fixes. In those cases an instance of the
DUMMY fix style may be created by calling ``Modify::add_fix()`` and then
later replaced by calling ``Modify::replace_fix()``.
fix STORE/ATOM
""""""""""""""
Fix STORE/ATOM can be used as persistent storage of per-atom data.
**Syntax**
.. code-block:: LAMMPS
fix ID group-ID STORE/ATOM N1 N2 gflag rflag
* ID, group-ID are documented in :doc:`fix <fix>` command
* STORE/ATOM = style name of this fix command
* N1 = 1, N2 = 0 : data is per-atom vector = single value per atom
* N1 > 1, N2 = 0 : data is per-atom array = N1 values per atom
* N1 > 0, N2 > 0 : data is per-atom tensor = N1xN2 values per atom
* gflag = 1 communicate per-atom values with ghost atoms, 0 do not update ghost atom data
* rflag = 1 store per-atom value in restart file, 0 do not store data in restart
Similar functionality is also available through using custom per-atom
properties with :doc:`fix property/atom <fix_property_atom>`. The
choice between the two fixes should be based on whether the user should
be able to access this per-atom data: if yes, then fix property/atom is
preferred, otherwise fix STORE/ATOM.
fix STORE/GLOBAL
""""""""""""""""
Fix STORE/GLOBAL can be used as persistent storage of global data with support for restarts
**Syntax**
.. code-block:: LAMMPS
fix ID group-ID STORE/GLOBAL N1 N2
* ID, group-ID are documented in :doc:`fix <fix>` command
* STORE/GLOBAL = style name of this fix command
* N1 >=1 : number of global items to store
* N2 = 1 : data is global vector of length N1
* N2 > 1 : data is global N1xN2 array
fix STORE/LOCAL
"""""""""""""""
Fix STORE/LOCAL can be used as persistent storage for local data
**Syntax**
.. code-block:: LAMMPS
fix ID group-ID STORE/LOCAL Nreset Nvalues
* ID, group-ID are documented in :doc:`fix <fix>` command
* STORE/LOCAL = style name of this fix command
* Nreset = frequency at which local data is available
* Nvalues = number of values per local item, that is the number of columns

View File

@ -8,16 +8,7 @@ not the exact cause, or where the explanation needs to be more detailed
than what can be fit into a message printed by the program. The than what can be fit into a message printed by the program. The
following are discussions of such cases. following are discussions of such cases.
- :ref:`Unknown identifier in data file <err0001>` .. contents::
- :ref:`Incorrect format in ... section of data file <err0002>`
- :ref:`Illegal variable command: expected X arguments but found Y <err0003>`
- :ref:`Out of range atoms - cannot compute ... <err0004>`
- :ref:`Too many neighbor bins <err0009>`
- :ref:`Cannot use neighbor bins - box size \<\< cutoff <err0015>`
- :ref:`Domain too large for neighbor bins <err0017>`
- :ref:`Molecule topology/atom exceeds system topology/atom <err0024>`
- :ref:`Molecule topology type exceeds system topology type <err0025>`
- :ref:`Molecule attributes do not match system attributes <err0026>`
------ ------
@ -27,6 +18,8 @@ General troubleshooting advice
Below are suggestions that can help to understand the causes of problems Below are suggestions that can help to understand the causes of problems
with simulations leading to errors or unexpected results. with simulations leading to errors or unexpected results.
.. _hint01:
Create a small test system Create a small test system
^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -36,6 +29,8 @@ a small test system input that has the same issue, but will take much
time until it triggers the error condition. Also, it will be easier to time until it triggers the error condition. Also, it will be easier to
see what happens. see what happens.
.. _hint02:
Visualize your trajectory Visualize your trajectory
^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^
@ -46,6 +41,8 @@ avoid gigantic files, you can use :doc:`dump_modify delay <dump_modify>`
to delay output until the critical section is reached, and you can use a to delay output until the critical section is reached, and you can use a
smaller test system (see above). smaller test system (see above).
.. _hint03:
Parallel versus serial Parallel versus serial
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^
@ -55,16 +52,49 @@ only the symptoms are not triggering an error quickly. Correspondingly,
errors may be triggered faster with more processors and thus smaller errors may be triggered faster with more processors and thus smaller
sub-domains. sub-domains.
.. _hint04:
Segmentation Fault
^^^^^^^^^^^^^^^^^^
A segmentation fault is an error reported by the **operating system**
and not LAMMPS itself. It happens when a process tries to access a
memory address that is not available. This can have **many** reasons:
memory has not been allocated, a memory buffer is not large enough, a
memory address is computed from an incorrect index, a memory buffer is
used after it has been freed, some general memory corruption. When
investigating a segmentation fault (aka segfault), it is important to
determine which process is causing it; it may not always be LAMMPS. For
example, some MPI library implementations report a segmentation fault
from their "mpirun" or "mpiexec" command when the application has been
terminated unexpectedly.
While a segmentation fault is likely an indication of a bug in LAMMPS,
it need not always be; it can also be the consequence of too aggressive
simulation settings. For time critical code paths, LAMMPS will assume
the user has chosen the settings carefully and will not make any checks
to avoid to avoid performance penalties.
A crucial step in resolving a segmentation fault is to identify the exact
location in the code where it happens. Please see `Errors_debug` for
a couple of examples showing how to do this on a Linux machine. With
this information -- a simple way to reproduce the segmentation fault and
the exact :doc:`LAMMPS version <Manual_version>` and platform you are
running on -- you can contact the LAMMPS developers or post in the LAMMPS
forum to get assistance.
.. _hint05:
Fast moving atoms Fast moving atoms
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
Fast moving atoms may be "lost" or "missing" when their velocity becomes Fast moving atoms may be "lost" or "missing" when their velocity becomes
so large that they can cross a sub-domain within one timestep. This so large that they can cross a sub-domain within one timestep. This
often happens when atoms are too close, but atoms may also "move" too often happens when atoms are too close, but atoms may also "move" too
fast from sub-domain to sub-domain if the box changes rapidly, e.g. when fast from sub-domain to sub-domain if the box changes rapidly. E.g. when
setting a large an initial box with :doc:`shrink-wrap boundary setting a large an initial box with :doc:`shrink-wrap boundary
conditions <boundary>` that collapses on the first step (in this case conditions <boundary>` that collapses on the first step (in this case
the solution is often using 'm' instead of 's' as boundary condition). the solution is often using 'm' instead of 's' as a boundary condition).
To reduce the impact of "close contacts", one can remove those atoms or To reduce the impact of "close contacts", one can remove those atoms or
molecules with something like :doc:`delete_atoms overlap 0.1 all all molecules with something like :doc:`delete_atoms overlap 0.1 all all
@ -74,16 +104,28 @@ to first run a minimization (aka quench) before starting the MD. Reducing
the time step can also help. Many times, one just needs to "ease" the the time step can also help. Many times, one just needs to "ease" the
system into a balanced state and can then switch to more aggressive settings. system into a balanced state and can then switch to more aggressive settings.
The speed of atoms during an MD depends on the steepness of the The speed of atoms during an MD run depends on the steepness of the
potential function and their mass. Since the positions and velocities potential function and their mass. Since the positions and velocities
of atoms are computed with finite timesteps, they choice of timestep can of atoms are computed with finite timesteps, the timestep needs to be
be too large for a stable numeric integration of the trajectory. In small enough for stable numeric integration of the trajectory. If the timestep
those cases using (temporarily) :doc:`fix nve/limit <fix_nve_limit>` or is too large during initialization (or other instances of extreme dynamics),
:doc:`fix dt/reset <fix_dt_reset>` can help to avoid too large updates using :doc:`fix nve/limit <fix_nve_limit>` or :doc:`fix dt/reset <fix_dt_reset>`
or adapt the timestep according to the displacements. temporarily can help to avoid too large updates or adapt the timestep according
to the displacements.
.. _hint06:
Pressure, forces, positions becoming NaN of Inf Ignoring lost atoms
^^^^^^^^^^^^^^^^^^^
It is tempting to use the :doc:`thermo_modify lost ignore <thermo_modify>`
to avoid LAMMPS aborting with an error on lost atoms. This setting should,
however, *only* be used when atoms *should* leave the system. In general,
ignoring a problem does not solve it.
.. _hint07:
Pressure, forces, positions becoming NaN or Inf
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some potentials can overflow or have a division by zero with close contacts Some potentials can overflow or have a division by zero with close contacts
@ -99,24 +141,28 @@ package it may be beneficial to run with double precision initially before
switching to mixed or single precision for faster execution when the system switching to mixed or single precision for faster execution when the system
has relaxed. has relaxed.
.. _hint08:
Communication cutoff Communication cutoff
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
The communication cutoff determines the "overlap" between sub-domains The communication cutoff determines the "overlap" between sub-domains
and atoms in these regions are referred to in LAMMPS as "ghost atoms". and atoms in these regions are referred to in LAMMPS as "ghost atoms".
This region has to be large enough to contain all atoms of a bond, This region has to be large enough to contain all atoms of a bond,
angle, dihedral or improper with just one atom in the actual sub-domain. angle, dihedral, or improper with just one atom in the actual sub-domain.
Typically, this cutoff is set to the largest cutoff from the :doc:`pair Typically, this cutoff is set to the largest cutoff from the :doc:`pair
style(s) <pair_style>` plus the :doc:`neighbor list skin distance style(s) <pair_style>` plus the :doc:`neighbor list skin distance
<neighbor>` and will be more than sufficient for all bonded <neighbor>` and will typically be sufficient for all bonded
interactions. But if the pair style cutoff is small this may bot be interactions. But if the pair style cutoff is small, this may not be
enough. LAMMPS will print a warning in this case using some heuristic enough. LAMMPS will print a warning in this case using some heuristic
based on the equilibrium bond length, but that may not be sufficient for based on the equilibrium bond length, but that still may not be sufficient
cases where the force constants are small and thus bonds may be for cases where the force constants are small and thus bonds may be
stretched very far. The communication cutoff can be adjusted with stretched very far. The communication cutoff can be adjusted with
:doc:`comm_modify cutoff \<value\> <comm_modify>`, but setting this too :doc:`comm_modify cutoff \<value\> <comm_modify>`, but setting this too
large will waste CPU time and memory. large will waste CPU time and memory.
.. _hint09:
Neighbor list settings Neighbor list settings
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^
@ -125,16 +171,10 @@ for "lost" or "missing" atoms. Thus it can help to use very
conservative :doc:`neighbor list settings <neigh_modify>` and then conservative :doc:`neighbor list settings <neigh_modify>` and then
examine the neighbor list statistics if the neighbor list rebuild can be examine the neighbor list statistics if the neighbor list rebuild can be
safely delayed. Rebuilding the neighbor list less frequently safely delayed. Rebuilding the neighbor list less frequently
(i.e. through increasing the *delay* or *every* setting has diminishing (i.e. through increasing the *delay* or *every*) setting has diminishing
returns and increasing risks). returns and increasing risks.
Ignoring lost atoms .. _hint10:
^^^^^^^^^^^^^^^^^^^
It is tempting to use the :doc:`thermo_modify lost ignore <thermo_modify>`
to avoid that LAMMPS stops with an error. This setting should, however,
*only* be used when atoms *should* leave the system. In general, ignoring
a problem does not solve it.
Units Units
^^^^^ ^^^^^
@ -151,23 +191,48 @@ are parameterized for other settings, most notably :doc:`ReaxFF
potentials <pair_reaxff>` that use "real" units. potentials <pair_reaxff>` that use "real" units.
Also, individual parameters for :doc:`pair_coeff <pair_coeff>` commands Also, individual parameters for :doc:`pair_coeff <pair_coeff>` commands
taken from publications or other MD software, may need to be converted taken from publications or other MD software may need to be converted
and sometimes in unexpected ways. Thus some careful checking is and sometimes in unexpected ways. Thus some careful checking is
recommended. recommended.
.. _hint11:
No error message printed No error message printed
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
In some cases - especially when running in parallel with MPI - LAMMPS In some cases -- especially when running in parallel with MPI -- LAMMPS
may stop without displaying an error. But that does not mean, that may stop without displaying an error. But the fact that nothing was
there was no error message, instead it is highly likely that the message displayed does not mean there was not an error message. Instead it is
was written to a buffer and LAMMPS was aborted before the buffer was highly likely that the message was written to a buffer and LAMMPS was
output. Usually, output buffers are output for every line of output, aborted before the buffer was output. Usually, output buffers are output
but sometimes, this is delayed until 4096 or 8192 bytes of output have for every line of output, but sometimes this is delayed until 4096 or
been accumulated. This buffering for screen and logfile output can be 8192 bytes of output have been accumulated. This buffering for screen
disabled by using the :ref:`-nb or -nonbuf <nonbuf>` command-line flag. and logfile output can be disabled by using the :ref:`-nb or -nonbuf
This is most often needed when debugging crashing multi-replica <nonbuf>` command-line flag. This is most often needed when debugging
calculations. crashing multi-replica calculations.
.. _hint12:
Errors before or after the simulation box is created
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As critical step in a LAMMPS input is when the simulation box is
defined, either with a :doc:`create_box command <create_box>`, a
:doc:`read_data command <read_data>`, or a :doc:`read_restart command
<read_restart>`. After this step, certain settings are locked in (e.g.
units, or number of atom, bond, angle, dihedral, improper types) and
cannot be changed after that. Consequently, commands that change such
settings (e.g. :doc:`units <units>`) are only allowed before the box is
defined. Very few commands can be used before and after, like
:doc:`pair_style <pair_style>` (but not :doc:`pair_coeff <pair_coeff>`).
Most LAMMPS commands must be used after the simulation box is created.
Consequently, LAMMPS will stop with an error, if a command is used in
the wrong place. This is not always obvious. So index or string style
:doc:`variables <variable>` can be expanded anywhere in the input, but
equal style (or similar) variables can only be expanded before the box
is defined if they do not reference anything that cannot be defined
before the box (e.g. a compute or fix reference or a thermo keyword).
------ ------
@ -197,8 +262,8 @@ treated as a comment.
Another possibility to trigger this error is to have a keyword in the Another possibility to trigger this error is to have a keyword in the
data file that corresponds to a fix (e.g. :doc:`fix cmap <fix_cmap>`) data file that corresponds to a fix (e.g. :doc:`fix cmap <fix_cmap>`)
but the :doc:`read_data <read_data>` command is missing the (optional) but the :doc:`read_data <read_data>` command is missing the (optional)
arguments that identify the fix and the header keyword and section arguments that identify the fix and its header and section keywords.
keyword or those arguments are inconsistent with the keywords in the Alternatively, those arguments are inconsistent with the keywords in the
data file. data file.
.. _err0002: .. _err0002:
@ -208,63 +273,61 @@ Incorrect format in ... section of data file
This error happens when LAMMPS reads the contents of a section of a This error happens when LAMMPS reads the contents of a section of a
:doc:`data file <read_data>` and the number of parameters in the line :doc:`data file <read_data>` and the number of parameters in the line
differs from what is expected. This most commonly happens, when the differs from what is expected. This most commonly happens when the
atom style is different from what is expected for a specific data file atom style is different from what is expected for a specific data file
since changing the atom style usually changes the format of the line. since changing the atom style usually changes the format of the line.
This error can also happen when the number of entries indicated in the This error can also occur when the number of entries indicated in the
header of a data file (e.g. the number of atoms) is larger than the header of a data file (e.g. the number of atoms) is larger than the
number of lines provided (e.g. in the corresponding Atoms section) number of lines provided (e.g. in the corresponding Atoms section)
and then LAMMPS will continue reading into the next section and that causing LAMMPS to continue reading into the next section which has
would have a completely different format. a completely different format.
.. _err0003: .. _err0003:
Illegal variable command: expected X arguments but found Y Illegal variable command: expected X arguments but found Y
---------------------------------------------------------- ----------------------------------------------------------
This error indicates that there are the wrong number of arguments for a This error indicates that a variable command has the wrong number of
specific variable command, but a common reason for that is a variable arguments. A common reason for this is that the variable expression
expression that has whitespace but is not enclosed in single or double has whitespace, but is not enclosed in single or double quotes.
quotes.
To explain, the LAMMPS input parser reads and processes lines. The To explain, the LAMMPS input parser reads and processes lines. The
resulting line is broken down into "words". Those are usually resulting line is broken down into "words". Those are usually
individual commands, labels, names, values separated by whitespace (a individual commands, labels, names, and values separated by whitespace (a
space or tab character). For "words" that may contain whitespace, they space or tab character). For "words" that may contain whitespace, they
have to be enclosed in single (') or double (") quotes. The parser will have to be enclosed in single (') or double (") quotes. The parser will
then remove the outermost pair of quotes and then pass that string as then remove the outermost pair of quotes and pass that string as
"word" to the variable command. "word" to the variable command.
Thus missing quotes or accidental extra whitespace will lead to the Thus missing quotes or accidental extra whitespace will trigger this
error shown in the header because the unquoted whitespace will result error because the unquoted whitespace will result in the text being broken
in the text being broken into more "words", i.e. the variable expression into more "words", i.e. the variable expression being split.
being split.
.. _err0004: .. _err0004:
Out of range atoms - cannot compute ... Out of range atoms - cannot compute ...
--------------------------------------- ---------------------------------------
The PPPM (and also PPPMDisp and MSM) methods require to assemble a grid The PPPM (and also PPPMDisp and MSM) methods need to assemble a grid
of electron density data derived from the (partial) charges assigned to of electron density data derived from the (partial) charges assigned to
the atoms. This charges are smeared out across multiple grid points the atoms. These charges are smeared out across multiple grid points
(see :doc:`kspace_modify order <kspace_modify>`). When running in (see :doc:`kspace_modify order <kspace_modify>`). When running in
parallel with MPI, LAMMPS uses a :doc:`domain decomposition scheme parallel with MPI, LAMMPS uses a :doc:`domain decomposition scheme
<Developer_par_part>` where each processor manages a subset of atoms and <Developer_par_part>` where each processor manages a subset of atoms and
thus also a grid representing the density, which covers the actual thus also a grid representing the density. The processor's grid covers the
volume of the sub-domain and some extra space corresponding to the actual volume of the sub-domain and some extra space corresponding to the
:doc:`neighbor list skin <neighbor>`. These are then :doc:`combined and :doc:`neighbor list skin <neighbor>`. These are then :doc:`combined and
redistributed <Developer_par_long>` for parallel processing of the redistributed <Developer_par_long>` for parallel processing of the
long-range component of the Coulomb interaction. long-range component of the Coulomb interaction.
The ``Out of range atoms`` error can happen, when atoms move too fast or The ``Out of range atoms`` error can happen when atoms move too fast,
the neighbor list skin is too small or the neighbor lists are not the neighbor list skin is too small, or the neighbor lists are not
updated frequently enough. Then the smeared charges cannot be fully updated frequently enough. The smeared charges cannot then be fully
assigned to the density grid for all atoms. LAMMPS checks for this assigned to the density grid for all atoms. LAMMPS checks for this
condition and stops with an error. Most of the time, this is an condition and stops with an error. Most of the time, this is an
indication of a system with very high forces, most often at the indication of a system with very high forces, often at the beginning
beginning of a simulation or when boundary conditions are changed. The of a simulation or when boundary conditions are changed. The
error becomes more likely with more MPI processes. error becomes more likely with more MPI processes.
There are multiple options to explore for avoiding the error. The best There are multiple options to explore for avoiding the error. The best
@ -272,13 +335,73 @@ choice depends strongly on the individual system, and often a
combination of changes is required. For example, more conservative MD combination of changes is required. For example, more conservative MD
parameter settings can be used (larger neighbor skin, shorter time step, parameter settings can be used (larger neighbor skin, shorter time step,
more frequent neighbor list updates). Sometimes, it helps to revisit more frequent neighbor list updates). Sometimes, it helps to revisit
the system generation and avoid close contacts when building it, or use the system generation and avoid close contacts when building it. Otherwise
the :doc:`delete_atoms overlap<delete_atoms>` command to delete those one can use the :doc:`delete_atoms overlap<delete_atoms>` command to delete
close contact atoms, or run a minimization before the MD. It can also those close contact atoms or run a minimization before the MD. It can also
help to temporarily use a cutoff-Coulomb pair style and no kspace style help to temporarily use a cutoff-Coulomb pair style and no kspace style
until the system has somewhat equilibrated and then switch to the until the system has somewhat equilibrated and then switch to the
long-range solver. long-range solver.
.. _err0005:
Bond (or angle, dihedral, or improper) atoms missing
----------------------------------------------------
The second atom needed to compute a particular bond (or the third or fourth
atom for angle, dihedral, or improper) is missing on the indicated timestep
and processor. Typically, this is because the two bonded atoms have become
too far apart relative to the communication cutoff distance for ghost atoms.
By default, the communication cutoff is set by the pair cutoff. However, to
accommodate larger distances between topologically connected atoms, it can
be manually adjusted using :doc:`comm_modify <comm_modify>` at the cost of
increased communication and more ghost atoms. However, missing bond atoms
may also indicate that there are unstable dynamics which caused the atoms
to blow apart. In this scenario, increasing the communication distance will
not solve the underlying issue. Rather, see :ref:`Fast moving atoms <hint05>`
and :ref:`Neighbor list settings <hint09>` in the general troubleshooting
section above for ideas to fix unstable dynamics.
If atoms are intended to be lost during a simulation (e.g. due to open boundary
conditions or :doc:`fix evaporate <fix_evaporate>`) such that two bonded atoms
may be lost at different times from each other, this error can be converted to a
warning or turned off using the *lost/bond* keyword in the :doc:`thermo_modify
<thermo_modify>` command.
.. _err0006:
Non-numeric atom coords - simulation unstable
---------------------------------------------
This error usually occurs due to issues with system geometry or the potential in
use. See :ref:`Pressure, forces, positions becoming NaN or Inf <hint07>` above in the
general troubleshooting section.
.. _err0007:
Non-numeric pressure - simulation unstable
------------------------------------------
This error usually occurs due to issues with system geometry or the potential in
use. See :ref:`Pressure, forces, positions becoming NaN or Inf <hint07>` above in the
general troubleshooting section.
.. _err0008:
Lost atoms ...
--------------
A simulation stopping with an error due to lost atoms can have multiple
causes. In the majority of cases, lost atoms are unexpected and a result
of extremely high velocities causing instabilities in the system, and
those velocities can result from a variety of issues. For ideas on how
to track down issues with unexpected lost atoms, see :ref:`Fast moving
atoms <hint05>` and :ref:`Neighbor list settings <hint09>` in the
general troubleshooting section above. In specific situations however,
losing atoms is expected material behavior (e.g. with sputtering and
surface evaporation simulations) and an unwanted crash can be resolved
by changing the :doc:`thermo_modify lost <thermo_modify>` keyword from
the default 'error' to 'warn' or 'ignore' (though heed the advice in
:ref:`Ignoring lost atoms <hint06>` above!).
.. _err0009: .. _err0009:
Too many neighbor bins Too many neighbor bins
@ -287,9 +410,88 @@ Too many neighbor bins
The simulation box has become too large relative to the size of a The simulation box has become too large relative to the size of a
neighbor bin and LAMMPS is unable to store the needed number of neighbor bin and LAMMPS is unable to store the needed number of
bins. This typically implies the simulation box has expanded too far. bins. This typically implies the simulation box has expanded too far.
This can happen when some atoms move rapidly apart with shrink-wrap This can happen when some atoms move rapidly apart with shrink-wrap boundaries
boundaries or when a fix (like fix deform or a barostat) excessively or when a fix (like fix deform or a barostat) excessively grows the simulation
grows the simulation box. box.
.. _err0010:
Unrecognized pair style ... is part of ... package which is not enabled in this LAMMPS binary
---------------------------------------------------------------------------------------------
The LAMMPS executable (binary) being used was not compiled with a package
containing the specified pair style. This indicates that the executable needs to
be re-built after enabling the correct package in the relevant Makefile or CMake
build directory. See :doc:`Section 3. Build LAMMPS <Build>` for more details.
One can check if the expected package and pair style is present in the
executable by running it with the ``-help`` (or ``-h``) flag on the command
line. One common oversight, especially for beginner LAMMPS users, is to enable
the package, but to forget to run commands to rebuild (e.g., to run the final
``make`` or ``cmake`` command).
If this error is occurring with an executable that the user does not control
(e.g., through a module on HPC clusters), the user will need to get in contact
with the relevant person or people who can update the executable.
.. _err0012:
fmt::format_error
-----------------
LAMMPS uses the `{fmt} library <https://fmt.dev>`_ for advanced string
formatting tasks. This is similar to the ``printf()`` family of
functions from the standard C library, but more flexible. If there is a
bug in the LAMMPS code and the format string does not match the list of
arguments or has some other error, this error message will be shown.
You should contact the LAMMPS developers and report the bug as a `GitHub
Bug Report Issue <https://github.com/lammps/lammps/issues>`_ along with
sufficient information to easily reproduce it.
.. _err0013:
Substitution for illegal variable
---------------------------------
A variable in an input script or a variable expression was not found in
the list of valid variables. The most common reason for this is a typo
somewhere in the input file such that the expression uses an invalid variable
name. The second most common reason is omitting the curly braces for a
direct variable with a name that is not a single letter. For example:
.. code-block:: LAMMPS
variable cutoff index 10.0
pair_style lj/cut ${cutoff} # this is correct
pair_style lj/cut $cutoff # this is incorrect, LAMMPS looks for 'c' instead of 'cutoff'
variable c index 5.0 # if $c is defined, LAMMPS subsitutes only '$c' and reads: 5utoff
Another potential source of this error may be invalid command line
variables (-var or -v argument) used when launching LAMMPS from an
interactive shell or shell scripts. An uncommon source for this error
is using the :doc:`next command <next>` to advance through a list of values
provided by an index style variable. If there is no remaining element in
the list, LAMMPS will delete the variable and any following expansion or
reference attempt will trigger the error.
Users with harder-to-track variable errors might also find reading
:doc:`Section 5.2. Parsing rules for input scripts<Commands_parse>`
helpful.
.. _err0014:
Bond atom missing in image check or box size check
--------------------------------------------------
This can be either an error or a warning depending on your
:doc:`thermo_modify settings <thermo_modify>`. It is flagged in a part
of the LAMMPS code where it updates the domain decomposition and before
it builds the neighbor lists. It checks that both atoms of a bond are
within the communication cutoff of a subdomain. It is usually caused by
atoms moving too fast (see the :ref:`paragraph on fast moving atoms
<hint05>`), or by the :doc:`communication cutoff being too
small <comm_modify>`, or by waiting too long between :doc:`sub-domain
and neighbor list updates <neigh_modify>`.
.. _err0015: .. _err0015:
@ -305,31 +507,211 @@ fill space. This error can be avoided using the generally slower
:doc:`nsq neighbor style <neighbor>` or by increasing the size of the :doc:`nsq neighbor style <neighbor>` or by increasing the size of the
smallest box lengths. smallest box lengths.
.. _err0016:
Did not assign all atoms correctly
----------------------------------
This error happens most commonly when :doc:`reading a data file <read_data>`
under :doc:`non-periodic boundary conditions<boundary>`. Only atoms with
positions **inside** the simulation box will be read and thus any atoms
outside the box will be skipped and the total atom count will not match,
which triggers the error. This does not happen with periodic boundary
conditions where atoms outside the principal box will be "wrapped" into
the principal box and their image flags set accordingly.
Similar errors can happen with the :doc:`replicate command<replicate>` or
the :doc:`read_restart command<read_restart>`. In these cases the cause
may be a problematic geometry, an insufficient communication cutoff, or
a bug in the LAMMPS source code. In these cases it is advisable to set
up :ref:`small test case <hint01>` for testing and debugging. This will
be required in case you need to get help from a LAMMPS developer.
.. _err0017: .. _err0017:
Domain too large for neighbor bins Domain too large for neighbor bins
---------------------------------- ----------------------------------
The domain has become extremely large so that neighbor bins cannot The domain has become extremely large so that neighbor bins cannot
be used. Too many neighbor bins would need to be created to fill space be used. Too many neighbor bins would need to be created to fill space.
Most likely, one or more atoms have been blown out of the simulation Most likely, one or more atoms have been blown a great distance out of
box to a great distance or a fix (like fix deform or a barostat) has the simulation box or a fix (like fix deform or a barostat) has
excessively grown the simulation box. excessively grown the simulation box.
.. _err0018:
Step X: (h)bondchk failed
-------------------------
This error is a consequence of the heuristic memory allocations for
buffers of the regular ReaxFF version. In ReaxFF simulations, the lists
of bonds and hydrogen bonds can change due to chemical reactions. The
default approach, however, assumes that these changes are not very
large, so it allocates buffers for the current system setup plus a
safety margin. This can be adjusted with the :doc:`safezone, mincap,
and minhbonds settings of the pair style <pair_reaxff>`, but only to some
extent. When equilibrating a new system, or simulating a sparse system
in parallel, this can be difficult to control and become wasteful. A
simple workaround is often to break a simulation down in multiple
chunks. A better approach, however, is to compile and use the KOKKOS
package version of ReaxFF (you do not need a GPU for that, but can also
compile it in serial or OpenMP mode), which uses a more robust
memory allocation approach.
.. _err0019:
Numeric index X is out of bounds
--------------------------------
This error most commonly happens when setting force field coefficients
with either the :doc:`pair_coeff <pair_coeff>`, the :doc:`bond_coeff
<bond_coeff>`, the :doc:`angle_coeff <angle_coeff>`, the
:doc:`dihedral_coeff <dihedral_coeff>`, or the :doc:`improper_coeff
<improper_coeff>` command. These commands accept type labels,
explicit numbers, and wildcards for ranges of numbers. If the numeric
value of any of these is outside the valid range (defined by the number
of corresponding types), LAMMPS will stop with this error. A few other
commands and styles also allow ranges of numbers and check
using the same method and thus print the same kind of error.
The cause is almost always a typo in the input or a logic error
when defining the values or ranges. So one needs to carefully
review the input. Along with the error, LAMMPS will print the
valid range as a hint.
.. _err0020:
Compute, fix, or variable vector or array is accessed out-of-range
------------------------------------------------------------------
When accessing an individual element of a global vector or array or a
per-atom vector or array provided by a compute or fix or atom-style or
vector-style variable or data from a specific atom, an index in square
brackets ("[ ]") (or two indices) must be provided to determine which
element to access and it must be in a valid range or else LAMMPS would
access invalid data or crash with a segmentation fault. In the two most
common cases, where this data is accessed, :doc:`variable expressions
<variable>` and :doc:`thermodynamic output <thermo_style>`, LAMMPS will
check for valid indices and stop with an error otherwise.
While LAMMPS is written in C++ (which uses 0 based indexing) these
indices start at 1 (i.e. similar to Fortran). Any index smaller than 1
or larger than the maximum allowed value should trigger this error.
Since this kind of error frequently happens with rather complex
expressions, it is recommended to test these with small test systems,
where the values can be tracked with output files for all relevant
properties at every step.
.. _err0021:
Incorrect args for pair coefficients (also bond/angle/dihedral/improper coefficients)
-------------------------------------------------------------------------------------
The parameters in the :doc:`pair_coeff <pair_coeff>` command for a specified
:doc:`pair_style <pair_style>` have a missing or erroneous argument. The same
applies when seeing this error for :doc:`bond_coeff <bond_coeff>`,
:doc:`angle_coeff <angle_coeff>`, :doc:`dihedral_coeff <dihedral_coeff>`, or
:doc:`improper_coeff <improper_coeff>` and their respective style commands when
using the MOLECULE or EXTRA-MOLECULE packages. The cases below describe
some ways to approach pair coefficient errors, but the same strategies
apply to bonded systems as well.
Outside of normal typos, this error can have several sources. In all cases, the
first step is to compare the command arguments to the expected format found in
the corresponding :doc:`pair_style <pair_style>` page. This can reveal cases
where, for example, a pair style was changed, but the pair coefficients were not
updated. This can happen especially with pair style variants such as
:doc:`pair_style eam <pair_eam>` vs. :doc:`pair_style eam/alloy <pair_style>`
that look very similar but accept different parameters (the latter 'eam/alloy'
variant takes element type names while 'eam' does not).
Another common source of coefficient errors is when using multiple pair styles
with commands such as :doc:`pair_style hybrid <pair_hybrid>`. Using hybrid pair
styles requires adding an extra "label" argument in the coefficient commands
that designates which pair style the command line refers to. Moreover, if
the same pair style is used multiple times, this label must be followed by
an additional numeric argument. Also, different pair styles may require
different arguments.
This error message might also require a close look at other LAMMPS input files
that are read in by the input script, such as data files or restart files.
.. _err0022:
Energy was not tallied on needed timestep (also virial, per-atom energy, per-atom virial)
-----------------------------------------------------------------------------------------
This error is generated when LAMMPS attempts to access an out-of-date or
non-existent energy, pressure, or virial. For efficiency reasons,
LAMMPS does *not* calculate these quantities when the forces are
calculated on every timestep or iteration. Global quantities are only
calculated when they are needed for :doc:`thermo <thermo_style>` output
(at the beginning, end, and at regular intervals specified by the
:doc:`thermo <thermo>` command). Similarly, per-atom quantities are only
calculated if they are needed to write per-atom energy or virial to a
dump file. This system works fine for simple input scripts. However,
the many user-specified `variable`, `fix`, and `compute` commands that
LAMMPS provides make it difficult to anticipate when a quantity will be
requested. In some use cases, LAMMPS will figure out that a quantity is
needed and arrange for it to be calculated on that timestep e.g. if it
is requested by :doc:`fix ave/time <fix_ave_time>` or similar commands.
If that fails, it can be detected by a mismatch between the current
timestep and when a quantity was last calculated, in which case an error
message of this type is generated.
The most common cause of this type of error is requesting a quantity before
the start of the simulation.
.. code-block:: LAMMPS
# run 0 post no # this will fix the error
variable e equal pe # requesting energy compute
print "Potential energy = $e" # this will generate the error
run 1000 # start of simulation
This situation can be avoided by adding in a "run 0" command, as explained in
more detail in the "Variable Accuracy" section of the
:doc:`variable <variable>` doc page.
Another cause is requesting a quantity on a timestep that is not
a thermo or dump output timestep. This can often be
remedied by increasing the frequency of thermo or dump output.
.. _err0023:
Molecule auto special bond generation overflow
----------------------------------------------
In order to correctly apply the :doc:`special_bonds <special_bonds>`
settings (also known as "exclusions"), LAMMPS needs to maintain for each
atom a list of atoms that are connected to this atom, either directly with
a bond or indirectly through bonding with an intermediate atom(s). The purpose
is to either remove or tag those pairs of atoms in the neighbor list. This
information is stored with individual
atoms and thus the maximum number of such "special" neighbors is set
when the simulation box is created. When reading (relative) geometry
and topology of a 'molecule' from a :doc:`molecule file <molecule>`,
LAMMPS will build the list of such "special" neighbors for the molecule atom
(if not given in the molecule file explicitly). The error is triggered
when the resulting list is too long for the space reserved when
creating the simulation box. The solution is to increase the
corresponding setting. Overestimating this value will only consume
more memory, and is thus a safe choice.
.. _err0024: .. _err0024:
Molecule topology/atom exceeds system topology/atom Molecule topology/atom exceeds system topology/atom
--------------------------------------------------- ---------------------------------------------------
LAMMPS uses :doc:`domain decomposition <Developer_par_part>` to LAMMPS uses :doc:`domain decomposition <Developer_par_part>` to
distribute data (i.e. atoms) across the MPI processes in parallel runs. distribute data (i.e. atoms) across the MPI processes in parallel
This includes topology data, that is data about bonds, angles, runs. This includes topology data about bonds, angles,
dihedrals, impropers and :doc:`"special" neighbors <special_bonds>`. dihedrals, impropers and :doc:`"special" neighbors <special_bonds>`.
This information is stored with either one or all atoms involved in such This information is stored with either one or all atoms involved in such
a topology entry (which of the two option applies depends on the a topology entry (which of the two option applies depends on the
:doc:`newton <newton>` setting for bonds. When reading a data file, :doc:`newton <newton>` setting for bonds). When reading a data file,
LAMMPS analyzes the requirements for this file and then the values LAMMPS analyzes the requirements for this file and then the values are
are "locked in" and cannot be extended. "locked in" and cannot be extended.
So loading a molecule file that requires more of the topology per atom So loading a molecule file that requires more of the topology per atom
storage or adding a data file with such needs will lead to an error. To storage or adding a data file with such needs will lead to an error. To
@ -367,3 +749,113 @@ example, are usually not a per-atom property, but defined through the
atom type. Thus it would not be required to have a Masses section and atom type. Thus it would not be required to have a Masses section and
the included data would be ignored. LAMMPS prints this warning to the included data would be ignored. LAMMPS prints this warning to
inform about this case. inform about this case.
.. _err0027:
Inconsistent image flags
------------------------
This warning happens when the distance between the *unwrapped* x-, y-,
or z-components of the coordinates of a bond is larger than half the box
with periodic boundaries or larger than the box with non-periodic
boundaries. It means that the positions and image flags have become
inconsistent. LAMMPS will still compute bonded interactions based on
the closest periodic images of the atoms and thus in most cases the
results will be correct. Nevertheless, it is good practice to update
the system so that the message does not appear. It will help with
future manipulations of the system.
There is one case where this warning *must* appear: when you have a
chain of connected bonds that pass through the entire box and connect
back to the first atom in the chain through periodic boundaries,
i.e. some kind of "infinite polymer". In that case, the bond image
flags *must* be inconsistent for the one bond that reaches back to the
beginning of the chain.
.. _err0028:
No fixes with time integration, atoms won't move
------------------------------------------------
This warning will be issued if LAMMPS encounters a :doc:`run <run>` command that
does not have a preceding :doc:`fix <fix>` command that updates atom/object
positions and velocities per step. In other words, there are no fixes detected
that perform velocity-Verlet time integration, such as :doc:`fix nve <fix_nve>`.
Note that this alert does not mean that there are no active fixes. LAMMPS has a
very wide variety of fixes, many of which do not move objects but also operate
through steps, such as printing outputs (e.g. :doc:`fix print <fix_print>`),
performing calculations (e.g. :doc:`fix ave/time <fix_ave_time>`), or changing
other system parameters (e.g. :doc:`fix dt/reset <fix_dt_reset>`). It is up to
the user to determine whether the lack of a time-integrating fix is intentional
or not.
.. _err0029:
System is not charge neutral, net charge = ...
----------------------------------------------
the sum of charges in the system is not zero. When a system is not
charge-neutral, methods that evolve/manipulate per-atom charges, evaluate
Coulomb interactions, evaluate Coulomb forces, or evaluate/manipulate other
properties relying on per-atom charges may raise this warning. A non-zero
net charge most commonly arises after setting per-atom charges :doc:`set <set>`
such that the sum is non-zero or by reading in a system through :doc:`read_data
<read_data>` where the per-atom charges do not sum to zero. However, a loss of
charge neutrality may occur in other less common ways, like when charge
equilibration methods (e.g., :doc:`fix qeq <fix_qeq>`) fail.
A similar warning/error may be raised when using certain charge equilibration
methods: :doc:`fix qeq <fix_qeq>`, :doc:`fix qeq/comb <fix_qeq_comb>`, :doc:`fix
qeq/reaxff <fix_qeq_reaxff>`, and :doc:`fix qtpie/reaxff <fix_qtpie_reaxff>`. In
such cases, this warning/error will be raised for the fix :doc:`group <group>`
when the group has a non-zero net charge.
When the system is expected to be charge-neutral, this warning often arises due
to an error in the lammps input (e.g., an incorrect :doc:`set <set>` command,
error in the data file read by :doc:`read_data <read_data>`, incorrectly
grouping atoms with charge, etc.). If the system is NOT expected to be
charge-neutral, the user should make sure that the method(s) used are
appropriate for systems with a non-zero net charge. Some commonly used fixes for
charge equilibration :doc:`fix qeq <fix_qeq>`, pair styles that include charge
interactions :doc:`pair_style coul/XXX <pair_coul>`, and kspace methods
:doc:`kspace_style <kspace_style>` can, in theory, support systems with non-zero
net charge. However, non-zero net charge can lead to spurious artifacts. The
severity of these artifacts depends on the magnitude of total charge, system
size, and methods used. Before running simulations or calculations for systems
with non-zero net charge, users should test for artifacts and convergence of
properties.
.. _err0030:
Variable evaluation before simulation box is defined
----------------------------------------------------
This error happens, when trying to expand or use an equal- or atom-style
variable (or an equivalent style), where the expression contains a
reference to something (e.g. a compute reference, a property of an atom,
or a thermo keyword) that is not allowed to be used before the
simulation box is defined. See the paragraph on :ref:`errors before or
after the simulation box is created <hint12>` for additional
information.
.. _err0031:
Invalid thermo keyword 'X' in variable formula
----------------------------------------------
This error message is often misleading. It is caused when evaluating a
:doc:`variable command <variable>` expression and LAMMPS comes across a
string that it does not recognize. LAMMPS first checks if a string is a
reference to a compute, fix, custom property, or another variable by
looking at the first 2-3 characters (and if it is, it checks whether the
referenced item exists). Next LAMMPS checks if the string matches one
of the available functions or constants. If that fails, LAMMPS will
assume that this string is a :doc:`thermo keyword <thermo_style>` and
let the code for printing thermodynamic output return the corresponding
value. However, if this fails too, since the string is not a thermo
keyword, LAMMPS stops with the 'Invalid thermo keyword' error. But it
is also possible, that there is just a typo in the name of a valid
variable function. Thus it is recommended to check the failing variable
expression very carefully.

View File

@ -197,7 +197,7 @@ The LPS model has a force scalar state
.. math:: .. math::
\underline{t} = \frac{3K\theta}{m}\underline{\omega}\,\underline{x} + \underline{t} = \frac{3K\theta}{m}\underline{\omega}\,\underline{x} +
\alpha \underline{\omega}\,\underline{e}^{\rm d}, \qquad\qquad\textrm{(3)} \alpha \underline{\omega}\,\underline{e}^\mathrm{d}, \qquad\qquad\textrm{(3)}
with :math:`K` the bulk modulus and :math:`\alpha` related to the shear with :math:`K` the bulk modulus and :math:`\alpha` related to the shear
modulus :math:`G` as modulus :math:`G` as
@ -242,14 +242,14 @@ scalar state are defined, respectively, as
.. math:: .. math::
\underline{e}^{\rm i}=\frac{\theta \underline{x}}{3}, \qquad \underline{e}^\mathrm{i}=\frac{\theta \underline{x}}{3}, \qquad
\underline{e}^{\rm d} = \underline{e}- \underline{e}^{\rm i}, \underline{e}^\mathrm{d} = \underline{e}- \underline{e}^\mathrm{i},
where the arguments of the state functions and the vectors on which they where the arguments of the state functions and the vectors on which they
operate are omitted for simplicity. We note that the LPS model is linear operate are omitted for simplicity. We note that the LPS model is linear
in the dilatation :math:`\theta`, and in the deviatoric part of the in the dilatation :math:`\theta`, and in the deviatoric part of the
extension :math:`\underline{e}^{\rm d}`. extension :math:`\underline{e}^\mathrm{d}`.
.. note:: .. note::

View File

@ -249,23 +249,23 @@ as follows:
.. math:: .. math::
a = & {\rm lx} \\ a = & \mathrm{lx} \\
b^2 = & {\rm ly}^2 + {\rm xy}^2 \\ b^2 = & \mathrm{ly}^2 + \mathrm{xy}^2 \\
c^2 = & {\rm lz}^2 + {\rm xz}^2 + {\rm yz}^2 \\ c^2 = & \mathrm{lz}^2 + \mathrm{xz}^2 + \mathrm{yz}^2 \\
\cos{\alpha} = & \frac{{\rm xy}*{\rm xz} + {\rm ly}*{\rm yz}}{b*c} \\ \cos{\alpha} = & \frac{\mathrm{xy}*\mathrm{xz} + \mathrm{ly}*\mathrm{yz}}{b*c} \\
\cos{\beta} = & \frac{\rm xz}{c} \\ \cos{\beta} = & \frac{\mathrm{xz}}{c} \\
\cos{\gamma} = & \frac{\rm xy}{b} \\ \cos{\gamma} = & \frac{\mathrm{xy}}{b} \\
The inverse relationship can be written as follows: The inverse relationship can be written as follows:
.. math:: .. math::
{\rm lx} = & a \\ \mathrm{lx} = & a \\
{\rm xy} = & b \cos{\gamma} \\ \mathrm{xy} = & b \cos{\gamma} \\
{\rm xz} = & c \cos{\beta}\\ \mathrm{xz} = & c \cos{\beta}\\
{\rm ly}^2 = & b^2 - {\rm xy}^2 \\ \mathrm{ly}^2 = & b^2 - \mathrm{xy}^2 \\
{\rm yz} = & \frac{b*c \cos{\alpha} - {\rm xy}*{\rm xz}}{\rm ly} \\ \mathrm{yz} = & \frac{b*c \cos{\alpha} - \mathrm{xy}*\mathrm{xz}}{\mathrm{ly}} \\
{\rm lz}^2 = & c^2 - {\rm xz}^2 - {\rm yz}^2 \\ \mathrm{lz}^2 = & c^2 - \mathrm{xz}^2 - \mathrm{yz}^2 \\
The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and
:math:`\gamma` can be printed out or accessed by computes using the :math:`\gamma` can be printed out or accessed by computes using the

View File

@ -44,11 +44,6 @@ section below for examples where this has been done.
system the crossover (in single precision) is often about 50K-100K system the crossover (in single precision) is often about 50K-100K
atoms per GPU. When performing double precision calculations the atoms per GPU. When performing double precision calculations the
crossover point can be significantly smaller. crossover point can be significantly smaller.
* Both KOKKOS and GPU package compute bonded interactions (bonds, angles,
etc) on the CPU. If the GPU package is running with several MPI processes
assigned to one GPU, the cost of computing the bonded interactions is
spread across more CPUs and hence the GPU package can run faster in these
cases.
* When using LAMMPS with multiple MPI ranks assigned to the same GPU, its * When using LAMMPS with multiple MPI ranks assigned to the same GPU, its
performance depends to some extent on the available bandwidth between performance depends to some extent on the available bandwidth between
the CPUs and the GPU. This can differ significantly based on the the CPUs and the GPU. This can differ significantly based on the
@ -85,10 +80,10 @@ section below for examples where this has been done.
code (with a performance penalty due to having data transfers between code (with a performance penalty due to having data transfers between
host and GPU). host and GPU).
* The GPU package requires neighbor lists to be built on the CPU when using * The GPU package requires neighbor lists to be built on the CPU when using
exclusion lists, or a triclinic simulation box. hybrid pair styles, exclusion lists, or a triclinic simulation box.
* The GPU package can be compiled for CUDA or OpenCL and thus supports * The GPU package can be compiled for CUDA, HIP, or OpenCL and thus supports
both, NVIDIA and AMD GPUs well. On NVIDIA hardware, using CUDA is typically NVIDIA, AMD, and Intel GPUs well. On NVIDIA hardware, using CUDA is
resulting in equal or better performance over OpenCL. typically resulting in equal or better performance over OpenCL.
* OpenCL in the GPU package does theoretically also support Intel CPUs or * OpenCL in the GPU package does theoretically also support Intel CPUs or
Intel Xeon Phi, but the native support for those in KOKKOS (or INTEL) Intel Xeon Phi, but the native support for those in KOKKOS (or INTEL)
is superior. is superior.

View File

@ -142,7 +142,7 @@ is accordingly replaced with a square root. This approximation assumes bonds
are evenly distributed on a spherical surface and neglects constant prefactors are evenly distributed on a spherical surface and neglects constant prefactors
which are irrelevant since only the ratio of volumes matters. This term may be which are irrelevant since only the ratio of volumes matters. This term may be
used to adjust the Poisson's ratio. See the simulation in the used to adjust the Poisson's ratio. See the simulation in the
examples/bpm/poissons_ratio directory for a demonstration of this effect. ``examples/bpm/poissons_ratio`` directory for a demonstration of this effect.
If a bond is broken (or created), :math:`V_{0,i}` is updated by subtracting If a bond is broken (or created), :math:`V_{0,i}` is updated by subtracting
(or adding) that bond's contribution. (or adding) that bond's contribution.
@ -153,7 +153,7 @@ the data file or restart files read by the :doc:`read_data
<read_data>` or :doc:`read_restart <read_restart>` commands: <read_data>` or :doc:`read_restart <read_restart>` commands:
* :math:`k` (force/distance units) * :math:`k` (force/distance units)
* :math:`\epsilon_c` (unit less) * :math:`\epsilon_c` (unitless)
* :math:`\gamma` (force/velocity units) * :math:`\gamma` (force/velocity units)
Additionally, if *volume/factor* is set to *yes*, a fourth coefficient Additionally, if *volume/factor* is set to *yes*, a fourth coefficient

View File

@ -108,9 +108,9 @@ the data file or restart files read by the :doc:`read_data
<read_data>` or :doc:`read_restart <read_restart>` commands: <read_data>` or :doc:`read_restart <read_restart>` commands:
* :math:`k` (force/distance units) * :math:`k` (force/distance units)
* :math:`\epsilon_c` (unit less) * :math:`\epsilon_c` (unitless)
* :math:`\gamma` (force/velocity units) * :math:`\gamma` (force/velocity units)
* :math:`\epsilon_p (unit less) * :math:`\epsilon_p` (unitless)
See the :doc:`bpm/spring doc page <bond_bpm_spring>` for information on See the :doc:`bpm/spring doc page <bond_bpm_spring>` for information on
the *smooth*, *normalize*, *break*, *overlay/pair*, and *store/local* the *smooth*, *normalize*, *break*, *overlay/pair*, and *store/local*
@ -133,16 +133,17 @@ Restart and other info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This bond style writes the reference state and plastic history of each This bond style writes the reference state and plastic history of each
bond to :doc:`binary restart files <restart>`. Loading a restart bond to :doc:`binary restart files <restart>`. Loading a restart file
file will properly restore bonds. However, the reference state is NOT will properly restore bonds. However, the reference state is NOT written
written to data files. Therefore reading a data file will not to data files. Therefore reading a data file will not restore bonds and
restore bonds and will cause their reference states to be redefined. will cause their reference states to be redefined.
The potential energy and the single() function of this bond style returns zero. The potential energy and the single() function of this bond style
The single() function also calculates two extra bond quantities, the initial returns zero. The single() function also calculates two extra bond
distance :math:`r_0` and the current equilbrium length :math:`r_eq`. These extra quantities, the initial distance :math:`r_0` and the current equilibrium
quantities can be accessed by the :doc:`compute bond/local <compute_bond_local>` length :math:`r_eq`. These extra quantities can be accessed by the
command as *b1* and *b2*, respectively. :doc:`compute bond/local <compute_bond_local>` command as *b1* and *b2*,
respectively.
Restrictions Restrictions
"""""""""""" """"""""""""

View File

@ -60,6 +60,8 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`bond_coeff <bond_coeff>`, :doc:`delete_bonds <delete_bonds>` :doc:`bond_coeff <bond_coeff>`, :doc:`delete_bonds <delete_bonds>`
:doc:`bond style harmonic/shift <bond_harmonic_shift>`,
:doc:`bond style harmonic/shift/cut <bond_harmonic_shift_cut>`
Default Default
""""""" """""""

View File

@ -31,9 +31,15 @@ the potential
E = \frac{U_{\text{min}}}{(r_0-r_c)^2} \left[ (r-r_0)^2-(r_c-r_0)^2 \right] E = \frac{U_{\text{min}}}{(r_0-r_c)^2} \left[ (r-r_0)^2-(r_c-r_0)^2 \right]
where :math:`r_0` is the equilibrium bond distance, and :math:`r_c` the critical distance. where :math:`r_0` is the equilibrium bond distance, and :math:`r_c` the
The potential is :math:`-U_{\text{min}}` at :math:`r0` and zero at :math:`r_c`. The spring constant is critical distance. The potential energy has the value
:math:`k = U_{\text{min}} / [ 2 (r_0-r_c)^2]`. :math:`-U_{\text{min}}` at :math:`r_0` and zero at :math:`r_c`. This
bond style differs from :doc:`bond_style harmonic <bond_harmonic>`
by the value of the potential energy.
The equivalent spring constant value *K* for use with :doc:`bond_style
harmonic <bond_harmonic>` can be computed using :math:`K =
U_{\text{min}} / [(r_0-r_c)^2]`.
The following coefficients must be defined for each bond type via the The following coefficients must be defined for each bond type via the
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in :doc:`bond_coeff <bond_coeff>` command as in the example above, or in
@ -41,9 +47,7 @@ the data file or restart files read by the :doc:`read_data <read_data>`
or :doc:`read_restart <read_restart>` commands: or :doc:`read_restart <read_restart>` commands:
* :math:`U_{\text{min}}` (energy) * :math:`U_{\text{min}}` (energy)
* :math:`r_0` (distance) * :math:`r_0` (distance)
* :math:`r_c` (distance) * :math:`r_c` (distance)
---------- ----------
@ -63,7 +67,8 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`bond_coeff <bond_coeff>`, :doc:`delete_bonds <delete_bonds>`, :doc:`bond_coeff <bond_coeff>`, :doc:`delete_bonds <delete_bonds>`,
:doc:`bond_harmonic <bond_harmonic>` :doc:`bond style harmonic <bond_harmonic>`,
:doc:`bond style harmonic/shift/cut <bond_harmonic_shift_cut>`
Default Default
""""""" """""""

View File

@ -31,9 +31,14 @@ uses the potential
E = \frac{U_{\text{min}}}{(r_0-r_c)^2} \left[ (r-r_0)^2-(r_c-r_0)^2 \right] E = \frac{U_{\text{min}}}{(r_0-r_c)^2} \left[ (r-r_0)^2-(r_c-r_0)^2 \right]
where :math:`r_0` is the equilibrium bond distance, and rc the critical distance. where :math:`r_0` is the equilibrium bond distance, and :math:`r_c` the
The bond potential is zero for distances :math:`r > r_c`. The potential is :math:`-U_{\text{min}}` critical distance. The bond potential is zero and thus its force also
at :math:`r_0` and zero at :math:`r_c`. The spring constant is :math:`k = U_{\text{min}} / [ 2 (r_0-r_c)^2]`. zero for distances :math:`r > r_c`. The potential energy has the value
:math:`-U_{\text{min}}` at :math:`r_0` and zero at :math:`r_c`.
The equivalent spring constant value *K* for use with :doc:`bond_style
harmonic <bond_harmonic>` for :math:`r <= r_c`, can be computed using
:math:`K = U_{\text{min}} / [(r_0-r_c)^2]`
The following coefficients must be defined for each bond type via the The following coefficients must be defined for each bond type via the
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in :doc:`bond_coeff <bond_coeff>` command as in the example above, or in

View File

@ -94,7 +94,7 @@ the data file or restart files read by the :doc:`read_data
<read_data>` or :doc:`read_restart <read_restart>` commands: <read_data>` or :doc:`read_restart <read_restart>` commands:
* :math:`k` (force/distance units) * :math:`k` (force/distance units)
* :math:`\epsilon_c` (unit less) * :math:`\epsilon_c` (unitless)
* :math:`\gamma` (force/velocity units) * :math:`\gamma` (force/velocity units)
Unlike other BPM-style bonds, this bond style does not update special Unlike other BPM-style bonds, this bond style does not update special

View File

@ -67,7 +67,7 @@ following relation should also be satisfied:
.. math:: .. math::
r_c + r_s > 2*{\rm cutoff} r_c + r_s > 2*\mathrm{cutoff}
where :math:`r_c` is the cutoff distance of the potential, :math:`r_s` where :math:`r_c` is the cutoff distance of the potential, :math:`r_s`
is the skin is the skin

View File

@ -74,7 +74,7 @@ following relation should also be satisfied:
.. math:: .. math::
r_c + r_s > 2*{\rm cutoff} r_c + r_s > 2*\mathrm{cutoff}
where :math:`r_c` is the cutoff distance of the potential, :math:`r_s` is where :math:`r_c` is the cutoff distance of the potential, :math:`r_s` is
the skin the skin

View File

@ -50,9 +50,9 @@ the potential energy using the Wolf summation method, described in
.. math:: .. math::
E_i = \frac{1}{2} \sum_{j \neq i} E_i = \frac{1}{2} \sum_{j \neq i}
\frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} + \frac{q_i q_j \mathrm{erfc}(\alpha r_{ij})}{r_{ij}} +
\frac{1}{2} \sum_{j \neq i} \frac{1}{2} \sum_{j \neq i}
\frac{q_i q_j {\rm erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c \frac{q_i q_j \mathrm{erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c
where :math:`\alpha` is the damping parameter, and *erf()* and *erfc()* where :math:`\alpha` is the damping parameter, and *erf()* and *erfc()*
are error-function and complementary error-function terms. This are error-function and complementary error-function terms. This

View File

@ -40,7 +40,7 @@ is a complex number (stored as two real numbers) defined as follows:
.. math:: .. math::
q_n = \frac{1}{nnn}\sum_{j = 1}^{nnn} e^{n i \theta({\bf r}_{ij})} q_n = \frac{1}{nnn}\sum_{j = 1}^{nnn} e^{n i \theta({\textbf{r}}_{ij})}
where the sum is over the *nnn* nearest neighbors where the sum is over the *nnn* nearest neighbors
of the central atom. The angle :math:`\theta` of the central atom. The angle :math:`\theta`

View File

@ -49,7 +49,7 @@ For each atom, :math:`Q_\ell` is a real number defined as follows:
.. math:: .. math::
\bar{Y}_{\ell m} = & \frac{1}{nnn}\sum_{j = 1}^{nnn} Y_{\ell m}\bigl( \theta( {\bf r}_{ij} ), \phi( {\bf r}_{ij} ) \bigr) \\ \bar{Y}_{\ell m} = & \frac{1}{nnn}\sum_{j = 1}^{nnn} Y_{\ell m}\bigl( \theta( \mathbf{r}_{ij} ), \phi( \mathbf{r}_{ij} ) \bigr) \\
Q_\ell = & \sqrt{\frac{4 \pi}{2 \ell + 1} \sum_{m = -\ell }^{m = \ell } \bar{Y}_{\ell m} \bar{Y}^*_{\ell m}} Q_\ell = & \sqrt{\frac{4 \pi}{2 \ell + 1} \sum_{m = -\ell }^{m = \ell } \bar{Y}_{\ell m} \bar{Y}^*_{\ell m}}
The first equation defines the local order parameters as averages The first equation defines the local order parameters as averages

View File

@ -139,11 +139,11 @@ mapped on to a third polar angle :math:`\theta_0` defined by,
.. math:: .. math::
\theta_0 = {\sf rfac0} \frac{r-r_{min0}}{R_{ii'}-r_{min0}} \pi \theta_0 = \mathsf{rfac0} \frac{r-r_{min0}}{R_{ii'}-r_{min0}} \pi
In this way, all possible neighbor positions are mapped on to a subset In this way, all possible neighbor positions are mapped on to a subset
of the 3-sphere. Points south of the latitude :math:`\theta_0` = of the 3-sphere. Points south of the latitude
*rfac0* :math:`\pi` are excluded. :math:`\theta_0 = \mathsf{rfac0} \pi` are excluded.
The natural basis for functions on the 3-sphere is formed by the The natural basis for functions on the 3-sphere is formed by the
representatives of *SU(2)*, the matrices :math:`U^j_{m,m'}(\theta, \phi, representatives of *SU(2)*, the matrices :math:`U^j_{m,m'}(\theta, \phi,
@ -204,7 +204,7 @@ components summed separately for each LAMMPS atom type:
.. math:: .. math::
-\sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j} }}{\partial {\bf r}_i} -\sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j} }}{\partial \mathbf{r}_i}
The sum is over all atoms *i'* of atom type *I*\ . For each atom *i*, The sum is over all atoms *i'* of atom type *I*\ . For each atom *i*,
this compute evaluates the above expression for each direction, each this compute evaluates the above expression for each direction, each
@ -216,7 +216,7 @@ derivatives:
.. math:: .. math::
-{\bf r}_i \otimes \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j}}}{\partial {\bf r}_i} -\mathbf{r}_i \otimes \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j}}}{\partial \mathbf{r}_i}
Again, the sum is over all atoms *i'* of atom type *I*\ . For each atom Again, the sum is over all atoms *i'* of atom type *I*\ . For each atom
*i*, this compute evaluates the above expression for each of the six *i*, this compute evaluates the above expression for each of the six

View File

@ -65,7 +65,7 @@ In case of compute *stress/atom*, the virial contribution is:
W_{ab} & = \frac{1}{2} \sum_{n = 1}^{N_p} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b}) + \frac{1}{2} \sum_{n = 1}^{N_b} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b}) \\ W_{ab} & = \frac{1}{2} \sum_{n = 1}^{N_p} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b}) + \frac{1}{2} \sum_{n = 1}^{N_b} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b}) \\
& + \frac{1}{3} \sum_{n = 1}^{N_a} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b} + r_{3_a} F_{3_b}) + \frac{1}{4} \sum_{n = 1}^{N_d} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b} + r_{3_a} F_{3_b} + r_{4_a} F_{4_b}) \\ & + \frac{1}{3} \sum_{n = 1}^{N_a} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b} + r_{3_a} F_{3_b}) + \frac{1}{4} \sum_{n = 1}^{N_d} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b} + r_{3_a} F_{3_b} + r_{4_a} F_{4_b}) \\
& + \frac{1}{4} \sum_{n = 1}^{N_i} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b} + r_{3_a} F_{3_b} + r_{4_a} F_{4_b}) + {\rm Kspace}(r_{i_a},F_{i_b}) + \sum_{n = 1}^{N_f} r_{i_a} F_{i_b} & + \frac{1}{4} \sum_{n = 1}^{N_i} (r_{1_a} F_{1_b} + r_{2_a} F_{2_b} + r_{3_a} F_{3_b} + r_{4_a} F_{4_b}) + \mathrm{Kspace}(r_{i_a},F_{i_b}) + \sum_{n = 1}^{N_f} r_{i_a} F_{i_b}
The first term is a pairwise energy contribution where :math:`n` loops The first term is a pairwise energy contribution where :math:`n` loops
over the :math:`N_p` neighbors of atom :math:`I`, :math:`\mathbf{r}_1` over the :math:`N_p` neighbors of atom :math:`I`, :math:`\mathbf{r}_1`
@ -97,7 +97,7 @@ In case of compute *centroid/stress/atom*, the virial contribution is:
.. math:: .. math::
W_{ab} & = \sum_{n = 1}^{N_p} r_{I0_a} F_{I_b} + \sum_{n = 1}^{N_b} r_{I0_a} F_{I_b} + \sum_{n = 1}^{N_a} r_{I0_a} F_{I_b} + \sum_{n = 1}^{N_d} r_{I0_a} F_{I_b} + \sum_{n = 1}^{N_i} r_{I0_a} F_{I_b} \\ W_{ab} & = \sum_{n = 1}^{N_p} r_{I0_a} F_{I_b} + \sum_{n = 1}^{N_b} r_{I0_a} F_{I_b} + \sum_{n = 1}^{N_a} r_{I0_a} F_{I_b} + \sum_{n = 1}^{N_d} r_{I0_a} F_{I_b} + \sum_{n = 1}^{N_i} r_{I0_a} F_{I_b} \\
& + {\rm Kspace}(r_{i_a},F_{i_b}) + \sum_{n = 1}^{N_f} r_{i_a} F_{i_b} & + \mathrm{Kspace}(r_{i_a},F_{i_b}) + \sum_{n = 1}^{N_f} r_{i_a} F_{i_b}
As with compute *stress/atom*, the first, second, third, fourth and As with compute *stress/atom*, the first, second, third, fourth and
fifth terms are pairwise, bond, angle, dihedral and improper fifth terms are pairwise, bond, angle, dihedral and improper

View File

@ -263,10 +263,10 @@ then the globally defined weights from the ``fitting_weight_energy`` and
POD Potential POD Potential
""""""""""""" """""""""""""
We consider a multi-element system of *N* atoms with :math:`N_{\rm e}` We consider a multi-element system of *N* atoms with :math:`N_\mathrm{e}`
unique elements. We denote by :math:`\boldsymbol r_n` and :math:`Z_n` unique elements. We denote by :math:`\boldsymbol r_n` and :math:`Z_n`
position vector and type of an atom *n* in the system, position vector and type of an atom *n* in the system,
respectively. Note that we have :math:`Z_n \in \{1, \ldots, N_{\rm e} respectively. Note that we have :math:`Z_n \in \{1, \ldots, N_\mathrm{e}
\}`, :math:`\boldsymbol R = (\boldsymbol r_1, \boldsymbol r_2, \ldots, \}`, :math:`\boldsymbol R = (\boldsymbol r_1, \boldsymbol r_2, \ldots,
\boldsymbol r_N) \in \mathbb{R}^{3N}`, and :math:`\boldsymbol Z = (Z_1, \boldsymbol r_N) \in \mathbb{R}^{3N}`, and :math:`\boldsymbol Z = (Z_1,
Z_2, \ldots, Z_N) \in \mathbb{N}^{N}`. The total energy of the Z_2, \ldots, Z_N) \in \mathbb{N}^{N}`. The total energy of the

View File

@ -341,8 +341,8 @@ accelerated styles exist.
* :doc:`phonon <fix_phonon>` - calculate dynamical matrix from MD simulations * :doc:`phonon <fix_phonon>` - calculate dynamical matrix from MD simulations
* :doc:`pimd/langevin <fix_pimd>` - Feynman path-integral molecular dynamics with stochastic thermostat * :doc:`pimd/langevin <fix_pimd>` - Feynman path-integral molecular dynamics with stochastic thermostat
* :doc:`pimd/nvt <fix_pimd>` - Feynman path-integral molecular dynamics with Nose-Hoover thermostat * :doc:`pimd/nvt <fix_pimd>` - Feynman path-integral molecular dynamics with Nose-Hoover thermostat
* :doc:`pimd/langevin/bosonic <fix_pimd_bosonic>` - Bosonic Feynman path-integral molecular dynamics for with stochastic thermostat * :doc:`pimd/langevin/bosonic <fix_pimd>` - Bosonic Feynman path-integral molecular dynamics for with stochastic thermostat
* :doc:`pimd/nvt/bosonic <fix_pimd_bosonic>` - Bosonic Feynman path-integral molecular dynamics with Nose-Hoover thermostat * :doc:`pimd/nvt/bosonic <fix_pimd>` - Bosonic Feynman path-integral molecular dynamics with Nose-Hoover thermostat
* :doc:`planeforce <fix_planeforce>` - constrain atoms to move in a plane * :doc:`planeforce <fix_planeforce>` - constrain atoms to move in a plane
* :doc:`plumed <fix_plumed>` - wrapper on PLUMED free energy library * :doc:`plumed <fix_plumed>` - wrapper on PLUMED free energy library
* :doc:`poems <fix_poems>` - constrain clusters of atoms to move as coupled rigid bodies * :doc:`poems <fix_poems>` - constrain clusters of atoms to move as coupled rigid bodies

View File

@ -236,6 +236,8 @@ formulas for the meaning of these parameters:
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +------------------------------------------------------------------------------+--------------------------------------------------+-------------+
| :doc:`wf/cut <pair_wf_cut>` | epsilon,sigma,nu,mu | type pairs | | :doc:`wf/cut <pair_wf_cut>` | epsilon,sigma,nu,mu | type pairs |
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +------------------------------------------------------------------------------+--------------------------------------------------+-------------+
| :doc:`yukawa <pair_yukawa>` | alpha | type pairs |
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
.. note:: .. note::

View File

@ -459,8 +459,8 @@ output. This option can only be used with the *ave running* setting.
The *format* keyword sets the numeric format of each value when it is The *format* keyword sets the numeric format of each value when it is
printed to a file via the *file* keyword. Note that all values are printed to a file via the *file* keyword. Note that all values are
floating point quantities. The default format is %g. You can specify floating point quantities. The default format is " %g". You can specify
a higher precision if desired (e.g., %20.16g). a higher precision if desired (e.g., " %20.16g").
The *title1* and *title2* and *title3* keywords allow specification of The *title1* and *title2* and *title3* keywords allow specification of
the strings that will be printed as the first three lines of the output the strings that will be printed as the first three lines of the output

View File

@ -304,8 +304,8 @@ output. This option can only be used with the *ave running* setting.
The *format* keyword sets the numeric format of each value when it is The *format* keyword sets the numeric format of each value when it is
printed to a file via the *file* keyword. Note that all values are printed to a file via the *file* keyword. Note that all values are
floating point quantities. The default format is %g. You can specify floating point quantities. The default format is " %g". You can specify
a higher precision if desired (e.g., %20.16g). a higher precision if desired (e.g., " %20.16g").
The *title1* and *title2* and *title3* keywords allow specification of The *title1* and *title2* and *title3* keywords allow specification of
the strings that will be printed as the first 2 or 3 lines of the the strings that will be printed as the first 2 or 3 lines of the

View File

@ -60,9 +60,9 @@ With this fix active, the force on the *j*\ th atom is given as
.. math:: .. math::
{\bf F}_{j}(t) = & {\bf F}^C_j(t)-\int \limits_{0}^{t} \Gamma_j(t-s) {\bf v}_j(s)~\text{d}s + {\bf F}^R_j(t) \\ \mathbf{F}_{j}(t) = & \mathbf{F}^C_j(t)-\int \limits_{0}^{t} \Gamma_j(t-s) \mathbf{v}_j(s)~\text{d}s + \mathbf{F}^R_j(t) \\
\Gamma_j(t-s) = & \sum \limits_{k=1}^{N_k} \frac{c_k}{\tau_k} e^{-(t-s)/\tau_k} \\ \Gamma_j(t-s) = & \sum \limits_{k=1}^{N_k} \frac{c_k}{\tau_k} e^{-(t-s)/\tau_k} \\
\langle{\bf F}^R_j(t),{\bf F}^R_j(s)\rangle = & \text{k$_\text{B}$T} ~\Gamma_j(t-s) \langle\mathbf{F}^R_j(t),\mathbf{F}^R_j(s)\rangle = & \text{k$_\text{B}$T} ~\Gamma_j(t-s)
Here, the first term is representative of all conservative (pairwise, Here, the first term is representative of all conservative (pairwise,
bonded, etc) forces external to this fix, the second is the temporally bonded, etc) forces external to this fix, the second is the temporally

View File

@ -25,13 +25,14 @@ Syntax
* operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "\|\^" * operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "\|\^"
* avalue = numeric value to compare attribute to * avalue = numeric value to compare attribute to
* zero or more keyword/value pairs may be appended * zero or more keyword/value pairs may be appended
* keyword = *error* or *message* or *path* * keyword = *error* or *message* or *path* or *universe*
.. parsed-literal:: .. parsed-literal::
*error* value = *hard* or *soft* or *continue* *error* value = *hard* or *soft* or *continue*
*message* value = *yes* or *no* *message* value = *yes* or *no*
*path* value = path to check for free space (may be in quotes) *path* value = path to check for free space (may be in quotes)
*universe* value = *yes* or *no*
Examples Examples
@ -40,8 +41,10 @@ Examples
.. code-block:: LAMMPS .. code-block:: LAMMPS
fix 10 all halt 1 bondmax > 1.5 fix 10 all halt 1 bondmax > 1.5
fix 10 all halt 10 v_myCheck != 0 error soft fix 10 all halt 10 v_myCheck != 0 error soft message no
fix 10 all halt 100 diskfree < 100000.0 path "dump storage/." fix 10 all halt 100 diskfree < 100000.0 path "dump storage/."
fix 2 all halt 100 v_curtime > ${maxtime} universe yes
Description Description
""""""""""" """""""""""
@ -141,33 +144,52 @@ The optional *error* keyword determines how the current run is halted.
If its value is *hard*, then LAMMPS will stop with an error message. If its value is *hard*, then LAMMPS will stop with an error message.
If its value is *soft*, LAMMPS will exit the current run, but continue If its value is *soft*, LAMMPS will exit the current run, but continue
to execute subsequent commands in the input script. However, to execute subsequent commands in the input script. However, additional
additional :doc:`run <run>` or :doc:`minimize <minimize>` commands will be :doc:`run <run>` or :doc:`minimize <minimize>` commands will be skipped.
skipped. For example, this allows a script to output the current For example, this allows a script to output the current state of the
state of the system, e.g. via a :doc:`write_dump <write_dump>` or system, e.g. via a :doc:`write_dump <write_dump>` or :doc:`write_restart
:doc:`write_restart <write_restart>` command. <write_restart>` command. To re-enable regular runs after *fix halt*
stopped a run, you need to issue a :doc:`timer timeout unlimited
<timer>` command.
If its value is *continue*, the behavior is the same as for *soft*, If its value is *continue*, the behavior is the same as for *soft*,
except subsequent :doc:`run <run>` or :doc:`minimize <minimize>` commands except subsequent :doc:`run <run>` or :doc:`minimize <minimize>` commands
are executed. This allows your script to remedy the condition that are executed. This allows your script to remedy the condition that
triggered the halt, if necessary. Note that you may wish use the triggered the halt, if necessary. This is the equivalent of stopping
:doc:`unfix <unfix>` command on the fix halt ID, so that the same with *error soft* and followed by :doc:`timer timeout unlimited
condition is not immediately triggered in a subsequent run. <timer>` command. This can have undesired consequences, when a
:doc:`run command <run>` uses the *every* keyword, so using *error soft*
and resetting the timer manually may be the preferred option.
You may wish use the :doc:`unfix <unfix>` command on the *fix halt* ID
before starting a subsequent run, so that the same condition is not
immediately triggered again.
The optional *message* keyword determines whether a message is printed The optional *message* keyword determines whether a message is printed
to the screen and logfile when the halt condition is triggered. If to the screen and logfile when the halt condition is triggered. If
*message* is set to yes, a one line message with the values that *message* is set to yes, a one line message with the values that
triggered the halt is printed. If *message* is set to no, no message triggered the halt is printed. If *message* is set to no, no message is
is printed; the run simply exits. The latter may be desirable for printed; the run simply exits. The latter may be desirable for
post-processing tools that extract thermodynamic information from log post-processing tools that extract thermodynamic information from log
files. files.
.. versionadded:: TBD
The optional *universe* keyword determines whether the halt request
should be synchronized across the partitions of a :doc:`multi-partition
run <Run_options>`. If *universe* is set to yes, fix halt will check if
there is a specific message received from any of the other partitions
requesting to stop the run on this partition as well. Consequently, if
fix halt determines to halt the simulation, the fix will send messages
to all other partitions so they stop their runs, too.
Restart, fix_modify, output, run start/stop, minimize info Restart, fix_modify, output, run start/stop, minimize info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options No information about this fix is written to :doc:`binary restart files
are relevant to this fix. No global or per-atom quantities are stored <restart>`. None of the :doc:`fix_modify <fix_modify>` options are
by this fix for access by various :doc:`output commands <Howto_output>`. relevant to this fix. No global or per-atom quantities are stored by
this fix for access by various :doc:`output commands <Howto_output>`.
No parameter of this fix can be used with the *start/stop* keywords of No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. the :doc:`run <run>` command.
@ -183,4 +205,4 @@ Related commands
Default Default
""""""" """""""
The option defaults are error = soft, message = yes, and path = ".". The option defaults are error = soft, message = yes, path = ".", and universe = no.

View File

@ -130,7 +130,7 @@ calculated as:
.. math:: .. math::
{\bf F}_{j \alpha} = \gamma \left({\bf v}_n - {\bf u}_f \right) \zeta_{j\alpha} \mathbf{F}_{j \alpha} = \gamma \left(\mathbf{v}_n - \mathbf{u}_f \right) \zeta_{j\alpha}
where :math:`\mathbf{v}_n` is the velocity of the MD particle, where :math:`\mathbf{v}_n` is the velocity of the MD particle,
:math:`\mathbf{u}_f` is the fluid velocity interpolated to the particle :math:`\mathbf{u}_f` is the fluid velocity interpolated to the particle

View File

@ -180,7 +180,7 @@ force is added.
By default, no additional forces act on the first and last replicas By default, no additional forces act on the first and last replicas
during the NEB relaxation, so these replicas simply relax toward their during the NEB relaxation, so these replicas simply relax toward their
respective local minima. By using the key word *end*, additional forces respective local minima. By using the keyword *end*, additional forces
can be applied to the first and/or last replicas, to enable them to can be applied to the first and/or last replicas, to enable them to
relax toward a MEP while constraining their energy E to the target relax toward a MEP while constraining their energy E to the target
energy ETarget. energy ETarget.

View File

@ -208,19 +208,19 @@ The relaxation rate of the barostat is set by its inertia :math:`W`:
.. math:: .. math::
W = (N + 1) k_B T_{\rm target} P_{\rm damp}^2 W = (N + 1) k_B T_\mathrm{target} P_\mathrm{damp}^2
where :math:`N` is the number of atoms, :math:`k_B` is the Boltzmann constant, where :math:`N` is the number of atoms, :math:`k_B` is the Boltzmann constant,
and :math:`T_{\rm target}` is the target temperature of the barostat :ref:`(Martyna) <nh-Martyna>`. and :math:`T_\mathrm{target}` is the target temperature of the barostat :ref:`(Martyna) <nh-Martyna>`.
If a thermostat is defined, :math:`T_{\rm target}` is the target temperature If a thermostat is defined, :math:`T_\mathrm{target}` is the target temperature
of the thermostat. If a thermostat is not defined, :math:`T_{\rm target}` of the thermostat. If a thermostat is not defined, :math:`T_\mathrm{target}`
is set to the current temperature of the system when the barostat is initialized. is set to the current temperature of the system when the barostat is initialized.
If this temperature is too low the simulation will quit with an error. If this temperature is too low the simulation will quit with an error.
Note: in previous versions of LAMMPS, :math:`T_{\rm target}` would default to Note: in previous versions of LAMMPS, :math:`T_\mathrm{target}` would default to
a value of 1.0 for *lj* units and 300.0 otherwise if the system had a temperature a value of 1.0 for *lj* units and 300.0 otherwise if the system had a temperature
of exactly zero. of exactly zero.
If a thermostat is not specified by this fix, :math:`T_{\rm target}` can be If a thermostat is not specified by this fix, :math:`T_\mathrm{target}` can be
manually specified using the *Ptemp* parameter. This may be useful if the manually specified using the *Ptemp* parameter. This may be useful if the
barostat is initialized when the current temperature does not reflect the barostat is initialized when the current temperature does not reflect the
steady state temperature of the system. This keyword may also be useful in steady state temperature of the system. This keyword may also be useful in
@ -512,8 +512,8 @@ according to the following factorization of the Liouville propagator
.. math:: .. math::
\exp \left(\mathrm{i} L \Delta t \right) = & \hat{E} \exp \left(\mathrm{i} L \Delta t \right) = & \hat{E}
\exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_\mathrm{T\textrm{-}baro} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_\mathrm{T\textrm{-}part} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\ \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\
&\times \left[ &\times \left[
@ -526,8 +526,8 @@ according to the following factorization of the Liouville propagator
&\times &\times
\exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_\mathrm{T\textrm{-}part} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \\ \exp \left(\mathrm{i} L_\mathrm{T\textrm{-}baro} \frac{\Delta t}{2} \right) \\
&+ \mathcal{O} \left(\Delta t^3 \right) &+ \mathcal{O} \left(\Delta t^3 \right)
This factorization differs somewhat from that of Tuckerman et al, in This factorization differs somewhat from that of Tuckerman et al, in

View File

@ -426,8 +426,8 @@ according to the following factorization of the Liouville propagator
.. math:: .. math::
\exp \left(\mathrm{i} L \Delta t \right) = & \hat{E} \exp \left(\mathrm{i} L \Delta t \right) = & \hat{E}
\exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_\mathrm{T\textrm{-}baro} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_\mathrm{T\textrm{-}part} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\ \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\
&\times \left[ &\times \left[
@ -440,8 +440,8 @@ according to the following factorization of the Liouville propagator
&\times &\times
\exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_\mathrm{T\textrm{-}part} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \\ \exp \left(\mathrm{i} L_\mathrm{T\textrm{-}baro} \frac{\Delta t}{2} \right) \\
&+ \mathcal{O} \left(\Delta t^3 \right) &+ \mathcal{O} \left(\Delta t^3 \right)
This factorization differs somewhat from that of Tuckerman et al, in This factorization differs somewhat from that of Tuckerman et al, in

View File

@ -62,19 +62,19 @@ The potential energy added to atom I is given by these formulas
.. math:: .. math::
\xi_{i} = & \sum_{j=1}^{12} \left| \mathbf{r}_{j} - \mathbf{r}_{j}^{\rm I} \right| \qquad\qquad\left(1\right) \\ \xi_{i} = & \sum_{j=1}^{12} \left| \mathbf{r}_{j} - \mathbf{r}_{j}^\mathrm{I} \right| \qquad\qquad\left(1\right) \\
\\ \\
\xi_{\rm IJ} = & \sum_{j=1}^{12} \left| \mathbf{r}_{j}^{\rm J} - \mathbf{r}_{j}^{\rm I} \right| \qquad\qquad\left(2\right)\\ \xi_\mathrm{IJ} = & \sum_{j=1}^{12} \left| \mathbf{r}_{j}^\mathrm{J} - \mathbf{r}_{j}^\mathrm{I} \right| \qquad\qquad\left(2\right)\\
\\ \\
\xi_{\rm low} = & {\rm cutlo} \, \xi_{\rm IJ} \qquad\qquad\qquad\left(3\right)\\ \xi_\mathrm{low} = & \mathrm{cutlo} \, \xi_\mathrm{IJ} \qquad\qquad\qquad\left(3\right)\\
\xi_{\rm high} = & {\rm cuthi} \, \xi_{\rm IJ} \qquad\qquad\qquad\left(4\right) \\ \xi_\mathrm{high} = & \mathrm{cuthi} \, \xi_\mathrm{IJ} \qquad\qquad\qquad\left(4\right) \\
\\ \\
\omega_{i} = & \frac{\pi}{2} \frac{\xi_{i} - \xi_{\rm low}}{\xi_{\rm high} - \xi_{\rm low}} \qquad\qquad\left(5\right)\\ \omega_{i} = & \frac{\pi}{2} \frac{\xi_{i} - \xi_\mathrm{low}}{\xi_\mathrm{high} - \xi_\mathrm{low}} \qquad\qquad\left(5\right)\\
\\ \\
u_{i} = & 0 \quad\quad\qquad\qquad\qquad \textrm{ for } \qquad \xi_{i} < \xi_{\rm low}\\ u_{i} = & 0 \quad\quad\qquad\qquad\qquad \textrm{ for } \qquad \xi_{i} < \xi_\mathrm{low}\\
= & {\rm dE}\,\frac{1 - \cos(2 \omega_{i})}{2} = & \mathrm{dE}\,\frac{1 - \cos(2 \omega_{i})}{2}
\qquad \mathrm{ for }\qquad \xi_{\rm low} < \xi_{i} < \xi_{\rm high} \quad \left(6\right) \\ \qquad \mathrm{for }\qquad \xi_\mathrm{low} < \xi_{i} < \xi_\mathrm{high} \quad \left(6\right) \\
= & {\rm dE} \quad\qquad\qquad\qquad\textrm{ for } \qquad \xi_{\rm high} < \xi_{i} = & \mathrm{dE} \quad\qquad\qquad\qquad\textrm{ for } \qquad \xi_\mathrm{high} < \xi_{i}
which are fully explained in :ref:`(Janssens) <Janssens>`. For fcc crystals which are fully explained in :ref:`(Janssens) <Janssens>`. For fcc crystals
this order parameter Xi for atom I in equation (1) is a sum over the this order parameter Xi for atom I in equation (1) is a sum over the

View File

@ -9,11 +9,11 @@ fix pimd/langevin command
fix pimd/nvt command fix pimd/nvt command
==================== ====================
:doc:`fix pimd/langevin/bosonic <fix_pimd_bosonic>` command fix pimd/langevin/bosonic command
=========================================================== =================================
:doc:`fix pimd/nvt/bosonic <fix_pimd_bosonic>` command fix pimd/nvt/bosonic command
====================================================== ============================
Syntax Syntax
"""""" """"""
@ -23,7 +23,7 @@ Syntax
fix ID group-ID style keyword value ... fix ID group-ID style keyword value ...
* ID, group-ID are documented in :doc:`fix <fix>` command * ID, group-ID are documented in :doc:`fix <fix>` command
* style = *pimd/langevin* or *pimd/nvt* = style name of this fix command * style = *pimd/langevin* or *pimd/nvt* or *pimd/langevin/bosonic* or *pimd/nvt/bosonic* = style name of this fix command
* zero or more keyword/value pairs may be appended * zero or more keyword/value pairs may be appended
* keywords for style *pimd/nvt* * keywords for style *pimd/nvt*
@ -89,19 +89,20 @@ partition function for the original system to a classical partition
function for a ring-polymer system is exploited, to efficiently sample function for a ring-polymer system is exploited, to efficiently sample
configurations from the canonical ensemble :ref:`(Feynman) <Feynman>`. configurations from the canonical ensemble :ref:`(Feynman) <Feynman>`.
.. versionadded:: 11Mar2025 .. versionadded:: TBD
Fix *pimd/langevin/bosonic* and *pimd/nvt/bosonic* were added. Fix *pimd/langevin/bosonic* and *pimd/nvt/bosonic* were added.
Fix *pimd/nvt* and fix *pimd/langevin* simulate *distinguishable* quantum particles. Fix *pimd/nvt* and fix *pimd/langevin* simulate *distinguishable* quantum particles.
Simulations of bosons, including exchange effects, are supported with the :doc:`fix pimd/langevin/bosonic <fix_pimd_bosonic>` and :doc:`fix pimd/nvt/bosonic <fix_pimd_bosonic>` commands. Simulations of bosons, including exchange effects, are supported with the
fix *pimd/langevin/bosonic* and the *pimd/nvt/bosonic* commands.
For distinguishable particles, the isomorphic classical partition function and its components are given For distinguishable particles, the isomorphic classical partition function and its components are given
by the following equations: by the following equations:
.. math:: .. math::
Z = & \int d{\bf q} d{\bf p} \cdot \textrm{exp} [ -\beta H_{eff} ] \\ Z = & \int d\mathbf{q} d\mathbf{p} \cdot \textrm{exp} [ -\beta H_{eff} ] \\
H_{eff} = & \bigg(\sum_{i=1}^P \frac{p_i^2}{2M_i}\bigg) + V_{eff} \\ H_{eff} = & \bigg(\sum_{i=1}^P \frac{p_i^2}{2M_i}\bigg) + V_{eff} \\
V_{eff} = & \sum_{i=1}^P \bigg[ \frac{mP}{2\beta^2 \hbar^2} (q_i - q_{i+1})^2 + \frac{1}{P} V(q_i)\bigg] V_{eff} = & \sum_{i=1}^P \bigg[ \frac{mP}{2\beta^2 \hbar^2} (q_i - q_{i+1})^2 + \frac{1}{P} V(q_i)\bigg]
@ -173,15 +174,17 @@ normal-mode PIMD. A value of *cmd* is for centroid molecular dynamics
Mode *pimd* added to fix pimd/langevin. Mode *pimd* added to fix pimd/langevin.
Fix pimd/langevin supports the *method* values *nmpimd* and *pimd*. The default value is *nmpimd*. Fix pimd/langevin supports the *method* values *nmpimd* and *pimd*. The default
If *method* is *nmpimd*, the normal mode representation is used to integrate the equations of motion. value is *nmpimd*. If *method* is *nmpimd*, the normal mode representation is
The exact solution of harmonic oscillator is used to propagate the free ring polymer part of the Hamiltonian. used to integrate the equations of motion. The exact solution of harmonic
If *method* is *pimd*, the Cartesian representation is used to integrate the equations of motion. oscillator is used to propagate the free ring polymer part of the Hamiltonian.
The harmonic force is added to the total force of the system, and the numerical integrator is used to propagate the Hamiltonian. If *method* is *pimd*, the Cartesian representation is used to integrate the
equations of motion. The harmonic force is added to the total force of the
system, and the numerical integrator is used to propagate the Hamiltonian.
The keyword *integrator* specifies the Trotter splitting method used by *fix pimd/langevin*. The keyword *integrator* specifies the Trotter splitting method used by *fix
See :ref:`(Liu) <Liu>` for a discussion on the OBABO and BAOAB splitting schemes. Typically pimd/langevin*. See :ref:`(Liu) <Liu>` for a discussion on the OBABO and BAOAB
either of the two should work fine. splitting schemes. Typically either of the two should work fine.
The keyword *fmass* sets a further scaling factor for the fictitious The keyword *fmass* sets a further scaling factor for the fictitious
masses of beads, which can be used for the Partial Adiabatic CMD masses of beads, which can be used for the Partial Adiabatic CMD
@ -231,8 +234,8 @@ a positive floating-point number.
For pimd simulations, a temperature values should be specified even for nve ensemble. Temperature will make a difference For pimd simulations, a temperature values should be specified even for nve ensemble. Temperature will make a difference
for nve pimd, since the spring elastic frequency between the beads will be affected by the temperature. for nve pimd, since the spring elastic frequency between the beads will be affected by the temperature.
The keyword *thermostat* reads *style* and *seed* of thermostat for fix style *pimd/langevin*. *style* can only The keyword *thermostat* reads *style* and *seed* of thermostat for fix style *pimd/langevin*.
be *PILE_L* (path integral Langevin equation local thermostat, as described in :ref:`Ceriotti <Ceriotti2>`), and *seed* should a positive integer number, which serves as the seed of the pseudo random number generator. *style* can only be *PILE_L* (path integral Langevin equation local thermostat, as described in :ref:`Ceriotti <Ceriotti2>`), and *seed* should a positive integer number, which serves as the seed of the pseudo random number generator.
.. note:: .. note::
@ -418,7 +421,12 @@ LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` page for more info. <Build_package>` page for more info.
Fix *pimd/nvt* cannot be used with :doc:`lj units <units>`. Fix *pimd/nvt* cannot be used with :doc:`lj units <units>`.
Fix *pimd/langevin* can be used with :doc:`lj units <units>`. See the above part for how to use it. Fix *pimd/langevin* can be used with :doc:`lj units <units>`.
See the documentation above for how to use it.
Only some combinations of fix styles and their options support
partitions with multiple processors. LAMMPS will stop with an
error if multi-processor partitions are not supported.
A PIMD simulation can be initialized with a single data file read via A PIMD simulation can be initialized with a single data file read via
the :doc:`read_data <read_data>` command. However, this means all the :doc:`read_data <read_data>` command. However, this means all
@ -435,7 +443,7 @@ variable, e.g.
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`pimd/nvt/bosonic <fix_pimd_bosonic>`, :doc:`pimd/langevin/bosonic <fix_pimd_bosonic>` :doc:`fix ipi <fix_ipi>`
Default Default
""""""" """""""

View File

@ -1,237 +0,0 @@
.. index:: fix pimd/langevin/bosonic
.. index:: fix pimd/nvt/bosonic
fix pimd/langevin/bosonic command
=================================
fix pimd/nvt/bosonic command
============================
Syntax
""""""
.. code-block:: LAMMPS
fix ID group-ID style keyword value ...
* ID, group-ID are documented in :doc:`fix <fix>` command
* style = *pimd/langevin/bosonic* or *pimd/nvt/bosonic* = style name of this fix command
* zero or more keyword/value pairs may be appended
* keywords for style *pimd/nvt/bosonic*
.. parsed-literal::
*keywords* = *method* or *fmass* or *sp* or *temp* or *nhc*
*method* value = *pimd* or *nmpimd*
*fmass* value = scaling factor on mass
*sp* value = scaling factor on Planck constant
*temp* value = temperature (temperature units)
*nhc* value = Nc = number of chains in Nose-Hoover thermostat
* keywords for style *pimd/langevin/bosonic*
.. parsed-literal::
*keywords* = *integrator* or *ensemble* or *fmass* or *temp* or *thermostat* or *tau* or *fixcom* or *lj* or *esych*
*integrator* value = *obabo* or *baoab*
*ensemble* value = *nvt* or *nve*
*fmass* value = scaling factor on mass
*temp* value = temperature (temperature unit)
temperature = target temperature of the thermostat
*thermostat* values = style seed
style value = *PILE_L*
seed = random number generator seed
*tau* value = thermostat damping parameter (time unit)
*fixcom* value = *yes* or *no*
*lj* values = epsilon sigma mass planck mvv2e
epsilon = energy scale for reduced units (energy units)
sigma = length scale for reduced units (length units)
mass = mass scale for reduced units (mass units)
planck = Planck's constant for other unit style
mvv2e = mass * velocity^2 to energy conversion factor for other unit style
*esynch* value = *yes* or *no*
Examples
""""""""
.. code-block:: LAMMPS
fix 1 all pimd/nvt/bosonic method pimd fmass 1.0 sp 1.0 temp 2.0 nhc 4
fix 1 all pimd/langevin/bosonic integrator obabo temp 113.15 thermostat PILE_L 1234 tau 1.0
Example input files are provided in the examples/PACKAGES/pimd_bosonic directory.
Description
"""""""""""
These fix commands are based on the fixes :doc:`pimd/nvt and
pimd/langevin <fix_pimd>` for performing quantum molecular dynamics
simulations based on the Feynman path-integral formalism. The key
difference is that fix *pimd/nvt* and fix *pimd/langevin* simulate
*distinguishable* particles, while fix *pimd/nvt/bosonic* and fix
*pimd/langevin/bosonic* perform simulations of bosons, including exchange
effects. The *bosonic* commands share syntax with the equivalent commands for distinguishable particles.
The user is referred to the documentation of :doc:`these commands <fix_pimd>`
for a detailed syntax description and additional, general capabilities
of the commands. The major differences from fix *pimd/nvt* and fix *pimd/langevin* in terms of
capabilities are:
* Fix *pimd/nvt/bosonic* only supports the "pimd" and "nmpimd" methods. Fix
*pimd/langevin/bosonic* only supports the "pimd" method, which is the default
in this fix. These restrictions are related to the use of normal
modes, which change in bosons. For similar reasons, *fmmode* of
*pimd/langevin* should not be used, and would raise an error if set to
a value other than *physical*.
* Fix *pimd/langevin/bosonic* currently does not support *ensemble* other than
*nve*, *nvt*. The barostat related keywords *iso*, *aniso*,
*barostat*, *taup* are not supported.
* Fix *pimd/langevin/bosonic* also has a keyword not available in fix
*pimd/langevin*: *esynch*, with default *yes*. If set to *no*, some
time consuming synchronization of spring energies and the primitive
kinetic energy estimator between processors is avoided.
The isomorphism between the partition function of :math:`N` bosonic
quantum particles and that of a system of classical ring polymers at
inverse temperature :math:`\beta` is given by :ref:`(Tuckerman)
<book-Tuckerman>`:
.. math::
Z \propto \int d{\bf q} \cdot \frac{1}{N!} \sum_\sigma \textrm{exp} [ -\beta \left( E^\sigma + V \right) ].
Here, :math:`V` is the potential between different particles at the same
imaginary time slice, which is the same for bosons and distinguishable
particles. The sum is over all permutations :math:`\sigma`. Recall that
a permutation matches each element :math:`l` in :math:`1, ..., N` to an
element :math:`\sigma(l)` in :math:`1, ..., N` without repetitions. The
energies :math:`E^\sigma` correspond to the linking of ring polymers of
different particles according to the permutations:
.. math::
E^\sigma = \frac{mP}{2\beta^2 \hbar^2} \sum_{\ell=1}^N \sum_{j=1}^P \left(\mathbf{q}_\ell^j - \mathbf{q}_\ell^{j+1}\right)^2,
where :math:`P` is the number of beads and :math:`\mathbf{q}_\ell^{P+1}=\mathbf{q}_{\sigma(\ell)}^1.`
Hirshberg et. al. showed that the ring polymer potential
:math:`-\frac{1}{\beta}\textrm{ln}\left[ \frac{1}{N!} \sum_\sigma e ^ {
-\beta E^\sigma } \right]`, which scales exponentially with :math:`N`,
can be replaced by a potential :math:`V^{[1,N]}` defined through a
recurrence relation :ref:`(Hirshberg1) <Hirshberg>`:
.. math::
e ^ { -\beta V^{[1,N]} } = \frac{1}{N} \sum_{k=1}^N e ^ { -\beta \left( V^{[1,N-k]} + E^{[N-K+1,N]} \right)}.
Here, :math:`E^{[N-K+1,N]}` is the spring energy of the ring polymer
obtained by connecting the beads of particles :math:`N - k + 1, N - k +
2, ..., N` in a cycle. This potential does not include all :math:`N!`
permutations, but samples the same bosonic partition function. The
implemented algorithm in LAMMPS for calculating the potential is the one
developed by Feldman and Hirshberg, which scales like :math:`N^2+PN`
:ref:`(Feldman) <Feldman>`. The forces are calculated as weighted
averages over the representative permutations, through an algorithm that
scales the same as the one for the potential calculation, :math:`N^2+PN`
:ref:`(Feldman) <Feldman>`. The minimum-image convention is employed on
the springs to account for periodic boundary conditions; an elaborate
discussion of the validity of the approximation is available in
:ref:`(Higer) <HigerFeldman>`.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
The use of :doc:`binary restart files <restart>` and :doc:`fix_modify
<fix_modify>` is the same as in :doc:`fix pimd <fix_pimd>`.
Fix *pimd/nvt/bosonic* computes a global 4-vector, which can be accessed by
various :doc:`output commands <Howto_output>`. The quantities in
the global vector are:
#. the total spring energy of the quasi-beads,
#. the current temperature of the classical system of ring polymers,
#. the current value of the scalar virial estimator for the kinetic
energy of the quantum system :ref:`(Herman) <HermanBB>` (see the justification in the supporting information of :ref:`(Hirshberg2) <HirshbergInvernizzi>`),
#. the current value of the scalar primitive estimator for the kinetic
energy of the quantum system :ref:`(Hirshberg1) <Hirshberg>`.
The vector values calculated by fix *pimd/nvt/bosonic* are "extensive", except
for the temperature, which is "intensive".
Fix *pimd/langevin/bosonic* computes a global 6-vector, which can be accessed
by various :doc:`output commands <Howto_output>`. The quantities in the
global vector are:
#. kinetic energy of the beads,
#. spring elastic energy of the beads,
#. potential energy of the bead,
#. total energy of all beads (conserved if *ensemble* is *nve*) if *esynch* is *yes*
#. primitive kinetic energy estimator :ref:`(Hirshberg1) <Hirshberg>`
#. virial energy estimator :ref:`(Herman) <HermanBB>` (see the justification in the supporting information of :ref:`(Hirshberg2) <HirshbergInvernizzi>`).
The first three are different for different log files, and the others
are the same for different log files, except for the primitive kinetic
energy estimator when setting *esynch* to *no*. Then, the primitive
kinetic energy estimator is obtained by summing over all log files.
Also note that when *esynch* is set to *no*, the fourth output gives the
total energy of all beads excluding the spring elastic energy; the total
classical energy can then be obtained by adding the sum of second output
over all log files. All vector values calculated by fix
*pimd/langevin/bosonic* are "extensive".
For both *pimd/nvt/bosonic* and *pimd/langevin/bosonic*, the contribution of the
exterior spring to the primitive estimator is printed to the first log
file. The contribution of the :math:`P-1` interior springs is printed
to the other :math:`P-1` log files. The contribution of the constant
:math:`\frac{PdN}{2 \beta}` (with :math:`d` being the dimensionality) is
equally divided over log files.
Restrictions
""""""""""""
These fixes are part of the REPLICA package. They are only enabled if
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` page for more info.
The restrictions of :doc:`fix pimd <fix_pimd>` apply.
Related commands
""""""""""""""""
:doc:`pimd/nvt <fix_pimd>`, :doc:`pimd/langevin <fix_pimd>`
Default
"""""""
The keyword defaults for fix *pimd/nvt/bosonic* are method = pimd, fmass = 1.0,
sp = 1.0, temp = 300.0, and nhc = 2.
The keyword defaults for fix *pimd/langevin/bosonic* are integrator = obabo,
method = pimd, ensemble = nvt, fmass = 1.0, temp = 298.15, thermostat =
PILE_L, tau = 1.0, fixcom = yes, esynch = yes, and lj = 1 for all its
arguments.
----------
.. _book-Tuckerman:
**(Tuckerman)** M. Tuckerman, Statistical Mechanics: Theory and Molecular Simulation (Oxford University Press, 2010)
.. _Hirshberg:
**(Hirshberg1)** B. Hirshberg, V. Rizzi, and M. Parrinello, "Path integral molecular dynamics for bosons," Proc. Natl. Acad. Sci. U. S. A. 116, 21445 (2019)
.. _HirshbergInvernizzi:
**(Hirshberg2)** B. Hirshberg, M. Invernizzi, and M. Parrinello, "Path integral molecular dynamics for fermions: Alleviating the sign problem with the Bogoliubov inequality," J Chem Phys, 152, 171102 (2020)
.. _Feldman:
**(Feldman)** Y. M. Y. Feldman and B. Hirshberg, "Quadratic scaling bosonic path integral molecular dynamics," J. Chem. Phys. 159, 154107 (2023)
.. _HigerFeldman:
**(Higer)** J. Higer, Y. M. Y. Feldman, and B. Hirshberg, "Periodic Boundary Conditions for Bosonic Path Integral Molecular Dynamics," arXiv:2501.17618 (2025)
.. _HermanBB:
**(Herman)** M. F. Herman, E. J. Bruskin, B. J. Berne, J Chem Phys, 76, 5150 (1982).

View File

@ -207,6 +207,9 @@ No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. the :doc:`run <run>` command.
This fix is not invoked during :doc:`energy minimization <minimize>`. This fix is not invoked during :doc:`energy minimization <minimize>`.
This fix supports dynamic groups only if the *Nrepeat* setting is 1,
i.e. there is no averaging.
---------- ----------
.. include:: accel_styles.rst .. include:: accel_styles.rst

View File

@ -33,7 +33,7 @@ Syntax
*box* = the wall position is defined in simulation box units *box* = the wall position is defined in simulation box units
.. ..
FIXME: There are several "undocumented" key words for this fix: *rough*, FIXME: There are several "undocumented" keywords for this fix: *rough*,
*rampNL1*, *rampNL2*, *rampNL3*, *rampNL4*, and *rampNL5*. *rampNL1*, *rampNL2*, *rampNL3*, *rampNL4*, and *rampNL5*.
Examples Examples

View File

@ -98,14 +98,14 @@ all atoms
.. math:: .. math::
|| \vec{F} ||_{max} = {\rm max}\left(||\vec{F}_1||, \cdots, ||\vec{F}_N||\right) || \vec{F} ||_{max} = \mathrm{max}\left(||\vec{F}_1||, \cdots, ||\vec{F}_N||\right)
The *inf* norm takes the maximum component across the forces of The *inf* norm takes the maximum component across the forces of
all atoms in the system: all atoms in the system:
.. math:: .. math::
|| \vec{F} ||_{inf} = {\rm max}\left(|F_1^1|, |F_1^2|, |F_1^3| \cdots, |F_N^1|, |F_N^2|, |F_N^3|\right) || \vec{F} ||_{inf} = \mathrm{max}\left(|F_1^1|, |F_1^2|, |F_1^3| \cdots, |F_N^1|, |F_N^2|, |F_N^3|\right)
For the min styles *spin*, *spin/cg* and *spin/lbfgs*, the force For the min styles *spin*, *spin/cg* and *spin/lbfgs*, the force
norm is replaced by the spin-torque norm. norm is replaced by the spin-torque norm.

View File

@ -50,9 +50,9 @@ system:
.. math:: .. math::
{\Delta t}_{\rm max} = \frac{2\pi}{\kappa \left|\vec{\omega}_{\rm max} \right|} {\Delta t}_\mathrm{max} = \frac{2\pi}{\kappa \left|\vec{\omega}_\mathrm{max} \right|}
with :math:`\left|\vec{\omega}_{\rm max}\right|` the norm of the largest precession with :math:`\left|\vec{\omega}_\mathrm{max}\right|` the norm of the largest precession
frequency in the system (across all processes, and across all replicas if a frequency in the system (across all processes, and across all replicas if a
spin/neb calculation is performed). spin/neb calculation is performed).

View File

@ -108,12 +108,12 @@ potential energy of the system as a function of the N atom
coordinates: coordinates:
.. math:: .. math::
E(r_1,r_2, \ldots ,r_N) = & \sum_{i,j} E_{\it pair}(r_i,r_j) + E(r_1,r_2, \ldots ,r_N) = & \sum_{i,j} E_{pair}(r_i,r_j) +
\sum_{ij} E_{\it bond}(r_i,r_j) + \sum_{ij} E_{bond}(r_i,r_j) +
\sum_{ijk} E_{\it angle}(r_i,r_j,r_k) + \\ \sum_{ijk} E_{angle}(r_i,r_j,r_k) + \\
& \sum_{ijkl} E_{\it dihedral}(r_i,r_j,r_k,r_l) + & \sum_{ijkl} E_{dihedral}(r_i,r_j,r_k,r_l) +
\sum_{ijkl} E_{\it improper}(r_i,r_j,r_k,r_l) + \sum_{ijkl} E_{improper}(r_i,r_j,r_k,r_l) +
\sum_i E_{\it fix}(r_i) \sum_i E_{fix}(r_i)
where the first term is the sum of all non-bonded :doc:`pairwise where the first term is the sum of all non-bonded :doc:`pairwise
interactions <pair_style>` including :doc:`long-range Coulombic interactions <pair_style>` including :doc:`long-range Coulombic

View File

@ -148,7 +148,7 @@ spin i, :math:`\omega_i^{\nu}` is a rotation angle defined as:
.. math:: .. math::
\omega_i^{\nu} = (\nu - 1) \Delta \omega_i {\rm ~~and~~} \Delta \omega_i = \frac{\omega_i}{Q-1} \omega_i^{\nu} = (\nu - 1) \Delta \omega_i \mathrm{~~and~~} \Delta \omega_i = \frac{\omega_i}{Q-1}
with :math:`\nu` the image number, Q the total number of images, and with :math:`\nu` the image number, Q the total number of images, and
:math:`\omega_i` the total rotation between the initial and final spins. :math:`\omega_i` the total rotation between the initial and final spins.

View File

@ -53,14 +53,14 @@ materials as described in :ref:`(Feng1) <Feng1>` and :ref:`(Feng2) <Feng2>`.
.. math:: .. math::
E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} = & {\rm Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)} V_{ij} = & \mathrm{Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)}
\left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] - \left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] -
\frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}} \frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}}
\cdot \frac{C_6}{r^6_{ij}} \right \}\\ \cdot \frac{C_6}{r^6_{ij}} \right \}\\
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\ \rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\ \rho_{ji}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_j)^2 \\
f(\rho) = & C e^{ -( \rho / \delta )^2 } \\ f(\rho) = & C e^{ -( \rho / \delta )^2 } \\
{\rm Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 - \mathrm{Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 + 70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 - 84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1 35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1

View File

@ -241,9 +241,9 @@ summation method, described in :ref:`Wolf <Wolf1>`, given by:
.. math:: .. math::
E_i = \frac{1}{2} \sum_{j \neq i} E_i = \frac{1}{2} \sum_{j \neq i}
\frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} + \frac{q_i q_j \mathrm{erfc}(\alpha r_{ij})}{r_{ij}} +
\frac{1}{2} \sum_{j \neq i} \frac{1}{2} \sum_{j \neq i}
\frac{q_i q_j {\rm erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c \frac{q_i q_j \mathrm{erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c
where :math:`\alpha` is the damping parameter, and *erf()* and *erfc()* where :math:`\alpha` is the damping parameter, and *erf()* and *erfc()*
are error-function and complementary error-function terms. This are error-function and complementary error-function terms. This

View File

@ -40,8 +40,8 @@ the pair style :doc:`ilp/graphene/hbn <pair_ilp_graphene_hbn>`
.. math:: .. math::
E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} = & {\rm Tap}(r_{ij})\frac{\kappa q_i q_j}{\sqrt[3]{r_{ij}^3+(1/\lambda_{ij})^3}}\\ V_{ij} = & \mathrm{Tap}(r_{ij})\frac{\kappa q_i q_j}{\sqrt[3]{r_{ij}^3+(1/\lambda_{ij})^3}}\\
{\rm Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 - \mathrm{Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 + 70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 - 84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1 35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1

View File

@ -62,8 +62,8 @@ a sum of 3 terms
\mathbf{f} = & f^C + f^D + f^R \qquad \qquad r < r_c \\ \mathbf{f} = & f^C + f^D + f^R \qquad \qquad r < r_c \\
f^C = & A_{ij} w(r) \hat{\mathbf{r}}_{ij} \\ f^C = & A_{ij} w(r) \hat{\mathbf{r}}_{ij} \\
f^D = & - \gamma_{\parallel} w_{\parallel}^2(r) (\hat{\mathbf{r}}_{ij} \cdot \mathbf{v}_{ij}) \hat{\mathbf{r}}_{ij} - \gamma_{\perp} w_{\perp}^2 (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^{\rm T} ) \mathbf{v}_{ij} \\ f^D = & - \gamma_{\parallel} w_{\parallel}^2(r) (\hat{\mathbf{r}}_{ij} \cdot \mathbf{v}_{ij}) \hat{\mathbf{r}}_{ij} - \gamma_{\perp} w_{\perp}^2 (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^\mathrm{T} ) \mathbf{v}_{ij} \\
f^R = & \sigma_{\parallel} w_{\parallel}(r) \frac{\alpha}{\sqrt{\Delta t}} \hat{\mathbf{r}}_{ij} + \sigma_{\perp} w_{\perp} (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^{\rm T} ) \frac{\mathbf{\xi}_{ij}}{\sqrt{\Delta t}}\\ f^R = & \sigma_{\parallel} w_{\parallel}(r) \frac{\alpha}{\sqrt{\Delta t}} \hat{\mathbf{r}}_{ij} + \sigma_{\perp} w_{\perp} (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^\mathrm{T} ) \frac{\mathbf{\xi}_{ij}}{\sqrt{\Delta t}}\\
w(r) = & 1 - r/r_c \\ w(r) = & 1 - r/r_c \\
where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D` where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D`

View File

@ -68,21 +68,21 @@ force field, given by:
.. math:: .. math::
E = & \left[LJ(r) | Morse(r) \right] \qquad \qquad \qquad r < r_{\rm in} \\ E = & \left[LJ(r) | Morse(r) \right] \qquad \qquad \qquad r < r_\mathrm{in} \\
= & S(r) * \left[LJ(r) | Morse(r) \right] \qquad \qquad r_{\rm in} < r < r_{\rm out} \\ = & S(r) * \left[LJ(r) | Morse(r) \right] \qquad \qquad r_\mathrm{in} < r < r_\mathrm{out} \\
= & 0 \qquad \qquad \qquad \qquad \qquad \qquad \qquad r > r_{\rm out} \\ = & 0 \qquad \qquad \qquad \qquad \qquad \qquad \qquad r > r_\mathrm{out} \\
LJ(r) = & AR^{-12}-BR^{-10}cos^n\theta= LJ(r) = & AR^{-12}-BR^{-10}cos^n\theta=
\epsilon\left\lbrace 5\left[ \frac{\sigma}{r}\right]^{12}- \epsilon\left\lbrace 5\left[ \frac{\sigma}{r}\right]^{12}-
6\left[ \frac{\sigma}{r}\right]^{10} \right\rbrace cos^n\theta\\ 6\left[ \frac{\sigma}{r}\right]^{10} \right\rbrace cos^n\theta\\
Morse(r) = & D_0\left\lbrace \chi^2 - 2\chi\right\rbrace cos^n\theta= Morse(r) = & D_0\left\lbrace \chi^2 - 2\chi\right\rbrace cos^n\theta=
D_{0}\left\lbrace e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} D_{0}\left\lbrace e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)}
\right\rbrace cos^n\theta \\ \right\rbrace cos^n\theta \\
S(r) = & \frac{ \left[r_{\rm out}^2 - r^2\right]^2 S(r) = & \frac{ \left[r_\mathrm{out}^2 - r^2\right]^2
\left[r_{\rm out}^2 + 2r^2 - 3{r_{\rm in}^2}\right]} \left[r_\mathrm{out}^2 + 2r^2 - 3{r_\mathrm{in}^2}\right]}
{ \left[r_{\rm out}^2 - {r_{\rm in}}^2\right]^3 } { \left[r_\mathrm{out}^2 - {r_\mathrm{in}}^2\right]^3 }
where :math:`r_{\rm in}` is the inner spline distance cutoff, where :math:`r_\mathrm{in}` is the inner spline distance cutoff,
:math:`r_{\rm out}` is the outer distance cutoff, :math:`\theta_c` is :math:`r_\mathrm{out}` is the outer distance cutoff, :math:`\theta_c` is
the angle cutoff, and :math:`n` is the power of the cosine of the angle the angle cutoff, and :math:`n` is the power of the cosine of the angle
:math:`\theta`. :math:`\theta`.
@ -189,8 +189,8 @@ follows:
* :math:`\epsilon` (energy units) * :math:`\epsilon` (energy units)
* :math:`\sigma` (distance units) * :math:`\sigma` (distance units)
* *n* = exponent in formula above * *n* = exponent in formula above
* distance cutoff :math:`r_{\rm in}` (distance units) * distance cutoff :math:`r_\mathrm{in}` (distance units)
* distance cutoff :math:`r_{\rm out}` (distance units) * distance cutoff :math:`r_\mathrm{out}` (distance units)
* angle cutoff (degrees) * angle cutoff (degrees)
For the *hbond/dreiding/morse* style the list of coefficients is as For the *hbond/dreiding/morse* style the list of coefficients is as
@ -202,7 +202,7 @@ follows:
* :math:`\alpha` (1/distance units) * :math:`\alpha` (1/distance units)
* :math:`r_0` (distance units) * :math:`r_0` (distance units)
* *n* = exponent in formula above * *n* = exponent in formula above
* distance cutoff :math:`r_{\rm in}` (distance units) * distance cutoff :math:`r_\mathrm{in}` (distance units)
* distance cutoff :math:`r_{out}` (distance units) * distance cutoff :math:`r_{out}` (distance units)
* angle cutoff (degrees) * angle cutoff (degrees)

View File

@ -44,14 +44,14 @@ in :ref:`(Kolmogorov) <Kolmogorov2>`.
.. math:: .. math::
E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} = & {\rm Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)} V_{ij} = & \mathrm{Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)}
\left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] - \left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] -
\frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}} \frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}}
\cdot \frac{C_6}{r^6_{ij}} \right \}\\ \cdot \frac{C_6}{r^6_{ij}} \right \}\\
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\ \rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\ \rho_{ji}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_j)^2 \\
f(\rho) = & C e^{ -( \rho / \delta )^2 } \\ f(\rho) = & C e^{ -( \rho / \delta )^2 } \\
{\rm Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 - \mathrm{Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 + 70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 - 84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1 35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1

View File

@ -41,14 +41,14 @@ as described in :ref:`(Ouyang7) <Ouyang7>` and :ref:`(Jiang) <Jiang>`.
.. math:: .. math::
E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} = & {\rm Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)} V_{ij} = & \mathrm{Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)}
\left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] - \left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] -
\frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}} \frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}}
\cdot \frac{C_6}{r^6_{ij}} \right \}\\ \cdot \frac{C_6}{r^6_{ij}} \right \}\\
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\ \rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\ \rho_{ji}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_j)^2 \\
f(\rho) = & C e^{ -( \rho / \delta )^2 } \\ f(\rho) = & C e^{ -( \rho / \delta )^2 } \\
{\rm Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 - \mathrm{Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 + 70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 - 84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1 35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1
@ -67,7 +67,7 @@ calculating the normals.
normal vectors used for graphene and h-BN is no longer valid for TMDs. normal vectors used for graphene and h-BN is no longer valid for TMDs.
In :ref:`(Ouyang7) <Ouyang7>`, a new definition is proposed, where for In :ref:`(Ouyang7) <Ouyang7>`, a new definition is proposed, where for
each atom `i`, its six nearest neighboring atoms belonging to the same each atom `i`, its six nearest neighboring atoms belonging to the same
sub-layer are chosen to define the normal vector `{\bf n}_i`. sub-layer are chosen to define the normal vector `\mathbf{n}_i`.
The parameter file (e.g. TMD.ILP), is intended for use with *metal* The parameter file (e.g. TMD.ILP), is intended for use with *metal*
:doc:`units <units>`, with energies in meV. Two additional parameters, :doc:`units <units>`, with energies in meV. Two additional parameters,

View File

@ -37,8 +37,8 @@ No simplification is made,
E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} = & e^{-\lambda (r_{ij} -z_0)} \left [ C + f(\rho_{ij}) + f(\rho_{ji}) \right ] - A \left ( \frac{r_{ij}}{z_0}\right )^{-6} \\ V_{ij} = & e^{-\lambda (r_{ij} -z_0)} \left [ C + f(\rho_{ij}) + f(\rho_{ji}) \right ] - A \left ( \frac{r_{ij}}{z_0}\right )^{-6} \\
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{i})^2 \\ \rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij}\cdot \mathbf{n}_{i})^2 \\
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{j})^2 \\ \rho_{ji}^2 = & r_{ij}^2 - (\mathbf{r}_{ij}\cdot \mathbf{n}_{j})^2 \\
f(\rho) & = e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} { (\rho/\delta) }^{2n} f(\rho) & = e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} { (\rho/\delta) }^{2n}
It is important to have a sufficiently large cutoff to ensure smooth It is important to have a sufficiently large cutoff to ensure smooth

View File

@ -194,9 +194,9 @@ summation method, described in :ref:`Wolf <Wolf3>`, given by:
.. math:: .. math::
E_i = \frac{1}{2} \sum_{j \neq i} E_i = \frac{1}{2} \sum_{j \neq i}
\frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} + \frac{q_i q_j \mathrm{erfc}(\alpha r_{ij})}{r_{ij}} +
\frac{1}{2} \sum_{j \neq i} \frac{1}{2} \sum_{j \neq i}
\frac{q_i q_j {\rm erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c \frac{q_i q_j \mathrm{erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c
where :math:`\alpha` is the damping parameter, and erfc() is the where :math:`\alpha` is the damping parameter, and erfc() is the
complementary error-function terms. This potential is essentially a complementary error-function terms. This potential is essentially a

View File

@ -200,7 +200,7 @@ force :math:`F_{ij}^C` are expressed as
\mathbf{F}_{ij}^{D} & = -\gamma {\omega_{D}}(r_{ij})(\mathbf{e}_{ij} \cdot \mathbf{v}_{ij})\mathbf{e}_{ij} \\ \mathbf{F}_{ij}^{D} & = -\gamma {\omega_{D}}(r_{ij})(\mathbf{e}_{ij} \cdot \mathbf{v}_{ij})\mathbf{e}_{ij} \\
\mathbf{F}_{ij}^{R} & = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij} \\ \mathbf{F}_{ij}^{R} & = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij} \\
\omega_{C}(r) & = 1 - r/r_c \\ \omega_{C}(r) & = 1 - r/r_c \\
\omega_{D}(r) & = \omega^2_{R}(r) = (1-r/r_c)^{\rm power_f} \\ \omega_{D}(r) & = \omega^2_{R}(r) = (1-r/r_c)^\mathrm{power_f} \\
\sigma^2 = 2\gamma k_B T \sigma^2 = 2\gamma k_B T
The concentration flux between two tDPD particles includes the Fickian The concentration flux between two tDPD particles includes the Fickian
@ -211,7 +211,7 @@ by
Q_{ij}^D & = -\kappa_{ij} w_{DC}(r_{ij}) \left( C_i - C_j \right) \\ Q_{ij}^D & = -\kappa_{ij} w_{DC}(r_{ij}) \left( C_i - C_j \right) \\
Q_{ij}^R & = \epsilon_{ij}\left( C_i + C_j \right) w_{RC}(r_{ij}) \xi_{ij} \\ Q_{ij}^R & = \epsilon_{ij}\left( C_i + C_j \right) w_{RC}(r_{ij}) \xi_{ij} \\
w_{DC}(r_{ij}) & =w^2_{RC}(r_{ij}) = (1 - r/r_{cc})^{\rm power_{cc}} \\ w_{DC}(r_{ij}) & =w^2_{RC}(r_{ij}) = (1 - r/r_{cc})^\mathrm{power_{cc}} \\
\epsilon_{ij}^2 & = m_s^2\kappa_{ij}\rho \epsilon_{ij}^2 & = m_s^2\kappa_{ij}\rho
where the parameters kappa and epsilon determine the strength of the where the parameters kappa and epsilon determine the strength of the

View File

@ -33,7 +33,7 @@ elemental bulk material in the form
.. math:: .. math::
E_{\rm tot}({\bf R}_1 \ldots {\bf R}_N) = NE_{\rm vol}(\Omega ) E_\mathrm{tot}(\mathbf{R}_1 \ldots \mathbf{R}_N) = NE_\mathrm{vol}(\Omega )
+ \frac{1}{2} \sum _{i,j} \mbox{}^\prime \ v_2(ij;\Omega ) + \frac{1}{2} \sum _{i,j} \mbox{}^\prime \ v_2(ij;\Omega )
+ \frac{1}{6} \sum _{i,j,k} \mbox{}^\prime \ v_3(ijk;\Omega ) + \frac{1}{6} \sum _{i,j,k} \mbox{}^\prime \ v_3(ijk;\Omega )
+ \frac{1}{24} \sum _{i,j,k,l} \mbox{}^\prime \ v_4(ijkl;\Omega ) + \frac{1}{24} \sum _{i,j,k,l} \mbox{}^\prime \ v_4(ijkl;\Omega )

View File

@ -41,14 +41,14 @@ potential (ILP) potential for hetero-junctions formed with hexagonal
.. math:: .. math::
E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} = & {\rm Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)} V_{ij} = & \mathrm{Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)}
\left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] - \left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] -
\frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}} \frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}}
\cdot \frac{C_6}{r^6_{ij}} \right \}\\ \cdot \frac{C_6}{r^6_{ij}} \right \}\\
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\ \rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\ \rho_{ji}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_j)^2 \\
f(\rho) = & C e^{ -( \rho / \delta )^2 } \\ f(\rho) = & C e^{ -( \rho / \delta )^2 } \\
{\rm Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 - \mathrm{Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 + 70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 - 84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1 35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1
@ -63,8 +63,8 @@ calculating the normals.
.. note:: .. note::
To account for the isotropic nature of the isolated gold atom To account for the isotropic nature of the isolated gold atom
electron cloud, their corresponding normal vectors (`{\bf n}_i`) are electron cloud, their corresponding normal vectors (`\mathbf{n}_i`) are
assumed to lie along the interatomic vector `{\bf r}_ij`. Notably, this assumed to lie along the interatomic vector `\mathbf{r}_ij`. Notably, this
assumption is suitable for many bulk material surfaces, for assumption is suitable for many bulk material surfaces, for
example, for systems possessing s-type valence orbitals or example, for systems possessing s-type valence orbitals or
metallic surfaces, whose valence electrons are mostly metallic surfaces, whose valence electrons are mostly

View File

@ -43,7 +43,7 @@ vector omega and mechanical force between particles I and J.
.. math:: .. math::
\mathcal{H}_{\rm long} & = \mathcal{H}_\mathrm{long} & =
-\frac{\mu_{0} \left( \mu_B\right)^2}{4\pi} -\frac{\mu_{0} \left( \mu_B\right)^2}{4\pi}
\sum_{i,j,i\neq j}^{N} \sum_{i,j,i\neq j}^{N}
\frac{g_i g_j}{r_{ij}^3} \frac{g_i g_j}{r_{ij}^3}

View File

@ -52,7 +52,7 @@ particle i:
.. math:: .. math::
\vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times \left(\vec{e}_{ij}\times \vec{D} \right) \vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times \left(\vec{e}_{ij}\times \vec{D} \right)
~~{\rm and}~~ ~~\mathrm{and}~~
\vec{F}_i = -\sum_{j}^{Neighb} \frac{1}{r_{ij}} \vec{D} \times \left( \vec{s}_{i}\times \vec{s}_{j} \right) \vec{F}_i = -\sum_{j}^{Neighb} \frac{1}{r_{ij}} \vec{D} \times \left( \vec{s}_{i}\times \vec{s}_{j} \right)
More details about the derivation of these torques/forces are reported in More details about the derivation of these torques/forces are reported in

View File

@ -94,7 +94,7 @@ submitted to a force :math:`\vec{F}_{i}` for spin-lattice calculations (see
\vec{\omega}_{i} = \frac{1}{\hbar} \sum_{j}^{Neighb} {J} \vec{\omega}_{i} = \frac{1}{\hbar} \sum_{j}^{Neighb} {J}
\left(r_{ij} \right)\,\vec{s}_{j} \left(r_{ij} \right)\,\vec{s}_{j}
~~{\rm and}~~ ~~\mathrm{and}~~
\vec{F}_{i} = \sum_{j}^{Neighb} \frac{\partial {J} \left(r_{ij} \right)}{ \vec{F}_{i} = \sum_{j}^{Neighb} \frac{\partial {J} \left(r_{ij} \right)}{
\partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{e}_{ij} \partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{e}_{ij}

View File

@ -35,7 +35,7 @@ Description
.. versionadded:: TBD .. versionadded:: TBD
Write a `VMD <https:://ks.uiuc.edu/Research/vmd/>`_ Tcl script file with Write a `VMD <https://ks.uiuc.edu/Research/vmd/>`_ Tcl script file with
commands that aim to create a visualization of :doc:`regions <region>`. commands that aim to create a visualization of :doc:`regions <region>`.
There may be multiple region visualizations stored in a single file. There may be multiple region visualizations stored in a single file.

View File

@ -87,7 +87,7 @@ negative, if the timeout time is expired and positive if there
is time remaining and in this case the value of the variable are is time remaining and in this case the value of the variable are
the number of seconds remaining. the number of seconds remaining.
When the *timeout* key word is used a second time, the timer is When the *timeout* keyword is used a second time, the timer is
restarted with a new time limit. The timeout *elapse* value can restarted with a new time limit. The timeout *elapse* value can
be specified as *off* or *unlimited* to impose a no timeout condition be specified as *off* or *unlimited* to impose a no timeout condition
(which is the default). The *elapse* setting can be specified as (which is the default). The *elapse* setting can be specified as

View File

@ -51,12 +51,12 @@ Syntax
thermo keywords = vol, ke, press, etc from :doc:`thermo_style <thermo_style>` thermo keywords = vol, ke, press, etc from :doc:`thermo_style <thermo_style>`
math operators = (), -x, x+y, x-y, x\*y, x/y, x\^y, x%y, math operators = (), -x, x+y, x-y, x\*y, x/y, x\^y, x%y,
x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x \|\| y, x \|\^ y, !x x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x \|\| y, x \|\^ y, !x
math functions = sqrt(x), exp(x), ln(x), log(x), abs(x), math functions = sqrt(x), exp(x), ln(x), log(x), abs(x), sign(x),
sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x),
random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ternary(x,y,z), random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ternary(x,y,z),
ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z),
logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c),
vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z), sign(x) vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
group functions = count(group), mass(group), charge(group), group functions = count(group), mass(group), charge(group),
xcm(group,dim), vcm(group,dim), fcm(group,dim), xcm(group,dim), vcm(group,dim), fcm(group,dim),
bound(group,dir), gyration(group), ke(group), bound(group,dir), gyration(group), ke(group),
@ -541,7 +541,7 @@ variables.
+------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Math operators | (), -x, x+y, x-y, x\*y, x/y, x\^y, x%y, x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x \|\| y, x \|\^ y, !x | | Math operators | (), -x, x+y, x-y, x\*y, x/y, x\^y, x%y, x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x \|\| y, x \|\^ y, !x |
+------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Math functions | sqrt(x), exp(x), ln(x), log(x), abs(x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ternary(x,y,z), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z), sign(x) | | Math functions | sqrt(x), exp(x), ln(x), log(x), abs(x), sign(x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ternary(x,y,z), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z) |
+------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Group functions | count(ID), mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), fcm(ID,dim), bound(ID,dir), gyration(ID), ke(ID), angmom(ID,dim), torque(ID,dim), inertia(ID,dimdim), omega(ID,dim) | | Group functions | count(ID), mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), fcm(ID,dim), bound(ID,dir), gyration(ID), ke(ID), angmom(ID,dim), torque(ID,dim), inertia(ID,dimdim), omega(ID,dim) |
+------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@ -692,6 +692,11 @@ sqrt() of the product of one atom's y and z coordinates.
Most of the math functions perform obvious operations. The ln() is Most of the math functions perform obvious operations. The ln() is
the natural log; log() is the base 10 log. the natural log; log() is the base 10 log.
.. versionadded:: 4Feb2025
The sign(x) function returns 1.0 if the value is greater than or equal
to 0.0, and -1.0 otherwise.
The random(x,y,z) function takes 3 arguments: x = lo, y = hi, and z = The random(x,y,z) function takes 3 arguments: x = lo, y = hi, and z =
seed. It generates a uniform random number between lo and hi. The seed. It generates a uniform random number between lo and hi. The
normal(x,y,z) function also takes 3 arguments: x = mu, y = sigma, and normal(x,y,z) function also takes 3 arguments: x = mu, y = sigma, and
@ -860,9 +865,6 @@ run, according to one of these formulas, where omega = 2 PI / period:
where dt = the timestep size. where dt = the timestep size.
The sign(x) function returns 1.0 if the value is greater than or equal
to 0.0, and -1.0 otherwise.
The run begins on startstep. Startstep can span multiple runs, using The run begins on startstep. Startstep can span multiple runs, using
the *start* keyword of the :doc:`run <run>` command. See the :doc:`run the *start* keyword of the :doc:`run <run>` command. See the :doc:`run
<run>` command for details of how to do this. Note that the <run>` command for details of how to do this. Note that the

View File

@ -1,4 +1,4 @@
Sphinx >= 5.3.0, <8.2.0 Sphinx >= 5.3.0, <8.3.0
sphinxcontrib-spelling sphinxcontrib-spelling
sphinxcontrib-jquery sphinxcontrib-jquery
sphinx-design sphinx-design

View File

@ -208,13 +208,11 @@ html_favicon = '_static/lammps.ico'
# Add any paths that contain custom static files (such as style sheets) here, # Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files, # relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css". # so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static'] html_static_path = ['_static',]
# These paths are either relative to html_static_path # These paths are either relative to html_static_path
# or fully qualified paths (eg. https://...) # or fully qualified paths (eg. https://...)
html_css_files = [ html_css_files = ['css/lammps.css',]
'css/lammps.css',
]
# Add any extra paths that contain custom files (such as robots.txt or # Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied # .htaccess) here, relative to this directory. These files are copied
@ -290,7 +288,7 @@ rst_prolog = r"""
.. only:: html .. only:: html
:math:`\renewcommand{\AA}{\text{}}` :math:`\renewcommand{\AA}{\textup{\r{A}}`
.. role:: lammps(code) .. role:: lammps(code)
:language: LAMMPS :language: LAMMPS

View File

@ -1331,6 +1331,7 @@ geturl
gewald gewald
Gezelter Gezelter
gfile gfile
gflag
Gflop Gflop
gfortran gfortran
ghostneigh ghostneigh
@ -2964,6 +2965,7 @@ pKa
pKb pKb
pKs pKs
planeforce planeforce
plastically
Plathe Plathe
Plimpton Plimpton
plog plog
@ -3266,6 +3268,7 @@ rewrap
rezwanur rezwanur
rfac rfac
rfile rfile
rflag
rg rg
Rg Rg
Rhaphson Rhaphson

View File

@ -1,5 +1,5 @@
# FENE beadspring benchmark # FENE beadspring benchmark
variable t index 1.0
units lj units lj
atom_style bond atom_style bond
special_bonds fene special_bonds fene

View File

@ -0,0 +1 @@
../../../../potentials/Au_u3.eam

View File

@ -9,7 +9,7 @@ read_data pafipath.4.data fix pa NULL PafiPath
## EAM potential ## EAM potential
pair_style eam/fs pair_style eam/fs
pair_coeff * * ../../../../potentials/Fe_mm.eam.fs Fe pair_coeff * * Fe_mm.eam.fs Fe
mass * 55.85 mass * 55.85
thermo 100 thermo 100

View File

@ -0,0 +1,2 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Running on 4 partitions of processors

View File

@ -1,5 +1,6 @@
LAMMPS (4 Feb 2025) LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Processor partition = 0 Processor partition = 0
using 1 OpenMP thread(s) per MPI task
# Units and dimensions # Units and dimensions
units electron units electron
dimension 3 dimension 3
@ -103,8 +104,8 @@ Initializing PI Langevin equation thermostat...
3 9.11206647e-03 5.00000000e+01 9.95012479e-01 9.97505201e-02 3 9.11206647e-03 5.00000000e+01 9.95012479e-01 9.97505201e-02
PILE_L thermostat successfully initialized! PILE_L thermostat successfully initialized!
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
Step PotEng v_virial v_prim_kinetic Step PotEng v_virial v_prim_kinetic
0 0 1.3661449e-08 0.0009918329 0 0 1.3661449e-08 0.0009918329
@ -208,20 +209,20 @@ Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
98 9.2042324e-06 1.780703e-05 0.00083221292 98 9.2042324e-06 1.780703e-05 0.00083221292
99 9.5058078e-06 1.8141862e-05 0.00082913227 99 9.5058078e-06 1.8141862e-05 0.00082913227
100 9.8087647e-06 1.8457846e-05 0.00082619877 100 9.8087647e-06 1.8457846e-05 0.00082619877
Loop time of 0.122922 on 1 procs for 100 steps with 3 atoms Loop time of 0.00116399 on 1 procs for 100 steps with 3 atoms
Performance: 35144210.362 fs/day, 0.000 hours/fs, 813.523 timesteps/s, 2.441 katom-step/s Performance: 3711359336.904 fs/day, 0.000 hours/fs, 85911.096 timesteps/s, 257.733 katom-step/s
70.1% CPU use with 1 MPI tasks x no OpenMP threads 89.8% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00 Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 1.1593e-05 | 1.1593e-05 | 1.1593e-05 | 0.0 | 0.01 Neigh | 1.292e-06 | 1.292e-06 | 1.292e-06 | 0.0 | 0.11
Comm | 9.2183e-05 | 9.2183e-05 | 9.2183e-05 | 0.0 | 0.07 Comm | 1.2305e-05 | 1.2305e-05 | 1.2305e-05 | 0.0 | 1.06
Output | 0.023243 | 0.023243 | 0.023243 | 0.0 | 18.91 Output | 0.00018105 | 0.00018105 | 0.00018105 | 0.0 | 15.55
Modify | 0.099386 | 0.099386 | 0.099386 | 0.0 | 80.85 Modify | 0.00090255 | 0.00090255 | 0.00090255 | 0.0 | 77.54
Other | | 0.0001896 | | | 0.15 Other | | 6.68e-05 | | | 5.74
Nlocal: 3 ave 3 max 3 min Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
@ -234,3 +235,4 @@ Total # of neighbors = 0
Ave neighs/atom = 0 Ave neighs/atom = 0
Neighbor list builds = 33 Neighbor list builds = 33
Dangerous builds = 0 Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -1,5 +1,6 @@
LAMMPS (4 Feb 2025) LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Processor partition = 1 Processor partition = 1
using 1 OpenMP thread(s) per MPI task
# Units and dimensions # Units and dimensions
units electron units electron
dimension 3 dimension 3
@ -95,8 +96,8 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1 thermo 1
run 100 run 100
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
Step PotEng v_virial v_prim_kinetic Step PotEng v_virial v_prim_kinetic
0 0 1.3661449e-08 0.0009918329 0 0 1.3661449e-08 0.0009918329
@ -200,20 +201,20 @@ Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
98 2.5769956e-05 1.780703e-05 0.00083221292 98 2.5769956e-05 1.780703e-05 0.00083221292
99 2.624134e-05 1.8141862e-05 0.00082913227 99 2.624134e-05 1.8141862e-05 0.00082913227
100 2.6731735e-05 1.8457846e-05 0.00082619877 100 2.6731735e-05 1.8457846e-05 0.00082619877
Loop time of 0.122878 on 1 procs for 100 steps with 3 atoms Loop time of 0.0011782 on 1 procs for 100 steps with 3 atoms
Performance: 35156789.883 fs/day, 0.000 hours/fs, 813.815 timesteps/s, 2.441 katom-step/s Performance: 3666606971.137 fs/day, 0.000 hours/fs, 84875.161 timesteps/s, 254.625 katom-step/s
46.7% CPU use with 1 MPI tasks x no OpenMP threads 88.4% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00 Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 1.9787e-05 | 1.9787e-05 | 1.9787e-05 | 0.0 | 0.02 Neigh | 1.773e-06 | 1.773e-06 | 1.773e-06 | 0.0 | 0.15
Comm | 9.2033e-05 | 9.2033e-05 | 9.2033e-05 | 0.0 | 0.07 Comm | 1.4979e-05 | 1.4979e-05 | 1.4979e-05 | 0.0 | 1.27
Output | 0.0022584 | 0.0022584 | 0.0022584 | 0.0 | 1.84 Output | 0.00021888 | 0.00021888 | 0.00021888 | 0.0 | 18.58
Modify | 0.12033 | 0.12033 | 0.12033 | 0.0 | 97.93 Modify | 0.00086503 | 0.00086503 | 0.00086503 | 0.0 | 73.42
Other | | 0.0001755 | | | 0.14 Other | | 7.754e-05 | | | 6.58
Nlocal: 3 ave 3 max 3 min Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
@ -226,3 +227,4 @@ Total # of neighbors = 0
Ave neighs/atom = 0 Ave neighs/atom = 0
Neighbor list builds = 44 Neighbor list builds = 44
Dangerous builds = 0 Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -1,5 +1,6 @@
LAMMPS (4 Feb 2025) LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Processor partition = 2 Processor partition = 2
using 1 OpenMP thread(s) per MPI task
# Units and dimensions # Units and dimensions
units electron units electron
dimension 3 dimension 3
@ -95,8 +96,8 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1 thermo 1
run 100 run 100
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
Step PotEng v_virial v_prim_kinetic Step PotEng v_virial v_prim_kinetic
0 0 1.3661449e-08 0.0009918329 0 0 1.3661449e-08 0.0009918329
@ -200,20 +201,20 @@ Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
98 1.8568337e-05 1.780703e-05 0.00083221292 98 1.8568337e-05 1.780703e-05 0.00083221292
99 1.9188379e-05 1.8141862e-05 0.00082913227 99 1.9188379e-05 1.8141862e-05 0.00082913227
100 1.9789011e-05 1.8457846e-05 0.00082619877 100 1.9789011e-05 1.8457846e-05 0.00082619877
Loop time of 0.112003 on 1 procs for 100 steps with 3 atoms Loop time of 0.00116163 on 1 procs for 100 steps with 3 atoms
Performance: 38570373.396 fs/day, 0.000 hours/fs, 892.833 timesteps/s, 2.678 katom-step/s Performance: 3718915419.639 fs/day, 0.000 hours/fs, 86086.005 timesteps/s, 258.258 katom-step/s
52.7% CPU use with 1 MPI tasks x no OpenMP threads 89.6% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00 Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 1.4356e-05 | 1.4356e-05 | 1.4356e-05 | 0.0 | 0.01 Neigh | 1.582e-06 | 1.582e-06 | 1.582e-06 | 0.0 | 0.14
Comm | 9.7936e-05 | 9.7936e-05 | 9.7936e-05 | 0.0 | 0.09 Comm | 1.3306e-05 | 1.3306e-05 | 1.3306e-05 | 0.0 | 1.15
Output | 0.0017373 | 0.0017373 | 0.0017373 | 0.0 | 1.55 Output | 0.00017996 | 0.00017996 | 0.00017996 | 0.0 | 15.49
Modify | 0.10997 | 0.10997 | 0.10997 | 0.0 | 98.19 Modify | 0.00090771 | 0.00090771 | 0.00090771 | 0.0 | 78.14
Other | | 0.0001804 | | | 0.16 Other | | 5.907e-05 | | | 5.09
Nlocal: 3 ave 3 max 3 min Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
@ -226,3 +227,4 @@ Total # of neighbors = 0
Ave neighs/atom = 0 Ave neighs/atom = 0
Neighbor list builds = 41 Neighbor list builds = 41
Dangerous builds = 0 Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -1,5 +1,6 @@
LAMMPS (4 Feb 2025) LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Processor partition = 3 Processor partition = 3
using 1 OpenMP thread(s) per MPI task
# Units and dimensions # Units and dimensions
units electron units electron
dimension 3 dimension 3
@ -95,8 +96,8 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1 thermo 1
run 100 run 100
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
Step PotEng v_virial v_prim_kinetic Step PotEng v_virial v_prim_kinetic
0 0 1.3661449e-08 0.0009918329 0 0 1.3661449e-08 0.0009918329
@ -200,20 +201,20 @@ Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
98 2.5288512e-05 1.780703e-05 0.00083221292 98 2.5288512e-05 1.780703e-05 0.00083221292
99 2.5384836e-05 1.8141862e-05 0.00082913227 99 2.5384836e-05 1.8141862e-05 0.00082913227
100 2.5401412e-05 1.8457846e-05 0.00082619877 100 2.5401412e-05 1.8457846e-05 0.00082619877
Loop time of 0.122921 on 1 procs for 100 steps with 3 atoms Loop time of 0.00116067 on 1 procs for 100 steps with 3 atoms
Performance: 35144393.915 fs/day, 0.000 hours/fs, 813.528 timesteps/s, 2.441 katom-step/s Performance: 3721997782.310 fs/day, 0.000 hours/fs, 86157.356 timesteps/s, 258.472 katom-step/s
88.8% CPU use with 1 MPI tasks x no OpenMP threads 88.3% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00 Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 1.5885e-05 | 1.5885e-05 | 1.5885e-05 | 0.0 | 0.01 Neigh | 1.441e-06 | 1.441e-06 | 1.441e-06 | 0.0 | 0.12
Comm | 9.4707e-05 | 9.4707e-05 | 9.4707e-05 | 0.0 | 0.08 Comm | 1.2111e-05 | 1.2111e-05 | 1.2111e-05 | 0.0 | 1.04
Output | 0.0027076 | 0.0027076 | 0.0027076 | 0.0 | 2.20 Output | 0.00018148 | 0.00018148 | 0.00018148 | 0.0 | 15.64
Modify | 0.11993 | 0.11993 | 0.11993 | 0.0 | 97.57 Modify | 0.0009054 | 0.0009054 | 0.0009054 | 0.0 | 78.01
Other | | 0.0001738 | | | 0.14 Other | | 6.023e-05 | | | 5.19
Nlocal: 3 ave 3 max 3 min Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
@ -226,3 +227,4 @@ Total # of neighbors = 0
Ave neighs/atom = 0 Ave neighs/atom = 0
Neighbor list builds = 42 Neighbor list builds = 42
Dangerous builds = 0 Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,2 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Running on 4 partitions of processors

View File

@ -1,5 +1,6 @@
LAMMPS (4 Feb 2025) LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Processor partition = 0 Processor partition = 0
using 1 OpenMP thread(s) per MPI task
# Units and dimensions # Units and dimensions
units electron units electron
dimension 3 dimension 3
@ -99,11 +100,11 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1 thermo 1
run 100 run 100
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
Fix pimd/nvt -P/(beta^2 * hbar^2) = -2.2139311e-05 (kcal/mol/A^2) Fix pimd/nvt -P/(beta^2 * hbar^2) = -2.2139311e-05 (kcal/mol/A^2)
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes
Step PotEng v_virial v_prim_kinetic Step PotEng v_virial v_prim_kinetic
0 0 0 0.00024794798 0 0 0 0.00024794798
@ -207,20 +208,20 @@ Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes
98 7.4842314e-06 1.8940408e-06 0.0002348915 98 7.4842314e-06 1.8940408e-06 0.0002348915
99 7.622805e-06 1.9289045e-06 0.00023466684 99 7.622805e-06 1.9289045e-06 0.00023466684
100 7.76221e-06 1.9639756e-06 0.00023444136 100 7.76221e-06 1.9639756e-06 0.00023444136
Loop time of 0.00940749 on 1 procs for 100 steps with 3 atoms Loop time of 0.00193128 on 1 procs for 100 steps with 3 atoms
Performance: 459208566.791 fs/day, 0.000 hours/fs, 10629.828 timesteps/s, 31.889 katom-step/s Performance: 2236858456.568 fs/day, 0.000 hours/fs, 51779.131 timesteps/s, 155.337 katom-step/s
90.3% CPU use with 1 MPI tasks x no OpenMP threads 36.5% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00 Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 8.466e-06 | 8.466e-06 | 8.466e-06 | 0.0 | 0.09 Neigh | 1.454e-06 | 1.454e-06 | 1.454e-06 | 0.0 | 0.08
Comm | 7.8365e-05 | 7.8365e-05 | 7.8365e-05 | 0.0 | 0.83 Comm | 2.3033e-05 | 2.3033e-05 | 2.3033e-05 | 0.0 | 1.19
Output | 0.0012482 | 0.0012482 | 0.0012482 | 0.0 | 13.27 Output | 0.00030824 | 0.00030824 | 0.00030824 | 0.0 | 15.96
Modify | 0.0079193 | 0.0079193 | 0.0079193 | 0.0 | 84.18 Modify | 0.001541 | 0.001541 | 0.001541 | 0.0 | 79.79
Other | | 0.0001532 | | | 1.63 Other | | 5.754e-05 | | | 2.98
Nlocal: 3 ave 3 max 3 min Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,5 +1,6 @@
LAMMPS (4 Feb 2025) LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Processor partition = 1 Processor partition = 1
using 1 OpenMP thread(s) per MPI task
# Units and dimensions # Units and dimensions
units electron units electron
dimension 3 dimension 3
@ -99,9 +100,9 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1 thermo 1
run 100 run 100
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes
Step PotEng v_virial v_prim_kinetic Step PotEng v_virial v_prim_kinetic
0 0 0 0.00024796164 0 0 0 0.00024796164
@ -205,20 +206,20 @@ Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes
98 7.3002707e-06 1.8531354e-06 0.00024148118 98 7.3002707e-06 1.8531354e-06 0.00024148118
99 7.4315008e-06 1.88617e-06 0.00024137268 99 7.4315008e-06 1.88617e-06 0.00024137268
100 7.563358e-06 1.9193596e-06 0.00024126398 100 7.563358e-06 1.9193596e-06 0.00024126398
Loop time of 0.00941353 on 1 procs for 100 steps with 3 atoms Loop time of 0.00190888 on 1 procs for 100 steps with 3 atoms
Performance: 458913876.206 fs/day, 0.000 hours/fs, 10623.006 timesteps/s, 31.869 katom-step/s Performance: 2263110719.025 fs/day, 0.000 hours/fs, 52386.822 timesteps/s, 157.160 katom-step/s
50.9% CPU use with 1 MPI tasks x no OpenMP threads 0.0% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00 Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 8.215e-06 | 8.215e-06 | 8.215e-06 | 0.0 | 0.09 Neigh | 2.774e-06 | 2.774e-06 | 2.774e-06 | 0.0 | 0.15
Comm | 7.7692e-05 | 7.7692e-05 | 7.7692e-05 | 0.0 | 0.83 Comm | 2.3215e-05 | 2.3215e-05 | 2.3215e-05 | 0.0 | 1.22
Output | 0.0047662 | 0.0047662 | 0.0047662 | 0.0 | 50.63 Output | 0.00042246 | 0.00042246 | 0.00042246 | 0.0 | 22.13
Modify | 0.004407 | 0.004407 | 0.004407 | 0.0 | 46.82 Modify | 0.0013744 | 0.0013744 | 0.0013744 | 0.0 | 72.00
Other | | 0.0001545 | | | 1.64 Other | | 8.601e-05 | | | 4.51
Nlocal: 3 ave 3 max 3 min Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,5 +1,6 @@
LAMMPS (4 Feb 2025) LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Processor partition = 2 Processor partition = 2
using 1 OpenMP thread(s) per MPI task
# Units and dimensions # Units and dimensions
units electron units electron
dimension 3 dimension 3
@ -99,9 +100,9 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1 thermo 1
run 100 run 100
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes
Step PotEng v_virial v_prim_kinetic Step PotEng v_virial v_prim_kinetic
0 0 0 0.00024796164 0 0 0 0.00024796164
@ -205,20 +206,20 @@ Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes
98 7.1356907e-06 1.7335027e-06 0.0002297417 98 7.1356907e-06 1.7335027e-06 0.0002297417
99 7.2605738e-06 1.7643404e-06 0.00022943234 99 7.2605738e-06 1.7643404e-06 0.00022943234
100 7.3859169e-06 1.7952968e-06 0.00022912226 100 7.3859169e-06 1.7952968e-06 0.00022912226
Loop time of 0.00941372 on 1 procs for 100 steps with 3 atoms Loop time of 0.00195857 on 1 procs for 100 steps with 3 atoms
Performance: 458904516.311 fs/day, 0.000 hours/fs, 10622.790 timesteps/s, 31.868 katom-step/s Performance: 2205688634.372 fs/day, 0.000 hours/fs, 51057.607 timesteps/s, 153.173 katom-step/s
24.7% CPU use with 1 MPI tasks x no OpenMP threads 39.2% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00 Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 8.785e-06 | 8.785e-06 | 8.785e-06 | 0.0 | 0.09 Neigh | 1.602e-06 | 1.602e-06 | 1.602e-06 | 0.0 | 0.08
Comm | 7.9921e-05 | 7.9921e-05 | 7.9921e-05 | 0.0 | 0.85 Comm | 1.6951e-05 | 1.6951e-05 | 1.6951e-05 | 0.0 | 0.87
Output | 0.0071119 | 0.0071119 | 0.0071119 | 0.0 | 75.55 Output | 0.00032627 | 0.00032627 | 0.00032627 | 0.0 | 16.66
Modify | 0.0020558 | 0.0020558 | 0.0020558 | 0.0 | 21.84 Modify | 0.0015486 | 0.0015486 | 0.0015486 | 0.0 | 79.07
Other | | 0.0001572 | | | 1.67 Other | | 6.514e-05 | | | 3.33
Nlocal: 3 ave 3 max 3 min Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,5 +1,6 @@
LAMMPS (4 Feb 2025) LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-344-g0a4a2f6deb-modified)
Processor partition = 3 Processor partition = 3
using 1 OpenMP thread(s) per MPI task
# Units and dimensions # Units and dimensions
units electron units electron
dimension 3 dimension 3
@ -99,9 +100,9 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1 thermo 1
run 100 run 100
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes
Step PotEng v_virial v_prim_kinetic Step PotEng v_virial v_prim_kinetic
0 0 0 0.00024796164 0 0 0 0.00024796164
@ -205,20 +206,20 @@ Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes
98 7.2937187e-06 1.8407787e-06 0.00023702765 98 7.2937187e-06 1.8407787e-06 0.00023702765
99 7.4250201e-06 1.8736806e-06 0.00023685186 99 7.4250201e-06 1.8736806e-06 0.00023685186
100 7.5569619e-06 1.9067398e-06 0.00023667607 100 7.5569619e-06 1.9067398e-06 0.00023667607
Loop time of 0.00939597 on 1 procs for 100 steps with 3 atoms Loop time of 0.00197094 on 1 procs for 100 steps with 3 atoms
Performance: 459771778.655 fs/day, 0.000 hours/fs, 10642.865 timesteps/s, 31.929 katom-step/s Performance: 2191851993.165 fs/day, 0.000 hours/fs, 50737.315 timesteps/s, 152.212 katom-step/s
25.2% CPU use with 1 MPI tasks x no OpenMP threads 37.5% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00 Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 8.404e-06 | 8.404e-06 | 8.404e-06 | 0.0 | 0.09 Neigh | 1.652e-06 | 1.652e-06 | 1.652e-06 | 0.0 | 0.08
Comm | 8.6872e-05 | 8.6872e-05 | 8.6872e-05 | 0.0 | 0.92 Comm | 1.7965e-05 | 1.7965e-05 | 1.7965e-05 | 0.0 | 0.91
Output | 0.0071309 | 0.0071309 | 0.0071309 | 0.0 | 75.89 Output | 0.00036011 | 0.00036011 | 0.00036011 | 0.0 | 18.27
Modify | 0.0020085 | 0.0020085 | 0.0020085 | 0.0 | 21.38 Modify | 0.0015231 | 0.0015231 | 0.0015231 | 0.0 | 77.28
Other | | 0.0001612 | | | 1.72 Other | | 6.806e-05 | | | 3.45
Nlocal: 3 ave 3 max 3 min Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -13,7 +13,7 @@
create_atoms 1 box create_atoms 1 box
pair_style eam/alloy pair_style eam/alloy
pair_coeff * * ../../../../potentials/Cu_mishin1.eam.alloy Cu pair_coeff * * Cu_mishin1.eam.alloy Cu
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#

File diff suppressed because it is too large Load Diff

View File

@ -7,6 +7,7 @@ atom_style spin
# necessary for the serial algorithm (sametag) # necessary for the serial algorithm (sametag)
atom_modify map array atom_modify map array
read_data Norm_randXY_8x8x32.data read_data Norm_randXY_8x8x32.data
replicate 1 1 2
mass 1 58.93 mass 1 58.93
@ -40,6 +41,6 @@ thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal
thermo_modify format float %20.15g thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] #dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
#dump_modify 1 sort id
run 100 run 100

View File

@ -18,7 +18,7 @@ create_atoms 1 box
mass 1 58.93 mass 1 58.93
set group all spin/random 31 1.72 set group all spin/atom/random 31 1.72
pair_style spin/exchange 4.0 pair_style spin/exchange 4.0
pair_coeff * * exchange 4.0 0.3593 1.135028015e-05 1.064568567 pair_coeff * * exchange 4.0 0.3593 1.135028015e-05 1.064568567
@ -48,7 +48,7 @@ thermo_style custom step time v_magnorm pe v_emag temp etotal
thermo 100 thermo 100
compute outsp all property/atom spx spy spz sp fmx fmy fmz compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] #dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
#dump_modify 100 sort id
run 1000 run 1000
write_restart restart_hcp_cobalt.equil write_restart restart_hcp_cobalt.equil

View File

@ -0,0 +1,136 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-212-g01698ddc2e-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
units metal
dimension 3
boundary p p p
atom_style spin
# necessary for the serial algorithm (sametag)
atom_modify map array
read_data Norm_randXY_8x8x32.data
Reading data file ...
orthogonal box = (0 0 0) to (15 28.32 13.68)
1 by 1 by 1 MPI processor grid
reading atoms ...
1024 atoms
reading velocities ...
1024 velocities
read_data CPU = 0.004 seconds
replicate 1 1 2
Replication is creating a 1x1x2 = 2 times larger system...
orthogonal box = (0 0 0) to (15 28.32 27.36)
1 by 1 by 1 MPI processor grid
2048 atoms
replicate CPU = 0.001 seconds
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving
timestep 0.0001
# define outputs and computes
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 20
thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
#dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
#dump_modify 1 sort id
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix nve/spin command: doi:10.1016/j.jcp.2018.06.042
@article{tranchida2018massively,
title={Massively Parallel Symplectic Algorithm for Coupled Magnetic Spin Dynamics and Molecular Dynamics},
author={Tranchida, J and Plimpton, S J and Thibaudeau, P and Thompson, A P},
journal={Journal of Computational Physics},
volume={372},
pages={406--425},
year={2018},
publisher={Elsevier}
doi={10.1016/j.jcp.2018.06.042}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.499539
ghost atom cutoff = 7.499539
binsize = 3.7497695, bins = 5 8 8
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on, cut 7.499539
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 9.082 | 9.082 | 9.082 Mbytes
Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng
0 0 0.99566943155533 116726.359107918 -852.392312873949 34.9207785637842 0 116726.359107918
20 0.002 0.995669416541629 70905.5692189811 -849.222504107045 34.647400481739 172820.122486868 116632.998844426
40 0.004 0.995669401356638 71221.2391274615 -848.368415908416 34.9759984641547 171555.103338675 116613.950357609
60 0.006 0.995669394598344 69647.7523345612 -845.585158124559 36.100016238044 177502.681559427 116614.166097826
80 0.008 0.995669395756676 107415.560454437 -846.200871523815 37.9775024824566 35031.4099604677 116684.714477685
100 0.01 0.995669403283478 63849.6798250643 -836.341677782106 39.680777051272 199492.565587335 116634.518317396
Loop time of 2.97847 on 1 procs for 100 steps with 2048 atoms
Performance: 0.290 ns/day, 82.735 hours/ns, 33.574 timesteps/s, 68.760 katom-step/s
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.0361 | 1.0361 | 1.0361 | 0.0 | 34.79
Neigh | 0.78559 | 0.78559 | 0.78559 | 0.0 | 26.38
Comm | 0.013262 | 0.013262 | 0.013262 | 0.0 | 0.45
Output | 0.00026908 | 0.00026908 | 0.00026908 | 0.0 | 0.01
Modify | 1.1415 | 1.1415 | 1.1415 | 0.0 | 38.33
Other | | 0.001761 | | | 0.06
Nlocal: 2048 ave 2048 max 2048 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 7952 ave 7952 max 7952 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 314944 ave 314944 max 314944 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 629888 ave 629888 max 629888 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 629888
Ave neighs/atom = 307.5625
Neighbor list builds = 100
Dangerous builds not checked
Total wall time: 0:00:03

View File

@ -0,0 +1,136 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-212-g01698ddc2e-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
units metal
dimension 3
boundary p p p
atom_style spin
# necessary for the serial algorithm (sametag)
atom_modify map array
read_data Norm_randXY_8x8x32.data
Reading data file ...
orthogonal box = (0 0 0) to (15 28.32 13.68)
2 by 2 by 1 MPI processor grid
reading atoms ...
1024 atoms
reading velocities ...
1024 velocities
read_data CPU = 0.004 seconds
replicate 1 1 2
Replication is creating a 1x1x2 = 2 times larger system...
orthogonal box = (0 0 0) to (15 28.32 27.36)
1 by 2 by 2 MPI processor grid
2048 atoms
replicate CPU = 0.002 seconds
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving
timestep 0.0001
# define outputs and computes
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 20
thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
#dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
#dump_modify 1 sort id
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix nve/spin command: doi:10.1016/j.jcp.2018.06.042
@article{tranchida2018massively,
title={Massively Parallel Symplectic Algorithm for Coupled Magnetic Spin Dynamics and Molecular Dynamics},
author={Tranchida, J and Plimpton, S J and Thibaudeau, P and Thompson, A P},
journal={Journal of Computational Physics},
volume={372},
pages={406--425},
year={2018},
publisher={Elsevier}
doi={10.1016/j.jcp.2018.06.042}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.499539
ghost atom cutoff = 7.499539
binsize = 3.7497695, bins = 5 8 8
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on, cut 7.499539
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.812 | 5.812 | 5.812 Mbytes
Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng
0 0 0.995669431555328 116726.359107923 -852.39231287395 34.9207785637843 0 116726.359107923
20 0.002 0.995669419512638 70905.5692199804 -849.222502855646 34.6474282239503 172820.122483292 116632.998844479
40 0.004 0.995669419108591 71221.2391285209 -848.368412494784 34.97611050919 171555.103335676 116613.950357875
60 0.006 0.99566940895435 69647.7523345112 -845.585157291247 36.1001312564486 177502.681560664 116614.166098104
80 0.008 0.995669417344697 107415.560454912 -846.200874451992 37.9776090859263 35031.4099596403 116684.714477941
100 0.01 0.995669427709463 63849.6798245944 -836.341678212079 39.6809090980074 199492.565591024 116634.518317902
Loop time of 0.991506 on 4 procs for 100 steps with 2048 atoms
Performance: 0.871 ns/day, 27.542 hours/ns, 100.857 timesteps/s, 206.554 katom-step/s
99.0% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.31016 | 0.31287 | 0.31496 | 0.3 | 31.56
Neigh | 0.21999 | 0.22957 | 0.23793 | 1.7 | 23.15
Comm | 0.015231 | 0.025975 | 0.036137 | 6.0 | 2.62
Output | 0.00012037 | 0.00014855 | 0.0001849 | 0.0 | 0.01
Modify | 0.4213 | 0.42166 | 0.42201 | 0.0 | 42.53
Other | | 0.001272 | | | 0.13
Nlocal: 512 ave 521 max 503 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 4112 ave 4121 max 4103 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 78736 ave 80265 max 77207 min
Histogram: 2 0 0 0 0 0 0 0 0 2
FullNghs: 157472 ave 160276 max 154668 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 629888
Ave neighs/atom = 307.5625
Neighbor list builds = 100
Dangerous builds not checked
Total wall time: 0:00:01

View File

@ -0,0 +1,135 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-212-g01698ddc2e-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
# start a spin-lattice simulation from a data file
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
read_restart restart_hcp_cobalt.equil
Reading restart file ...
restart file = 4 Feb 2025, LAMMPS = 4 Feb 2025
restoring atom style spin from restart
orthogonal box = (0 0 0) to (12.5355 21.712123 20.470386)
1 by 1 by 1 MPI processor grid
restoring pair style spin/exchange from restart
500 atoms
read_restart CPU = 0.000 seconds
# setting mass, mag. moments, and interactions
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving
timestep 0.0001
# define outputs
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 20
thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix nve/spin command: doi:10.1016/j.jcp.2018.06.042
@article{tranchida2018massively,
title={Massively Parallel Symplectic Algorithm for Coupled Magnetic Spin Dynamics and Molecular Dynamics},
author={Tranchida, J and Plimpton, S J and Thibaudeau, P and Thompson, A P},
journal={Journal of Computational Physics},
volume={372},
pages={406--425},
year={2018},
publisher={Elsevier}
doi={10.1016/j.jcp.2018.06.042}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.499539
ghost atom cutoff = 7.499539
binsize = 3.7497695, bins = 4 6 6
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on, cut 7.499539
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
WARNING: Dump 100 includes no atom IDs and is not sorted by ID. This may complicate post-processing tasks or visualization (src/dump.cpp:220)
Per MPI rank memory allocation (min/avg/max) = 5.255 | 5.255 | 5.255 Mbytes
Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng
1000 0.1 0.0932563992120983 -2200.23506043127 -5.23510819573568 2608.1272233749 0 -2200.23506043127
1020 0.102 0.0932564226983496 -2200.24431693921 -5.24438874766875 2636.89284253705 0.143502110493468 -2200.23506093651
1040 0.104 0.0932564330551733 -2200.27026761331 -5.27068764778909 2646.09012775508 0.545814389665464 -2200.23506214178
1060 0.106 0.0932564065525508 -2200.30841491752 -5.31025431862422 2627.26990645217 1.13721564075693 -2200.23506358487
1080 0.108 0.0932563850278094 -2200.35339675793 -5.35874497582981 2585.24230543411 1.83458183455181 -2200.23506473927
1100 0.11 0.0932563977118321 -2200.40087596139 -5.41289411193204 2540.00857034711 2.5706738278606 -2200.23506541119
Loop time of 0.473574 on 1 procs for 100 steps with 500 atoms
Performance: 1.824 ns/day, 13.155 hours/ns, 211.160 timesteps/s, 105.580 katom-step/s
98.4% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.12025 | 0.12025 | 0.12025 | 0.0 | 25.39
Neigh | 0.14912 | 0.14912 | 0.14912 | 0.0 | 31.49
Comm | 0.0047587 | 0.0047587 | 0.0047587 | 0.0 | 1.00
Output | 0.07234 | 0.07234 | 0.07234 | 0.0 | 15.28
Modify | 0.12645 | 0.12645 | 0.12645 | 0.0 | 26.70
Other | | 0.0006494 | | | 0.14
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 2534 ave 2534 max 2534 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 36500 ave 36500 max 36500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 73000 ave 73000 max 73000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 73000
Ave neighs/atom = 146
Neighbor list builds = 100
Dangerous builds not checked
Total wall time: 0:00:00

View File

@ -0,0 +1,136 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-212-g01698ddc2e-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
# start a spin-lattice simulation from a data file
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
read_restart restart_hcp_cobalt.equil
Reading restart file ...
restart file = 4 Feb 2025, LAMMPS = 4 Feb 2025
WARNING: Restart file used different # of processors: 1 vs. 4 (src/read_restart.cpp:628)
restoring atom style spin from restart
orthogonal box = (0 0 0) to (12.5355 21.712123 20.470386)
1 by 2 by 2 MPI processor grid
restoring pair style spin/exchange from restart
500 atoms
read_restart CPU = 0.001 seconds
# setting mass, mag. moments, and interactions
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving
timestep 0.0001
# define outputs
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 20
thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix nve/spin command: doi:10.1016/j.jcp.2018.06.042
@article{tranchida2018massively,
title={Massively Parallel Symplectic Algorithm for Coupled Magnetic Spin Dynamics and Molecular Dynamics},
author={Tranchida, J and Plimpton, S J and Thibaudeau, P and Thompson, A P},
journal={Journal of Computational Physics},
volume={372},
pages={406--425},
year={2018},
publisher={Elsevier}
doi={10.1016/j.jcp.2018.06.042}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.499539
ghost atom cutoff = 7.499539
binsize = 3.7497695, bins = 4 6 6
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on, cut 7.499539
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
WARNING: Dump 100 includes no atom IDs and is not sorted by ID. This may complicate post-processing tasks or visualization (src/dump.cpp:220)
Per MPI rank memory allocation (min/avg/max) = 5.188 | 5.188 | 5.188 Mbytes
Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng
1000 0.1 0.0932563992120983 -2200.23506043087 -5.23510819573568 2608.1272233749 0 -2200.23506043087
1020 0.102 0.0932564663999882 -2200.24431693996 -5.24438874845296 2636.89226887198 0.14350212264756 -2200.23506093648
1040 0.104 0.0932565837400281 -2200.27026761822 -5.27068765273516 2646.08966888271 0.545814465748645 -2200.23506214179
1060 0.106 0.0932567073488227 -2200.30841492456 -5.31025432590717 2627.27001685206 1.13721574991944 -2200.23506358486
1080 0.108 0.0932567401022577 -2200.35339675946 -5.35874497805351 2585.24242001276 1.83458185842719 -2200.23506473925
1100 0.11 0.0932566884738387 -2200.4008759633 -5.41289411525345 2540.00813568378 2.57067385759474 -2200.23506541119
Loop time of 0.180477 on 4 procs for 100 steps with 500 atoms
Performance: 4.787 ns/day, 5.013 hours/ns, 554.088 timesteps/s, 277.044 katom-step/s
97.3% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.033968 | 0.034363 | 0.035109 | 0.2 | 19.04
Neigh | 0.035043 | 0.03728 | 0.040013 | 0.9 | 20.66
Comm | 0.0049574 | 0.0073867 | 0.0089549 | 1.7 | 4.09
Output | 0.021087 | 0.023594 | 0.026417 | 1.3 | 13.07
Modify | 0.074785 | 0.07749 | 0.079892 | 0.7 | 42.94
Other | | 0.0003627 | | | 0.20
Nlocal: 125 ave 136 max 117 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Nghost: 1387 ave 1395 max 1376 min
Histogram: 1 0 0 0 0 1 0 1 0 1
Neighs: 9125 ave 9972 max 8559 min
Histogram: 1 0 1 1 0 0 0 0 0 1
FullNghs: 18250 ave 19856 max 17082 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Total # of neighbors = 73000
Ave neighs/atom = 146
Neighbor list builds = 100
Dangerous builds not checked
Total wall time: 0:00:00

View File

@ -0,0 +1,142 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-212-g01698ddc2e-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
# fcc cobalt in a 3d periodic box
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice hcp 2.5071
Lattice spacing in x,y,z = 2.5071 4.3424246 4.0940772
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (12.5355 21.712123 20.470386)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (12.5355 21.712123 20.470386)
create_atoms CPU = 0.000 seconds
# setting mass, mag. moments, and interactions for cobalt
mass 1 58.93
set group all spin/atom/random 31 1.72
Setting atom values ...
500 settings made for spin/atom/random
pair_style spin/exchange 4.0
pair_coeff * * exchange 4.0 0.3593 1.135028015e-05 1.064568567
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 100.0 0.01 21
fix 3 all nve/spin lattice frozen
timestep 0.0001
# compute and output options
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm pe v_emag temp etotal
thermo 100
compute outsp all property/atom spx spy spz sp fmx fmy fmz
#dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
#dump_modify 100 sort id
run 1000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix nve/spin command: doi:10.1016/j.jcp.2018.06.042
@article{tranchida2018massively,
title={Massively Parallel Symplectic Algorithm for Coupled Magnetic Spin Dynamics and Molecular Dynamics},
author={Tranchida, J and Plimpton, S J and Thibaudeau, P and Thompson, A P},
journal={Journal of Computational Physics},
volume={372},
pages={406--425},
year={2018},
publisher={Elsevier}
doi={10.1016/j.jcp.2018.06.042}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 10 steps, delay = 20 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 4.1
ghost atom cutoff = 4.1
binsize = 2.05, bins = 7 11 10
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.78 | 4.78 | 4.78 Mbytes
Step Time v_magnorm PotEng v_emag Temp TotEng
0 0 0.076558814 0.89911794 0.89911794 0 0.89911794
100 0.01 0.077627966 0.36694275 0.36694275 0 0.36694275
200 0.02 0.076678387 -0.20241504 -0.20241504 0 -0.20241504
300 0.03 0.079174207 -0.67593525 -0.67593525 0 -0.67593525
400 0.04 0.085031074 -1.5172826 -1.5172826 0 -1.5172826
500 0.05 0.087026279 -2.042653 -2.042653 0 -2.042653
600 0.06 0.087064628 -2.6297295 -2.6297295 0 -2.6297295
700 0.07 0.089787949 -3.3144767 -3.3144767 0 -3.3144767
800 0.08 0.091698615 -4.028707 -4.028707 0 -4.028707
900 0.09 0.090031988 -4.6007241 -4.6007241 0 -4.6007241
1000 0.1 0.093256399 -5.2351082 -5.2351082 0 -5.2351082
Loop time of 0.710555 on 1 procs for 1000 steps with 500 atoms
Performance: 12.160 ns/day, 1.974 hours/ns, 1407.350 timesteps/s, 703.675 katom-step/s
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.12852 | 0.12852 | 0.12852 | 0.0 | 18.09
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.012387 | 0.012387 | 0.012387 | 0.0 | 1.74
Output | 0.00014522 | 0.00014522 | 0.00014522 | 0.0 | 0.02
Modify | 0.56835 | 0.56835 | 0.56835 | 0.0 | 79.99
Other | | 0.001145 | | | 0.16
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1221 ave 1221 max 1221 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 10000 ave 10000 max 10000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 10000
Ave neighs/atom = 20
Neighbor list builds = 0
Dangerous builds = 0
write_restart restart_hcp_cobalt.equil
System init for write_restart ...
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Total wall time: 0:00:00

View File

@ -0,0 +1,142 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-212-g01698ddc2e-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
# fcc cobalt in a 3d periodic box
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice hcp 2.5071
Lattice spacing in x,y,z = 2.5071 4.3424246 4.0940772
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (12.5355 21.712123 20.470386)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (12.5355 21.712123 20.470386)
create_atoms CPU = 0.001 seconds
# setting mass, mag. moments, and interactions for cobalt
mass 1 58.93
set group all spin/atom/random 31 1.72
Setting atom values ...
500 settings made for spin/atom/random
pair_style spin/exchange 4.0
pair_coeff * * exchange 4.0 0.3593 1.135028015e-05 1.064568567
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 100.0 0.01 21
fix 3 all nve/spin lattice frozen
timestep 0.0001
# compute and output options
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm pe v_emag temp etotal
thermo 100
compute outsp all property/atom spx spy spz sp fmx fmy fmz
#dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
#dump_modify 100 sort id
run 1000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix nve/spin command: doi:10.1016/j.jcp.2018.06.042
@article{tranchida2018massively,
title={Massively Parallel Symplectic Algorithm for Coupled Magnetic Spin Dynamics and Molecular Dynamics},
author={Tranchida, J and Plimpton, S J and Thibaudeau, P and Thompson, A P},
journal={Journal of Computational Physics},
volume={372},
pages={406--425},
year={2018},
publisher={Elsevier}
doi={10.1016/j.jcp.2018.06.042}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 10 steps, delay = 20 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 4.1
ghost atom cutoff = 4.1
binsize = 2.05, bins = 7 11 10
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.732 | 4.732 | 4.733 Mbytes
Step Time v_magnorm PotEng v_emag Temp TotEng
0 0 0.076558814 0.89911794 0.89911794 0 0.89911794
100 0.01 0.078299852 0.44131103 0.44131103 0 0.44131103
200 0.02 0.081260369 -0.2174146 -0.2174146 0 -0.2174146
300 0.03 0.081195064 -0.87039697 -0.87039697 0 -0.87039697
400 0.04 0.087298284 -1.7069593 -1.7069593 0 -1.7069593
500 0.05 0.087663192 -2.1882865 -2.1882865 0 -2.1882865
600 0.06 0.091713114 -2.926766 -2.926766 0 -2.926766
700 0.07 0.093779218 -3.3532704 -3.3532704 0 -3.3532704
800 0.08 0.097960251 -3.9343481 -3.9343481 0 -3.9343481
900 0.09 0.10193598 -4.7944099 -4.7944099 0 -4.7944099
1000 0.1 0.10832963 -5.3823924 -5.3823924 0 -5.3823924
Loop time of 0.40066 on 4 procs for 1000 steps with 500 atoms
Performance: 21.564 ns/day, 1.113 hours/ns, 2495.885 timesteps/s, 1.248 Matom-step/s
97.9% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.032435 | 0.033013 | 0.033957 | 0.3 | 8.24
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.016106 | 0.016898 | 0.017915 | 0.5 | 4.22
Output | 0.00012331 | 0.00013523 | 0.00016852 | 0.0 | 0.03
Modify | 0.34913 | 0.34974 | 0.35017 | 0.1 | 87.29
Other | | 0.0008755 | | | 0.22
Nlocal: 125 ave 125 max 125 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Nghost: 597.5 ave 600 max 595 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 2500 ave 2500 max 2500 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Total # of neighbors = 10000
Ave neighs/atom = 20
Neighbor list builds = 0
Dangerous builds = 0
write_restart restart_hcp_cobalt.equil
System init for write_restart ...
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Total wall time: 0:00:00

View File

@ -1,110 +0,0 @@
LAMMPS (19 Mar 2020)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94)
using 1 OpenMP thread(s) per MPI task
units metal
dimension 3
boundary p p p
atom_style spin
# necessary for the serial algorithm (sametag)
atom_modify map array
read_data Norm_randXY_8x8x32.data
orthogonal box = (0 0 0) to (28.32 28.32 113.28)
1 by 1 by 1 MPI processor grid
reading atoms ...
8192 atoms
read_data CPU = 0.022048 secs
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving
timestep 0.0001
# define outputs and computes
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 20
thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 100
Neighbor list info ...
update every 1 steps, delay 0 steps, check no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.49954
ghost atom cutoff = 7.49954
binsize = 3.74977, bins = 8 8 31
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 19.99 | 19.99 | 19.99 Mbytes
Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng
0 0 0.0177864461018737 -36558.7284872918 -661.829206399896 1274.398774669 0 -36558.7284872918
20 0.002 0.0177864377256184 -36558.7389378387 -661.839683504936 1259.94171978912 0.00986992693139795 -36558.7284878577
40 0.004 0.017786472977471 -36558.7684525639 -661.869582914286 1224.05894016152 0.0377451568363827 -36558.7284891299
60 0.006 0.0177865119543331 -36558.8126238543 -661.915330492427 1184.24369688088 0.0794631076347515 -36558.728490712
80 0.008 0.0177865172048059 -36558.8659242367 -661.972562482488 1152.05459929593 0.129803482511904 -36558.7284922233
100 0.01 0.0177865063752424 -36558.9229549739 -662.037138807935 1129.51470280479 0.183667498513087 -36558.7284933644
Loop time of 14.3276 on 1 procs for 100 steps with 8192 atoms
Performance: 0.060 ns/day, 397.988 hours/ns, 6.980 timesteps/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 4.0409 | 4.0409 | 4.0409 | 0.0 | 28.20
Neigh | 3.6219 | 3.6219 | 3.6219 | 0.0 | 25.28
Comm | 0.055327 | 0.055327 | 0.055327 | 0.0 | 0.39
Output | 2.4259 | 2.4259 | 2.4259 | 0.0 | 16.93
Modify | 4.1688 | 4.1688 | 4.1688 | 0.0 | 29.10
Other | | 0.01477 | | | 0.10
Nlocal: 8192 ave 8192 max 8192 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 14621 ave 14621 max 14621 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 573440 ave 573440 max 573440 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 1.14688e+06 ave 1.14688e+06 max 1.14688e+06 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 1146880
Ave neighs/atom = 140
Neighbor list builds = 100
Dangerous builds not checked
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:14

View File

@ -1,110 +0,0 @@
LAMMPS (19 Mar 2020)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94)
using 1 OpenMP thread(s) per MPI task
units metal
dimension 3
boundary p p p
atom_style spin
# necessary for the serial algorithm (sametag)
atom_modify map array
read_data Norm_randXY_8x8x32.data
orthogonal box = (0 0 0) to (28.32 28.32 113.28)
1 by 1 by 4 MPI processor grid
reading atoms ...
8192 atoms
read_data CPU = 0.013634 secs
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving
timestep 0.0001
# define outputs and computes
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 20
thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 100
Neighbor list info ...
update every 1 steps, delay 0 steps, check no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.49954
ghost atom cutoff = 7.49954
binsize = 3.74977, bins = 8 8 31
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 8.961 | 9.047 | 9.29 Mbytes
Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng
0 0 0.0177864461018739 -36558.7284872997 -661.829206399894 1274.398774669 0 -36558.7284872997
20 0.002 0.0177863981273124 -36558.7389378386 -661.839683504262 1259.94177798388 0.00986992629371963 -36558.7284878582
40 0.004 0.0177864622701489 -36558.7684525586 -661.869582908114 1224.05908191331 0.0377451510479599 -36558.7284891308
60 0.006 0.0177865625037858 -36558.8126238326 -661.915330472361 1184.24389640891 0.0794630890177406 -36558.72849071
80 0.008 0.0177865898045059 -36558.8659241943 -661.972562439245 1152.05483020781 0.129803443061299 -36558.7284922226
100 0.01 0.017786565190115 -36558.9229549058 -662.037138735432 1129.51495182843 0.183667434061771 -36558.7284933646
Loop time of 4.35911 on 4 procs for 100 steps with 8192 atoms
Performance: 0.198 ns/day, 121.086 hours/ns, 22.940 timesteps/s
99.7% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.0924 | 1.1043 | 1.1117 | 0.7 | 25.33
Neigh | 0.93575 | 0.94926 | 0.98325 | 2.0 | 21.78
Comm | 0.044663 | 0.088288 | 0.11128 | 8.7 | 2.03
Output | 0.64199 | 0.6587 | 0.67226 | 1.4 | 15.11
Modify | 1.5412 | 1.5535 | 1.5706 | 0.9 | 35.64
Other | | 0.005046 | | | 0.12
Nlocal: 2048 ave 2061 max 2035 min
Histogram: 1 0 0 1 0 0 1 0 0 1
Nghost: 5765 ave 5778 max 5752 min
Histogram: 1 0 0 1 0 0 1 0 0 1
Neighs: 143360 ave 144262 max 142469 min
Histogram: 1 0 0 1 0 0 1 0 0 1
FullNghs: 286720 ave 288540 max 284900 min
Histogram: 1 0 0 1 0 0 1 0 0 1
Total # of neighbors = 1146880
Ave neighs/atom = 140
Neighbor list builds = 100
Dangerous builds not checked
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:04

View File

@ -1,116 +0,0 @@
LAMMPS (19 Mar 2020)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94)
using 1 OpenMP thread(s) per MPI task
# start a spin-lattice simulation from a data file
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
read_restart restart_hcp_cobalt.equil
WARNING: Restart file used different # of processors: 4 vs. 1 (../read_restart.cpp:736)
restoring atom style spin from restart
orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704)
1 by 1 by 1 MPI processor grid
restoring pair style spin/exchange from restart
500 atoms
read_restart CPU = 0.00179696 secs
# setting mass, mag. moments, and interactions
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving
timestep 0.0001
# define outputs
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 20
thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 100
Neighbor list info ...
update every 1 steps, delay 0 steps, check no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.49954
ghost atom cutoff = 7.49954
binsize = 3.74977, bins = 4 6 6
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 7.422 | 7.422 | 7.422 Mbytes
Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng
1000 0 0.108317262557656 -2200.38241212222 -5.38245988668244 2538.4247868621 0 -2200.38241212222
1020 0.002 0.108317318495042 -2200.39172132133 -5.39179331134703 2513.42968070374 0.144319963844279 -2200.38241256643
1040 0.004 0.108317415558744 -2200.41811580407 -5.418541526637 2478.87571728648 0.553516420254567 -2200.38241354532
1060 0.006 0.108317473592946 -2200.45801216332 -5.45990062771403 2449.77257658726 1.17203792179707 -2200.38241476526
1080 0.008 0.108317450745396 -2200.5068824087 -5.51245983698347 2427.25022669715 1.92968606059505 -2200.3824160902
1100 0.01 0.108317381572202 -2200.55976028827 -5.57250071024394 2400.86131889957 2.74946927499959 -2200.38241728649
Loop time of 0.954493 on 1 procs for 100 steps with 500 atoms
Performance: 0.905 ns/day, 26.514 hours/ns, 104.768 timesteps/s
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.27043 | 0.27043 | 0.27043 | 0.0 | 28.33
Neigh | 0.26148 | 0.26148 | 0.26148 | 0.0 | 27.40
Comm | 0.0071123 | 0.0071123 | 0.0071123 | 0.0 | 0.75
Output | 0.14169 | 0.14169 | 0.14169 | 0.0 | 14.84
Modify | 0.2726 | 0.2726 | 0.2726 | 0.0 | 28.56
Other | | 0.001178 | | | 0.12
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 2534 ave 2534 max 2534 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 36500 ave 36500 max 36500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 73000 ave 73000 max 73000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 73000
Ave neighs/atom = 146
Neighbor list builds = 100
Dangerous builds not checked
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:01

View File

@ -1,115 +0,0 @@
LAMMPS (19 Mar 2020)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94)
using 1 OpenMP thread(s) per MPI task
# start a spin-lattice simulation from a data file
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
read_restart restart_hcp_cobalt.equil
restoring atom style spin from restart
orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704)
1 by 2 by 2 MPI processor grid
restoring pair style spin/exchange from restart
500 atoms
read_restart CPU = 0.00173593 secs
# setting mass, mag. moments, and interactions
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving
timestep 0.0001
# define outputs
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 20
thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 100
Neighbor list info ...
update every 1 steps, delay 0 steps, check no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.49954
ghost atom cutoff = 7.49954
binsize = 3.74977, bins = 4 6 6
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 7.324 | 7.324 | 7.324 Mbytes
Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng
1000 0 0.108317262557656 -2200.38241212182 -5.38245988668244 2538.4247868621 0 -2200.38241212182
1020 0.002 0.108317316216432 -2200.39172132147 -5.39179331147409 2513.42945241007 0.14431996581917 -2200.38241256644
1040 0.004 0.108317347939802 -2200.41811580574 -5.41854152831072 2478.87544274124 0.553516446104432 -2200.38241354532
1060 0.006 0.108317342440309 -2200.45801216927 -5.45990063373049 2449.77218633122 1.17203801398165 -2200.38241476526
1080 0.008 0.108317320345284 -2200.50688241767 -5.51245984623572 2427.2497145488 1.92968619968329 -2200.3824160902
1100 0.01 0.10831728372281 -2200.55976028296 -5.57250070536486 2400.86059511731 2.74946919265255 -2200.38241728649
Loop time of 0.405615 on 4 procs for 100 steps with 500 atoms
Performance: 2.130 ns/day, 11.267 hours/ns, 246.539 timesteps/s
99.7% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.075661 | 0.076798 | 0.077343 | 0.2 | 18.93
Neigh | 0.063154 | 0.064974 | 0.066991 | 0.5 | 16.02
Comm | 0.012538 | 0.013787 | 0.015151 | 0.8 | 3.40
Output | 0.039155 | 0.040842 | 0.042502 | 0.6 | 10.07
Modify | 0.20709 | 0.20883 | 0.21036 | 0.3 | 51.49
Other | | 0.0003826 | | | 0.09
Nlocal: 125 ave 127 max 122 min
Histogram: 1 0 0 0 1 0 0 0 0 2
Nghost: 1387 ave 1390 max 1385 min
Histogram: 2 0 0 0 0 0 1 0 0 1
Neighs: 9125 ave 9272 max 8945 min
Histogram: 1 0 0 1 0 0 0 0 1 1
FullNghs: 18250 ave 18542 max 17812 min
Histogram: 1 0 0 0 1 0 0 0 0 2
Total # of neighbors = 73000
Ave neighs/atom = 146
Neighbor list builds = 100
Dangerous builds not checked
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:00

View File

@ -1,120 +0,0 @@
LAMMPS (19 Mar 2020)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94)
using 1 OpenMP thread(s) per MPI task
# fcc cobalt in a 3d periodic box
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice hcp 2.5071
Lattice spacing in x,y,z = 2.5071 4.34242 4.09408
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
create_atoms CPU = 0.000952005 secs
# setting mass, mag. moments, and interactions for cobalt
mass 1 58.93
set group all spin/random 31 1.72
500 settings made for spin/random
pair_style spin/exchange 4.0
pair_coeff * * exchange 4.0 0.3593 1.135028015e-05 1.064568567
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 100.0 0.01 21
fix 3 all nve/spin lattice frozen
timestep 0.0001
# compute and output options
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm pe v_emag temp etotal
thermo 100
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 1000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 4.1
ghost atom cutoff = 4.1
binsize = 2.05, bins = 7 11 10
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 6.947 | 6.947 | 6.947 Mbytes
Step Time v_magnorm PotEng v_emag Temp TotEng
0 0 0.076558814 0.89911794 0.89911794 0 0.89911794
100 0.01 0.077628154 0.36693917 0.36693917 0 0.36693917
200 0.02 0.076678996 -0.20242315 -0.20242315 0 -0.20242315
300 0.03 0.079174837 -0.67595514 -0.67595514 0 -0.67595514
400 0.04 0.085031632 -1.5172851 -1.5172851 0 -1.5172851
500 0.05 0.08702747 -2.0426628 -2.0426628 0 -2.0426628
600 0.06 0.087066482 -2.6297745 -2.6297745 0 -2.6297745
700 0.07 0.089788894 -3.314538 -3.314538 0 -3.314538
800 0.08 0.091699611 -4.0287043 -4.0287043 0 -4.0287043
900 0.09 0.090038899 -4.600601 -4.600601 0 -4.600601
1000 0.1 0.093257309 -5.2352261 -5.2352261 0 -5.2352261
Loop time of 3.30071 on 1 procs for 1000 steps with 500 atoms
Performance: 2.618 ns/day, 9.169 hours/ns, 302.965 timesteps/s
99.3% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.3844 | 0.3844 | 0.3844 | 0.0 | 11.65
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.019863 | 0.019863 | 0.019863 | 0.0 | 0.60
Output | 1.3844 | 1.3844 | 1.3844 | 0.0 | 41.94
Modify | 1.5084 | 1.5084 | 1.5084 | 0.0 | 45.70
Other | | 0.00367 | | | 0.11
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1221 ave 1221 max 1221 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 10000 ave 10000 max 10000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 10000
Ave neighs/atom = 20
Neighbor list builds = 0
Dangerous builds = 0
write_restart restart_hcp_cobalt.equil
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:03

View File

@ -1,120 +0,0 @@
LAMMPS (19 Mar 2020)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94)
using 1 OpenMP thread(s) per MPI task
# fcc cobalt in a 3d periodic box
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice hcp 2.5071
Lattice spacing in x,y,z = 2.5071 4.34242 4.09408
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 500 atoms
create_atoms CPU = 0.000663042 secs
# setting mass, mag. moments, and interactions for cobalt
mass 1 58.93
set group all spin/random 31 1.72
500 settings made for spin/random
pair_style spin/exchange 4.0
pair_coeff * * exchange 4.0 0.3593 1.135028015e-05 1.064568567
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 100.0 0.01 21
fix 3 all nve/spin lattice frozen
timestep 0.0001
# compute and output options
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm pe v_emag temp etotal
thermo 100
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 1000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 4.1
ghost atom cutoff = 4.1
binsize = 2.05, bins = 7 11 10
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 6.868 | 6.868 | 6.868 Mbytes
Step Time v_magnorm PotEng v_emag Temp TotEng
0 0 0.076558814 0.89911794 0.89911794 0 0.89911794
100 0.01 0.078299981 0.44129792 0.44129792 0 0.44129792
200 0.02 0.081260508 -0.21742361 -0.21742361 0 -0.21742361
300 0.03 0.081195603 -0.87041046 -0.87041046 0 -0.87041046
400 0.04 0.087298495 -1.7069519 -1.7069519 0 -1.7069519
500 0.05 0.087663924 -2.1883045 -2.1883045 0 -2.1883045
600 0.06 0.091713683 -2.9267461 -2.9267461 0 -2.9267461
700 0.07 0.093779119 -3.353314 -3.353314 0 -3.353314
800 0.08 0.097960611 -3.9344284 -3.9344284 0 -3.9344284
900 0.09 0.10193463 -4.7944004 -4.7944004 0 -4.7944004
1000 0.1 0.10831726 -5.3824599 -5.3824599 0 -5.3824599
Loop time of 1.7839 on 4 procs for 1000 steps with 500 atoms
Performance: 4.843 ns/day, 4.955 hours/ns, 560.569 timesteps/s
99.5% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.10068 | 0.10749 | 0.11461 | 1.5 | 6.03
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.052378 | 0.062171 | 0.07177 | 2.8 | 3.49
Output | 0.4054 | 0.42334 | 0.44025 | 2.0 | 23.73
Modify | 1.174 | 1.1893 | 1.2043 | 1.1 | 66.67
Other | | 0.001558 | | | 0.09
Nlocal: 125 ave 125 max 125 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Nghost: 597.5 ave 600 max 595 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 2500 ave 2500 max 2500 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Total # of neighbors = 10000
Ave neighs/atom = 20
Neighbor list builds = 0
Dangerous builds = 0
write_restart restart_hcp_cobalt.equil
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:01

View File

@ -50,5 +50,5 @@ thermo 200
compute outsp all property/atom spx spy spz sp fmx fmy fmz compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 1 all custom 10 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] dump 1 all custom 10 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 100000 run 10000
# run 1 # run 1

View File

@ -0,0 +1,188 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-169-g4246fab500)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
# bcc iron in a 3d periodic box
clear
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
units metal
atom_style spin
# atom_style spin/kk
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice bcc 2.8665
Lattice spacing in x,y,z = 2.8665 2.8665 2.8665
region box block 0.0 3.0 0.0 3.0 0.0 3.0
create_box 1 box
Created orthogonal box = (0 0 0) to (8.5995 8.5995 8.5995)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 54 atoms
using lattice units in orthogonal box = (0 0 0) to (8.5995 8.5995 8.5995)
create_atoms CPU = 0.001 seconds
# setting mass, mag. moments, and interactions for bcc iron
mass 1 55.845
set group all spin/random 31 2.2
Setting atom values ...
WARNING: Set attribute spin/random is deprecated. Please use spin/atom/random instead. (src/set.cpp:293)
54 settings made for spin/random
velocity all create 100 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 3.5
pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe
pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.00 21
fix 3 all nve/spin lattice moving
timestep 0.0001
# compute and output options
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_tmag temp v_emag ke pe etotal
thermo 200
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 1 all custom 10 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 10000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix nve/spin command: doi:10.1016/j.jcp.2018.06.042
@article{tranchida2018massively,
title={Massively Parallel Symplectic Algorithm for Coupled Magnetic Spin Dynamics and Molecular Dynamics},
author={Tranchida, J and Plimpton, S J and Thibaudeau, P and Thompson, A P},
journal={Journal of Computational Physics},
volume={372},
pages={406--425},
year={2018},
publisher={Elsevier}
doi={10.1016/j.jcp.2018.06.042}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 10 steps, delay = 20 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.773367
ghost atom cutoff = 5.773367
binsize = 2.8866835, bins = 3 3 3
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on, cut 5.7733670002446
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
WARNING: Dump 1 includes no atom IDs and is not sorted by ID. This may complicate post-processing tasks or visualization (src/dump.cpp:220)
Per MPI rank memory allocation (min/avg/max) = 5.626 | 5.626 | 5.626 Mbytes
Step Time v_tmag Temp v_emag KinEng PotEng TotEng
0 0 1836.2373 100.00358 -0.26674297 0.6851033 -231.38675 -230.70164
200 0.02 1751.0384 48.019015 -0.27512361 0.32896808 -231.03061 -230.70164
400 0.04 1776.2639 19.035769 -0.28188188 0.13041001 -230.83205 -230.70164
600 0.06 1787.5802 60.069761 -0.2772323 0.41152518 -231.11317 -230.70164
800 0.08 1706.5552 50.79606 -0.27292548 0.34799302 -231.04963 -230.70164
1000 0.1 2120.1611 44.605193 -0.26987056 0.3055807 -231.00722 -230.70164
1200 0.12 1754.9393 64.57232 -0.26943293 0.44237126 -231.14401 -230.70164
1400 0.14 1912.6009 44.177766 -0.26857448 0.3026525 -231.00429 -230.70164
1600 0.16 1875.5315 40.249733 -0.27481087 0.27574238 -230.97738 -230.70164
1800 0.18 1837.1786 62.817536 -0.28092582 0.4303496 -231.13199 -230.70164
2000 0.2 1860.1719 54.167659 -0.28282659 0.37109113 -231.07273 -230.70164
2200 0.22 1691.658 46.643932 -0.29528237 0.31954767 -231.02119 -230.70164
2400 0.24 1525.2579 57.361866 -0.30189945 0.39297397 -231.09462 -230.70164
2600 0.26 1505.1726 56.239347 -0.30898994 0.38528383 -231.08693 -230.70164
2800 0.28 1415.9555 47.818074 -0.31351411 0.32759147 -231.02923 -230.70164
3000 0.3 1248.4308 49.608492 -0.31727375 0.33985725 -231.0415 -230.70164
3200 0.32 1200.7605 51.495405 -0.31565357 0.35278409 -231.05443 -230.70164
3400 0.34 1746.137 56.967184 -0.30906485 0.39027008 -231.09191 -230.70164
3600 0.36 1805.3667 55.030692 -0.30799197 0.37700359 -231.07865 -230.70164
3800 0.38 1609.9498 59.452017 -0.30520539 0.40729315 -231.10894 -230.70164
4000 0.4 1686.1863 57.338707 -0.30240026 0.39281531 -231.09446 -230.70164
4200 0.42 1961.3516 41.421108 -0.30479326 0.28376722 -230.98541 -230.70164
4400 0.44 1971.1808 54.038289 -0.30876936 0.37020484 -231.07185 -230.70164
4600 0.46 1819.428 56.766201 -0.3129157 0.38889319 -231.09054 -230.70164
4800 0.48 1494.1263 47.402453 -0.32868332 0.32474414 -231.02639 -230.70164
5000 0.5 1601.6127 63.404101 -0.33283819 0.43436803 -231.13601 -230.70164
5200 0.52 1567.7429 62.783792 -0.34753005 0.43011843 -231.13176 -230.70164
5400 0.54 1686.234 40.450417 -0.3603489 0.27711722 -230.97876 -230.70164
5600 0.56 1651.1927 64.255456 -0.36569031 0.44020049 -231.14184 -230.70164
5800 0.58 1380.639 75.386226 -0.36870019 0.51645503 -231.2181 -230.70164
6000 0.6 1539.07 40.611642 -0.36303517 0.27822173 -230.97986 -230.70164
6200 0.62 1442.2286 50.254503 -0.36560331 0.34428293 -231.04592 -230.70164
6400 0.64 1263.6928 69.095161 -0.36822748 0.47335628 -231.175 -230.70164
6600 0.66 1468.1529 54.534243 -0.37319988 0.37360252 -231.07524 -230.70164
6800 0.68 1289.4927 60.381892 -0.38478834 0.41366352 -231.11531 -230.70164
7000 0.7 1121.6702 58.691171 -0.39652609 0.40208075 -231.10372 -230.70164
7200 0.72 1018.1068 53.528417 -0.40711639 0.36671182 -231.06835 -230.70164
7400 0.74 1115.0342 78.62129 -0.41729373 0.53861776 -231.24026 -230.70164
7600 0.76 1329.4621 65.650574 -0.41928751 0.44975815 -231.1514 -230.70164
7800 0.78 1154.164 45.603278 -0.41263444 0.31241837 -231.01406 -230.70164
8000 0.8 1090.2959 62.148282 -0.40987933 0.42576469 -231.12741 -230.70164
8200 0.82 1303.4698 63.864431 -0.41301445 0.43752166 -231.13916 -230.70164
8400 0.84 1144.2181 52.222297 -0.41645089 0.35776387 -231.05941 -230.70164
8600 0.86 1005.3359 61.59129 -0.41282114 0.42194885 -231.12359 -230.70164
8800 0.88 1453.8465 70.876149 -0.41920851 0.48555745 -231.1872 -230.70164
9000 0.9 1325.9116 63.675151 -0.42450864 0.43622494 -231.13787 -230.70164
9200 0.92 1213.5738 58.297881 -0.42722791 0.3993864 -231.10103 -230.70164
9400 0.94 1227.437 57.375795 -0.44309693 0.39306939 -231.09471 -230.70164
9600 0.96 1192.79 65.822598 -0.44760999 0.45093664 -231.15258 -230.70164
9800 0.98 1231.5166 69.119896 -0.45335245 0.47352573 -231.17517 -230.70164
10000 1 1284.2809 66.166068 -0.45872955 0.45328969 -231.15493 -230.70164
Loop time of 5.97474 on 1 procs for 10000 steps with 54 atoms
Performance: 14.461 ns/day, 1.660 hours/ns, 1673.714 timesteps/s, 90.381 katom-step/s
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.501 | 2.501 | 2.501 | 0.0 | 41.86
Neigh | 0.016481 | 0.016481 | 0.016481 | 0.0 | 0.28
Comm | 0.37576 | 0.37576 | 0.37576 | 0.0 | 6.29
Output | 0.12311 | 0.12311 | 0.12311 | 0.0 | 2.06
Modify | 2.9317 | 2.9317 | 2.9317 | 0.0 | 49.07
Other | | 0.02661 | | | 0.45
Nlocal: 54 ave 54 max 54 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 777 ave 777 max 777 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 1700 ave 1700 max 1700 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 3400 ave 3400 max 3400 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 3400
Ave neighs/atom = 62.962963
Neighbor list builds = 58
Dangerous builds = 0
# run 1
Total wall time: 0:00:06

View File

@ -49,4 +49,4 @@ variable tmag equal c_out_mag[6]
thermo_style custom step time v_tmag temp v_emag ke pe etotal thermo_style custom step time v_tmag temp v_emag ke pe etotal
thermo 200 thermo 200
run 200000 run 20000

View File

@ -32,7 +32,7 @@ neighbor 0.1 bin
neigh_modify every 10 check yes delay 20 neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin 0.0 0.0 0.0 48279 fix 2 all langevin 0.0 0.0 0.001 48279
fix 3 all langevin/spin 200.0 0.01 321 fix 3 all langevin/spin 200.0 0.01 321
fix 4 all nve/spin lattice moving fix 4 all nve/spin lattice moving
timestep 0.001 timestep 0.001
@ -50,4 +50,4 @@ variable tmag equal c_out_mag[6]
thermo_style custom step time v_tmag temp v_emag ke pe etotal thermo_style custom step time v_tmag temp v_emag ke pe etotal
thermo 200 thermo 200
run 200000 run 20000

View File

@ -0,0 +1,240 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-169-g4246fab500)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
# bcc iron in a 3d periodic box
clear
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
units metal
atom_style spin
# atom_style spin/kk
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice bcc 2.8665
Lattice spacing in x,y,z = 2.8665 2.8665 2.8665
region box block 0.0 3.0 0.0 3.0 0.0 3.0
create_box 1 box
Created orthogonal box = (0 0 0) to (8.5995 8.5995 8.5995)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 54 atoms
using lattice units in orthogonal box = (0 0 0) to (8.5995 8.5995 8.5995)
create_atoms CPU = 0.001 seconds
# setting mass, mag. moments, and interactions for bcc iron
mass 1 55.845
set group all spin 2.2 0.0 0.0 1.0
Setting atom values ...
WARNING: Set attribute spin is deprecated. Please use spin/atom instead. (src/set.cpp:268)
54 settings made for spin
velocity all create 400 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0
pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe
pair_coeff * * spin/exchange exchange 3.4 0.1 0.2171 1.841
pair_coeff * * spin/neel neel 4.0 0.02 0.0 1.841 0.0 0.0 1.0
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin 200.0 200.0 0.1 48279
fix 3 all langevin/spin 0.0 0.0 321
fix 4 all nve/spin lattice moving
timestep 0.001
# compute and output options
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_tmag temp v_emag ke pe etotal
thermo 200
run 20000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix nve/spin command: doi:10.1016/j.jcp.2018.06.042
@article{tranchida2018massively,
title={Massively Parallel Symplectic Algorithm for Coupled Magnetic Spin Dynamics and Molecular Dynamics},
author={Tranchida, J and Plimpton, S J and Thibaudeau, P and Thompson, A P},
journal={Journal of Computational Physics},
volume={372},
pages={406--425},
year={2018},
publisher={Elsevier}
doi={10.1016/j.jcp.2018.06.042}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 10 steps, delay = 20 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.773367
ghost atom cutoff = 5.773367
binsize = 2.8866835, bins = 3 3 3
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on, cut 5.7733670002446
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(3) pair spin/neel, perpetual, copy from (2)
attributes: full, newton on
pair build: copy
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 6.008 | 6.008 | 6.008 Mbytes
Step Time v_tmag Temp v_emag KinEng PotEng TotEng
0 0 1.4336203e-31 400.01433 -22.021022 2.7404132 -253.14103 -250.40061
200 0.2 0.26275543 188.91786 -21.983513 1.2942362 -251.94911 -250.65488
400 0.4 0.56095049 204.95947 -21.977046 1.4041338 -251.914 -250.50987
600 0.6 0.81480981 203.28763 -21.98548 1.3926804 -251.88478 -250.4921
800 0.8 0.97590428 184.8694 -21.974142 1.266501 -251.73716 -250.47066
1000 1 1.1324742 184.65547 -21.986309 1.2650354 -252.03248 -250.76744
1200 1.2 1.5284342 207.55788 -21.974821 1.421935 -251.7769 -250.35497
1400 1.4 1.8310776 220.75396 -21.979994 1.5123385 -251.93989 -250.42755
1600 1.6 2.2057174 236.04272 -21.973951 1.6170785 -251.98625 -250.36917
1800 1.8 2.7760928 195.92697 -21.96808 1.3422541 -251.7495 -250.40725
2000 2 3.2171354 161.33811 -21.975129 1.1052932 -251.86337 -250.75808
2200 2.2 3.8284998 193.21861 -21.968067 1.3236997 -251.86609 -250.54239
2400 2.4 4.4109629 203.79368 -21.971813 1.3961472 -251.92264 -250.52649
2600 2.6 4.5056291 200.81431 -21.960649 1.3757362 -251.80976 -250.43403
2800 2.8 4.6221125 185.57027 -21.972664 1.2713025 -252.0384 -250.76709
3000 3 4.9059897 216.00877 -21.966875 1.4798302 -252.13406 -250.65423
3200 3.2 5.3958965 152.77626 -21.956779 1.0466377 -251.66 -250.61337
3400 3.4 5.9881406 170.70538 -21.964189 1.1694663 -251.9061 -250.73663
3600 3.6 6.134982 210.99981 -21.945137 1.4455149 -251.75025 -250.30474
3800 3.8 6.5940545 239.12527 -21.953159 1.6381964 -251.90813 -250.26993
4000 4 6.9355034 181.99614 -21.938591 1.2468169 -251.59724 -250.35043
4200 4.2 7.3712919 242.52183 -21.932318 1.6614656 -251.71104 -250.04957
4400 4.4 7.5924709 164.34328 -21.942361 1.1258809 -251.64032 -250.51444
4600 4.6 8.1833481 205.94973 -21.941491 1.4109179 -251.57627 -250.16536
4800 4.8 8.40416 169.96914 -21.945774 1.1644225 -251.87887 -250.71444
5000 5 8.4422416 189.79518 -21.94955 1.3002465 -251.80055 -250.50031
5200 5.2 8.3667008 195.86473 -21.934302 1.3418277 -251.64678 -250.30495
5400 5.4 8.7075519 204.82319 -21.947339 1.4032002 -251.85712 -250.45392
5600 5.6 8.6582399 191.25854 -21.933614 1.3102717 -251.51648 -250.2062
5800 5.8 8.896287 180.44446 -21.923523 1.2361867 -251.68003 -250.44384
6000 6 9.1379808 248.49596 -21.938845 1.7023931 -251.84502 -250.14263
6200 6.2 8.9724294 181.67979 -21.939567 1.2446497 -251.81639 -250.57174
6400 6.4 8.7735241 198.31668 -21.952115 1.3586255 -251.97841 -250.61979
6600 6.6 9.0394523 218.6735 -21.934717 1.4980857 -251.85133 -250.35325
6800 6.8 9.5779186 203.83536 -21.937873 1.3964328 -251.98448 -250.58804
7000 7 9.7893273 185.56096 -21.949319 1.2712387 -252.09057 -250.81934
7200 7.2 9.5292481 205.53224 -21.936466 1.4080577 -251.98037 -250.57231
7400 7.4 9.7369072 200.76528 -21.944609 1.3754003 -251.88128 -250.50588
7600 7.6 9.9385522 217.68239 -21.920768 1.4912959 -251.6169 -250.1256
7800 7.8 9.8656638 219.17274 -21.92302 1.5015059 -251.50189 -250.00039
8000 8 9.2380618 264.13229 -21.936112 1.8095143 -251.71532 -249.9058
8200 8.2 9.3384949 239.58029 -21.941834 1.6413137 -251.73551 -250.0942
8400 8.4 9.1684312 207.27974 -21.938426 1.4200295 -251.59062 -250.17059
8600 8.6 8.8407032 200.79452 -21.933328 1.3756006 -251.48006 -250.10446
8800 8.8 8.84683 218.44316 -21.949738 1.4965077 -251.92925 -250.43275
9000 9 9.0686442 216.06373 -21.942255 1.4802067 -251.79797 -250.31776
9200 9.2 9.2783597 187.56662 -21.93374 1.2849791 -251.87884 -250.59386
9400 9.4 9.2794158 203.78139 -21.955284 1.396063 -252.09328 -250.69722
9600 9.6 9.3563189 196.15871 -21.948544 1.3438417 -251.85685 -250.51301
9800 9.8 9.6458819 215.38334 -21.94895 1.4755455 -251.92219 -250.44665
10000 10 9.5073837 178.61601 -21.955281 1.2236604 -251.97306 -250.7494
10200 10.2 9.3510908 185.21136 -21.94749 1.2688437 -251.83233 -250.56349
10400 10.4 9.8171891 194.92192 -21.945394 1.3353687 -251.86067 -250.5253
10600 10.6 9.5996138 213.90302 -21.945461 1.4654042 -251.72508 -250.25968
10800 10.8 9.8602813 208.57912 -21.936736 1.4289312 -251.55778 -250.12885
11000 11 10.652287 202.88507 -21.933085 1.3899225 -251.69631 -250.30639
11200 11.2 10.413298 171.86972 -21.919711 1.1774429 -251.16232 -249.98488
11400 11.4 10.589727 179.33897 -21.927537 1.2286132 -251.65266 -250.42405
11600 11.6 11.099271 176.43012 -21.925025 1.2086853 -251.65796 -250.44927
11800 11.8 11.49558 216.78529 -21.935923 1.48515 -251.51958 -250.03443
12000 12 11.190687 206.45545 -21.941866 1.4143824 -251.55494 -250.14055
12200 12.2 11.372777 216.26373 -21.934028 1.4815769 -251.75482 -250.27324
12400 12.4 11.303952 218.67625 -21.928577 1.4981046 -251.73908 -250.24098
12600 12.6 11.065605 188.25083 -21.925979 1.2896665 -251.49808 -250.20841
12800 12.8 11.289265 209.423 -21.933529 1.4347125 -251.85142 -250.41671
13000 13 11.412931 148.86392 -21.93732 1.0198351 -251.88347 -250.86364
13200 13.2 11.677538 187.03356 -21.923919 1.2813272 -251.52124 -250.23991
13400 13.4 12.451801 237.44268 -21.93385 1.6266694 -251.70112 -250.07445
13600 13.6 12.981208 196.47947 -21.926751 1.3460391 -251.80509 -250.45905
13800 13.8 13.301789 191.61721 -21.921891 1.3127288 -251.85541 -250.54268
14000 14 13.726635 212.61693 -21.922086 1.4565934 -252.06804 -250.61145
14200 14.2 13.715662 197.51397 -21.915949 1.3531263 -251.71314 -250.36002
14400 14.4 13.340257 210.15601 -21.927197 1.4397342 -251.73271 -250.29297
14600 14.6 14.118672 175.1782 -21.923635 1.2001087 -251.54286 -250.34275
14800 14.8 14.52801 211.5541 -21.919371 1.4493122 -251.74119 -250.29188
15000 15 14.522566 207.59406 -21.919623 1.4221828 -251.74192 -250.31974
15200 15.2 15.1446 191.32404 -21.902291 1.3107204 -251.52754 -250.21682
15400 15.4 15.815481 160.35385 -21.918453 1.0985502 -251.75506 -250.65651
15600 15.6 16.942896 211.32891 -21.89554 1.4477695 -251.42064 -249.97287
15800 15.8 17.339057 213.03178 -21.903747 1.4594355 -251.5815 -250.12207
16000 16 17.610695 211.72009 -21.899083 1.4504494 -251.51043 -250.05998
16200 16.2 18.352293 236.99887 -21.9043 1.623629 -251.79466 -250.17103
16400 16.4 17.898896 208.62272 -21.904247 1.42923 -251.66653 -250.2373
16600 16.6 18.005606 169.07581 -21.910252 1.1583025 -251.84184 -250.68353
16800 16.8 18.884686 198.75251 -21.900417 1.3616113 -251.8573 -250.49569
17000 17 19.454235 182.70172 -21.904544 1.2516507 -251.66187 -250.41021
17200 17.2 19.497759 157.47203 -21.904461 1.0788075 -251.88582 -250.80701
17400 17.4 19.470705 215.43531 -21.887158 1.4759016 -251.82426 -250.34836
17600 17.6 19.553888 212.82066 -21.89372 1.4579892 -251.79955 -250.34157
17800 17.8 19.646117 236.85339 -21.8983 1.6226323 -251.75304 -250.13041
18000 18 20.205554 253.85283 -21.909061 1.7390919 -251.84228 -250.10319
18200 18.2 20.065135 233.11058 -21.882631 1.5969911 -251.54972 -249.95273
18400 18.4 20.76763 209.7018 -21.895306 1.4366225 -251.79971 -250.36309
18600 18.6 21.369833 214.39422 -21.882332 1.4687693 -251.53344 -250.06467
18800 18.8 21.939164 216.25928 -21.89097 1.4815464 -251.82112 -250.33958
19000 19 22.817363 215.27695 -21.882698 1.4748166 -251.82572 -250.3509
19200 19.2 23.705114 182.22745 -21.879076 1.2484016 -251.43044 -250.18204
19400 19.4 23.441248 222.83743 -21.879144 1.5266119 -251.76376 -250.23715
19600 19.6 23.435558 218.16026 -21.86114 1.4945696 -251.59729 -250.10272
19800 19.8 24.074607 222.78958 -21.87264 1.5262841 -251.7863 -250.26001
20000 20 23.618814 222.44332 -21.870985 1.5239119 -251.37299 -249.84908
Loop time of 22.6158 on 1 procs for 20000 steps with 54 atoms
Performance: 76.407 ns/day, 0.314 hours/ns, 884.338 timesteps/s, 47.754 katom-step/s
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 8.9116 | 8.9116 | 8.9116 | 0.0 | 39.40
Neigh | 0.26535 | 0.26535 | 0.26535 | 0.0 | 1.17
Comm | 0.65637 | 0.65637 | 0.65637 | 0.0 | 2.90
Output | 0.0036141 | 0.0036141 | 0.0036141 | 0.0 | 0.02
Modify | 12.725 | 12.725 | 12.725 | 0.0 | 56.26
Other | | 0.05425 | | | 0.24
Nlocal: 54 ave 54 max 54 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 632 ave 632 max 632 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 1677 ave 1677 max 1677 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 3354 ave 3354 max 3354 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 3354
Ave neighs/atom = 62.111111
Neighbor list builds = 1000
Dangerous builds = 1000
Total wall time: 0:00:22

View File

@ -0,0 +1,241 @@
LAMMPS (4 Feb 2025 - Development - patch_4Feb2025-169-g4246fab500)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
# bcc iron in a 3d periodic box
clear
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:99)
using 1 OpenMP thread(s) per MPI task
units metal
atom_style spin
# atom_style spin/kk
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice bcc 2.8665
Lattice spacing in x,y,z = 2.8665 2.8665 2.8665
region box block 0.0 3.0 0.0 3.0 0.0 3.0
create_box 1 box
Created orthogonal box = (0 0 0) to (8.5995 8.5995 8.5995)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 54 atoms
using lattice units in orthogonal box = (0 0 0) to (8.5995 8.5995 8.5995)
create_atoms CPU = 0.001 seconds
# setting mass, mag. moments, and interactions for bcc iron
mass 1 55.845
set group all spin 2.2 0.0 0.0 1.0
Setting atom values ...
WARNING: Set attribute spin is deprecated. Please use spin/atom instead. (src/set.cpp:268)
54 settings made for spin
velocity all create 0 4928459 rot yes dist gaussian
# pair_style hybrid/overlay eam/alloy spin/exchange 3.5
pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0
pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe
pair_coeff * * spin/exchange exchange 3.4 0.1 0.2171 1.841
pair_coeff * * spin/neel neel 4.0 0.02 0.0 1.841 0.0 0.0 1.0
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin 0.0 0.0 0.001 48279
fix 3 all langevin/spin 200.0 0.01 321
fix 4 all nve/spin lattice moving
timestep 0.001
# compute and output options
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_tmag temp v_emag ke pe etotal
thermo 200
run 20000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix nve/spin command: doi:10.1016/j.jcp.2018.06.042
@article{tranchida2018massively,
title={Massively Parallel Symplectic Algorithm for Coupled Magnetic Spin Dynamics and Molecular Dynamics},
author={Tranchida, J and Plimpton, S J and Thibaudeau, P and Thompson, A P},
journal={Journal of Computational Physics},
volume={372},
pages={406--425},
year={2018},
publisher={Elsevier}
doi={10.1016/j.jcp.2018.06.042}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 10 steps, delay = 20 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.773367
ghost atom cutoff = 5.773367
binsize = 2.8866835, bins = 3 3 3
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on, cut 5.7733670002446
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(3) pair spin/neel, perpetual, copy from (2)
attributes: full, newton on
pair build: copy
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 6.008 | 6.008 | 6.008 Mbytes
Step Time v_tmag Temp v_emag KinEng PotEng TotEng
0 0 1.4336203e-31 0 -22.021022 0 -253.14103 -253.14103
200 0.2 185.03537 7.1508965e-05 -21.172867 4.8989274e-07 -252.29287 -252.29287
400 0.4 209.70221 8.8414079e-05 -21.060203 6.0570608e-07 -252.1802 -252.1802
600 0.6 185.48899 0.00010245242 -21.112413 7.0187977e-07 -252.23241 -252.23241
800 0.8 223.05275 8.1457051e-05 -21.018423 5.5804496e-07 -252.13842 -252.13842
1000 1 213.0164 8.9515898e-05 -21.048926 6.1325441e-07 -252.16892 -252.16892
1200 1.2 246.36673 0.0001154676 -20.930718 7.9104402e-07 -252.05072 -252.05072
1400 1.4 196.53774 6.2911172e-05 -21.154732 4.3099109e-07 -252.27473 -252.27473
1600 1.6 182.01716 0.00010355261 -21.16282 7.0941692e-07 -252.28282 -252.28282
1800 1.8 210.96677 8.7541641e-05 -21.088701 5.997292e-07 -252.2087 -252.2087
2000 2 253.99717 0.00010826381 -20.86351 7.416924e-07 -251.98351 -251.98351
2200 2.2 216.1501 9.6113637e-05 -21.030784 6.5845412e-07 -252.15078 -252.15078
2400 2.4 223.43699 8.5950374e-05 -21.009537 5.8882776e-07 -252.12954 -252.12954
2600 2.6 218.14727 0.00010110952 -20.970036 6.9267987e-07 -252.09004 -252.09004
2800 2.8 232.40923 0.00011013217 -20.973661 7.5449212e-07 -252.09366 -252.09366
3000 3 237.03942 0.0001227047 -20.923005 8.4062388e-07 -252.043 -252.043
3200 3.2 193.18057 6.4453691e-05 -21.192632 4.4155855e-07 -252.31263 -252.31263
3400 3.4 215.89559 0.00010926778 -20.99777 7.4857038e-07 -252.11777 -252.11777
3600 3.6 166.54235 7.286928e-05 -21.241556 4.9921196e-07 -252.36156 -252.36156
3800 3.8 159.38579 5.7560855e-05 -21.290065 3.9433719e-07 -252.41007 -252.41007
4000 4 170.59358 7.7217892e-05 -21.234059 5.2900339e-07 -252.35406 -252.35406
4200 4.2 215.77287 8.7497504e-05 -21.031438 5.9942683e-07 -252.15144 -252.15144
4400 4.4 197.99439 8.3188835e-05 -21.136708 5.6990905e-07 -252.25671 -252.25671
4600 4.6 225.89271 0.00015400081 -20.963516 1.0550269e-06 -252.08352 -252.08352
4800 4.8 202.99311 0.00014034452 -21.013112 9.614705e-07 -252.13311 -252.13311
5000 5 213.82643 0.00011505981 -21.058401 7.8825036e-07 -252.1784 -252.1784
5200 5.2 185.50349 8.6160092e-05 -21.172207 5.902645e-07 -252.29221 -252.29221
5400 5.4 201.98179 0.00010791717 -21.096481 7.3931764e-07 -252.21648 -252.21648
5600 5.6 171.20549 6.8869235e-05 -21.197869 4.718085e-07 -252.31787 -252.31787
5800 5.8 227.95465 0.00012603913 -21.009323 8.6346729e-07 -252.12932 -252.12932
6000 6 200.21111 0.00010449734 -21.110701 7.1588912e-07 -252.2307 -252.2307
6200 6.2 160.58077 7.2836942e-05 -21.267151 4.9899042e-07 -252.38715 -252.38715
6400 6.4 200.05407 9.0509705e-05 -21.073988 6.2006277e-07 -252.19399 -252.19399
6600 6.6 190.65275 0.0001033421 -21.158207 7.0797478e-07 -252.27821 -252.27821
6800 6.8 228.26898 0.00014786596 -20.911618 1.0129983e-06 -252.03162 -252.03162
7000 7 181.38559 7.164051e-05 -21.178965 4.9079392e-07 -252.29897 -252.29897
7200 7.2 206.68689 0.00014900154 -20.996098 1.0207779e-06 -252.1161 -252.1161
7400 7.4 192.31745 7.9639216e-05 -21.152927 5.4559136e-07 -252.27293 -252.27293
7600 7.6 190.74433 8.1341909e-05 -21.140079 5.5725615e-07 -252.26008 -252.26008
7800 7.8 174.0955 6.4367878e-05 -21.239195 4.4097067e-07 -252.3592 -252.35919
8000 8 160.00011 0.00012761576 -21.159302 8.7426845e-07 -252.2793 -252.2793
8200 8.2 210.43151 0.00014479042 -21.034928 9.9192846e-07 -252.15493 -252.15493
8400 8.4 234.76455 0.00017824488 -20.929712 1.2211178e-06 -252.04971 -252.04971
8600 8.6 186.41675 8.9522862e-05 -21.152624 6.1330212e-07 -252.27262 -252.27262
8800 8.8 182.51437 8.1196096e-05 -21.169538 5.5625721e-07 -252.28954 -252.28954
9000 9 205.7602 8.1712224e-05 -21.069704 5.597931e-07 -252.1897 -252.1897
9200 9.2 169.12461 4.5311332e-05 -21.260803 3.1041832e-07 -252.3808 -252.3808
9400 9.4 226.30809 0.00011391282 -20.976322 7.8039252e-07 -252.09632 -252.09632
9600 9.6 167.17205 9.1023114e-05 -21.226931 6.2358003e-07 -252.34693 -252.34693
9800 9.8 204.63476 0.00010727562 -21.045363 7.3492253e-07 -252.16536 -252.16536
10000 10 236.18563 8.998006e-05 -20.973452 6.1643429e-07 -252.09345 -252.09345
10200 10.2 194.32863 7.2352023e-05 -21.144235 4.9566835e-07 -252.26424 -252.26424
10400 10.4 212.89479 0.00011913313 -21.041706 8.1615576e-07 -252.16171 -252.1617
10600 10.6 215.20168 9.7714692e-05 -21.032571 6.6942261e-07 -252.15257 -252.15257
10800 10.8 297.63322 0.00013498385 -20.721355 9.2474566e-07 -251.84135 -251.84135
11000 11 221.40055 0.00010205784 -21.051231 6.9917662e-07 -252.17123 -252.17123
11200 11.2 242.39307 0.00013617253 -20.890742 9.3288909e-07 -252.01074 -252.01074
11400 11.4 165.26613 7.2237463e-05 -21.24741 4.9488352e-07 -252.36741 -252.36741
11600 11.6 216.24435 8.1150764e-05 -21.036156 5.5594665e-07 -252.15616 -252.15616
11800 11.8 183.53912 0.00010117662 -21.186918 6.9313953e-07 -252.30692 -252.30692
12000 12 220.44994 9.647801e-05 -21.023611 6.6095036e-07 -252.14361 -252.14361
12200 12.2 225.17986 9.472867e-05 -21.009823 6.48966e-07 -252.12982 -252.12982
12400 12.4 216.68616 8.9352492e-05 -21.025818 6.1213495e-07 -252.14582 -252.14582
12600 12.6 179.65027 6.5355297e-05 -21.199208 4.4773526e-07 -252.31921 -252.31921
12800 12.8 210.22912 7.5167585e-05 -21.071447 5.1495716e-07 -252.19145 -252.19145
13000 13 157.423 9.2895323e-05 -21.250615 6.3640614e-07 -252.37062 -252.37061
13200 13.2 204.52025 0.00012645764 -21.049044 8.6633447e-07 -252.16904 -252.16904
13400 13.4 198.28053 0.00012118522 -21.066084 8.3021421e-07 -252.18609 -252.18608
13600 13.6 237.99318 8.644348e-05 -20.978488 5.9220593e-07 -252.09849 -252.09849
13800 13.8 222.81023 0.00015789536 -20.951387 1.0817076e-06 -252.07139 -252.07139
14000 14 218.31245 0.00011842157 -21.008674 8.1128101e-07 -252.12867 -252.12867
14200 14.2 197.5018 0.00011399102 -21.081911 7.8092826e-07 -252.20191 -252.20191
14400 14.4 228.11014 0.00015934606 -20.963235 1.091646e-06 -252.08323 -252.08323
14600 14.6 216.45102 9.6033576e-05 -21.034352 6.5790564e-07 -252.15435 -252.15435
14800 14.8 205.97376 0.00014278574 -21.018847 9.7819479e-07 -252.13885 -252.13885
15000 15 230.09259 0.00012803086 -20.986446 8.7711221e-07 -252.10645 -252.10644
15200 15.2 248.21379 0.0001784321 -20.84502 1.2224004e-06 -251.96502 -251.96502
15400 15.4 223.07119 0.00013057001 -20.984451 8.9450744e-07 -252.10445 -252.10445
15600 15.6 194.42126 8.4530618e-05 -21.127055 5.7910131e-07 -252.24705 -252.24705
15800 15.8 207.23453 0.00013807606 -21.035173 9.4592974e-07 -252.15517 -252.15517
16000 16 175.93234 8.2440767e-05 -21.208299 5.6478419e-07 -252.3283 -252.3283
16200 16.2 225.63746 7.4767651e-05 -21.012845 5.1221731e-07 -252.13285 -252.13284
16400 16.4 149.12667 6.624179e-05 -21.331981 4.5380844e-07 -252.45198 -252.45198
16600 16.6 211.41275 0.00012606898 -21.042094 8.6367183e-07 -252.16209 -252.16209
16800 16.8 199.88466 8.2345231e-05 -21.116203 5.641297e-07 -252.2362 -252.2362
17000 17 212.37144 0.00010445794 -21.041826 7.1561919e-07 -252.16183 -252.16183
17200 17.2 160.83603 5.4109632e-05 -21.294207 3.706936e-07 -252.41421 -252.41421
17400 17.4 254.84209 0.00013687967 -20.886397 9.3773358e-07 -252.0064 -252.0064
17600 17.6 237.6091 0.00012462019 -20.958967 8.5374644e-07 -252.07897 -252.07897
17800 17.8 194.26242 7.0286952e-05 -21.145006 4.8152099e-07 -252.26501 -252.26501
18000 18 175.14964 6.1470052e-05 -21.239458 4.2111827e-07 -252.35946 -252.35946
18200 18.2 181.99258 7.2295849e-05 -21.195184 4.9528351e-07 -252.31519 -252.31519
18400 18.4 197.11115 9.9207898e-05 -21.116471 6.7965225e-07 -252.23647 -252.23647
18600 18.6 211.2814 8.4543325e-05 -21.074729 5.7918837e-07 -252.19473 -252.19473
18800 18.8 198.62813 9.4052117e-05 -21.097909 6.4433109e-07 -252.21791 -252.21791
19000 19 226.11003 0.00013827389 -20.951669 9.4728506e-07 -252.07167 -252.07167
19200 19.2 233.61049 0.00013363448 -20.917911 9.1550145e-07 -252.03791 -252.03791
19400 19.4 182.94749 9.0400181e-05 -21.139686 6.1931245e-07 -252.25969 -252.25968
19600 19.6 155.99677 5.9871119e-05 -21.282519 4.1016433e-07 -252.40252 -252.40252
19800 19.8 179.57217 8.5624245e-05 -21.193447 5.8659353e-07 -252.31345 -252.31345
20000 20 243.60222 0.00015451915 -20.911769 1.0585779e-06 -252.03177 -252.03177
Loop time of 21.9748 on 1 procs for 20000 steps with 54 atoms
Performance: 78.636 ns/day, 0.305 hours/ns, 910.134 timesteps/s, 49.147 katom-step/s
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 8.1863 | 8.1863 | 8.1863 | 0.0 | 37.25
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.77445 | 0.77445 | 0.77445 | 0.0 | 3.52
Output | 0.0037256 | 0.0037256 | 0.0037256 | 0.0 | 0.02
Modify | 12.954 | 12.954 | 12.954 | 0.0 | 58.95
Other | | 0.05601 | | | 0.25
Nlocal: 54 ave 54 max 54 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 801 ave 801 max 801 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 1728 ave 1728 max 1728 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 3456 ave 3456 max 3456 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 3456
Ave neighs/atom = 64
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:22

View File

@ -27,7 +27,7 @@ neigh_modify delay 0 every 20 check no
fix 1 all nve fix 1 all nve
dump 1 all custom 100 lj.dump id type x y z dump 1 all custom 100 lj.dump id type x y z vx vy vz
compute myRDF all rdf 50 cutoff 2.5 compute myRDF all rdf 50 cutoff 2.5
fix 2 all ave/time 100 10 1000 c_myRDF[*] file rdf.first mode vector fix 2 all ave/time 100 10 1000 c_myRDF[*] file rdf.first mode vector

Some files were not shown because too many files have changed in this diff Show More