Skip to content

Commit

Permalink
Squashed merge of master branch
Browse files Browse the repository at this point in the history
  • Loading branch information
giacomofiorin committed Nov 14, 2024
1 parent e7597c0 commit 1c4bf10
Show file tree
Hide file tree
Showing 36 changed files with 637 additions and 203 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ All of the above MD engine versions are automatically tested as part of GitHub A

## Legacy GROMACS-Colvars patched releases

Versions GROMACS prior to 2024 are no longer supported by the current version of Colvars: please use GROMACS 2024 or later.
Versions of GROMACS prior to 2024 are no longer supported by the current version of Colvars: please use GROMACS 2024 or later.


## Which version of Colvars is recommended?
Expand Down
14 changes: 14 additions & 0 deletions doc/colvars-code-refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,20 @@ @article{Fiorin2020
url = {https://doi.org/10.1002/jcc.26075}
}

% Updated multiple-walker ABF implementation
@article{Fiorin2024,
author = {Fiorin, Giacomo and Marinelli, Fabrizio and Forrest, Lucy R. and Chen, Haochuan and Chipot, Christophe and Kohlmeyer, Axel and Santuz, Hubert and H{\'e}nin, J{\'e}rôme},
title = {Expanded Functionality and Portability for the Colvars Library},
journal = {J. Phys. Chem. {B}},
volume = {0},
number = {0},
pages = {null},
year = {2024},
doi = {10.1021/acs.jpcb.4c05604},
pmid = 39501453,
url = { https://doi.org/10.1021/acs.jpcb.4c05604}
}

% Umbrella-integration eABF estimator
@article{Fu2016,
author = {Fu, Haohao and Shao, Xueguang and Chipot, Christophe and Cai, Wensheng},
Expand Down
13 changes: 6 additions & 7 deletions doc/colvars-refman-main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5616,13 +5616,12 @@
}
\end{itemize}
\cvnamdonly{
\cvsubsubsec{Multiple-walker ABF}{sec:colvarbias_abf_shared}
\label{sec:mw-ABF}
This implements the multiple-walker ABF scheme described in \cite{Minoukadeh2010}. The reference for this
implementation is \cite{Comer2014c}.
This feature requires that \MDENGINE be compiled and executed with multiple-replica
This implements the multiple-walker ABF scheme described in \cite{Minoukadeh2010}. The references for this
implementation are \cite{Comer2014c} and \cite{Fiorin2024}.
This feature requires that \MDENGINE{} be compiled and executed with multiple-replica
support.
If \refkey{shared}{abf|shared} is enabled, the total force samples will be synchronized among all replicas
Expand All @@ -5632,14 +5631,15 @@
Thus, it is as if total force samples among all replicas are gathered in a single shared buffer.
Shared ABF allows all replicas to benefit from the sampling done by other replicas and can lead to faster convergence of the biasing force.
\cvnamdonly{
An implementation of the selection mechanism described in \cite{Comer2014c} is provided as a set of Tcl scripts in \texttt{colvartools/mwABF\_selection.tcl} in the Colvars repository.
Compared with the initial implementation, the current implementation supports selection on sets of up to 3 colvars.
To reduce noise, samples can be counted in a hybercube around the current bin (see Tcl script for details).
A set of example NAMD inputs can be found in the \texttt{namd/tests/library/multiple\_walker\_abf} directory.
} % end of \cvnamdonly
\paragraph{Output files of multiple-walker ABF.}
In multiple-walker ABF runs, each walker now outputs gradient and count files containing only data collected locally (this is a change in version 2024-01-06).
In multiple-walker ABF runs, since Colvars version 2024-01-06, each walker outputs gradient and count files containing only data collected locally.
In addition, the first walker outputs the collected data using the common prefix, with an additional \texttt{".all"} string (i.e. file names ending with \texttt{".all.count"}, \texttt{".all.grad"} etc.).
Expand All @@ -5665,7 +5665,6 @@
Because this forces the replicas to synchronize, small values of this parameter may slightly reduce the overall throughput, especially on systems with unequal performance.
}
\end{itemize}
}
\cvsubsubsec{Output files}{sec:colvarbias_abf_output}
Expand Down
2 changes: 1 addition & 1 deletion doc/cv_version.tex
Original file line number Diff line number Diff line change
@@ -1 +1 @@
\newcommand{\cvversion}{2024-11-08}
\newcommand{\cvversion}{2024-11-13}
2 changes: 1 addition & 1 deletion doc/doxygen/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -1420,7 +1420,7 @@ FORMULA_TRANSPARENT = YES
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.

USE_MATHJAX = NO
USE_MATHJAX = YES

# When MathJax is enabled you can set the default output format to be used for
# the MathJax output. See the MathJax site (see:
Expand Down
2 changes: 1 addition & 1 deletion gromacs/tests/interface/010_MPI_multi-sim/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,5 @@ done
# cp -f a/test.colvars.traj a/test.colvars.state .
# cp -f a/test.log ./test.out

echo " Success!"
echo " Done."

20 changes: 20 additions & 0 deletions gromacs/tests/interface/011_MPI_mwABF/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## Gromacs mwABF regression test

This directory contains a test for multiple-walker ABF in Colvars/Gromacs.


### Version tested

The tests are valid against Gromacs version 2024.3 and following.


### Files tested

Only the traj files of the simulation **a** is being tested.


### Scripts

- `create_tpr.sh` is used to generate the .tpr
- `run.sh` is called by a `run_tests.sh` script to run the REMD simulation
- `cleanup.sh` is called by a `run_tests.sh` to clean the simulations files in the subfolders.
56 changes: 56 additions & 0 deletions gromacs/tests/interface/011_MPI_mwABF/a/system.mdp
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
;Run control
integrator = md-vv
;time step in picoseconds
dt = 0.002
;number of steps
nsteps = 50
;no trr
nstxout = 0
nstvout = 0
nstfout = 0
;frequency to write energies to log file
nstlog = 1
;frequency to write energies to energy file
nstenergy = 1
nstcalcenergy = 1
;frequency to write coordinates to xtc trajectory
nstxout-compressed = 1

cutoff-scheme = verlet


; Periodic boundary conditions
pbc = xyz ; 3-D PBC

; Bond parameters
constraint_algorithm = lincs
constraints = h-bonds



;treatment of van der waals interactions
vdwtype = cut-off
vdw-modifier = Potential-switch
rvdw = 1.2
rvdw-switch = 1.0

coulombtype = PME
rcoulomb = 1.2
pme_order = 4 ; cubic interpolation
fourierspacing = 0.12 ; grid spacing for FFT

;Temperature coupling
tcoupl = v-rescale
tc-grps = System
ref-t = 300
tau-t = 1
ld-seed = 1

; pressure coupling
pcoupl = no

gen-vel = no

colvars-active = yes
colvars-configfile = test.colvars

1 change: 1 addition & 0 deletions gromacs/tests/interface/011_MPI_mwABF/a/test.colvars
Binary file added gromacs/tests/interface/011_MPI_mwABF/a/test.tpr
Binary file not shown.
56 changes: 56 additions & 0 deletions gromacs/tests/interface/011_MPI_mwABF/b/system.mdp
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
;Run control
integrator = md-vv
;time step in picoseconds
dt = 0.002
;number of steps
nsteps = 50
;no trr
nstxout = 0
nstvout = 0
nstfout = 0
;frequency to write energies to log file
nstlog = 1
;frequency to write energies to energy file
nstenergy = 1
nstcalcenergy = 1
;frequency to write coordinates to xtc trajectory
nstxout-compressed = 1

cutoff-scheme = verlet


; Periodic boundary conditions
pbc = xyz ; 3-D PBC

; Bond parameters
constraint_algorithm = lincs
constraints = h-bonds



;treatment of van der waals interactions
vdwtype = cut-off
vdw-modifier = Potential-switch
rvdw = 1.2
rvdw-switch = 1.0

coulombtype = PME
rcoulomb = 1.2
pme_order = 4 ; cubic interpolation
fourierspacing = 0.12 ; grid spacing for FFT

;Temperature coupling
tcoupl = v-rescale
tc-grps = System
ref-t = 300
tau-t = 1
ld-seed = 2

; pressure coupling
pcoupl = no

gen-vel = no

colvars-active = yes
colvars-configfile = test.colvars

1 change: 1 addition & 0 deletions gromacs/tests/interface/011_MPI_mwABF/b/test.colvars
Binary file added gromacs/tests/interface/011_MPI_mwABF/b/test.tpr
Binary file not shown.
56 changes: 56 additions & 0 deletions gromacs/tests/interface/011_MPI_mwABF/c/system.mdp
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
;Run control
integrator = md-vv
;time step in picoseconds
dt = 0.002
;number of steps
nsteps = 50
;no trr
nstxout = 0
nstvout = 0
nstfout = 0
;frequency to write energies to log file
nstlog = 1
;frequency to write energies to energy file
nstenergy = 1
nstcalcenergy = 1
;frequency to write coordinates to xtc trajectory
nstxout-compressed = 1

cutoff-scheme = verlet


; Periodic boundary conditions
pbc = xyz ; 3-D PBC

; Bond parameters
constraint_algorithm = lincs
constraints = h-bonds



;treatment of van der waals interactions
vdwtype = cut-off
vdw-modifier = Potential-switch
rvdw = 1.2
rvdw-switch = 1.0

coulombtype = PME
rcoulomb = 1.2
pme_order = 4 ; cubic interpolation
fourierspacing = 0.12 ; grid spacing for FFT

;Temperature coupling
tcoupl = v-rescale
tc-grps = System
ref-t = 300
tau-t = 1
ld-seed = 3

; pressure coupling
pcoupl = no

gen-vel = no

colvars-active = yes
colvars-configfile = test.colvars

1 change: 1 addition & 0 deletions gromacs/tests/interface/011_MPI_mwABF/c/test.colvars
Binary file added gromacs/tests/interface/011_MPI_mwABF/c/test.tpr
Binary file not shown.
14 changes: 14 additions & 0 deletions gromacs/tests/interface/011_MPI_mwABF/cleanup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
# -*- sh-basic-offset: 2; sh-indentation: 2; -*-

# Script to remove simulations files
# Called by `run_tests.sh` scripts

echo "Cleaning up output files"
for i in a b c d
do
cd $i
rm -f *.xtc *.trr *.edr *.cpt *.gro *.log *~ \#*\# mdout.mdp
rm -f *.state *.old *.traj *.zcount
cd ..
done
56 changes: 56 additions & 0 deletions gromacs/tests/interface/011_MPI_mwABF/d/system.mdp
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
;Run control
integrator = md-vv
;time step in picoseconds
dt = 0.002
;number of steps
nsteps = 50
;no trr
nstxout = 0
nstvout = 0
nstfout = 0
;frequency to write energies to log file
nstlog = 1
;frequency to write energies to energy file
nstenergy = 1
nstcalcenergy = 1
;frequency to write coordinates to xtc trajectory
nstxout-compressed = 1

cutoff-scheme = verlet


; Periodic boundary conditions
pbc = xyz ; 3-D PBC

; Bond parameters
constraint_algorithm = lincs
constraints = h-bonds



;treatment of van der waals interactions
vdwtype = cut-off
vdw-modifier = Potential-switch
rvdw = 1.2
rvdw-switch = 1.0

coulombtype = PME
rcoulomb = 1.2
pme_order = 4 ; cubic interpolation
fourierspacing = 0.12 ; grid spacing for FFT

;Temperature coupling
tcoupl = v-rescale
tc-grps = System
ref-t = 300
tau-t = 1
ld-seed = 4

; pressure coupling
pcoupl = no

gen-vel = no

colvars-active = yes
colvars-configfile = test.colvars

1 change: 1 addition & 0 deletions gromacs/tests/interface/011_MPI_mwABF/d/test.colvars
Binary file added gromacs/tests/interface/011_MPI_mwABF/d/test.tpr
Binary file not shown.
Loading

0 comments on commit 1c4bf10

Please sign in to comment.