2D PMF from colvars ABF

Hi All,

I needed clarification regarding the calculation of 2 dimensional PMF using ABF method from the lammps colvars module.

Below are the contents of my colvars configuration file:

ColvarsTrajfrequency 100
ColvarsRestartfrequency 10000
indexFile ./abf.ndx

colvar {
name ProjectionZ
width 0.05
lowerboundary -6.0
upperboundary 0.0
lowerwallconstant 10.0
upperwallconstant 10.0
distanceZ {
main { indexGroup abfatm }
ref { dummyAtom (0.0, 0.0, 0.0) }
oneSiteTotalForce yes}}

colvar {
name constrainXY
width 0.05
lowerboundary 0.0
upperboundary 5.0
lowerwallconstant 5.0
upperwallconstant 50.0
distanceXY {
main { indexGroup abfatm }
ref { dummyAtom (-0.628, 0.0, 0.0) }
oneSiteTotalForce yes}}

abf {
colvars ProjectionZ constrainXY
fullSamples 20000}

And below are the content of “output.abf.pmf” file that I obtained

2

-6.025 0.05 121 0

-0.025 0.05 101 0

-6 0 0
-6 0.05 0
-6 0.1 0
-6 0.15 0
-6 0.2 0
-6 0.25 0

-6 4.85 0
-6 4.9 0
-6 4.95 0
-6 5 0

-5.95 0 0
-5.95 0.05 0
-5.95 0.1 0
-5.95 0.15 0
-5.95 0.2 0


0 4.8 0
0 4.85 0
0 4.9 0
0 4.95 0
0 5 0

I have read (here) that 2D PMF calculation using ABF requires post processing of the data obtained from the colvars module. However, in the output file (abf.pmf file) that I obtained, the PMF values are recorded in 2D bins. In this context, is the output that I obtained the 2D PMF or do I need to post-process this data to obtain the actual PMF values?

Thanking you in advance :slight_smile:

Hello Vishnu, apologies for the late reply.

If you have biased and sampled two collective variables, then by definition the potential of mean force is two-dimensional and it is the final result, requiring no post-processing :slight_smile: From this you can extract an infinite number of 1D PMFs, depending on the ones that you need. In most cases, you will calculate the Boltzmann exponential of the 2D PMF, which will give you the partition function of the system in the reduced two-dimensional space (assuming that the calculation was statistically converged).

From this partition function (i.e. probability distribution, save for a normalization factor) you can calculate the probability distribution of any one-dimensional parameter.

Giacomo

Hi Giacomo,

Thank you very much for your reply.

Vishnu