Unverified Commit f03cfba0 authored by Axel Kohlmeyer's avatar Axel Kohlmeyer Committed by GitHub
Browse files

Merge pull request #1820 from ornladios/adios_read_dump

Support read_dump with dump style 'adios'
parents 3c55bded 41cfb91d
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -46,7 +46,8 @@ An alphabetic list of all general LAMMPS commands.
   * :doc:`dimension <dimension>`
   * :doc:`displace_atoms <displace_atoms>`
   * :doc:`dump <dump>`
   * :doc:`dump adios <dump_adios>`
   * :doc:`dump atom/adios <dump_adios>`
   * :doc:`dump custom/adios <dump_adios>`
   * :doc:`dump image <dump_image>`
   * :doc:`dump movie <dump_image>`
   * :doc:`dump netcdf <dump_netcdf>`
@@ -131,11 +132,10 @@ An alphabetic list of all general LAMMPS commands.
   * :doc:`units <units>`
   * :doc:`variable <variable>`
   * :doc:`velocity <velocity>`
   * :doc:`write_coeff <write_coeff>`
   * :doc:`write_data <write_data>`
   * :doc:`write_dump <write_dump>`
   * :doc:`write_restart <write_restart>`
   *
   * :doc:`write\_coeff <write_coeff>`
   * :doc:`write\_data <write_data>`
   * :doc:`write\_dump <write_dump>`
   * :doc:`write\_restart <write_restart>`
   *
   *
   *
+7 −2
Original line number Diff line number Diff line
@@ -1096,8 +1096,9 @@ USER-ADIOS package
**Contents:**

ADIOS is a high-performance I/O library. This package implements the
dump "atom/adios" and dump "custom/adios" commands to write data using
the ADIOS library.
:doc:`dump atom/adios <dump_adios>`, :doc:`dump custom/adios <dump_adios>` and
:doc:`read_dump ... format adios <read_dump>`
commands to write and read data using the ADIOS library.

**Authors:** Norbert Podhorszki (ORNL) from the ADIOS developer team.

@@ -1111,6 +1112,10 @@ This package has :ref:`specific installation instructions <user-adios>` on the :
* src/USER-ADIOS/README
* examples/USER/adios
* https://github.com/ornladios/ADIOS2
* :doc:`dump atom/adios <dump_adios>`
* :doc:`dump custom/adios <dump_adios>`
* :doc:`read_dump <read_dump>`



----------
+9 −5
Original line number Diff line number Diff line
@@ -21,8 +21,11 @@ dump command
:doc:`dump movie <dump_image>` command
======================================

:doc:`dump adios <dump_adios>` command
======================================
:doc:`dump atom/adios <dump_adios>` command
===========================================

:doc:`dump custom/adios <dump_adios>` command
=============================================

Syntax
""""""
@@ -45,12 +48,12 @@ Syntax
       *atom* args = none
       *atom/gz* args = none
       *atom/mpiio* args = none
       *atom/adios* args = none,  discussed on :doc:`dump adios <dump_adios>` doc page
       *atom/adios* args = none,  discussed on :doc:`dump atom/adios <dump_adios>` doc page
       *cfg* args = same as *custom* args, see below
       *cfg/gz* args = same as *custom* args, see below
       *cfg/mpiio* args = same as *custom* args, see below
       *custom*\ , *custom/gz*\ , *custom/mpiio* args = see below
       *custom/adios* args = same as *custom* args, discussed on :doc:`dump adios <dump_adios>` doc page
       *custom/adios* args = same as *custom* args, discussed on :doc:`dump custom/adios <dump_adios>` doc page
       *dcd* args = none
       *h5md* args = discussed on :doc:`dump h5md <dump_h5md>` doc page
       *image* args = discussed on :doc:`dump image <dump_image>` doc page
@@ -713,7 +716,8 @@ LAMMPS was built with that package. See the :doc:`Build package <Build_package>
Related commands
""""""""""""""""

:doc:`dump adios <dump_adios>` :doc:`dump h5md <dump_h5md>`, :doc:`dump image <dump_image>`,
:doc:`dump atom/adios <dump_adios>`, :doc:`dump custom/adios <dump_adios>`, 
:doc:`dump h5md <dump_h5md>`, :doc:`dump image <dump_image>`,
:doc:`dump molfile <dump_molfile>`, :doc:`dump\_modify <dump_modify>`,
:doc:`undump <undump>`

+4 −3
Original line number Diff line number Diff line
.. index:: dump atoms/adios 
.. index:: dump atom/adios 
.. index:: dump custom/adios 

dump atoms/adios  command
dump atom/adios  command
=========================

dump custom/adios command
@@ -12,7 +13,7 @@ Syntax

.. parsed-literal::

   dump ID group-ID atoms/adios N file.bp
   dump ID group-ID atom/adios N file.bp

   dump ID group-ID custom/adios N file.bp args

+47 −2
Original line number Diff line number Diff line
@@ -43,6 +43,9 @@ Syntax
       *format* values = format of dump file, must be last keyword if used
         *native* = native LAMMPS dump file
         *xyz* = XYZ file
         *adios* [*timeout* value] = dump file written by the :doc:`dump adios <dump_adios>` command
           *timeout* = specify waiting time for the arrival of the timestep when running concurrently.
                     The value is a float number and is interpreted in seconds.
         *molfile* style path = VMD molfile plugin interface
           style = *dcd* or *xyz* or others supported by molfile plugins
           path = optional path for location of molfile plugins
@@ -65,6 +68,8 @@ Examples
   read_dump dump.xyz 10 x y z box no format molfile xyz ../plugins
   read_dump dump.dcd 0 x y z format molfile dcd
   read_dump dump.file 1000 x y z vx vy vz format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile
   read_dump dump.bp 5000 x y z vx vy vz format adios
   read_dump dump.bp 5000 x y z vx vy vz format adios timeout 60.0

Description
"""""""""""
@@ -136,6 +141,17 @@ contain multiple directories separated by a colon (or semi-colon on
windows).  The *path* keyword is optional and defaults to ".",
i.e. the current directory.

The *adios* format supports reading data that was written by the 
:doc:`dump adios <dump_adios>` command. The 
entire dump is read in parallel across all the processes, dividing
the atoms evenly amongs the processes. The number of writers that
has written the dump file does not matter. Using the adios style for
dump and read_dump is a convenient way to dump all atoms from *N* 
writers and read it back by *M* readers. If one is running two 
LAMMPS instances concurrently where one dumps data and the other is 
reading it with the rerun command, the timeout option can be specified 
to wait on the reader side for the arrival of the requested step. 

Support for other dump format readers may be added in the future.


@@ -147,7 +163,19 @@ and box information.

The dump file is scanned for a snapshot with a timestamp that matches
the specified *Nstep*\ .  This means the LAMMPS timestep the dump file
snapshot was written on for the *native* format.  Note that the *xyz*
snapshot was written on for the *native* or *adios* formats.  

The list of timestamps available in an adios .bp file is stored in the 
variable *ntimestep*:

.. parsed-literal::

  $ bpls dump.bp -d ntimestep
    uint64_t  ntimestep  5*scalar 
      (0)    0 50 100 150 200 


Note that the *xyz*
and *molfile* formats do not store the timestep.  For these formats,
timesteps are numbered logically, in a sequential manner, starting
from 0.  Thus to access the 10th snapshot in an *xyz* or *mofile*
@@ -160,7 +188,8 @@ and the current simulation box is orthogonal or vice versa. A warning
will be generated if the snapshot box boundary conditions (periodic,
shrink-wrapped, etc) do not match the current simulation boundary
conditions, but the boundary condition information in the snapshot is
otherwise ignored.  See the "boundary" command for more details.
otherwise ignored.  See the "boundary" command for more details. The
*adios* reader does the same as the *native* format reader.

For the *xyz* format, no information about the box is available, so
you must set the *box* flag to *no*\ .  See details below.
@@ -231,6 +260,18 @@ consistent from snapshot to snapshot in the molfile dump file.
See the :doc:`dump\_modify sort <dump_modify>` command if the dump file
was written by LAMMPS.

The *adios* format supports all fields that the *native* format supports
except for the *q* charge field. 
The list of fields stored in an adios .bp file is recorded in the attributes
*columns* (array of short strings) and *columnstr* (space-separated single string).

.. parsed-literal::

  $ bpls -la dump.bp column*
    string    columns            attr   = {"id", "type", "x", "y", "z", "vx", "vy", "vz"}
    string    columnstr          attr   = "id type x y z vx vy vz "



----------

@@ -357,10 +398,14 @@ The *molfile* dump file formats are part of the USER-MOLFILE package.
They are only enabled if LAMMPS was built with that packages.  See the
:doc:`Build package <Build_package>` doc page for more info.

To write and read adios .bp files, you must compile LAMMPS with the
:ref:`USER-ADIOS <PKG-USER-ADIOS>` package.

Related commands
""""""""""""""""

:doc:`dump <dump>`, :doc:`dump molfile <dump_molfile>`,
:doc:`dump adios <dump_adios>`,
:doc:`read\_data <read_data>`, :doc:`read\_restart <read_restart>`,
:doc:`rerun <rerun>`

Loading