[gmx-developers] How to get the globle atoms coordinates in local node?
wangykoo at gmail.com
Tue Mar 26 17:04:16 CET 2013
Really thank you for giving help and suggestion!
I want to using umbrella sampling to calculate PMF using a
self-designed Reaction coodinates(RC).
RC is defined as:
There is a serials of lipids in my simulation box. I choose two atoms in
each lipid molecules as head atom and tail atom.
RC=SUM (A(head atom of lipid i)*B(tail atom of lipid i))
A is function of the head atom of a lipid molecule
B is function of the tail atom of a lipid molecule
RC equals sum of all A*B for all lipid molecules in the simulation box.
My coding strategy is: I firstly defined a pull group including all the
head atoms of lipids, then I introduing a function cal_RC() in pullutil.c
file, and call it at the end of function pull_calc_coms() .
cal_RC(..., t_commrec *cr,t_mdatoms *md, t_pbc *pbc, rvec x,....)
ii = (pull->grp).ind_loc[i];
A[i]= functionA(x[ii]) ;
// I want to use this local index ii to get its global index ,
// If I have each head atoms' global index, could I derive the
corresponding tail atoms' global index by molecular top information? If it
could, then I // want to use those corresponding tail atoms' global index
to get their coodinates in local nodes. so I can calulate the RC I need.
Could you give me some suggestion? Thank you very much!
2013/3/26 Mark Abraham <mark.j.abraham at gmail.com>
> On Tue, Mar 26, 2013 at 3:03 PM, Yorquant Wang <wangykoo at gmail.com> wrote:
>> Hi all:
>> I want to implement a simple function into GMX4.5. I need to get the
>> atoms' coordinates which is not on this nodes, but I know those atoms
>> globle index. Just like the below situation.
>> int cell_id=cr->dd->ga2la[global_index].cell;
>> int local_index=cr->dd->ga2la[global_index].a;
>> rvec* atom_position=&local_state->x[local_index];
>> *// atom is NOT on this node*
>> // if atom is on a neighbor node then its position can be acquired using special communication
>> What's the special communication? Could you give me a help to tell me
>> which function in GMX can do this special communication ?
> It lives in src/mdlib/domdec_con.c and uses the string "specat" in its
> names. It's intended for managing information to support things like
> constraints and virtual sites across DD boundaries, and not as a general
> query mechanism. What is that code fragment you gave?
> If you're able to give some more information about what you're trying to
> achieve, we might be able to suggest a better solution.
> gmx-developers mailing list
> gmx-developers at gromacs.org
> Please don't post (un)subscribe requests to the list. Use the
> www interface or send it to gmx-developers-request at gromacs.org.
Institute of Natural Sciences && College of Life Science, Shanghai Jiao
Cell phone: 13621806236.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gromacs.org_gmx-developers