[gmx-users] Help needed with hacking mdrun

Semen Esilevsky yesint4 at yahoo.com
Wed Apr 6 15:03:22 CEST 2011


Dear All,
I need to hack mdrun in rather complex way and need some help from people, who 
understand Gromacs internals really well.
My problem is the following. Each N MD steps I want to pass current coordinates 
and forces to custom function, which transforms them in a certain way (doesn't 
matter how at this point). Then I want to pass modified forces and coordinates 
back and continue simulation. Currently I got stuck with domain decomposition 
stuff. I figured out how to collect data on master node and pass it to my 
function. However,  I have no idea how to distribute it back to all nodes 
correctly after modification.
Here is my additional code in md.c  so far:

...
/* ########  END FIRST UPDATE STEP  ############## */
/* ########  If doing VV, we now have v(dt) ###### */
        
 /* ################## START TRAJECTORY OUTPUT ################# */

/* Some preparations goes here */
...
/* Collecting data*/
if (DOMAINDECOMP(cr))
    {
        /*We need to collect x and f only*/
        dd_collect_vec(cr->dd,state_local,state_local->x,state_global->x);
        dd_collect_vec(cr->dd,state_local,f_local,f_global);
    }

if (MASTER(cr))
    {
        printf("Collected %d atoms at step: %d\n",top_global->natoms,step);
        /* Actually pass data */
        pass_to(top_global->natoms, t, state_global->x, f_global);
        ...
        /* Processing data here */
        ...
       /*  Get data back */
       pass_from(state_global->x, f_global);
    }
...
if (DOMAINDECOMP(cr)){
    /* Here I have to redistribute it back and I'm totally stuck :(  */
}

The problem is that functions like dd_distribute_vector(...) are only used deep 
inside domain decomposition code and they use some data structures, which are 
not exposed in .h files. 

Any hints are deeply appreciated!

Regards,
Semen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20110406/45e7a0c4/attachment.html>


More information about the gromacs.org_gmx-users mailing list