small updates and clarifications

This commit is contained in:
Axel Kohlmeyer
2025-03-27 12:52:48 -04:00
parent f0b3b20653
commit 8eceb2b944
2 changed files with 40 additions and 25 deletions

View File

@ -20,13 +20,21 @@ acceleration.
.. _lws: https://www.lammps.org .. _lws: https://www.lammps.org
.. _omp: https://www.openmp.org .. _omp: https://www.openmp.org
LAMMPS is written in C++ and requires a compiler that is at least LAMMPS is written in C++ and currently requires a compiler that is at
compatible with the C++-11 standard. Earlier versions were written in least compatible with the C++-11 standard. Earlier versions were
F77, F90, and C++-98. See the `History page written in F77, F90, and C++-98. See the `History page
<https://www.lammps.org/history.html>`_ of the website for details. All <https://www.lammps.org/history.html>`_ of the website for details. All
versions can be downloaded as source code from the `LAMMPS website versions can be downloaded as source code from the `LAMMPS website
<lws_>`_. <lws_>`_.
Through a :ref:`C language API <lammps_c_api>` LAMMPS functionality can
be accessed and managed from other programming languages rather than
running the LAMMPS executable. Ready to use modules for :ref:`Python
<lammps_python_api>` and :ref:`Fortran <lammps_fortran_api>` exist, and
an example :ref:`SWIG interface file <swig>` as well as example C files
for dynamically loading LAMMPS as a shared library into other
executables are provided.
LAMMPS is designed to be easy to modify or extend with new capabilities, LAMMPS is designed to be easy to modify or extend with new capabilities,
such as new force fields, atom types, boundary conditions, or such as new force fields, atom types, boundary conditions, or
diagnostics. See the :doc:`Modify` section of for more details. diagnostics. See the :doc:`Modify` section of for more details.

View File

@ -2,9 +2,15 @@ What does a LAMMPS version mean
------------------------------- -------------------------------
The LAMMPS "version" is the date when it was released, such as 1 May The LAMMPS "version" is the date when it was released, such as 1 May
2014. LAMMPS is updated continuously, and we aim to keep it working 2014. LAMMPS is updated continuously, and with the help of extensive
correctly and reliably at all times. Also, several variants of static automated testing (mostly applied *before* changes are included) we aim
code analysis are run regularly to maintain or improve the overall code to keep it working correctly and reliably at all times, but there also
are regular *feature releases* with new and expanded functionality, and
there are designated *stable releases* that receive updates with bug
fixes back-ported from the development branch.
In addition to automated testing, several variants of static code
analysis are run regularly to maintain or improve the overall code
quality, consistency, and compliance with programming standards, best quality, consistency, and compliance with programming standards, best
practices and style conventions. You can follow its development in a practices and style conventions. You can follow its development in a
public `git repository on GitHub <https://github.com/lammps/lammps>`_. public `git repository on GitHub <https://github.com/lammps/lammps>`_.
@ -19,17 +25,18 @@ Identifying the Version
The version date is printed to the screen and log file every time you The version date is printed to the screen and log file every time you
run LAMMPS. There also is an indication, if a LAMMPS binary was run LAMMPS. There also is an indication, if a LAMMPS binary was
compiled from version with modifications **after** a release. compiled from version with modifications **after** a release, either
It is also visible in the file src/version.h and in the LAMMPS directory from the development version or the maintenance version of the last
name created when you unpack a downloaded tarball. And it is on the stable release. It is also visible in the file src/version.h and in the
first page of the :doc:`manual <Manual>`. LAMMPS directory name created when you unpack a downloaded tarball. And
it is on the first page of the :doc:`manual <Manual>`.
* If you browse the HTML pages of the online version of the LAMMPS * If you browse the HTML pages of the online version of the LAMMPS
manual, they will by default describe the most current feature release manual, they will by default describe the most current feature release
version of LAMMPS. In the navigation bar on the bottom left, there is version of LAMMPS. In the navigation bar on the bottom left, there is
the option to view instead the documentation for the most recent the option to view instead the documentation for the most recent
*stable* version or the documentation corresponding to the state of *stable* version or the documentation corresponding to the state of
the development branch. the development branch *develop*.
* If you browse the HTML pages included in your downloaded tarball, they * If you browse the HTML pages included in your downloaded tarball, they
describe the version you have, which may be older than the online describe the version you have, which may be older than the online
version. version.
@ -48,8 +55,9 @@ Development
Modifications of the LAMMPS source code (like bug fixes, code Modifications of the LAMMPS source code (like bug fixes, code
refactoring, updates to existing features, or addition of new features) refactoring, updates to existing features, or addition of new features)
are organized into pull requests. Pull requests will be merged into the are organized into pull requests. Pull requests will be merged into the
*develop* branch of the git repository after they pass automated testing *develop* branch of the LAMMPS git repository on GitHub after they pass
and code review by the LAMMPS developers. automated testing and code review by :doc:`core LAMMPS developers
<Intro_authors>`.
Feature Releases Feature Releases
"""""""""""""""" """"""""""""""""
@ -62,8 +70,7 @@ repository is updated with every such *feature release* and a tag in the
format ``patch_1May2014`` is added. A summary of the most important format ``patch_1May2014`` is added. A summary of the most important
changes of these releases for the current year are posted on `this changes of these releases for the current year are posted on `this
website page <https://www.lammps.org/bug.html>`_. More detailed release website page <https://www.lammps.org/bug.html>`_. More detailed release
notes are `available on GitHub notes are `available on GitHub <https://github.com/lammps/lammps/releases/>`_.
<https://github.com/lammps/lammps/releases/>`_.
Stable Releases Stable Releases
""""""""""""""" """""""""""""""
@ -71,18 +78,18 @@ Stable Releases
About once a year, we release a *stable release* version of LAMMPS. About once a year, we release a *stable release* version of LAMMPS.
This is done after a "stabilization period" where we apply only bug This is done after a "stabilization period" where we apply only bug
fixes and small, non-intrusive changes to the *develop* branch but no fixes and small, non-intrusive changes to the *develop* branch but no
new features. At the same time, the code is subjected to more detailed new features to the core code. At the same time, the code is subjected
and thorough manual testing than the default automated testing. to more detailed and thorough manual testing than the default automated
After such a *stable release*, both the *release* and the *stable* testing. After such a *stable release*, both the *release* and the
branches are updated and two tags are applied, a ``patch_1May2014`` format *stable* branches are updated and two tags are applied, a
and a ``stable_1May2014`` format tag. ``patch_1May2014`` format and a ``stable_1May2014`` format tag.
Stable Release Updates Stable Release Updates
"""""""""""""""""""""" """"""""""""""""""""""
Between *stable releases*, we collect bug fixes and updates back-ported Between *stable releases*, we collect bug fixes and updates that are
from the *develop* branch in a branch called *maintenance*. From the back-ported from the *develop* branch in a branch called *maintenance*.
*maintenance* branch we make occasional *stable update releases* and From the *maintenance* branch we make occasional *stable update
update the *stable* branch accordingly. The first update to the releases* and update the *stable* branch accordingly. The first update
``stable_1May2014`` release would be tagged as to the ``stable_1May2014`` release would be tagged as
``stable_1May2014_update1``. These updates contain no new features. ``stable_1May2014_update1``. These updates contain no new features.