Project

General

Profile

Feature #1139

Adding the possibility to arbitrarily evaluate different components in the energy/force term when the energy/force is calculated

Added by Michael Shirts over 6 years ago. Updated about 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
mdrun
Target version:
-
Difficulty:
uncategorized
Close

Description

I'm breaking this off from the previous issue since it can easily take advantage of the Trotter decomposition framework, but is not required for it.

It would be useful to make it possible to only evaluate certain components of the potential energy / force every N steps as well, where N can varied independently for each component.

Some things it would make possible:

1) harmonic bonds with short timesteps, with long timesteps for the nonbonded.
2) more rigorous short/long cutoff integration
3) Make it less computationally intensive to do PME/LJ, as this only needs to be called relatively rarely (10-20 steps, likely). We know that PME/LJ is required for getting lipid densities to be cutoff independent.
4) For electrostatics methods with the proper separation between fast and slow components (it's not 100% clear if PME fits in this category), we can evaluate the slow electrostatics less frequently.

I believe this would only involve passing in a properly set up flag that triggers the booleans at the different levels of code. THe force code would have to be cleaned up a little so that each part of the force/energy was only called when the right flag is set.

History

#1 Updated by Michael Shirts over 6 years ago

  • Assignee deleted (Berk Hess)

#2 Updated by Berk Hess over 6 years ago

The main work here is in setting up the options and passing those around than in the actual force calculation. The integration (leap-frog) already supports the proper trotter decomposition. Especially the virial is tricky.
Note that for PME the maximum time step is around 5 fs, as you need to sample the libration of water. So with virtual sites it won't help. With the usual 2 fs time step you can do PME every second step, like you would usually do with NAMD.

#3 Updated by Michael Shirts over 6 years ago

Berk Hess wrote:

The main work here is in setting up the options and passing those around than in the actual force calculation.

Right.

The integration (leap-frog) already supports the proper trotter decomposition.

Yes, it's mostly in already. It's just making the decomposition a bit more explicit in how the code is laid out.

Especially the virial is tricky.

Not sure what you mean here. Could you be more specific?

Note that for PME the maximum time step is around 5 fs, as you need to sample the libration of water. So with virtual sites it won't help.
With the usual 2 fs time step you can do PME every second step, like you would usually do with NAMD.

Yes, which I think indicates it is probably worth doing. We don't know the PME/LJ time scale, but it is almost certainly longer, and would start making PME/LJ a viable option.

BTW, I'm happy to do a first draft of it, though it will almost certainly be a bit kludgy and need reorganization at the end.

#4 Updated by Berk Hess over 6 years ago

The constraint contribution to the virial comes from a sum of force components with different prefactors when doing multiple time stepping. Thus you need to calculate separate force constraint corrections. Currently, I think, n-1 times the long range force constraint virial contribution is subtracted from the total.

#5 Updated by Michael Shirts over 6 years ago

Berk Hess wrote:

The constraint contribution to the virial comes from a sum of force components with different prefactors when doing multiple time stepping. Thus you need to calculate separate force constraint corrections. Currently, I think, n-1 times the long range force constraint virial contribution is subtracted from the total.

Thanks for the warning! If there's a citation to point to for a complete description of the methodology, let me know. Of course, with full multistepping, then in many cases, there may not need to be constraints -- you can update the bonded every 0.2 fs, the angles every 1 fs, the nonbonded short every 2 fs, the Ewald every 4fs -- and so on.

But we do want to allow for constraints + multistep if possible!

#6 Updated by Roland Schulz over 6 years ago

Berk Hess wrote:

Note that for PME the maximum time step is around 5 fs, as you need to sample the libration of water.

Is the libration frequency roughly the same between different water models? I just looked and couldn't find values for the popular water models. Depending on how much they vary 6-8fs might be OK for some water models. And AFAIK NAMD is regularly used with 2fs/6fs.

#7 Updated by Mark Abraham over 5 years ago

  • Target version changed from 5.0 to 5.x

#8 Updated by Mark Abraham about 3 years ago

  • Target version deleted (5.x)

Also available in: Atom PDF