ABF with colvars

Hi All,

I’m trying to do a 2d abf with colvars. I have broken the reaction plane into smaller windows. In order to keep the intended molecule within the bounds of each window for sampling I use boundary potentials via lowerBoundary and upperBondary. My reaction coordinates are distanceZ in x and y direction.
The simulation box boundary conditions are walls on bottom and top in parallel to xz plane and periodic in both x and z directions. Here are the bounds for one of the windows as an example:
x: 6 - 6.875
y: 5.5 - 6.5
and I have attached the config file that I use for this window.

Problem: The molecule stays in the y bound of the window but doesn’t stays in the x bound of the window and goes far away from the limits, as if it’s not seeing the boundary potentials in x direction.

Question: How should I keep it bounded in x direction and basically within the window?

I appreciate any help.


abf1.colvars (703 Bytes)

I forgot to include the trajectory file which shows that the y component is in the bound but x component doesn’t obey the boundary potential.


abf1.colvars.traj (18 KB)

You’re using the unwrap option of the colvars fix, correct?

No, is that wrapAround or period option?shouldn’t these periodic treatments be used only if the collective variable is crossing the boundary?
If distanceZ is along a periodic boundary these option should be used if it’s not even crossing the boundary, right?
I was reading about ‘period’ option but I don’t get what is the positive decimal that should be entered for that? is the the length of the periodic direction?

I appreciate your help.

Thank you,

No. I mean the unwrap option of the fix colvars command. There was a conflict between the internal wrapping done by LAMMPS and the way colvars assumes certain atoms to be. But this conflict was fixed recently by introducing that option (see Axel’s previous email),.

You shouldn’t have to use wrapAround or period in this case: by “unwrap” I mean the option of the same name and no other.

No, is that wrapAround or period option?

neither. giacomo refers to the unwrap yes option of fix colvars.

there is a patch sent out to steve that updates the colvars code and
also makes this a default setting (as it already is in LAMMPS-ICMS).
however, with the currently distributed regular LAMMPS code you almost
always have to set this option.

shouldn't these periodic treatments be used only if the collective variable
is crossing the boundary?

without unwrap yes, coordinates will be wrapped inside the box. so the
colvars library doesn't even see them crossing box boundaries.


Ok I got it, I set the uwrap option but The problem still exists, and the x component of the molecule com crosses the x limits of the window as if it doesn’t see the boundary potential :frowning:


Does this change with the boundary force constant?

I doubled the lowerWallConstan and upperWallConstant for the x colvar, the trajectory file shows that the outputAppliedforce values has been doubled too but the x trajectory values remain at the exact value as before. shouldn’t the x trajectory values be affected also?

one more question that confuses me:

The wall constant values are in energy/mol unit, is it actually energy/mol/(length)^2? because multiplied by (x-x0)^2 it should give energy units right?

in the case of harmonic bias it is stated that the force constant is divided by the (width)^2 and then it’s used, but in the case of wall constant I’m confused how it is applied?

Thank you,

In the harmonic bias the force constant is divided by the width, because the harmonic bias can handle multiple variables at a time, so reduced units should be used. LowerWallConstant and UpperWallConstant are instead not divided by width. This is a bit inconsistent on first look, but the two methods have different purposes, too.

If the trajectory for x doesn’t change at all even changing the force constant, I wonder what’s going on. Can you post your input files?