Internal parameter storage for IMDModules
authorChristian Blau <cblau@gwdg.de>
Thu, 8 Aug 2019 14:18:35 +0000 (16:18 +0200)
committerErik Lindahl <erik.lindahl@gmail.com>
Wed, 14 Aug 2019 09:36:56 +0000 (11:36 +0200)
commit8e3da355a251de1201c662c05730924da4171215
treec46b72f829d74853e42163f469bad60b565754d6
parent81bcef29aecc71b436abca6b1b4b1213947b1441
Internal parameter storage for IMDModules

It is currently not possible for MdModules to store data in a tpr
file that is non-mdp input, e.g., the result of some computation
during setup level.

Atom indices of index groups are one example: evaluated from strings
during grompp time, they are stored as list of integers in the run
input file. During the mdrun setup the information to evaluate the
index groups is no longer available.

This patch introduces a storage for internal MdModule parameters.

The parameters are stored in a seperate key-value-tree in the input
record that is then serialized into the tpr file. In contrast to the
ir->params, this key-value-tree does not match the options given in
an input file.

Change-Id: I207d8c837c39f1afb196507fe228306700e46a49
docs/doxygen/lib/mdmodules.md
src/gromacs/fileio/tpxio.cpp
src/gromacs/gmxpreprocess/grompp.cpp
src/gromacs/mdlib/broadcaststructs.cpp
src/gromacs/mdrun/mdmodules.h
src/gromacs/mdrun/runner.cpp
src/gromacs/mdtypes/inputrec.h