[gmx-developers] Beginning developing Gromacs

Mark Abraham Mark.Abraham at anu.edu.au
Wed May 2 02:50:39 CEST 2007

Christopher Burger wrote:
> Hi,
> I'm a complete newcomer to Gromacs, so please excuse my ignorance.

That's fine. I'd counsel you strongly to get the hang of running some 
normal simulations before attempting to modify the code. The way you've 
phrased your next paragraph makes me think you don't yet understand the 
general way the topology of the molecules and the coordinates of the 
atoms are described within gromacs. You need to know how to walk well 
before attempting to run will be fruitful :-)

> What I am attempting to do is to modify mdrun in such a way as to
> modify the structure of a loaded molecule every n iteration steps. The
> point is to load a molecule which is very simple, but incomplete, and
> then, every n steps, reconstruct the molecule and calculate the
> electrostatic field around in the (reconstructed) molecule.

The way to do this is to stop mdrun, modify your structure and topology 
off-line and then restart the calculation. Otherwise you have to deal 
with a whole lot of crud maintaining topologies, pair lists, exclusion 
lists and probably more. It won't be as simple as "adding new atoms".

> What I need is a starting point.
> I would expect some structure to hold all information about the
> simulated molecule (atom bonds, atom positions, atom masses, atom
> velocities) at every time step, but was unable to find one. Is there
> such a structure, and in that case, which structure is it? If not,
> what approach should I choose in order to modify the molecule?

t_state is the data type you think you're looking for.

> Also, how is the electrostatic field inside and around a molecule computed
> in Gromacs? At what point does that computation take place? What
> parameters does it require?

Have you read the first five chapters of the manual seriously? If not, 
go and do that first. Then, start with the main function and follow the 
function calls (easiest in a debugger) to see how the thing works.

> I was initially considering working in do_md inside md.c. Does this make 
> sense?

Not yet :-)


More information about the gromacs.org_gmx-developers mailing list