Skip to content
Snippets Groups Projects
  • Giovanni Bussi's avatar
    5e9e1494
    Gromacs-like replica exchange is there! · 5e9e1494
    Giovanni Bussi authored
    I finally upload the GREX stuff. It seems to work, but I did not really
    debug it (there might be wrong units or so). I also provide a patch
    for gromacs 4.5.3. Interface is still a bit tricky, and probably it
    will be necessary to adapt it a bit as we try to port it to other codes.
    
    The overall flow is:
    * at steps corresponding to attempts, positions/total energy are
      saved on a temporary buffer when normal plumed is called.
    * when repl_ex is called in gromacs (which, in the case of gromacs
      is after moving atoms, so with different positions) and
      the partner replica is decided by gromacs, a fake exchange of all coordinates
      is done inside plumed and a new calculation is also done.
      Notice that since presently all "analysis" tools are acting in the
      calculate() method, they are called once more at this stage. This
      should be fixed.
    * Then, change in local bias potential and foreign bias potential
      are collected by gromacs and added to the acceptance.
    
    Notice that with this approach the plumed.dat files used for different
    replicas could be completely different (but for UNITS! this probably
    can be fixed, even if it seems a bit stupid to me), and, a part from
    trivial errors which could be there, the acceptance
    is evaluated consistently
    5e9e1494
    History
    Gromacs-like replica exchange is there!
    Giovanni Bussi authored
    I finally upload the GREX stuff. It seems to work, but I did not really
    debug it (there might be wrong units or so). I also provide a patch
    for gromacs 4.5.3. Interface is still a bit tricky, and probably it
    will be necessary to adapt it a bit as we try to port it to other codes.
    
    The overall flow is:
    * at steps corresponding to attempts, positions/total energy are
      saved on a temporary buffer when normal plumed is called.
    * when repl_ex is called in gromacs (which, in the case of gromacs
      is after moving atoms, so with different positions) and
      the partner replica is decided by gromacs, a fake exchange of all coordinates
      is done inside plumed and a new calculation is also done.
      Notice that since presently all "analysis" tools are acting in the
      calculate() method, they are called once more at this stage. This
      should be fixed.
    * Then, change in local bias potential and foreign bias potential
      are collected by gromacs and added to the acceptance.
    
    Notice that with this approach the plumed.dat files used for different
    replicas could be completely different (but for UNITS! this probably
    can be fixed, even if it seems a bit stupid to me), and, a part from
    trivial errors which could be there, the acceptance
    is evaluated consistently
Code owners
Assign users and groups as approvers for specific file changes. Learn more.