Add docs for mdi_engine command and fix

This commit is contained in:
taylor-a-barnes
2021-04-27 12:45:09 -04:00
parent 66fb5e1cf3
commit a731c43000
4 changed files with 133 additions and 4 deletions

View File

@ -49,6 +49,7 @@ This is the list of packages that may require additional steps.
* :ref:`USER-COLVARS <user-colvars>`
* :ref:`USER-H5MD <user-h5md>`
* :ref:`USER-INTEL <user-intel>`
* :ref:`USER-MDI <user-mdi>`
* :ref:`USER-MESONT <user-mesont>`
* :ref:`USER-MOLFILE <user-molfile>`
* :ref:`USER-NETCDF <user-netcdf>`
@ -1539,6 +1540,35 @@ TBB and MKL.
----------
.. _user-mdi:
USER-MDI package
-----------------------------
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D DOWNLOAD_MDI=value # download MDI Library for build, value = no (default) or yes
.. tab:: Traditional make
Before building LAMMPS, you must build the MDI Library in
``lib/mdi``\ . You can do this by executing a command like one
of the following from the ``lib/mdi`` directory:
.. code-block:: bash
$ python Install.py -m gcc # build using gcc compiler
$ python Install.py -m icc # build using icc compiler
The build should produce two files: ``lib/mdi/includelink/mdi.h``
and ``lib/mdi/liblink/libmdi.so``\ .
----------
.. _user-mesont:
USER-MESONT package

View File

@ -0,0 +1,58 @@
.. index:: fix move
fix mdi/engine command
================
Syntax
""""""
.. parsed-literal::
fix ID group-ID mdi/engine
* ID, group-ID are documented in :doc:`fix <fix>` command
* mdi/engine = style name of this fix command
Examples
""""""""
.. code-block:: LAMMPS
fix 1 all mdi/engine
Description
"""""""""""
This fix is used alongside the :doc:`mdi_engine <mdi_engine>` command
to enable LAMMPS to use the
`MDI Library <https://molssi-mdi.github.io/MDI_Library/html/index.html>`_
to run as an MDI engine.
The fix provides hooks that are enable external drivers to communicate
with LAMMPS at various points within LAMMPS timesteps.
It is not generally necessary to add this fix to a LAMMPS input file,
even when using the :doc:`mdi_engine <mdi_engine>` command; if the
:doc:`mdi_engine <mdi_engine>` command is executed and this fix is not
present, it will automatically be added to the end of the fix list and
applied to all atoms for the duration of the command. It is only
necessary to add this fix to an input file for cases in which the user
would like to modify order or group-ID of the fix.
For more information about running LAMMPS as an MDI engine, see the
:doc:`mdi_engine <mdi_engine>` command.
Restrictions
""""""""""""
This command is part of the USER-MDI package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
Related commands
""""""""""""""""
:doc:`mdi_engine <mdi_engine>`
Default
"""""""
none

45
doc/src/mdi_engine.rst Normal file
View File

@ -0,0 +1,45 @@
.. index:: mdi_engine
mdi_engine command
===============
Syntax
""""""
.. parsed-literal::
mdi_engine
Description
"""""""""""
This command causes LAMMPS to use the
`MDI Library <https://molssi-mdi.github.io/MDI_Library/html/index.html>`_
to run as an MDI Engine, responding to commands from an external
MDI Driver.
General information about launching codes that communicate using the
MDI Library can be found in the
`corresponding page <https://molssi-mdi.github.io/MDI_Library/html/library_page.html#library_launching_sec>`_
of the MDI Library's documentation.
----------
Other commands can be executed both before and after this command,
but typically this command should be used at the end of a LAMMPS
input script.
Restrictions
""""""""""""
This command is part of the USER-MDI package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
Related commands
""""""""""""""""
:doc:`fix mdi/engine <fix_mdi_engine>`
Default
"""""""
none

View File

@ -3,10 +3,6 @@ MDI engine. LAMMPS as an engine performs the MD timestepping.
The driver is a simple Python script. Every timestep the driver
sends one or more commands to LAMMPS.
See the MDI package documentation Build_extras.html#mdi and
Build_extras.html#mdi for more details on how the LAMMPS MDI
implementation works.
--------------
NOTE: the Script.sh file has comands to perform all the