[gmx-developers] New analysis framework: trying to code a new tool
David van der Spoel
spoel at xray.bmc.uu.se
Thu Mar 28 22:10:40 CET 2013
Hi,
I'm working my way through the documentation trying to find out some
stuff needed to finish my new analysis tool, to compute the free volume
in a box. Most of it works, but when trying to get a time series I am
apparently missing something.
My final writing routine looks like:
Freevolume::writeOutput()
{
AnalysisDataFrameRef ref;
FILE *fp;
int i;
double faver = fractot_/nframes_;
double fsigma = sqrt(frac2tot_/nframes_-faver*faver);
printf("Free volume %.2f +/- %.2f %%\n",100*faver,100*fsigma);
printf("Number of frames %d\n",data_.frameCount());
fp = fopen("koko.xvg","w");
for(i=0; (i<data_.frameCount()); i++)
{
ref = data_.getDataFrame(i);
fprintf(fp,"%g %g\n",ref.x(),ref.y(0));
}
fclose(fp);
}
however, despite frameCount() yielding 101 frames, getDataFrame() fails
with an API error. I suspect that either I have selected the wrong data
type for storing the numbers (AnalysisDataFrameAverageModule) or I have
to call a routine to actually get storage for frames (bool
gmx::AbstractAnalysisData::requestStorage)
Any clues?
--
David van der Spoel, Ph.D., Professor of Biology
Dept. of Cell & Molec. Biol., Uppsala University.
Box 596, 75124 Uppsala, Sweden. Phone: +46184714205.
spoel at xray.bmc.uu.se http://folding.bmc.uu.se
More information about the gromacs.org_gmx-developers
mailing list