Project

General

Profile

Feature #2070

Physical validation testing

Added by Michael Shirts over 2 years ago. Updated 6 months ago.

Status:
In Progress
Priority:
Normal
Category:
testing
Target version:
Difficulty:
hard
Close

Description

This Redmine issue is a planning thread for implementing physical validation workflow for GROMACS. The idea is to come up with as many tests of physical validity as possible (or at least which span as wide a range of things that can go wrong in MD simulation)

  1. Validating whether or not the generated ensemble is the correct one.
    This can be done by running paired simulations at different T and P, and canceling out the density of states. The process is described here (http://pubs.acs.org/doi/abs/10.1021/ct300688p) with code here (https://github.com/shirtsgroup/checkensemble). The ratios of the probability distribution of energies and volume must have certain exact relationships, and given a moderate sized sample, we can test if the observed distributions satisfy these relationships.
    1. Systems to run:
      1. Lennard-Jones Fluid - simplest possible system, fastest
      2. TIP3P water - small and fast, allows testing of constraints
      3. Other?
    2. mdp/run options to test: It will be essentially impossible to run all possible combinations, so the choice of subset may be necessary
      1. integrator md, md-vv, sd, bd(?)
      2. choice of thermostat
      3. comm-mode
      4. nstcomm
      5. choice of barostat
      6. nstcoupling settings
      7. nstenergy
      8. cutoff-scheme
      9. different levels of parallelization
      10. verlet-buffer-tolerance
      11. coulombtype
      12. coulomb-modifier
      13. rcoulomb-switch (representative values)
      14. coulombtype (representative values)
      15. vdw-type
      16. vdw-modifier
      17. rvdw-switch (representative values)
      18. rvdw (representative values)
      19. DispCorr
      20. nh-chain-length (representative values - eventually eliminate)
      21. constraints
      22. constraint-algorithm
      23. shake-tol (representative values
      24. lincs-order
      25. lincs-iter
      26. free-energy
      27. lambdas (just fixed lambdas)
      28. more things . . .
    3. mdp/run options not to test
      1. tau_t, tau_p (choose values which might cause more problems, such as lower values). Failures should happen in an independent way
      2. lincs-warnangle = 30
    4. Tasks for this set of analyses:
      1. make the checkensemble code so it is easier to install.
      2. write a set of scripts to automate running over many different input parameters.
  2. Validating the kinetic energy distribution
    1. Does the kinetic energy satisfy the Maxwell-Boltzmann distribution?
    2. Is the kinetic energy equipartitioned between different degrees of freedom?
      1. molecular rotational energy
      2. translation energy
      3. translational/rotational center-of-mass energy
  3. Validating the numerical properties of the integrators.
    Symplectic integrators (NVE with both md-vv and md) must have RMSD fluctuation proportional to (dt)^2 at small dt. Any deviation from this indicates that the proper physics isn't being implemented. This won't work for NVT, because: 1) this doesn't work for any stochastic algorithm. 2) For Nose-Hoover, the conserved quantity is not exactly zero, but instead is a random variable with mean zero.
    It's possible that this approach will also serve as a surrogate for long-term drift; it could be that the situations that lack fluctuations that scale as (dt)^2 also are the ones that drift at long time scale, but this hypothesis would need to be tested further.
    1. Tasks for this set of analyses:
      1. Automation script is almost done; needs to adjust it so that Jenkins can call it easily.
  4. Checking for consistency in property calculation in algorithms. The recent issues with the density of chloroform calculations demonstrate that some issues can be found checking for consistency of properties that should be the same. The idea would be to compute the same property over 100's of different realizations, as David vdS did for chloroform.
    1. Small systems that could be run
      1. TIP3P Water
      2. Lennard-Jones
      3. Chloroform (interesting issues with constraints)
      4. A polymer melt (interesting issues with going out of boundaries, molecular connectivity, cutoffs)
    2. Properties to compute
      1. Density
      2. Enthalpy
      3. Heat capacity by fluctuation (though would fail with Berendsen thermostat)
    3. Tasks for this set of analyses:
      1. Automation presumably is almost done by David vdS already
  5. Sensitivity analysis
    1. For some settings that are known to be approximations that fail as the settings get large/small, it would be useful to run sensitivity analyses.
      1. Such settings include energy cutoffs, step size,
      2. Energy analyses - for settings that change the energy of a configuration, but do not change integration.
        1. Can be done simply by taking some reference system and measuring how much the energy changes as the parameter of interest is scanned up and down
      3. Ensemble analyses - For settings that change the energy, but not the integration scheme, can be done by taking
        1. Can be done by taking a trajectory and using mdrun -rerun, and reweighting the observables (see http://pubs.acs.org/doi/abs/10.1021/ct4005068)
        2. The same process can be done to examine sensitivity to free energy calculations, though it involves a series of reruns.
    2. Tasks for this set of analyses:
      1. MRS wrote a script for reweighting of free energy calculations to new parameters which Abraham has adapted, so this would just need to be completed.

Related issues

Related to GROMACS - Bug #2020: Possible issue with md-vv integratorNew
Related to GROMACS - Bug #2417: Physical validation tests fail with default installationClosed

History

#1 Updated by Michael Shirts over 2 years ago

  • Description updated (diff)

#2 Updated by Michael Shirts over 2 years ago

  • Description updated (diff)

#3 Updated by Michael Shirts over 2 years ago

  • Description updated (diff)

#4 Updated by Michael Shirts over 2 years ago

  • Description updated (diff)

#5 Updated by Michael Shirts over 2 years ago

  • Description updated (diff)

#6 Updated by Michael Shirts over 2 years ago

  • Description updated (diff)

#7 Updated by Michael Shirts over 2 years ago

  • Private changed from Yes to No

#8 Updated by Michael Shirts over 2 years ago

  • Description updated (diff)

#9 Updated by Michael Shirts over 2 years ago

  • Description updated (diff)

#10 Updated by Michael Shirts over 2 years ago

  • Description updated (diff)

#11 Updated by David van der Spoel over 2 years ago

Code for 2.2 (equipartitioning of degrees of freedom) is implemented in the development version of gmx dos. Typically the equipartitioning is not perfect with temperatures differing several degrees (for flexible molecular liquids).

#12 Updated by Mark Abraham over 1 year ago

  • Target version changed from 2018 to 2019

First phase of this work is complete in the 2018 release

#13 Updated by Mark Abraham about 1 year ago

  • Related to Bug #2020: Possible issue with md-vv integrator added

#14 Updated by Mark Abraham about 1 year ago

  • Related to Bug #2417: Physical validation tests fail with default installation added

#15 Updated by Mark Abraham 7 months ago

I assume we're out of time to do anything here for 2019?

#16 Updated by Pascal Merz 7 months ago

  • Status changed from New to In Progress

Mark Abraham wrote:

I assume we're out of time to do anything here for 2019?

I'm currently working on a gerrit change updating this to the newest version of the physical validation package. This will definitely take care of #2417. I'll update this redmine when pushing the change to gerrit to make more obvious what is done and what is still open. Aiming for consolidation of what we already have for 2019, additional tests rather not for 2019.

#17 Updated by Mark Abraham 6 months ago

  • Target version changed from 2019 to 2020

Also available in: Atom PDF