[gmx-users] Outputting Hessian related information
Nik A
admal002 at umn.edu
Tue Feb 11 02:35:51 CET 2014
Hi,
I want to essentially do an ensemble average of an operation on the Hessian.
For example, suppose u is some perturbation (of coordinates) that depends on
the positions of the particles, I want to compute a time average of Hu.u,
where H is the Hessian of the system. I just started using GROMACs, and I
have realized that I only have the following two options to do this
computation:
1. (The ugly way!) I generate trajectory files every N steps, and then
generate the Hessian using -mtx option of mdrun for each of these
trajectories. Suppose I had 1000 traj, this gives me 1000 mtx files. My plan
was to write a simple parallel program where each processor reads an mtx
file, does the Hu.u computation. I now realize that I cannot read an .mtx
file so easily (I guess this is related to a question in the forum on how to
read trajectory files directly from fortran). The only option is to use
gmxdump, but that is going to write a formatted hessian file (~100mb). Every
processor writing a ~100mb file is just too memory intensive.
2. (Surely, the better way) I went into the source code to see where the
Hessian is computed (mdlib/minimise.c, and search for dfdx). All I have to
do is to compute Hu.u in there. The perturbations u that I want to give
depends on the particle type (Water, Carbon,..). How do I query this from
minimize.c. Is there an array[natoms] which holds this information. Anyone
who is familiar with the structure of the code could probably help! Thanks
Nikhil
--
View this message in context: http://gromacs.5086.x6.nabble.com/Outputting-Hessian-related-information-tp5014453.html
Sent from the GROMACS Users Forum mailing list archive at Nabble.com.
More information about the gromacs.org_gmx-users
mailing list