Re: ABF simulations with singularities?

From: Jérôme Hénin (jerome.henin_at_ibpc.fr)
Date: Fri Jul 06 2018 - 02:18:34 CDT

Hi,

I wonder if the variable could be getting stuck in the "gap" between the
boundaries of the force grid (beyond which there is no ABF bias) and the
wall potential - structly speaking there is no gap, but here the wall
potential is a little soft, so there is some space at the bottom of the
harmonic well. That is especially likely if the free energy is decreasing
towards the boundaries, which is an unusual situation because usually we
sample until the edges of a basin, but is still possible.

What you could try is have the grid boundaries overlap with the harmonic
walls, and use a harder wall:
colvar {
    name particleZ
    width 0.1
    lowerboundary 2
    lowerWall 3
    upperWall 30
    upperboundary 31
    lowerwallconstant 20
    upperwallconstant 20

Then the rest would be the same. You can restart this simulation from a
previous one to reuse the sampling you have. This will just extend the grid
by 1 Angstrom on either side.

For the purpose of understanding precisely what's happening in your
existing simulations, you could try out this brand new visualization tool
for VMD:
https://github.com/Colvars/colvars/blob/master/vmd/scripts/cv_gui.tcl
Load a trajectory in VMD, then type "play <path/to>/cv_gui.cl" in the
console. Then you can load your Colvars configuration file, plot the
trajectory of selected variables, and navigate it by clicking in the plot
window.

Best,
Jerome

On Fri, 6 Jul 2018 at 03:58, Junwoong Yoon <junwoony_at_andrew.cmu.edu> wrote:

> Hi all,
>
> I'm doing a simple adsorption energy calculations of a surfactant molecule
> onto a hard surface (graphene) in the presence of water molecules (water
> box) using ABF (with distanceZ colvar). Le'ts say the original z-direction
> coordinate of the surfactant as "z0", Then it only either goes down toward
> lowerBoundary or goes up toward upperBoundary. Then the simulation gets
> stuck near the boundary and does not explore the other way.
> It seems like without solvation box, it worked fine (simulation could
> explore the entire range in boundaries). However with the water solvation
> box, this thing happens.
>
> Here's what I have been tried but could not resolve this issue:
> 1) changing the grid limit (lower & upper boundaries)
> 2) changing original height, z0
> 3) increasing fullSamples value
>
> Please give me any recommendation if you ever seen this kind of issue
> before or have any idea to resolve it.
>
> FYI, I have copied my colvars and namd configuration files here.
>
>
>
> ######### CONFIG FILE ##########
>
> cellBasisVector1 51.05 0.0 0.0
> cellBasisVector2 0.0 51.579 0.0
> cellBasisVector3 0.0 0.0 70
> cellOrigin 0.0 0.0 0.0
>
> coordinates SDS_graphene_wb.pdb
> #extendedSystem SDS_graphene_wb.xst
> temperature 300
> XSTfile ./output/cntabf
> XSTfreq 1000
>
> set temp 300
> set numstep 10000000
>
> switching on
> switchdist 10
> cutoff 12
> pairlistdist 14.5
> margin 10.0
> stepspercycle 20
>
> #wrapWater on
> wrapAll on
>
> #useFlexibleCell no
> #useConstantArea no
> #useGroupPressure no
> langevinPiston on
> langevinPistonTarget 1.01325
> langevinPistonPeriod 200
> langevinPistonDecay 100
> langevinPistonTemp $temp
>
> langevin on
> langevinTemp $temp
> langevinDamping 0.5
>
> #This probably isn't necessary
> reassignFreq 100000
> reassignTemp $temp
>
> PME off
> PMEGridSizeX 108
> PMEGridSizeY 108
> PMEGridSizeZ 80
>
> #Use structures for molecule and a small number of graphene parameters
> structure SDS_graphene_wb.psf
> paraTypeCharmm on
> parameters par_all27_prot_lipid.inp
> parameters par_cntgraph.inp
> exclude scaled1-4
> 1-4scaling 1.0
>
> timestep 1.0
> #rigidBonds all
>
> fullElectFrequency 4
>
> numsteps $numstep
> outputtiming 1000
> outputenergies 1000
> outputname ./output/cntabf
> restartName ./restart/cntabf
> restartFreq 1000
>
> fixedAtoms on
> fixedAtomsFile SDS_graphene_wb.pdb
>
> DCDfile ./output/cnt_abf.dcd
> DCDfreq 1000
>
> colvars on
> colvarsConfig colvars_config_custom.tcl
>
> minimize 1000
> reinitvels $temp
> run $numstep
>
> ######### COLVARS FILE ################
> colvarsTrajFrequency 1000
> colvarsRestartFrequency 1000
> smp off
>
> colvar {
> name particleZ
> width 0.1
> lowerboundary 3
> upperboundary 30
> lowerwallconstant 5
> upperwallconstant 5
>
> distanceZ {
> #look this up in NAMD user guide
> main {
> atomsFile SDS_graphene_wb.pdb
> atomsCol B
> atomsColValue 1
> }
>
> ref {
> atomsFile SDS_graphene_wb.pdb
> atomsCol B
> atomsColValue 2
> }
> }
> }
>
>
> abf {
> name densityABF
> #timestepfactor 10
> colvars particleZ
> historyFreq 500
> outputFreq 1000
> fullSamples 500
> }
>
>
>

This archive was generated by hypermail 2.1.6 : Tue Dec 31 2019 - 23:20:03 CST