Add AWH biasing module + tests
commit5b7479aa28b2d216175cb395344bccbeacba0191
authorViveca Lindahl <vivecalindahl@gmail.com>
Mon, 28 Mar 2016 12:27:33 +0000 (28 14:27 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Sun, 19 Nov 2017 21:21:25 +0000 (19 22:21 +0100)
tree27fe23dbe47a689761d0a7c8ded467ed44539f42
parent97e9dd85e8039ca3404348556d87072c1e0ca239
Add AWH biasing module + tests

The AWH (Accelerated weight histogram) method is an adaptive biasing
method used for overcoming free energy barriers and calculating
free energies (see http://dx.doi.org/10.1063/1.4890371). Although
AWH can in general bias any system parameter, this change only
implements biasing of reaction coordinates. The actual force
distribution and coordinate handling is taken care of by the pull
code. AWH interacts with the pull code by registering itself as
the external potential module for the coordinate that should be
AWH biased. The AWH code sets the potential and force for those
coordinates.

The Grid test checks that the neighborhoods are correct.
The Bias tests check the force, bias and free energy values
for the final and initial phase, with MC and convolved force
and without and with skipping updates.

Change-Id: I202f58f7042e8e63c9d708fdcaca6da7e8a4022e
70 files changed:
docs/doxygen/cycle-suppressions.txt
docs/doxygen/lib/awh.md [new file with mode: 0644]
docs/doxygen/user/mainpage.md
docs/user-guide/mdp-options.rst
src/gromacs/CMakeLists.txt
src/gromacs/awh/CMakeLists.txt [new file with mode: 0644]
src/gromacs/awh/awh.cpp [new file with mode: 0644]
src/gromacs/awh/awh.h [new file with mode: 0644]
src/gromacs/awh/bias.cpp [new file with mode: 0644]
src/gromacs/awh/bias.h [new file with mode: 0644]
src/gromacs/awh/biasparams.cpp [new file with mode: 0644]
src/gromacs/awh/biasparams.h [new file with mode: 0644]
src/gromacs/awh/biassharing.cpp [new file with mode: 0644]
src/gromacs/awh/biassharing.h [new file with mode: 0644]
src/gromacs/awh/biasstate.cpp [new file with mode: 0644]
src/gromacs/awh/biasstate.h [new file with mode: 0644]
src/gromacs/awh/coordstate.cpp [new file with mode: 0644]
src/gromacs/awh/coordstate.h [new file with mode: 0644]
src/gromacs/awh/dimparams.h [new file with mode: 0644]
src/gromacs/awh/grid.cpp [new file with mode: 0644]
src/gromacs/awh/grid.h [new file with mode: 0644]
src/gromacs/awh/histogramsize.cpp [new file with mode: 0644]
src/gromacs/awh/histogramsize.h [new file with mode: 0644]
src/gromacs/awh/pointstate.cpp [new file with mode: 0644]
src/gromacs/awh/pointstate.h [new file with mode: 0644]
src/gromacs/awh/read-params.cpp [new file with mode: 0644]
src/gromacs/awh/read-params.h [new file with mode: 0644]
src/gromacs/awh/tests/CMakeLists.txt [new file with mode: 0644]
src/gromacs/awh/tests/bias.cpp [new file with mode: 0644]
src/gromacs/awh/tests/biasstate.cpp [new file with mode: 0644]
src/gromacs/awh/tests/grid.cpp [new file with mode: 0644]
src/gromacs/awh/tests/pmf_target_format0.xvg [new file with mode: 0644]
src/gromacs/awh/tests/pmf_target_format1.xvg [new file with mode: 0644]
src/gromacs/awh/tests/refdata/WithParameters_BiasTest_ForcesBiasPmf_0.xml [new file with mode: 0644]
src/gromacs/awh/tests/refdata/WithParameters_BiasTest_ForcesBiasPmf_1.xml [new file with mode: 0644]
src/gromacs/awh/tests/refdata/WithParameters_BiasTest_ForcesBiasPmf_2.xml [new file with mode: 0644]
src/gromacs/awh/tests/refdata/WithParameters_BiasTest_ForcesBiasPmf_3.xml [new file with mode: 0644]
src/gromacs/awh/tests/refdata/WithParameters_BiasTest_ForcesBiasPmf_4.xml [new file with mode: 0644]
src/gromacs/awh/tests/refdata/WithParameters_BiasTest_ForcesBiasPmf_5.xml [new file with mode: 0644]
src/gromacs/awh/tests/refdata/WithParameters_BiasTest_ForcesBiasPmf_6.xml [new file with mode: 0644]
src/gromacs/awh/tests/refdata/WithParameters_BiasTest_ForcesBiasPmf_7.xml [new file with mode: 0644]
src/gromacs/fileio/checkpoint.cpp
src/gromacs/fileio/tpxio.cpp
src/gromacs/gmxpreprocess/grompp.cpp
src/gromacs/gmxpreprocess/readir.cpp
src/gromacs/gmxpreprocess/readpull.cpp
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_EmptyInputWorks.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_HandlesDifferentKindsOfMdpLines.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_HandlesOnlyCutoffScheme.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_ProducesOutputFromElectricField.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_ProducesOutputFromElectricFieldOscillating.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_ProducesOutputFromElectricFieldPulsed.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_UserErrorsSilentlyTolerated.xml
src/gromacs/mdlib/broadcaststructs.cpp
src/gromacs/mdlib/sim_util.cpp
src/gromacs/mdtypes/awh-history.h [new file with mode: 0644]
src/gromacs/mdtypes/awh-params.h [new file with mode: 0644]
src/gromacs/mdtypes/forceoutput.h
src/gromacs/mdtypes/inputrec.cpp
src/gromacs/mdtypes/inputrec.h
src/gromacs/mdtypes/state.cpp
src/gromacs/mdtypes/state.h
src/gromacs/pulling/pull.cpp
src/gromacs/pulling/pull.h
src/gromacs/random/seed.h
src/gromacs/timing/wallcycle.cpp
src/gromacs/timing/wallcycle.h
src/gromacs/utility/pleasecite.cpp
src/programs/mdrun/md.cpp
src/programs/mdrun/runner.h