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
# enabled as well. This preselects CC 5.0 as default GPU arch, since
# that is compatible with all higher CC, but not the default CC 3.5
# enabled as well. The GPU architecture *must* match your hardware
set(PKG_KOKKOS ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE)

View File

@ -162,8 +162,8 @@ OPT.
* :doc:`phonon <fix_phonon>`
* :doc:`pimd/langevin <fix_pimd>`
* :doc:`pimd/nvt <fix_pimd>`
* :doc:`pimd/langevin/bosonic <fix_pimd_bosonic>`
* :doc:`pimd/nvt/bosonic <fix_pimd_bosonic>`
* :doc:`pimd/langevin/bosonic <fix_pimd>`
* :doc:`pimd/nvt/bosonic <fix_pimd>`
* :doc:`planeforce <fix_planeforce>`
* :doc:`plumed <fix_plumed>`
* :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 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
------------------------------------------

View File

@ -24,4 +24,5 @@ of time and requests from the LAMMPS user community.
Classes
Developer_platform
Developer_utils
Developer_internal
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
following are discussions of such cases.
- :ref:`Unknown identifier in data file <err0001>`
- :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>`
.. contents::
------
@ -27,6 +18,8 @@ General troubleshooting advice
Below are suggestions that can help to understand the causes of problems
with simulations leading to errors or unexpected results.
.. _hint01:
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
see what happens.
.. _hint02:
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
smaller test system (see above).
.. _hint03:
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
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 may be "lost" or "missing" when their velocity becomes
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
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
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
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
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
of atoms are computed with finite timesteps, they choice of timestep can
be too large for a stable numeric integration of the trajectory. In
those cases using (temporarily) :doc:`fix nve/limit <fix_nve_limit>` or
:doc:`fix dt/reset <fix_dt_reset>` can help to avoid too large updates
or adapt the timestep according to the displacements.
of atoms are computed with finite timesteps, the timestep needs to be
small enough for stable numeric integration of the trajectory. If the timestep
is too large during initialization (or other instances of extreme dynamics),
using :doc:`fix nve/limit <fix_nve_limit>` or :doc:`fix dt/reset <fix_dt_reset>`
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
@ -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
has relaxed.
.. _hint08:
Communication cutoff
^^^^^^^^^^^^^^^^^^^^
The communication cutoff determines the "overlap" between sub-domains
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,
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
style(s) <pair_style>` plus the :doc:`neighbor list skin distance
<neighbor>` and will be more than sufficient for all bonded
interactions. But if the pair style cutoff is small this may bot be
<neighbor>` and will typically be sufficient for all bonded
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
based on the equilibrium bond length, but that may not be sufficient for
cases where the force constants are small and thus bonds may be
based on the equilibrium bond length, but that still may not be sufficient
for cases where the force constants are small and thus bonds may be
stretched very far. The communication cutoff can be adjusted with
:doc:`comm_modify cutoff \<value\> <comm_modify>`, but setting this too
large will waste CPU time and memory.
.. _hint09:
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
examine the neighbor list statistics if the neighbor list rebuild can be
safely delayed. Rebuilding the neighbor list less frequently
(i.e. through increasing the *delay* or *every* setting has diminishing
returns and increasing risks).
(i.e. through increasing the *delay* or *every*) setting has diminishing
returns and increasing risks.
Ignoring lost atoms
^^^^^^^^^^^^^^^^^^^
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.
.. _hint10:
Units
^^^^^
@ -151,23 +191,48 @@ are parameterized for other settings, most notably :doc:`ReaxFF
potentials <pair_reaxff>` that use "real" units.
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
recommended.
.. _hint11:
No error message printed
^^^^^^^^^^^^^^^^^^^^^^^^
In some cases - especially when running in parallel with MPI - LAMMPS
may stop without displaying an error. But that does not mean, that
there was no error message, instead it is highly likely that the message
was written to a buffer and LAMMPS was aborted before the buffer was
output. Usually, output buffers are output for every line of output,
but sometimes, this is delayed until 4096 or 8192 bytes of output have
been accumulated. This buffering for screen and logfile output can be
disabled by using the :ref:`-nb or -nonbuf <nonbuf>` command-line flag.
This is most often needed when debugging crashing multi-replica
calculations.
In some cases -- especially when running in parallel with MPI -- LAMMPS
may stop without displaying an error. But the fact that nothing was
displayed does not mean there was not an error message. Instead it is
highly likely that the message was written to a buffer and LAMMPS was
aborted before the buffer was output. Usually, output buffers are output
for every line of output, but sometimes this is delayed until 4096 or
8192 bytes of output have been accumulated. This buffering for screen
and logfile output can be disabled by using the :ref:`-nb or -nonbuf
<nonbuf>` command-line flag. This is most often needed when debugging
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
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)
arguments that identify the fix and the header keyword and section
keyword or those arguments are inconsistent with the keywords in the
arguments that identify the fix and its header and section keywords.
Alternatively, those arguments are inconsistent with the keywords in the
data file.
.. _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
: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
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
number of lines provided (e.g. in the corresponding Atoms section)
and then LAMMPS will continue reading into the next section and that
would have a completely different format.
causing LAMMPS to continue reading into the next section which has
a completely different format.
.. _err0003:
Illegal variable command: expected X arguments but found Y
----------------------------------------------------------
This error indicates that there are the wrong number of arguments for a
specific variable command, but a common reason for that is a variable
expression that has whitespace but is not enclosed in single or double
quotes.
This error indicates that a variable command has the wrong number of
arguments. A common reason for this is that the variable expression
has whitespace, but is not enclosed in single or double quotes.
To explain, the LAMMPS input parser reads and processes lines. The
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
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.
Thus missing quotes or accidental extra whitespace will lead to the
error shown in the header because the unquoted whitespace will result
in the text being broken into more "words", i.e. the variable expression
being split.
Thus missing quotes or accidental extra whitespace will trigger this
error because the unquoted whitespace will result in the text being broken
into more "words", i.e. the variable expression being split.
.. _err0004:
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
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
parallel with MPI, LAMMPS uses a :doc:`domain decomposition scheme
<Developer_par_part>` where each processor manages a subset of atoms and
thus also a grid representing the density, which covers the actual
volume of the sub-domain and some extra space corresponding to the
thus also a grid representing the density. The processor's grid covers 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
redistributed <Developer_par_long>` for parallel processing of the
long-range component of the Coulomb interaction.
The ``Out of range atoms`` error can happen, when atoms move too fast or
the neighbor list skin is too small or the neighbor lists are not
updated frequently enough. Then the smeared charges cannot be fully
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
updated frequently enough. The smeared charges cannot then be fully
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
indication of a system with very high forces, most often at the
beginning of a simulation or when boundary conditions are changed. The
indication of a system with very high forces, often at the beginning
of a simulation or when boundary conditions are changed. The
error becomes more likely with more MPI processes.
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
parameter settings can be used (larger neighbor skin, shorter time step,
more frequent neighbor list updates). Sometimes, it helps to revisit
the system generation and avoid close contacts when building it, or use
the :doc:`delete_atoms overlap<delete_atoms>` command to delete those
close contact atoms, or run a minimization before the MD. It can also
the system generation and avoid close contacts when building it. Otherwise
one can use the :doc:`delete_atoms overlap<delete_atoms>` command to delete
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
until the system has somewhat equilibrated and then switch to the
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:
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
neighbor bin and LAMMPS is unable to store the needed number of
bins. This typically implies the simulation box has expanded too far.
This can happen when some atoms move rapidly apart with shrink-wrap
boundaries or when a fix (like fix deform or a barostat) excessively
grows the simulation box.
This can happen when some atoms move rapidly apart with shrink-wrap boundaries
or when a fix (like fix deform or a barostat) excessively grows the simulation
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:
@ -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
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:
Domain too large for neighbor bins
----------------------------------
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
Most likely, one or more atoms have been blown out of the simulation
box to a great distance or a fix (like fix deform or a barostat) has
be used. Too many neighbor bins would need to be created to fill space.
Most likely, one or more atoms have been blown a great distance out of
the simulation box or a fix (like fix deform or a barostat) has
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:
Molecule topology/atom exceeds system topology/atom
---------------------------------------------------
LAMMPS uses :doc:`domain decomposition <Developer_par_part>` to
distribute data (i.e. atoms) across the MPI processes in parallel runs.
This includes topology data, that is data about bonds, angles,
distribute data (i.e. atoms) across the MPI processes in parallel
runs. This includes topology data about bonds, angles,
dihedrals, impropers and :doc:`"special" neighbors <special_bonds>`.
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
:doc:`newton <newton>` setting for bonds. When reading a data file,
LAMMPS analyzes the requirements for this file and then the values
are "locked in" and cannot be extended.
:doc:`newton <newton>` setting for bonds). When reading a data file,
LAMMPS analyzes the requirements for this file and then the values are
"locked in" and cannot be extended.
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
@ -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
the included data would be ignored. LAMMPS prints this warning to
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::
\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
modulus :math:`G` as
@ -242,14 +242,14 @@ scalar state are defined, respectively, as
.. math::
\underline{e}^{\rm i}=\frac{\theta \underline{x}}{3}, \qquad
\underline{e}^{\rm d} = \underline{e}- \underline{e}^{\rm i},
\underline{e}^\mathrm{i}=\frac{\theta \underline{x}}{3}, \qquad
\underline{e}^\mathrm{d} = \underline{e}- \underline{e}^\mathrm{i},
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
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::

View File

@ -249,23 +249,23 @@ as follows:
.. math::
a = & {\rm lx} \\
b^2 = & {\rm ly}^2 + {\rm xy}^2 \\
c^2 = & {\rm lz}^2 + {\rm xz}^2 + {\rm yz}^2 \\
\cos{\alpha} = & \frac{{\rm xy}*{\rm xz} + {\rm ly}*{\rm yz}}{b*c} \\
\cos{\beta} = & \frac{\rm xz}{c} \\
\cos{\gamma} = & \frac{\rm xy}{b} \\
a = & \mathrm{lx} \\
b^2 = & \mathrm{ly}^2 + \mathrm{xy}^2 \\
c^2 = & \mathrm{lz}^2 + \mathrm{xz}^2 + \mathrm{yz}^2 \\
\cos{\alpha} = & \frac{\mathrm{xy}*\mathrm{xz} + \mathrm{ly}*\mathrm{yz}}{b*c} \\
\cos{\beta} = & \frac{\mathrm{xz}}{c} \\
\cos{\gamma} = & \frac{\mathrm{xy}}{b} \\
The inverse relationship can be written as follows:
.. math::
{\rm lx} = & a \\
{\rm xy} = & b \cos{\gamma} \\
{\rm xz} = & c \cos{\beta}\\
{\rm ly}^2 = & b^2 - {\rm xy}^2 \\
{\rm yz} = & \frac{b*c \cos{\alpha} - {\rm xy}*{\rm xz}}{\rm ly} \\
{\rm lz}^2 = & c^2 - {\rm xz}^2 - {\rm yz}^2 \\
\mathrm{lx} = & a \\
\mathrm{xy} = & b \cos{\gamma} \\
\mathrm{xz} = & c \cos{\beta}\\
\mathrm{ly}^2 = & b^2 - \mathrm{xy}^2 \\
\mathrm{yz} = & \frac{b*c \cos{\alpha} - \mathrm{xy}*\mathrm{xz}}{\mathrm{ly}} \\
\mathrm{lz}^2 = & c^2 - \mathrm{xz}^2 - \mathrm{yz}^2 \\
The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and
: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
atoms per GPU. When performing double precision calculations the
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
performance depends to some extent on the available bandwidth between
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
host and GPU).
* The GPU package requires neighbor lists to be built on the CPU when using
exclusion lists, or a triclinic simulation box.
* The GPU package can be compiled for CUDA or OpenCL and thus supports
both, NVIDIA and AMD GPUs well. On NVIDIA hardware, using CUDA is typically
resulting in equal or better performance over OpenCL.
hybrid pair styles, exclusion lists, or a triclinic simulation box.
* The GPU package can be compiled for CUDA, HIP, or OpenCL and thus supports
NVIDIA, AMD, and Intel GPUs well. On NVIDIA hardware, using CUDA is
typically resulting in equal or better performance over OpenCL.
* 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)
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
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
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
(or adding) that bond's contribution.

View File

@ -110,7 +110,7 @@ the data file or restart files read by the :doc:`read_data
* :math:`k` (force/distance units)
* :math:`\epsilon_c` (unitless)
* :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
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
bond to :doc:`binary restart files <restart>`. Loading a restart
file will properly restore bonds. However, the reference state is NOT
written to data files. Therefore reading a data file will not
restore bonds and will cause their reference states to be redefined.
bond to :doc:`binary restart files <restart>`. Loading a restart file
will properly restore bonds. However, the reference state is NOT written
to data files. Therefore reading a data file will not restore bonds and
will cause their reference states to be redefined.
The potential energy and the single() function of this bond style returns zero.
The single() function also calculates two extra bond quantities, the initial
distance :math:`r_0` and the current equilbrium length :math:`r_eq`. These extra
quantities can be accessed by the :doc:`compute bond/local <compute_bond_local>`
command as *b1* and *b2*, respectively.
The potential energy and the single() function of this bond style
returns zero. The single() function also calculates two extra bond
quantities, the initial distance :math:`r_0` and the current equilibrium
length :math:`r_eq`. These extra quantities can be accessed by the
:doc:`compute bond/local <compute_bond_local>` command as *b1* and *b2*,
respectively.
Restrictions
""""""""""""

View File

@ -60,6 +60,8 @@ Related commands
""""""""""""""""
: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
"""""""

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]
where :math:`r_0` is the equilibrium bond distance, and :math:`r_c` the critical distance.
The potential is :math:`-U_{\text{min}}` at :math:`r0` and zero at :math:`r_c`. The spring constant is
:math:`k = U_{\text{min}} / [ 2 (r_0-r_c)^2]`.
where :math:`r_0` is the equilibrium bond distance, and :math:`r_c` the
critical distance. The potential energy has the value
: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
: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:
* :math:`U_{\text{min}}` (energy)
* :math:`r_0` (distance)
* :math:`r_c` (distance)
----------
@ -63,7 +67,8 @@ Related commands
""""""""""""""""
: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
"""""""

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]
where :math:`r_0` is the equilibrium bond distance, and rc the critical distance.
The bond potential is zero for distances :math:`r > r_c`. The potential is :math:`-U_{\text{min}}`
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]`.
where :math:`r_0` is the equilibrium bond distance, and :math:`r_c` the
critical distance. The bond potential is zero and thus its force also
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
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in

View File

@ -67,7 +67,7 @@ following relation should also be satisfied:
.. 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 the skin

View File

@ -74,7 +74,7 @@ following relation should also be satisfied:
.. 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
the skin

View File

@ -50,9 +50,9 @@ the potential energy using the Wolf summation method, described in
.. math::
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{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()*
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::
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
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::
\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}}
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::
\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
of the 3-sphere. Points south of the latitude :math:`\theta_0` =
*rfac0* :math:`\pi` are excluded.
of the 3-sphere. Points south of the latitude
:math:`\theta_0 = \mathsf{rfac0} \pi` are excluded.
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,
@ -204,7 +204,7 @@ components summed separately for each LAMMPS atom type:
.. 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*,
this compute evaluates the above expression for each direction, each
@ -216,7 +216,7 @@ derivatives:
.. 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
*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}) \\
& + \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
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::
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
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
"""""""""""""
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`
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,
\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

View File

@ -341,8 +341,8 @@ accelerated styles exist.
* :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/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/nvt/bosonic <fix_pimd_bosonic>` - Bosonic Feynman path-integral molecular dynamics with Nose-Hoover thermostat
* :doc:`pimd/langevin/bosonic <fix_pimd>` - Bosonic Feynman path-integral molecular dynamics for with stochastic 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:`plumed <fix_plumed>` - wrapper on PLUMED free energy library
* :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:`yukawa <pair_yukawa>` | alpha | type pairs |
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
.. 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
printed to a file via the *file* keyword. Note that all values are
floating point quantities. The default format is %g. You can specify
a higher precision if desired (e.g., %20.16g).
floating point quantities. The default format is " %g". You can specify
a higher precision if desired (e.g., " %20.16g").
The *title1* and *title2* and *title3* keywords allow specification of
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
printed to a file via the *file* keyword. Note that all values are
floating point quantities. The default format is %g. You can specify
a higher precision if desired (e.g., %20.16g).
floating point quantities. The default format is " %g". You can specify
a higher precision if desired (e.g., " %20.16g").
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

View File

@ -60,9 +60,9 @@ With this fix active, the force on the *j*\ th atom is given as
.. 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} \\
\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,
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 "\|\^"
* avalue = numeric value to compare attribute to
* 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::
*error* value = *hard* or *soft* or *continue*
*message* value = *yes* or *no*
*path* value = path to check for free space (may be in quotes)
*universe* value = *yes* or *no*
Examples
@ -40,8 +41,10 @@ Examples
.. code-block:: LAMMPS
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 2 all halt 100 v_curtime > ${maxtime} universe yes
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 *soft*, LAMMPS will exit the current run, but continue
to execute subsequent commands in the input script. However,
additional :doc:`run <run>` or :doc:`minimize <minimize>` commands will be
skipped. For example, this allows a script to output the current
state of the system, e.g. via a :doc:`write_dump <write_dump>` or
:doc:`write_restart <write_restart>` command.
to execute subsequent commands in the input script. However, additional
:doc:`run <run>` or :doc:`minimize <minimize>` commands will be skipped.
For example, this allows a script to output the current state of the
system, e.g. via a :doc:`write_dump <write_dump>` or :doc:`write_restart
<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*,
except subsequent :doc:`run <run>` or :doc:`minimize <minimize>` commands
are executed. This allows your script to remedy the condition that
triggered the halt, if necessary. Note that you may wish use the
:doc:`unfix <unfix>` command on the fix halt ID, so that the same
condition is not immediately triggered in a subsequent run.
triggered the halt, if necessary. This is the equivalent of stopping
with *error soft* and followed by :doc:`timer timeout unlimited
<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
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
triggered the halt is printed. If *message* is set to no, no message
is printed; the run simply exits. The latter may be desirable for
triggered the halt is printed. If *message* is set to no, no message is
printed; the run simply exits. The latter may be desirable for
post-processing tools that extract thermodynamic information from log
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
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
are 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 information about this fix is written to :doc:`binary restart files
<restart>`. None of the :doc:`fix_modify <fix_modify>` options are
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
the :doc:`run <run>` command.
@ -183,4 +205,4 @@ Related commands
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::
{\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,
:math:`\mathbf{u}_f` is the fluid velocity interpolated to the particle

View File

@ -208,19 +208,19 @@ The relaxation rate of the barostat is set by its inertia :math:`W`:
.. 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,
and :math:`T_{\rm 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
of the thermostat. If a thermostat is not defined, :math:`T_{\rm target}`
and :math:`T_\mathrm{target}` is the target temperature of the barostat :ref:`(Martyna) <nh-Martyna>`.
If a thermostat is defined, :math:`T_\mathrm{target}` is the target temperature
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.
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
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
barostat is initialized when the current temperature does not reflect the
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::
\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_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_\mathrm{T\textrm{-}baro} \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_{2}^{(2)} \frac{\Delta t}{2} \right) \\
&\times \left[
@ -526,8 +526,8 @@ according to the following factorization of the Liouville propagator
&\times
\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_{\rm 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{-}part} \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)
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::
\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_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right)
\exp \left(\mathrm{i} L_\mathrm{T\textrm{-}baro} \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_{2}^{(2)} \frac{\Delta t}{2} \right) \\
&\times \left[
@ -440,8 +440,8 @@ according to the following factorization of the Liouville propagator
&\times
\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_{\rm 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{-}part} \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)
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::
\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_{\rm high} = & {\rm cuthi} \, \xi_{\rm IJ} \qquad\qquad\qquad\left(4\right) \\
\xi_\mathrm{low} = & \mathrm{cutlo} \, \xi_\mathrm{IJ} \qquad\qquad\qquad\left(3\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}\\
= & {\rm dE}\,\frac{1 - \cos(2 \omega_{i})}{2}
\qquad \mathrm{ for }\qquad \xi_{\rm low} < \xi_{i} < \xi_{\rm high} \quad \left(6\right) \\
= & {\rm dE} \quad\qquad\qquad\qquad\textrm{ for } \qquad \xi_{\rm high} < \xi_{i}
u_{i} = & 0 \quad\quad\qquad\qquad\qquad \textrm{ for } \qquad \xi_{i} < \xi_\mathrm{low}\\
= & \mathrm{dE}\,\frac{1 - \cos(2 \omega_{i})}{2}
\qquad \mathrm{for }\qquad \xi_\mathrm{low} < \xi_{i} < \xi_\mathrm{high} \quad \left(6\right) \\
= & \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
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
====================
: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
""""""
@ -23,7 +23,7 @@ Syntax
fix ID group-ID style keyword value ...
* 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
* 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
configurations from the canonical ensemble :ref:`(Feynman) <Feynman>`.
.. versionadded:: 11Mar2025
.. versionadded:: TBD
Fix *pimd/langevin/bosonic* and *pimd/nvt/bosonic* were added.
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
by the following equations:
.. 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} \\
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.
Fix pimd/langevin supports the *method* values *nmpimd* and *pimd*. The default value is *nmpimd*.
If *method* is *nmpimd*, the normal mode representation is used to integrate the equations of motion.
The exact solution of harmonic oscillator is used to propagate the free ring polymer part of 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.
Fix pimd/langevin supports the *method* values *nmpimd* and *pimd*. The default
value is *nmpimd*. If *method* is *nmpimd*, the normal mode representation is
used to integrate the equations of motion. The exact solution of harmonic
oscillator is used to propagate the free ring polymer part of 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*.
See :ref:`(Liu) <Liu>` for a discussion on the OBABO and BAOAB splitting schemes. Typically
either of the two should work fine.
The keyword *integrator* specifies the Trotter splitting method used by *fix
pimd/langevin*. See :ref:`(Liu) <Liu>` for a discussion on the OBABO and BAOAB
splitting schemes. Typically either of the two should work fine.
The keyword *fmass* sets a further scaling factor for the fictitious
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 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
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.
The keyword *thermostat* reads *style* and *seed* of thermostat for fix style *pimd/langevin*.
*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::
@ -418,7 +421,12 @@ LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` page for more info.
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
the :doc:`read_data <read_data>` command. However, this means all
@ -435,7 +443,7 @@ variable, e.g.
Related commands
""""""""""""""""
:doc:`pimd/nvt/bosonic <fix_pimd_bosonic>`, :doc:`pimd/langevin/bosonic <fix_pimd_bosonic>`
:doc:`fix ipi <fix_ipi>`
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.
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

View File

@ -98,14 +98,14 @@ all atoms
.. 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
all atoms in the system:
.. 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
norm is replaced by the spin-torque norm.

View File

@ -50,9 +50,9 @@ system:
.. 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
spin/neb calculation is performed).

View File

@ -108,12 +108,12 @@ potential energy of the system as a function of the N atom
coordinates:
.. math::
E(r_1,r_2, \ldots ,r_N) = & \sum_{i,j} E_{\it pair}(r_i,r_j) +
\sum_{ij} E_{\it bond}(r_i,r_j) +
\sum_{ijk} E_{\it angle}(r_i,r_j,r_k) + \\
& \sum_{ijkl} E_{\it dihedral}(r_i,r_j,r_k,r_l) +
\sum_{ijkl} E_{\it improper}(r_i,r_j,r_k,r_l) +
\sum_i E_{\it fix}(r_i)
E(r_1,r_2, \ldots ,r_N) = & \sum_{i,j} E_{pair}(r_i,r_j) +
\sum_{ij} E_{bond}(r_i,r_j) +
\sum_{ijk} E_{angle}(r_i,r_j,r_k) + \\
& \sum_{ijkl} E_{dihedral}(r_i,r_j,r_k,r_l) +
\sum_{ijkl} E_{improper}(r_i,r_j,r_k,r_l) +
\sum_i E_{fix}(r_i)
where the first term is the sum of all non-bonded :doc:`pairwise
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::
\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
: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::
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 ] -
\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 \}\\
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\
\rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_j)^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 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
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::
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{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()*
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::
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}}\\
{\rm Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
V_{ij} = & \mathrm{Tap}(r_{ij})\frac{\kappa q_i q_j}{\sqrt[3]{r_{ij}^3+(1/\lambda_{ij})^3}}\\
\mathrm{Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
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 \\
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^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^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}^\mathrm{T} ) \frac{\mathbf{\xi}_{ij}}{\sqrt{\Delta t}}\\
w(r) = & 1 - r/r_c \\
where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D`

View File

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

View File

@ -44,14 +44,14 @@ in :ref:`(Kolmogorov) <Kolmogorov2>`.
.. math::
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 ] -
\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 \}\\
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\
\rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_j)^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 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
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::
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 ] -
\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 \}\\
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\
\rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_j)^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 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
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.
In :ref:`(Ouyang7) <Ouyang7>`, a new definition is proposed, where for
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*
: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} \\
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_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{j})^2 \\
\rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij}\cdot \mathbf{n}_{i})^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}
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::
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{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
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}^{R} & = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij} \\
\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
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}^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
where the parameters kappa and epsilon determine the strength of the

View File

@ -33,7 +33,7 @@ elemental bulk material in the form
.. 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}{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 )

View File

@ -41,14 +41,14 @@ potential (ILP) potential for hetero-junctions formed with hexagonal
.. math::
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 ] -
\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 \}\\
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\
\rho_{ij}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_i)^2 \\
\rho_{ji}^2 = & r_{ij}^2 - (\mathbf{r}_{ij} \cdot \mathbf{n}_j)^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 +
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1
@ -63,8 +63,8 @@ calculating the normals.
.. note::
To account for the isotropic nature of the isolated gold atom
electron cloud, their corresponding normal vectors (`{\bf n}_i`) are
assumed to lie along the interatomic vector `{\bf r}_ij`. Notably, this
electron cloud, their corresponding normal vectors (`\mathbf{n}_i`) are
assumed to lie along the interatomic vector `\mathbf{r}_ij`. Notably, this
assumption is suitable for many bulk material surfaces, for
example, for systems possessing s-type valence orbitals or
metallic surfaces, whose valence electrons are mostly

View File

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

View File

@ -52,7 +52,7 @@ particle i:
.. math::
\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)
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}
\left(r_{ij} \right)\,\vec{s}_{j}
~~{\rm and}~~
~~\mathrm{and}~~
\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}

View File

@ -35,7 +35,7 @@ Description
.. 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>`.
There may be multiple region visualizations stored in a single file.

View File

@ -51,12 +51,12 @@ Syntax
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,
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),
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)
vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
group functions = count(group), mass(group), charge(group),
xcm(group,dim), vcm(group,dim), fcm(group,dim),
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 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) |
+------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@ -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
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 =
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
@ -860,9 +865,6 @@ run, according to one of these formulas, where omega = 2 PI / period:
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 *start* keyword of the :doc:`run <run>` command. See the :doc:`run
<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-jquery
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,
# relative to this directory. They are copied after the builtin static files,
# 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
# or fully qualified paths (eg. https://...)
html_css_files = [
'css/lammps.css',
]
html_css_files = ['css/lammps.css',]
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
@ -290,7 +288,7 @@ rst_prolog = r"""
.. only:: html
:math:`\renewcommand{\AA}{\text{}}`
:math:`\renewcommand{\AA}{\textup{\r{A}}`
.. role:: lammps(code)
:language: LAMMPS

View File

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

View File

@ -1,5 +1,5 @@
# FENE beadspring benchmark
variable t index 1.0
units lj
atom_style bond
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
pair_style eam/fs
pair_coeff * * ../../../../potentials/Fe_mm.eam.fs Fe
pair_coeff * * Fe_mm.eam.fs Fe
mass * 55.85
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
using 1 OpenMP thread(s) per MPI task
# Units and dimensions
units electron
dimension 3
@ -103,8 +104,8 @@ Initializing PI Langevin equation thermostat...
3 9.11206647e-03 5.00000000e+01 9.95012479e-01 9.97505201e-02
PILE_L thermostat successfully initialized!
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212)
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. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
Step PotEng v_virial v_prim_kinetic
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
99 9.5058078e-06 1.8141862e-05 0.00082913227
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
70.1% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 3711359336.904 fs/day, 0.000 hours/fs, 85911.096 timesteps/s, 257.733 katom-step/s
89.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 | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 1.1593e-05 | 1.1593e-05 | 1.1593e-05 | 0.0 | 0.01
Comm | 9.2183e-05 | 9.2183e-05 | 9.2183e-05 | 0.0 | 0.07
Output | 0.023243 | 0.023243 | 0.023243 | 0.0 | 18.91
Modify | 0.099386 | 0.099386 | 0.099386 | 0.0 | 80.85
Other | | 0.0001896 | | | 0.15
Neigh | 1.292e-06 | 1.292e-06 | 1.292e-06 | 0.0 | 0.11
Comm | 1.2305e-05 | 1.2305e-05 | 1.2305e-05 | 0.0 | 1.06
Output | 0.00018105 | 0.00018105 | 0.00018105 | 0.0 | 15.55
Modify | 0.00090255 | 0.00090255 | 0.00090255 | 0.0 | 77.54
Other | | 6.68e-05 | | | 5.74
Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -234,3 +235,4 @@ Total # of neighbors = 0
Ave neighs/atom = 0
Neighbor list builds = 33
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
using 1 OpenMP thread(s) per MPI task
# Units and dimensions
units electron
dimension 3
@ -95,8 +96,8 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1
run 100
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212)
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. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
Step PotEng v_virial v_prim_kinetic
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
99 2.624134e-05 1.8141862e-05 0.00082913227
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
46.7% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 3666606971.137 fs/day, 0.000 hours/fs, 84875.161 timesteps/s, 254.625 katom-step/s
88.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 | 0 | 0 | 0.0 | 0.00
Neigh | 1.9787e-05 | 1.9787e-05 | 1.9787e-05 | 0.0 | 0.02
Comm | 9.2033e-05 | 9.2033e-05 | 9.2033e-05 | 0.0 | 0.07
Output | 0.0022584 | 0.0022584 | 0.0022584 | 0.0 | 1.84
Modify | 0.12033 | 0.12033 | 0.12033 | 0.0 | 97.93
Other | | 0.0001755 | | | 0.14
Neigh | 1.773e-06 | 1.773e-06 | 1.773e-06 | 0.0 | 0.15
Comm | 1.4979e-05 | 1.4979e-05 | 1.4979e-05 | 0.0 | 1.27
Output | 0.00021888 | 0.00021888 | 0.00021888 | 0.0 | 18.58
Modify | 0.00086503 | 0.00086503 | 0.00086503 | 0.0 | 73.42
Other | | 7.754e-05 | | | 6.58
Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -226,3 +227,4 @@ Total # of neighbors = 0
Ave neighs/atom = 0
Neighbor list builds = 44
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
using 1 OpenMP thread(s) per MPI task
# Units and dimensions
units electron
dimension 3
@ -95,8 +96,8 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1
run 100
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212)
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. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
Step PotEng v_virial v_prim_kinetic
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
99 1.9188379e-05 1.8141862e-05 0.00082913227
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
52.7% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 3718915419.639 fs/day, 0.000 hours/fs, 86086.005 timesteps/s, 258.258 katom-step/s
89.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 | 0 | 0 | 0.0 | 0.00
Neigh | 1.4356e-05 | 1.4356e-05 | 1.4356e-05 | 0.0 | 0.01
Comm | 9.7936e-05 | 9.7936e-05 | 9.7936e-05 | 0.0 | 0.09
Output | 0.0017373 | 0.0017373 | 0.0017373 | 0.0 | 1.55
Modify | 0.10997 | 0.10997 | 0.10997 | 0.0 | 98.19
Other | | 0.0001804 | | | 0.16
Neigh | 1.582e-06 | 1.582e-06 | 1.582e-06 | 0.0 | 0.14
Comm | 1.3306e-05 | 1.3306e-05 | 1.3306e-05 | 0.0 | 1.15
Output | 0.00017996 | 0.00017996 | 0.00017996 | 0.0 | 15.49
Modify | 0.00090771 | 0.00090771 | 0.00090771 | 0.0 | 78.14
Other | | 5.907e-05 | | | 5.09
Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -226,3 +227,4 @@ Total # of neighbors = 0
Ave neighs/atom = 0
Neighbor list builds = 41
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
using 1 OpenMP thread(s) per MPI task
# Units and dimensions
units electron
dimension 3
@ -95,8 +96,8 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1
run 100
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212)
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. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 2.801 | 2.801 | 2.801 Mbytes
Step PotEng v_virial v_prim_kinetic
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
99 2.5384836e-05 1.8141862e-05 0.00082913227
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
88.8% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 3721997782.310 fs/day, 0.000 hours/fs, 86157.356 timesteps/s, 258.472 katom-step/s
88.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 | 0 | 0 | 0.0 | 0.00
Neigh | 1.5885e-05 | 1.5885e-05 | 1.5885e-05 | 0.0 | 0.01
Comm | 9.4707e-05 | 9.4707e-05 | 9.4707e-05 | 0.0 | 0.08
Output | 0.0027076 | 0.0027076 | 0.0027076 | 0.0 | 2.20
Modify | 0.11993 | 0.11993 | 0.11993 | 0.0 | 97.57
Other | | 0.0001738 | | | 0.14
Neigh | 1.441e-06 | 1.441e-06 | 1.441e-06 | 0.0 | 0.12
Comm | 1.2111e-05 | 1.2111e-05 | 1.2111e-05 | 0.0 | 1.04
Output | 0.00018148 | 0.00018148 | 0.00018148 | 0.0 | 15.64
Modify | 0.0009054 | 0.0009054 | 0.0009054 | 0.0 | 78.01
Other | | 6.023e-05 | | | 5.19
Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -226,3 +227,4 @@ Total # of neighbors = 0
Ave neighs/atom = 0
Neighbor list builds = 42
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
using 1 OpenMP thread(s) per MPI task
# Units and dimensions
units electron
dimension 3
@ -99,11 +100,11 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1
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)
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212)
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. (src/comm_brick.cpp:212)
Per MPI rank memory allocation (min/avg/max) = 9.176 | 9.176 | 9.176 Mbytes
Step PotEng v_virial v_prim_kinetic
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
99 7.622805e-06 1.9289045e-06 0.00023466684
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
90.3% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 2236858456.568 fs/day, 0.000 hours/fs, 51779.131 timesteps/s, 155.337 katom-step/s
36.5% 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 | 0 | 0 | 0.0 | 0.00
Neigh | 8.466e-06 | 8.466e-06 | 8.466e-06 | 0.0 | 0.09
Comm | 7.8365e-05 | 7.8365e-05 | 7.8365e-05 | 0.0 | 0.83
Output | 0.0012482 | 0.0012482 | 0.0012482 | 0.0 | 13.27
Modify | 0.0079193 | 0.0079193 | 0.0079193 | 0.0 | 84.18
Other | | 0.0001532 | | | 1.63
Neigh | 1.454e-06 | 1.454e-06 | 1.454e-06 | 0.0 | 0.08
Comm | 2.3033e-05 | 2.3033e-05 | 2.3033e-05 | 0.0 | 1.19
Output | 0.00030824 | 0.00030824 | 0.00030824 | 0.0 | 15.96
Modify | 0.001541 | 0.001541 | 0.001541 | 0.0 | 79.79
Other | | 5.754e-05 | | | 2.98
Nlocal: 3 ave 3 max 3 min
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
using 1 OpenMP thread(s) per MPI task
# Units and dimensions
units electron
dimension 3
@ -99,9 +100,9 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1
run 100
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212)
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. (src/atom.cpp:2444)
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
Step PotEng v_virial v_prim_kinetic
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
99 7.4315008e-06 1.88617e-06 0.00024137268
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
50.9% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 2263110719.025 fs/day, 0.000 hours/fs, 52386.822 timesteps/s, 157.160 katom-step/s
0.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 | 0 | 0 | 0.0 | 0.00
Neigh | 8.215e-06 | 8.215e-06 | 8.215e-06 | 0.0 | 0.09
Comm | 7.7692e-05 | 7.7692e-05 | 7.7692e-05 | 0.0 | 0.83
Output | 0.0047662 | 0.0047662 | 0.0047662 | 0.0 | 50.63
Modify | 0.004407 | 0.004407 | 0.004407 | 0.0 | 46.82
Other | | 0.0001545 | | | 1.64
Neigh | 2.774e-06 | 2.774e-06 | 2.774e-06 | 0.0 | 0.15
Comm | 2.3215e-05 | 2.3215e-05 | 2.3215e-05 | 0.0 | 1.22
Output | 0.00042246 | 0.00042246 | 0.00042246 | 0.0 | 22.13
Modify | 0.0013744 | 0.0013744 | 0.0013744 | 0.0 | 72.00
Other | | 8.601e-05 | | | 4.51
Nlocal: 3 ave 3 max 3 min
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
using 1 OpenMP thread(s) per MPI task
# Units and dimensions
units electron
dimension 3
@ -99,9 +100,9 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1
run 100
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212)
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. (src/atom.cpp:2444)
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
Step PotEng v_virial v_prim_kinetic
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
99 7.2605738e-06 1.7643404e-06 0.00022943234
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
24.7% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 2205688634.372 fs/day, 0.000 hours/fs, 51057.607 timesteps/s, 153.173 katom-step/s
39.2% 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 | 0 | 0 | 0.0 | 0.00
Neigh | 8.785e-06 | 8.785e-06 | 8.785e-06 | 0.0 | 0.09
Comm | 7.9921e-05 | 7.9921e-05 | 7.9921e-05 | 0.0 | 0.85
Output | 0.0071119 | 0.0071119 | 0.0071119 | 0.0 | 75.55
Modify | 0.0020558 | 0.0020558 | 0.0020558 | 0.0 | 21.84
Other | | 0.0001572 | | | 1.67
Neigh | 1.602e-06 | 1.602e-06 | 1.602e-06 | 0.0 | 0.08
Comm | 1.6951e-05 | 1.6951e-05 | 1.6951e-05 | 0.0 | 0.87
Output | 0.00032627 | 0.00032627 | 0.00032627 | 0.0 | 16.66
Modify | 0.0015486 | 0.0015486 | 0.0015486 | 0.0 | 79.07
Other | | 6.514e-05 | | | 3.33
Nlocal: 3 ave 3 max 3 min
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
using 1 OpenMP thread(s) per MPI task
# Units and dimensions
units electron
dimension 3
@ -99,9 +100,9 @@ thermo_style custom step pe v_virial v_prim_kinetic
thermo 1
run 100
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2444)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:212)
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. (src/atom.cpp:2444)
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
Step PotEng v_virial v_prim_kinetic
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
99 7.4250201e-06 1.8736806e-06 0.00023685186
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
25.2% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 2191851993.165 fs/day, 0.000 hours/fs, 50737.315 timesteps/s, 152.212 katom-step/s
37.5% 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 | 0 | 0 | 0.0 | 0.00
Neigh | 8.404e-06 | 8.404e-06 | 8.404e-06 | 0.0 | 0.09
Comm | 8.6872e-05 | 8.6872e-05 | 8.6872e-05 | 0.0 | 0.92
Output | 0.0071309 | 0.0071309 | 0.0071309 | 0.0 | 75.89
Modify | 0.0020085 | 0.0020085 | 0.0020085 | 0.0 | 21.38
Other | | 0.0001612 | | | 1.72
Neigh | 1.652e-06 | 1.652e-06 | 1.652e-06 | 0.0 | 0.08
Comm | 1.7965e-05 | 1.7965e-05 | 1.7965e-05 | 0.0 | 0.91
Output | 0.00036011 | 0.00036011 | 0.00036011 | 0.0 | 18.27
Modify | 0.0015231 | 0.0015231 | 0.0015231 | 0.0 | 77.28
Other | | 6.806e-05 | | | 3.45
Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -13,7 +13,7 @@
create_atoms 1 box
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)
atom_modify map array
read_data Norm_randXY_8x8x32.data
replicate 1 1 2
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
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

View File

@ -18,7 +18,7 @@ create_atoms 1 box
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_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
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
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
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

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 200
run 200000
run 20000

View File

@ -32,7 +32,7 @@ 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.0 48279
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
@ -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 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
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
fix 2 all ave/time 100 10 1000 c_myRDF[*] file rdf.first mode vector

4
src/.gitignore vendored
View File

@ -1661,10 +1661,14 @@
/fix_pimd.h
/fix_pimd_langevin.cpp
/fix_pimd_langevin.h
/fix_pimd_langevin_bosonic.cpp
/fix_pimd_langevin_bosonic.h
/fix_alchemy.cpp
/fix_alchemy.h
/fix_pimd_nvt.cpp
/fix_pimd_nvt.h
/fix_pimd_nvt_bosonic.cpp
/fix_pimd_nvt_bosonic.h
/fix_qbmsst.cpp
/fix_qbmsst.h
/fix_qtb.cpp

View File

@ -623,7 +623,7 @@ void AngleAmoeba::allocate()
void AngleAmoeba::coeff(int narg, char **arg)
{
if (narg < 2) error->all(FLERR,"Incorrect args for angle coefficients");
if (narg < 2) error->all(FLERR,"Incorrect args for angle coefficients" + utils::errorurl(21));
if (!allocated) allocate();
int ilo,ihi;
@ -632,7 +632,7 @@ void AngleAmoeba::coeff(int narg, char **arg)
int count = 0;
if (strcmp(arg[1],"ba") == 0) {
if (narg != 6) error->all(FLERR,"Incorrect args for angle coefficients");
if (narg != 6) error->all(FLERR,"Incorrect args for angle coefficients" + utils::errorurl(21));
double ba_k1_one = utils::numeric(FLERR,arg[2],false,lmp);
double ba_k2_one = utils::numeric(FLERR,arg[3],false,lmp);
@ -649,7 +649,7 @@ void AngleAmoeba::coeff(int narg, char **arg)
}
} else if (strcmp(arg[1],"ub") == 0) {
if (narg != 4) error->all(FLERR,"Incorrect args for angle coefficients");
if (narg != 4) error->all(FLERR,"Incorrect args for angle coefficients" + utils::errorurl(21));
double ub_k_one = utils::numeric(FLERR,arg[2],false,lmp);
double ub_r0_one = utils::numeric(FLERR,arg[3],false,lmp);
@ -662,7 +662,7 @@ void AngleAmoeba::coeff(int narg, char **arg)
}
} else {
if (narg != 9) error->all(FLERR,"Incorrect args for angle coefficients");
if (narg != 9) error->all(FLERR,"Incorrect args for angle coefficients" + utils::errorurl(21));
int pflag_one = utils::inumeric(FLERR,arg[1],false,lmp);
int ubflag_one = utils::inumeric(FLERR,arg[2],false,lmp);
@ -689,7 +689,7 @@ void AngleAmoeba::coeff(int narg, char **arg)
}
}
if (count == 0) error->all(FLERR,"Incorrect args for angle coefficients");
if (count == 0) error->all(FLERR,"Incorrect args for angle coefficients" + utils::errorurl(21));
for (int i = ilo; i <= ihi; i++)
if (setflag_a[i] == 1 && setflag_ba[i] == 1 && setflag_ub[i])

View File

@ -82,6 +82,7 @@ FixAmoebaBiTorsion::FixAmoebaBiTorsion(LAMMPS *lmp, int narg, char **arg) :
wd_section = 1;
respa_level_support = 1;
ilevel_respa = 0;
stores_ids = 1;
MPI_Comm_rank(world,&me);
MPI_Comm_size(world,&nprocs);

View File

@ -62,6 +62,7 @@ FixAmoebaPiTorsion::FixAmoebaPiTorsion(LAMMPS *lmp, int narg, char **arg) :
wd_section = 1;
respa_level_support = 1;
ilevel_respa = 0;
stores_ids = 1;
MPI_Comm_rank(world,&me);
MPI_Comm_size(world,&nprocs);

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