Project

General

Profile

Feature #2218

A tiny feature: damping for umbrella pull

Added by Alex Smolyanitsky over 2 years ago. Updated over 2 years ago.

Status:
Feedback wanted
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Difficulty:
simple
Close

Description

Hi all,

It was suggested to me that this would be the right place to ask for this small, but important feature. Gromacs pull code is nearly perfect for performing simulated friction force microscopy (FFM) with one small exception: umbrella pulling (the only physically correct type of pulling for this type of simulation) is undamped. It is a non-issue for solvated systems with damping provided by the solvent+thermostats, but FFM is done in vacuum and one of its key features (well known experimentally) is atomic stick-slip, which can make the scanning object (the tip) oscillate. The associated kinetic energies are so low that these oscillations are correctly ignored by thermostatics. From my own recent tests, these oscillations are pretty significant.

Is it possible to add a Stokesian damping (-a*v) force term to the forces acting upon the COM of the pulled group? Here, v is the COM velocity and a is the damping term. The parameter for a is then set in mdp via the value of damping time tau, so that a = m/tau, where m is the total mass of the pulled group. Its default value can be set to zero, so no changes to any existing mdp file in the universe. Ideally (and physically sound), the term would affect all three motion components of the COM and not just in the direction of the pull, but since I don't know how pull code is implemented, this point may be up for discussion.

Thank you,

Alex

History

#1 Updated by Berk Hess over 2 years ago

This feature is not really related directly with the pull code, it would be covered by being able to apply friction to a COM.
But why not simply use the SD integrator, which applies friction (and noise) to every degree of freedom?

#2 Updated by Berk Hess over 2 years ago

  • Status changed from New to Feedback wanted

#3 Updated by Alex Smolyanitsky over 2 years ago

Berk Hess wrote:

This feature is not really related directly with the pull code, it would be covered by being able to apply friction to a COM.
But why not simply use the SD integrator, which applies friction (and noise) to every degree of freedom?

This way the SD integrator would be applied to the atoms and not the COM, correct? In the experiments, scanning tip damping is just that: damping of the motion of the COM and no added noise. Although I agree that the feature isn't related to the pull code per se and could be an analog of viscous COM-damping e.g. LAMMPS does in its code, this is a non-Langevin situation and the damping without stochastic part is applied to a COM of a group of atoms and not the atoms within that group. As if the entire group of atoms is connected to something else, just like the tip is connected to a damped cantilever in an atomic force microscope. The reason why I felt that it could be part of the pull code is that pull code already implements attaching a group of atom to an "external" object via a spring during umbrella pull. That pull and its corresponding vibrational component is characterized by the corresponding imaginary eigenvalue i*w, where w = sqrt(k_umbrella/m_COM). Damping simply adds a real part to the eigenvalue, so your oscillator goes from exp(i*w) to exp(-a+i*w) with default a=0. A damped umbrella spring, just like that. Does this make sense?

Thanks,

Alex

#4 Updated by Berk Hess over 2 years ago

I don't know if I understand anymore. If the tip is supposed to be damped, this has nothing to do with the COM of the molecule. But I guess you want to compensate for damping of the solute due to leaving out the solvent? If that's the case, you need to add damping and noise. The question is then if it is more realistic to apply the to all atoms or the COM only.
Note that applying friction to a COM is not a small feature. This requires global communication of velocities, which currently is not done and which we do not plan to incorporate. It would not be difficult to implement, if you are willing to do it yourself.

#5 Updated by Alex Smolyanitsky over 2 years ago

Berk Hess wrote:

I don't know if I understand anymore. If the tip is supposed to be damped, this has nothing to do with the COM of the molecule. But I guess you want to compensate for damping of the solute due to leaving out the solvent? If that's the case, you need to add damping and noise. The question is then if it is more realistic to apply the to all atoms or the COM only.
Note that applying friction to a COM is not a small feature. This requires global communication of velocities, which currently is not done and which we do not plan to incorporate. It would not be difficult to implement, if you are willing to do it yourself.

If I am causing confusion, then there must be a difference between how I see it (and how I believe it is implemented in LAMMPS) and how Gromacs does pulling. If we keep thinking in terms of solvent presence, then damping+noise is the way to go. For the simulations of interest, there is generally no solvent and no damping that comes from the solvent. The way I implemented it in my own code for AFM scans is this:

1. A group of atoms is designated to be the "tip".
2. M_tip = sum(all masses in the group)
3. A virtual platform of infinite mass is moving at constant speed along specified vector, connected to the tip by the springs.
4. Solve the equation of motion (positions and velocities) for the tip (basically a separate object with mass m_tip; with the forces arising from:
4.1 sum of the forces acting upon the atoms within the tip, i.e. f_atoms = sum(fx,fy,fz from all tip atoms). If the tip isn't bumping into anything, this number is zero on average. If it is scanning a surface of meeting an obstacle, it is nonzero.
4.2 elastic force from the virtual platform that pulls upon the tip via spring
4.3 damping force = -alpha*v_tip, suggesting that the damping isn't via any solvent, but is the lossy property of the spring from 4.2, i.e. it isn't 100% elastic.
5. Add components of x_tip to the 3D positions of all the atoms in the tip.

My feeling was that umbrella pull was implemented in a way that's mathematically equivalent, except omitting 4.3. If not, and if there is no easy way to introduce 4.3, then please disregard my request. I never really looked into the Gromacs code and I think you guys may be better off without me messing with it. :)

#6 Updated by Alex Smolyanitsky over 2 years ago

Here's one option LAMMPS has for what I am talking about: http://lammps.sandia.gov/doc/fix_viscous.html

In their procedure the damping force is added to the atoms individually (except in their algorithm gamma has to be N times smaller than mine, where N is the number of atoms in the group), but because of the underlying linearity of all the summations it is mathematically equivalent. Note that this is separate from the Langevin option, which indeed adds noise and thus becomes a thermostat. So, their fix_viscous is added to normal thermostatting (whatever it may be) and does not interfere with it, unless gamma is very high (then it will eventually freeze the system). If gamma is low (as it should be), it will only affect the kinetic energy associated with the motion of the group as a whole, while the thermostat will maintain the temperature of the atoms in the group.

#7 Updated by Berk Hess over 2 years ago

Ah, now I understand. I didn't realize you have an actual AFM tip consisting of atoms. I am used to pulling with some reference location instead of an actual tip. Then I see it makes sense to add friction.
How strong do what want the damping to be? You might be able to get the desired effect by putting the tip in a separate temperature coupling group with the appropriate tau-t value to get the desired damping.

#8 Updated by Alex Smolyanitsky over 2 years ago

I strongly doubt this scenario is possible without massive artifacts, because what I need is a tip at 300K, while its motion as a whole is damped -- hence the damping is on top of a conventional thermostat. This is precisely what you get experimentally from a damped AFM cantilever.
For a tip that contains, say, 1000 atoms, tau would be of the order of 0.5-1 nanoseconds, but this is not the tau you set for the actual thermostat. The value of tau corresponding to each atom in this approach would be of the order of a microsecond to achieve the same level of energy quenching. So, this thermostatics would be way too loose for avoiding heating up -- and friction simulations do heat up, that's sort of their nature. This approach could work, if the scanning (and thus heating) rate was reduced tremendously, but then you can't do anything useful within the available simulation timescales.

Also available in: Atom PDF