From 13d8138935594153868d73aac6404cdd41482964 Mon Sep 17 00:00:00 2001 From: David van der Spoel Date: Thu, 28 Mar 2013 17:25:38 +0100 Subject: [PATCH] New analysis tool to compute the free volume and total volume. Works with selections, such that the freevolume in a box containing a subset of all atoms can be computed. Added excessive comments so that others can use this as a reference for implementing analysis tools as well. Added a test system as well, but this is somewhat tricky due to real precision and the Monte Carlo algorithm. literature reference. valgrind. Change-Id: I2acb48b829c9495e399c60e9dc927662e2958d69 --- src/gromacs/gmxlib/rmpbc.c | 1 + src/gromacs/gmxlib/tpxio.c | 28 ++ src/gromacs/gmxlib/typedefs.c | 10 + src/gromacs/legacyheaders/vec.h | 17 + src/gromacs/trajectoryanalysis/modules.cpp | 2 + .../trajectoryanalysis/modules/freevolume.cpp | 389 ++++++++++++++++++ .../trajectoryanalysis/modules/freevolume.h | 125 ++++++ .../trajectoryanalysis/tests/CMakeLists.txt | 1 + .../trajectoryanalysis/tests/freevolume.cpp | 85 ++++ .../trajectoryanalysis/tests/freevolume.tpr | Bin 0 -> 161772 bytes .../trajectoryanalysis/tests/freevolume.xtc | Bin 0 -> 22684 bytes ...reeVolumeModuleTest_ComputesFreeVolume.xml | 21 + ...ModuleTest_ComputesFreeVolumeSelection.xml | 21 + 13 files changed, 700 insertions(+) create mode 100644 src/gromacs/trajectoryanalysis/modules/freevolume.cpp create mode 100644 src/gromacs/trajectoryanalysis/modules/freevolume.h create mode 100644 src/gromacs/trajectoryanalysis/tests/freevolume.cpp create mode 100644 src/gromacs/trajectoryanalysis/tests/freevolume.tpr create mode 100644 src/gromacs/trajectoryanalysis/tests/freevolume.xtc create mode 100644 src/gromacs/trajectoryanalysis/tests/refdata/FreeVolumeModuleTest_ComputesFreeVolume.xml create mode 100644 src/gromacs/trajectoryanalysis/tests/refdata/FreeVolumeModuleTest_ComputesFreeVolumeSelection.xml diff --git a/src/gromacs/gmxlib/rmpbc.c b/src/gromacs/gmxlib/rmpbc.c index 70b70dc632..3560c53e07 100644 --- a/src/gromacs/gmxlib/rmpbc.c +++ b/src/gromacs/gmxlib/rmpbc.c @@ -138,6 +138,7 @@ void gmx_rmpbc_done(gmx_rmpbc_t gpbc) for (i = 0; i < gpbc->ngraph; i++) { done_graph(gpbc->graph[i].gr); + sfree(gpbc->graph[i].gr); } if (gpbc->graph != NULL) { diff --git a/src/gromacs/gmxlib/tpxio.c b/src/gromacs/gmxlib/tpxio.c index 9cf04d86de..c94caa3cf8 100644 --- a/src/gromacs/gmxlib/tpxio.c +++ b/src/gromacs/gmxlib/tpxio.c @@ -2099,6 +2099,10 @@ static void do_block(t_fileio *fio, t_block *block, gmx_bool bRead, int file_ver } if (bRead) { + if ((block->nalloc_index > 0) && (NULL != block->index)) + { + sfree(block->index); + } block->nalloc_index = block->nr+1; snew(block->index, block->nalloc_index); } @@ -2855,6 +2859,7 @@ static void do_mtop(t_fileio *fio, gmx_mtop_t *mtop, gmx_bool bRead, { if (file_version >= 57) { + done_block(&mtop->mols); mtop->mols = mtop_mols(mtop); } if (gmx_debug_at) @@ -3436,6 +3441,27 @@ gmx_bool fn2bTPX(const char *file) } } +static void done_gmx_groups_t(gmx_groups_t *g) +{ + int i; + + for (i = 0; (i < egcNR); i++) + { + if (NULL != g->grps[i].nm_ind) + { + sfree(g->grps[i].nm_ind); + g->grps[i].nm_ind = NULL; + } + if (NULL != g->grpnr[i]) + { + sfree(g->grpnr[i]); + g->grpnr[i] = NULL; + } + } + /* The contents of this array is in symtab, don't free it here */ + sfree(g->grpname); +} + gmx_bool read_tps_conf(const char *infile, char *title, t_topology *top, int *ePBC, rvec **x, rvec **v, matrix box, gmx_bool bMass) { @@ -3463,6 +3489,8 @@ gmx_bool read_tps_conf(const char *infile, char *title, t_topology *top, int *eP *ePBC = read_tpx(infile, NULL, box, &natoms, (x == NULL) ? NULL : *x, (v == NULL) ? NULL : *v, NULL, mtop); *top = gmx_mtop_t_to_t_topology(mtop); + /* In this case we need to throw away the group data too */ + done_gmx_groups_t(&mtop->groups); sfree(mtop); strcpy(title, *top->name); tpx_make_chain_identifiers(&top->atoms, &top->mols); diff --git a/src/gromacs/gmxlib/typedefs.c b/src/gromacs/gmxlib/typedefs.c index cc90ecb549..82d2b4a5fd 100644 --- a/src/gromacs/gmxlib/typedefs.c +++ b/src/gromacs/gmxlib/typedefs.c @@ -651,6 +651,16 @@ void done_state(t_state *state) sfree(state->cg_gl); } state->cg_gl_nalloc = 0; + if (state->lambda) + { + sfree(state->lambda); + } + if (state->ngtc > 0) + { + sfree(state->nosehoover_xi); + sfree(state->nosehoover_vxi); + sfree(state->therm_integral); + } } static void do_box_rel(t_inputrec *ir, matrix box_rel, matrix b, gmx_bool bInit) diff --git a/src/gromacs/legacyheaders/vec.h b/src/gromacs/legacyheaders/vec.h index fd86b8c942..85d887754c 100644 --- a/src/gromacs/legacyheaders/vec.h +++ b/src/gromacs/legacyheaders/vec.h @@ -114,6 +114,21 @@ #include "physics.h" #ifdef __cplusplus + +static gmx_inline real det(const matrix a) +{ + return ( a[XX][XX]*(a[YY][YY]*a[ZZ][ZZ]-a[ZZ][YY]*a[YY][ZZ]) + -a[YY][XX]*(a[XX][YY]*a[ZZ][ZZ]-a[ZZ][YY]*a[XX][ZZ]) + +a[ZZ][XX]*(a[XX][YY]*a[YY][ZZ]-a[YY][YY]*a[XX][ZZ])); +} + +static gmx_inline void mvmul(const matrix a, const rvec src, rvec dest) +{ + dest[XX] = a[XX][XX]*src[XX]+a[XX][YY]*src[YY]+a[XX][ZZ]*src[ZZ]; + dest[YY] = a[YY][XX]*src[XX]+a[YY][YY]*src[YY]+a[YY][ZZ]*src[ZZ]; + dest[ZZ] = a[ZZ][XX]*src[XX]+a[ZZ][YY]*src[YY]+a[ZZ][ZZ]*src[ZZ]; +} + extern "C" { #elif 0 } /* avoid screwing up indentation */ @@ -709,6 +724,7 @@ static gmx_inline real det(matrix a) +a[ZZ][XX]*(a[XX][YY]*a[YY][ZZ]-a[YY][YY]*a[XX][ZZ])); } + static gmx_inline void m_add(matrix a, matrix b, matrix dest) { dest[XX][XX] = a[XX][XX]+b[XX][XX]; @@ -801,6 +817,7 @@ static gmx_inline void mvmul(matrix a, const rvec src, rvec dest) dest[ZZ] = a[ZZ][XX]*src[XX]+a[ZZ][YY]*src[YY]+a[ZZ][ZZ]*src[ZZ]; } + static gmx_inline void mvmul_ur0(matrix a, const rvec src, rvec dest) { dest[ZZ] = a[ZZ][XX]*src[XX]+a[ZZ][YY]*src[YY]+a[ZZ][ZZ]*src[ZZ]; diff --git a/src/gromacs/trajectoryanalysis/modules.cpp b/src/gromacs/trajectoryanalysis/modules.cpp index 428c88af07..b5770a4878 100644 --- a/src/gromacs/trajectoryanalysis/modules.cpp +++ b/src/gromacs/trajectoryanalysis/modules.cpp @@ -47,6 +47,7 @@ #include "modules/angle.h" #include "modules/distance.h" +#include "modules/freevolume.h" #include "modules/select.h" namespace gmx @@ -128,6 +129,7 @@ void registerTrajectoryAnalysisModules(CommandLineModuleManager *manager) using namespace gmx::analysismodules; manager->registerModule >(); manager->registerModule >(); + manager->registerModule >(); manager->registerModule >(); } diff --git a/src/gromacs/trajectoryanalysis/modules/freevolume.cpp b/src/gromacs/trajectoryanalysis/modules/freevolume.cpp new file mode 100644 index 0000000000..67fb4d494f --- /dev/null +++ b/src/gromacs/trajectoryanalysis/modules/freevolume.cpp @@ -0,0 +1,389 @@ +/* + * This file is part of the GROMACS molecular simulation package. + * + * Copyright (c) 2013, by the GROMACS development team, led by + * David van der Spoel, Berk Hess, Erik Lindahl, and including many + * others, as listed in the AUTHORS file in the top-level source + * directory and at http://www.gromacs.org. + * + * GROMACS is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * GROMACS is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with GROMACS; if not, see + * http://www.gnu.org/licenses, or write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * If you want to redistribute modifications to GROMACS, please + * consider that scientific software is very special. Version + * control is crucial - bugs must be traceable. We will be happy to + * consider code for inclusion in the official distribution, but + * derived work must not be called official GROMACS. Details are found + * in the README & COPYING files - if they are missing, get the + * official version at http://www.gromacs.org. + * + * To help us fund GROMACS development, we humbly ask that you cite + * the research papers on the package. Check out http://www.gromacs.org. + */ +/*! \internal \file + * \brief + * Implements gmx::analysismodules::Freevolume. + * + * \author David van der Spoel + * \ingroup module_trajectoryanalysis + */ +#include "freevolume.h" + +#include "gromacs/legacyheaders/pbc.h" +#include "gromacs/legacyheaders/vec.h" +#include "gromacs/legacyheaders/atomprop.h" +#include "gromacs/legacyheaders/copyrite.h" + +#include "gromacs/analysisdata/analysisdata.h" +#include "gromacs/analysisdata/modules/plot.h" +#include "gromacs/options/basicoptions.h" +#include "gromacs/options/filenameoption.h" +#include "gromacs/options/options.h" +#include "gromacs/selection/selection.h" +#include "gromacs/selection/selectionoption.h" +#include "gromacs/trajectoryanalysis/analysissettings.h" +#include "gromacs/utility/exceptions.h" +#include "gromacs/utility/stringutil.h" + +namespace gmx +{ + +namespace analysismodules +{ + +const char FreeVolume::name[] = "freevolume"; +const char FreeVolume::shortDescription[] = + "Calculate free volume"; + +// Constructor. Here it is important to initialize the pointer to +// subclasses that are elements of the main class. Here we have only +// one. The type of this depends on what kind of tool you need. +// Here we only have simple value/time kind of data. +FreeVolume::FreeVolume() + : TrajectoryAnalysisModule(name, shortDescription), + adata_(new AnalysisDataAverageModule()) +{ + // We only compute two numbers per frame + data_.setColumnCount(2); + // Tell the analysis framework that this component exists + registerAnalysisDataset(&data_, "freevolume"); + rng_ = NULL; + nbsearch_ = NULL; + nmol_ = 0; + mtot_ = 0; + cutoff_ = 0; + probeRadius_ = 0; + seed_ = -1; + ninsert_ = 1000; +} + + +FreeVolume::~FreeVolume() +{ + // Destroy C structures where there is no automatic memory release + // C++ takes care of memory in classes (hopefully) + if (NULL != rng_) + { + gmx_rng_destroy(rng_); + } + if (NULL != nbsearch_) + { + gmx_ana_nbsearch_free(nbsearch_); + } +} + + +void +FreeVolume::initOptions(Options *options, + TrajectoryAnalysisSettings *settings) +{ + static const char *const desc[] = { + "g_freevol can calculate the free volume in a box as", + "a function of time. The free volume is", + "plotted as a fraction of the total volume.", + "The program tries to insert a probe with a given radius,", + "into the simulations box and if the distance between the", + "probe and any atom is less than the sums of the", + "van der Waals radii of both atoms, the position is", + "considered to be occupied, i.e. non-free. By using a", + "probe radius of 0, the true free volume is computed.", + "By using a larger radius, e.g. 0.14 nm, roughly corresponding", + "to a water molecule, the free volume for a hypothetical", + "particle with that size will be produced.", + "Note however, that since atoms are treated as hard-spheres", + "these number are very approximate, and typically only", + "relative changes are meaningful, for instance by doing a", + "series of simulations at different temperature.[PAR]", + "The group specified by the selection is considered to", + "delineate non-free volume.", + "The number of insertions per unit of volume is important", + "to get a converged result. About 1000/nm^3 yields an overall", + "standard deviation that is determined by the fluctuations in", + "the trajectory rather than by the fluctuations due to the", + "random numbers.[PAR]", + "The results are critically dependent on the van der Waals radii;", + "we recommend to use the values due to Bondi (1964).[PAR]", + "The Fractional Free Volume (FFV) that some authors like to use", + "is given by 1 - 1.3*(1-Free Volume). This value is printed on", + "the terminal." + }; + + // Add the descriptive text (program help text) to the options + options->setDescription(concatenateStrings(desc)); + + // Add option for optional output file + options->addOption(FileNameOption("o").filetype(eftPlot).outputFile() + .store(&fnFreevol_).defaultBasename("freevolume") + .description("Computed free volume")); + + // Add option for selecting a subset of atoms + options->addOption(SelectionOption("select").required().valueCount(1) + .store(&sel_) + .onlyAtoms()); + + // Add option for the probe radius and initialize it + options->addOption(DoubleOption("radius").store(&probeRadius_) + .description("Radius of the probe to be inserted (nm, 0 yields the true free volume)")); + + // Add option for the random number seed and initialize it to + // generate a value automatically + options->addOption(IntegerOption("seed").store(&seed_) + .description("Seed for random number generator.")); + + // Add option to determine number of insertion trials per frame + options->addOption(IntegerOption("ninsert").store(&ninsert_) + .description("Number of probe insertions per cubic nm to try for each frame in the trajectory.")); + + // Control input settings + settings->setFlags(TrajectoryAnalysisSettings::efRequireTop | + TrajectoryAnalysisSettings::efNoUserPBC); + settings->setPBC(true); +} + + +void +FreeVolume::initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) +{ + // Add the module that will contain the averaging and the time series + // for our calculation + data_.addModule(adata_); + + // Add a module for plotting the data automatically at the end of + // the calculation. With this in place you only have to add data + // points to the data et. + AnalysisDataPlotModulePointer plotm_(new AnalysisDataPlotModule()); + plotm_->setSettings(settings.plotSettings()); + plotm_->setFileName(fnFreevol_); + plotm_->setTitle("Free Volume"); + plotm_->setXAxisIsTime(); + plotm_->setYLabel("Free Volume (%)"); + plotm_->appendLegend("Free Volume"); + plotm_->appendLegend("Volume"); + + data_.addModule(plotm_); + + // Initiate variable + cutoff_ = 0; + int nnovdw = 0; + gmx_atomprop_t aps = gmx_atomprop_init(); + t_atoms *atoms = &(top.topology()->atoms); + + // Compute total mass + mtot_ = 0; + for (int i = 0; (i < atoms->nr); i++) + { + mtot_ += atoms->atom[i].m; + } + + // Extracts number of molecules + nmol_ = top.topology()->mols.nr; + + // Loop over atoms in the selection using an iterator + const int maxnovdw = 10; + ConstArrayRef atomind = sel_.atomIndices(); + for (ConstArrayRef::iterator ai = atomind.begin(); (ai < atomind.end()); ++ai) + { + // Dereference the iterator to obtain an atom number + int i = *ai; + real value; + + // Lookup the Van der Waals radius of this atom + int resnr = atoms->atom[i].resind; + if (TRUE == gmx_atomprop_query(aps, epropVDW, + *(atoms->resinfo[resnr].name), + *(atoms->atomname[i]), + &value)) + { + vdw_radius_.push_back(value); + if (value > cutoff_) + { + cutoff_ = value; + } + } + else + { + nnovdw++; + if (nnovdw < maxnovdw) + { + fprintf(stderr, "Could not determine VDW radius for %s-%s. Set to zero.\n", + *(atoms->resinfo[resnr].name), + *(atoms->atomname[i])); + } + vdw_radius_.push_back(0.0); + } + } + gmx_atomprop_destroy(aps); + + // Increase cutoff by proberadius to make sure we do not miss + // anything + cutoff_ += probeRadius_; + + if (nnovdw >= maxnovdw) + { + fprintf(stderr, "Could not determine VDW radius for %d particles. These were set to zero.\n", nnovdw); + } + + // Print parameters to output. Maybe should make dependent on + // verbosity flag? + printf("cutoff = %g nm\n", cutoff_); + printf("probe_radius = %g nm\n", probeRadius_); + printf("seed = %d\n", seed_); + printf("ninsert = %d probes per nm^3\n", ninsert_); + + // Initiate the random number generator + rng_ = gmx_rng_init(seed_); + + // Initiate the neighborsearching code + nbsearch_ = gmx_ana_nbsearch_create(cutoff_, atoms->nr); +} + +void +FreeVolume::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) +{ + AnalysisDataHandle dh = pdata->dataHandle(data_); + const Selection &sel = pdata->parallelSelection(sel_); + + GMX_RELEASE_ASSERT(NULL != pbc, "You have no periodic boundary conditions"); + + // Analysis framework magic + dh.startFrame(frnr, fr.time); + + // Compute volume and number of insertions to perform + real V = det(fr.box); + int Ninsert = static_cast(ninsert_*V); + + // Use neighborsearching tools! + gmx_ana_nbsearch_pos_init(nbsearch_, pbc, sel.positions()); + + // Then loop over insertions + int NinsTot = 0; + for (int i = 0; (i < Ninsert); i++) + { + rvec rand, ins, dx; + + for (int m = 0; (m < DIM); m++) + { + // Generate random number between 0 and 1 + rand[m] = gmx_rng_uniform_real(rng_); + } + // Generate random 3D position within the box + mvmul(fr.box, rand, ins); + + // Find the first reference position within the cutoff. + bool bOverlap = false; + int jp = NOTSET; + if (gmx_ana_nbsearch_first_within(nbsearch_, ins, &jp)) + { + do + { + // Compute distance vector to first atom in the neighborlist + pbc_dx(pbc, ins, sel.position(jp).x(), dx); + + // See whether the distance is smaller than allowed + bOverlap = (norm(dx) < + probeRadius_+vdw_radius_[sel.position(jp).refId()]); + + // Finds the next reference position within the cutoff. + } + while (!bOverlap && + (gmx_ana_nbsearch_next_within(nbsearch_, &jp))); + } + + if (!bOverlap) + { + // We found some free volume! + NinsTot++; + } + } + // Compute total free volume for this frame + double frac = 0; + if (Ninsert > 0) + { + frac = (100.0*NinsTot)/Ninsert; + } + // Add the free volume fraction to the data set in column 0 + dh.setPoint(0, frac); + // Add the total volume to the data set in column 1 + dh.setPoint(1, V); + + // Magic + dh.finishFrame(); +} + + +void +FreeVolume::finishAnalysis(int nframes) +{ + please_cite(stdout, "Bondi1964a"); +} + +void +FreeVolume::writeOutput() +{ + // Final results come from statistics module in analysis framework + double FVaver = adata_->average(0); + double FVerror = adata_->stddev(0); + printf("Free volume %.2f +/- %.2f %%\n", FVaver, FVerror); + + double Vaver = adata_->average(1); + double Verror = adata_->stddev(1); + printf("Total volume %.2f +/- %.2f nm^3\n", Vaver, Verror); + + printf("Number of molecules %d total mass %.2f Dalton\n", nmol_, mtot_); + double RhoAver = mtot_ / (adata_->average(1) * 1e-24 * AVOGADRO); + double RhoError = sqr(RhoAver / Vaver)*Verror; + printf("Average molar mass: %.2f Dalton\n", mtot_/nmol_); + + double VmAver = Vaver/nmol_; + double VmError = Verror/nmol_; + printf("Density rho: %.2f +/- %.2f nm^3\n", RhoAver, RhoError); + printf("Molecular volume Vm assuming homogeneity: %.4f +/- %.4f nm^3\n", + VmAver, VmError); + + double VvdWaver = (1-FVaver/100)*VmAver; + double VvdWerror = 0; + printf("Molecular van der Waals volume assuming homogeneity: %.4f +/- %.4f nm^3\n", + VvdWaver, VvdWerror); + + double FFVaver = 1-1.3*((100-FVaver)/100); + double FFVerror = (FVerror/FVaver)*FFVaver; + printf("Fractional free volume %.3f +/- %.3f\n", FFVaver, FFVerror); +} + +} // namespace analysismodules + +} // namespace gmx diff --git a/src/gromacs/trajectoryanalysis/modules/freevolume.h b/src/gromacs/trajectoryanalysis/modules/freevolume.h new file mode 100644 index 0000000000..6c4f2151d4 --- /dev/null +++ b/src/gromacs/trajectoryanalysis/modules/freevolume.h @@ -0,0 +1,125 @@ +/* + * This file is part of the GROMACS molecular simulation package. + * + * Copyright (c) 2013, by the GROMACS development team, led by + * David van der Spoel, Berk Hess, Erik Lindahl, and including many + * others, as listed in the AUTHORS file in the top-level source + * directory and at http://www.gromacs.org. + * + * GROMACS is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * GROMACS is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with GROMACS; if not, see + * http://www.gnu.org/licenses, or write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * If you want to redistribute modifications to GROMACS, please + * consider that scientific software is very special. Version + * control is crucial - bugs must be traceable. We will be happy to + * consider code for inclusion in the official distribution, but + * derived work must not be called official GROMACS. Details are found + * in the README & COPYING files - if they are missing, get the + * official version at http://www.gromacs.org. + * + * To help us fund GROMACS development, we humbly ask that you cite + * the research papers on the package. Check out http://www.gromacs.org. + */ +/*! \internal \file + * \brief + * Declares trajectory analysis module for distance calculations. + * + * \author David van der Spoel + * \ingroup module_trajectoryanalysis + */ +#ifndef GMX_TRAJECTORYANALYSIS_MODULES_FREEVOLUME_H +#define GMX_TRAJECTORYANALYSIS_MODULES_FREEVOLUME_H + +#include +#include "gromacs/legacyheaders/gmx_random.h" +#include "../analysismodule.h" +#include "gromacs/selection/nbsearch.h" +#include "gromacs/selection/indexutil.h" +#include "gromacs/analysisdata/analysisdata.h" +#include "gromacs/analysisdata/modules/average.h" +#include "gromacs/selection/selection.h" + +namespace gmx +{ + +namespace analysismodules +{ + +/*! \brief + * Class used to compute free volume in a simulations box. + * + * Inherits TrajectoryAnalysisModule and all functions from there. + * Does not implement any new functionality. + * + * \inpublicapi + * \ingroup module_trajectoryanalysis + */ +class FreeVolume : public TrajectoryAnalysisModule +{ + public: + //! Name of the tool + static const char name[]; + + //! One line description + static const char shortDescription[]; + + //! Constructor + FreeVolume(); + + //! Destructor + virtual ~FreeVolume(); + + //! Set the options and setting + virtual void initOptions(Options *options, + TrajectoryAnalysisSettings *settings); + + //! First routine called by the analysis frame work + virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top); + + //! Call for each frame of the trajectory + virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata); + + //! Last routine called by the analysis frame work + virtual void finishAnalysis(int nframes); + + //! Routine to write output, that is additional over the built-in + virtual void writeOutput(); + + private: + std::string fnFreevol_; + Selection sel_; + AnalysisData data_; + AnalysisDataAverageModulePointer adata_; + + int nmol_; + double mtot_; + double cutoff_; + double probeRadius_; + gmx_rng_t rng_; + int seed_, ninsert_; + gmx_ana_nbsearch_t *nbsearch_; + //! The van der Waals radius per atom + std::vector vdw_radius_; + + // Copy and assign disallowed by base. +}; + +} // namespace analysismodules + +} // namespace gmx + +#endif diff --git a/src/gromacs/trajectoryanalysis/tests/CMakeLists.txt b/src/gromacs/trajectoryanalysis/tests/CMakeLists.txt index 215e8c3731..ccf7b85607 100644 --- a/src/gromacs/trajectoryanalysis/tests/CMakeLists.txt +++ b/src/gromacs/trajectoryanalysis/tests/CMakeLists.txt @@ -35,6 +35,7 @@ gmx_add_unit_test(TrajectoryAnalysisUnitTests trajectoryanalysis-test moduletest.cpp angle.cpp + freevolume.cpp select.cpp) add_executable(test_selection test_selection.cpp) diff --git a/src/gromacs/trajectoryanalysis/tests/freevolume.cpp b/src/gromacs/trajectoryanalysis/tests/freevolume.cpp new file mode 100644 index 0000000000..e31bbac57f --- /dev/null +++ b/src/gromacs/trajectoryanalysis/tests/freevolume.cpp @@ -0,0 +1,85 @@ +/* + * This file is part of the GROMACS molecular simulation package. + * + * Copyright (c) 2013, by the GROMACS development team, led by + * David van der Spoel, Berk Hess, Erik Lindahl, and including many + * others, as listed in the AUTHORS file in the top-level source + * directory and at http://www.gromacs.org. + * + * GROMACS is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * GROMACS is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with GROMACS; if not, see + * http://www.gnu.org/licenses, or write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * If you want to redistribute modifications to GROMACS, please + * consider that scientific software is very special. Version + * control is crucial - bugs must be traceable. We will be happy to + * consider code for inclusion in the official distribution, but + * derived work must not be called official GROMACS. Details are found + * in the README & COPYING files - if they are missing, get the + * official version at http://www.gromacs.org. + * + * To help us fund GROMACS development, we humbly ask that you cite + * the research papers on the package. Check out http://www.gromacs.org. + */ +/*! \internal \file + * \brief + * Tests for functionality of the "angle" trajectory analysis module. + * + * \author David van der Spoel + * \ingroup module_trajectoryanalysis + */ +#include + +#include "gromacs/trajectoryanalysis/modules/freevolume.h" + +#include "testutils/cmdlinetest.h" + +#include "moduletest.h" + +namespace +{ + +using gmx::test::CommandLine; + +/******************************************************************** + * Tests for gmx::analysismodules::Angle. + */ + +//! Test fixture for the angle analysis module. +typedef gmx::test::TrajectoryAnalysisModuleTestFixture + FreeVolumeModuleTest; + +TEST_F(FreeVolumeModuleTest, ComputesFreeVolume) +{ + const char *const cmdline[] = { + "freevolume", + "-select", "all", "-seed", "13" + }; + setTopology("freevolume.tpr"); + setTrajectory("freevolume.xtc"); + runTest(CommandLine::create(cmdline)); +} + +TEST_F(FreeVolumeModuleTest, ComputesFreeVolumeSelection) +{ + const char *const cmdline[] = { + "freevolume", + "-select", "not resname = CO2", "-seed", "17" + }; + setTopology("freevolume.tpr"); + setTrajectory("freevolume.xtc"); + runTest(CommandLine::create(cmdline)); +} + +} // namespace diff --git a/src/gromacs/trajectoryanalysis/tests/freevolume.tpr b/src/gromacs/trajectoryanalysis/tests/freevolume.tpr new file mode 100644 index 0000000000000000000000000000000000000000..a06c635d4329e72e36dcff628891dcb7b86c9911 GIT binary patch literal 161772 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�^Xj|dE+@DfoyCs`0(=kEc|Lij&S3tZ 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 bmT~uWaqO2Q^PrmZ + + + freevolume -select all -seed 13 + + + + 0.000000 + + 2 + + 37.199112 + + + 68.921501 + + + + + + diff --git a/src/gromacs/trajectoryanalysis/tests/refdata/FreeVolumeModuleTest_ComputesFreeVolumeSelection.xml b/src/gromacs/trajectoryanalysis/tests/refdata/FreeVolumeModuleTest_ComputesFreeVolumeSelection.xml new file mode 100644 index 0000000000..a0f75cb0b7 --- /dev/null +++ b/src/gromacs/trajectoryanalysis/tests/refdata/FreeVolumeModuleTest_ComputesFreeVolumeSelection.xml @@ -0,0 +1,21 @@ + + + + freevolume -select 'not resname = CO2' -seed 17 + + + + 0.000000 + + 2 + + 38.779182 + + + 68.921501 + + + + + + -- 2.22.0