 docs | Build system and source code for various documentation items |
  doxygen | Doxygen build system and general documentation content |
   directories.cpp | Doxygen documentation file for directories in the source tree |
   misc.cpp | Doxygen documentation file for group declarations etc |
 share | Directory that contains installed data files |
  template | Template code for writing analysis programs |
   template.cpp | Template code for writing analysis programs |
 src | Main source code directory |
  gromacs | Source code for building the libgromacs library |
   analysisdata | Parallelizable Handling of Output Data (analysisdata) |
    modules | |
     average.cpp | Implements gmx::AnalysisDataAverageModule |
     average.h | Declares gmx::AnalysisDataAverageModule |
     displacement.cpp | Implements gmx::AnalysisDataDisplacementModule |
     displacement.h | Declares gmx::AnalysisDataDisplacementModule |
     frameaverager.cpp | Implements gmx::AnalysisDataFrameAverager |
     frameaverager.h | Declares gmx::AnalysisDataFrameAverager |
     histogram.cpp | Implements classes in histogram.h |
     histogram.h | Declares analysis data modules for calculating histograms |
     lifetime.cpp | Implements gmx::AnalysisDataLifetimeModule |
     lifetime.h | Declares gmx::AnalysisDataLifetimeModule |
     plot.cpp | Implements classes in plot.h |
     plot.h | Declares gmx::AnalysisDataPlotModule for plotting data (into a file) |
    tests | Unit tests for Parallelizable Handling of Output Data (analysisdata) |
     analysisdata.cpp | Tests for analysis data functionality |
     arraydata.cpp | Tests for gmx::AnalysisArrayData functionality |
     average.cpp | Tests for functionality of analysis data averaging modules |
     datatest.cpp | Implements classes in datatest.h |
     datatest.h | Helper classes for testing classes that derive from AbstractAnalysisData |
     histogram.cpp | Tests for functionality of analysis data histogram modules |
     lifetime.cpp | Tests for functionality of analysis data lifetime module |
     mock_datamodule.cpp | Implements classes in mock_datamodule.h |
     mock_datamodule.h | Declares mock implementation of gmx::IAnalysisDataModule |
    abstractdata.cpp | Implements gmx::AbstractAnalysisData |
    abstractdata.h | Declares gmx::AbstractAnalysisData |
    analysisdata.cpp | Implements classes in analysisdata.h |
    analysisdata.h | Declares gmx::AnalysisData and gmx::AnalysisDataHandle |
    arraydata.cpp | Implements classes in arraydata.h |
    arraydata.h | Declares gmx::AbstractAnalysisArrayData and gmx::AnalysisArrayData |
    dataframe.cpp | Implements classes in dataframe.h |
    dataframe.h | Declares classes for accessing data frame information |
    datamodule.cpp | Implements classes from datamodule.h |
    datamodule.h | Declares gmx::IAnalysisDataModule and related convenience classes |
    datamodulemanager.cpp | Implements gmx::AnalysisDataModuleManager |
    datamodulemanager.h | Declares gmx::AnalysisDataModuleManager |
    dataproxy.cpp | Implements gmx::AnalysisDataProxy |
    dataproxy.h | Declares gmx::AnalysisDataProxy |
    datastorage.cpp | Implements classes in datastorage.h and paralleloptions.h |
    datastorage.h | Declares gmx::AnalysisDataStorage |
    framelocaldata.h | Defines gmx::AnalysisDataFrameLocalData and supporting types |
    paralleloptions.h | Declares gmx::AnalysisDataParallelOptions |
   commandline | Command Line Program Management (commandline) |
    tests | Unit tests for Command Line Program Management (commandline) |
     cmdlinehelpmodule.cpp | Tests gmx::CommandLineHelpModule through gmx::CommandLineModuleManager |
     cmdlinehelpwriter.cpp | Tests gmx::CommandLineHelpWriter |
     cmdlinemodulemanager.cpp | Tests gmx::CommandLineModuleManager |
     cmdlinemodulemanagertest.cpp | Implements classes from cmdlinemodulemanagertest.h |
     cmdlinemodulemanagertest.h | Test fixture and helper classes for tests using gmx::CommandLineModuleManager |
     cmdlineparser.cpp | Tests gmx::CommandLineParser |
     cmdlineprogramcontext.cpp | Tests for gmx::CommandLineProgramContext |
     pargs.cpp | Tests parse_common_args() |
    cmdlinehelpcontext.cpp | Implements gmx::CommandLineHelpContext |
    cmdlinehelpcontext.h | Declares gmx::CommandLineHelpContext |
    cmdlinehelpmodule.cpp | Implements gmx::CommandLineHelpModule |
    cmdlinehelpmodule.h | Declares gmx::CommandLineHelpModule |
    cmdlinehelpwriter.cpp | Implements gmx::CommandLineHelpWriter |
    cmdlinehelpwriter.h | Declares gmx::CommandLineHelpWriter |
    cmdlineinit.cpp | Implements functions from cmdlineinit.h |
    cmdlineinit.h | Declares functions for initializing the GROMACS library for command line use |
    cmdlinemodule.cpp | Implements classes from cmdlinemodule.h |
    cmdlinemodule.h | Declares gmx::ICommandLineModule and supporting classes |
    cmdlinemodulemanager-impl.h | Declares implementation types for gmx::CommandLineModuleManager |
    cmdlinemodulemanager.cpp | Implements gmx::CommandLineModuleManager |
    cmdlinemodulemanager.h | Declares gmx::CommandLineModuleManager |
    cmdlineoptionsmodule.cpp | Implements supporting routines for gmx::ICommandLineOptionsModule |
    cmdlineoptionsmodule.h | Declares gmx::ICommandLineOptionsModule and supporting routines |
    cmdlineparser.cpp | Implements gmx::CommandLineParser |
    cmdlineparser.h | Declares gmx::CommandLineParser |
    cmdlineprogramcontext.cpp | Implements gmx::CommandLineProgramContext |
    cmdlineprogramcontext.h | Declares gmx::CommandLineProgramContext |
    filenm.h | Declares t_filenm for old-style command-line parsing of file name options |
    pargs.h | Declares t_pargs, parse_common_args() and related methods |
    shellcompletions.cpp | Implements gmx::ShellCompletionWriter |
    shellcompletions.h | Declares gmx::ShellCompletionWriter |
    viewit.h | Provides function to open output files automatically (with some X11 programs) |
   correlationfunctions | |
    tests | |
     autocorr.cpp | Implements test of autocorrelation function routines |
     correlationdataset.cpp | Implements helper class for autocorrelation tests |
     correlationdataset.h | Declares helper class for autocorrelation tests |
     expfit.cpp | Implements test of exponential fitting routines |
    autocorr.cpp | Implements function to compute many autocorrelation functions |
    autocorr.h | Declares routine for computing autocorrelation functions |
    crosscorr.cpp | Implements routine for computing a cross correlation between two data sets |
    crosscorr.h | Declares routine for computing a cross correlation between two data sets |
    expfit.cpp | Implements routine for fitting a data set to a curve |
    expfit.h | Declares routine for fitting a data set to a curve |
    gmx_lmcurve.cpp | Defines a driver routine for lmfit, and a callback for it to use |
    gmx_lmcurve.h | Declares a driver routine for lmfit |
    integrate.h | Declares routines for integrating a data set |
    manyautocorrelation.cpp | Implements function to compute many autocorrelation functions |
    manyautocorrelation.h | Declares routine for computing many correlation functions using OpenMP |
    polynomials.cpp | Implements help function to compute Legendre polynomials |
    polynomials.h | Declares routine for computing a Legendre polynomial |
   domdec | |
    domdec.h | This file declares functions for mdrun to call to manage the details of its domain decomposition |
    domdec_box.cpp | This file defines functions used by the domdec module for (bounding) box and pbc information generation |
    domdec_constraints.cpp | This file implements functions for domdec to use while managing inter-atomic constraints |
    domdec_constraints.h | This file declares functions for domdec to use while managing inter-atomic constraints |
    domdec_internal.h | Declares implementation functions and types for the domain decomposition module |
    domdec_network.cpp | This file defines functions for (mostly) the domdec module to use MPI functionality |
    domdec_network.h | This file declares functions for (mostly) the domdec module to use MPI functionality |
    domdec_setup.cpp | This file defines functions used by the domdec module in its initial setup phase |
    domdec_specatomcomm.cpp | This file implements functions for domdec to use while managing inter-atomic constraints |
    domdec_specatomcomm.h | This file declares functions for domdec to use while managing communication of atoms required for special purposes |
    domdec_struct.h | Declares structures related to domain decomposition |
    domdec_topology.cpp | This file defines functions used by the domdec module while managing the construction, use and error checking for topologies local to a DD rank |
    domdec_vsite.cpp | This file implements functions for domdec to use while managing inter-atomic constraints |
    domdec_vsite.h | This file declares functions for domdec to use while managing virtual sites |
    ga2la.h | Defines structures and functions for mapping from global to local atom indices. The functions are performance critical and should be inlined |
    hash.h | This file declares functions for a simple hash map used by domain decomposition |
   essentialdynamics | |
    edsam.h | Declares functions to calculate both essential dynamics constraints as well as flooding potentials and forces |
   ewald | |
    ewald.cpp | This file contains function definitions necessary for computing energies and forces for the plain-Ewald long-ranged part, and the correction for overall system charge for all Ewald-family methods |
    ewald.h | This file contains function declarations necessary for computing energies and forces for the plain-Ewald long-ranged part, and the correction for overall system charge for all Ewald-family methods |
    long-range-correction.h | This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ) |
    pme-internal.h | This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ) |
    pme-load-balancing.cpp | This file contains function definitions necessary for managing automatic load balance of PME calculations (Coulomb and LJ) |
    pme-load-balancing.h | This file contains function declarations necessary for managing automatic load balance of PME calculations (Coulomb and LJ) |
    pme-pp.cpp | This file contains function definitions necessary for managing the offload of long-ranged PME work to separate MPI rank, for computing energies and forces (Coulomb and LJ) |
    pme.cpp | This file contains function definitions necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ) |
    pme.h | This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ) |
   fft | |
    tests | |
     fft.cpp | Tests utilities for fft calculations |
    fft.h | Fast Fourier Transforms |
   fileio | |
    tests | |
     confio.cpp | Tests for reading/writing different structure file formats |
     readinp.cpp | Tests utilities for routines that parse fields e.g. from grompp input |
     tngio.cpp | Tests for file I/O routines |
    gmxfio-impl.h | Internal definitions shared by gmxfio*.c files |
   gmxana | |
    legacytests | |
     gmx_traj_tests.cpp | Tests for gmx traj |
    gmx_wham.cpp | Implementation of the Weighted Histogram Analysis Method (WHAM) |
   gmxpreprocess | |
    tests | |
     genconf.cpp | Tests for genconf |
     insert-molecules.cpp | Tests for insertion of molecules |
     solvate.cpp | Tests for solvation |
   gpu_utils | |
    gpu_utils.cpp | Stub functions for non-GPU builds |
    gpu_utils.h | Declare functions for detection and initialization for GPU devices |
    gpu_utils_ocl.cpp | Define functions for detection and initialization for OpenCL devices |
    ocl_caching.cpp | Define infrastructure for OpenCL JIT compilation for Gromacs |
    ocl_caching.h | Declare infrastructure for managing caching of OpenCL JIT-ted binaries |
    ocl_compiler.cpp | Define infrastructure for OpenCL JIT compilation for Gromacs |
    ocl_compiler.h | Declare infrastructure for OpenCL JIT compilation |
    oclutils.cpp | Define utility routines for OpenCL |
    oclutils.h | Declare utility routines for OpenCL |
    pmalloc_cuda.h | Declare functions for host-side memory handling when using CUDA devices |
   hardware | |
    tests | |
     cpuinfo.cpp | Tests for gmx::CpuInfo |
     hardwaretopology.cpp | Tests for gmx::HardwareTopology |
    cpuinfo.cpp | Implements gmx::CpuInfo |
    cpuinfo.h | Declares gmx::CpuInfo |
    hardwaretopology.cpp | Implements gmx::HardwareTopology |
    hardwaretopology.h | Declares gmx::HardwareTopology |
   imd | |
    imd.cpp | Implements functions of imd.h |
    imd.h | This file contains datatypes and function declarations necessary for mdrun to interface with VMD via the interactive molecular dynamics protocol |
    imdsocket.cpp | Implements functions of imdsocket.h |
    imdsocket.h | Implements the parts of the vmdsock.h interface needed for IMD communication |
   linearalgebra | |
    gmx_arpack.h | Selected routines from ARPACK |
    gmx_blas.h | Header definitions for the standard BLAS library |
    gmx_lapack.h | Header definitions for the standard LAPACK library |
   listed-forces | |
    bonded.cpp | This file defines low-level functions necessary for computing energies and forces for listed interactions |
    bonded.h | This file contains declarations necessary for low-level functions for computing energies and forces for bonded interactions |
    disre.h | Declares functions for handling distance restraints |
    listed-forces.cpp | This file defines high-level functions for mdrun to compute energies and forces for listed interactions |
    listed-forces.h | This file contains declarations of high-level functions used by mdrun to compute energies and forces for listed interactions |
    listed-internal.cpp | This file defines functions needed internally by the module |
    listed-internal.h | This file contains declarations for functions needed internally by the module |
    manage-threading.cpp | This file defines functions for managing threading of listed interactions |
    manage-threading.h | Declares functions for managing threading of listed forces |
    orires.h | Declares functions for handling orientation restraints |
    pairs.cpp | This file defines functions for "pair" interactions (i.e. listed non-bonded interactions, e.g. 1-4 interactions) |
    pairs.h | This file declares functions for "pair" interactions (i.e. listed non-bonded interactions, e.g. 1-4 interactions) |
    position-restraints.cpp | This file defines low-level functions necessary for computing energies and forces for position restraints |
    position-restraints.h | This file contains declarations necessary for low-level functions for computing energies and forces for position restraints |
    restcbt.cpp | This file contains function definitions necessary for computations of forces due to restricted angle, restricted dihedral and combined bending-torsion potentials |
    restcbt.h | This file contains function declarations necessary for computations of forces due to restricted angle, restricted dihedral and combined bending-torsion potentials |
   math | |
    tests | |
     functions.cpp | Tests for simple math functions |
     invertmatrix.cpp | Tests matrix inversion routines |
     vectypes.cpp | Tests various corners of gmx::RVec implementation |
    calculate-ewald-splitting-coefficient.h | Declares functions for computing Ewald splitting coefficients |
    functions.cpp | Implements simple math functions |
    functions.h | Declares simple math functions |
    invertmatrix.cpp | Routines to invert 3x3 matrices |
    invertmatrix.h | Declares routines to invert 3x3 matrices |
   mdlib | |
    nbnxn_cuda | |
     nbnxn_cuda_types.h | Data types used internally in the nbnxn_cuda module |
    nbnxn_ocl | |
     nbnxn_ocl.cpp | Define OpenCL implementation of nbnxn_gpu.h |
     nbnxn_ocl_data_mgmt.cpp | Define OpenCL implementation of nbnxn_gpu_data_mgmt.h |
     nbnxn_ocl_internal.h | Internal API of the OpenCL non-bonded module |
     nbnxn_ocl_jit_support.cpp | Defines functions that support JIT compilation (e.g. for OpenCL) |
     nbnxn_ocl_types.h | Data types used internally in the nbnxn_ocl module |
    tests | |
     simulationsignal.cpp | Tests for the mdrun signalling functionality |
    groupcoord.h | Assemble atomic positions of a (small) subset of atoms and distribute to all nodes |
    minimize.cpp | This file defines integrators for energy minimization |
    nbnxn_gpu.h | Declare interface for GPU execution for NBNXN module |
    nbnxn_gpu_data_mgmt.h | Declare interface for GPU data transfer for NBNXN module |
    nbnxn_gpu_jit_support.h | Declares functions that support JIT compilation (e.g. for OpenCL) |
    simulationsignal.cpp | This file defines functions for inter- and intra-simulation signalling by mdrun |
    simulationsignal.h | This file declares functions for inter-rank signalling by mdrun |
    tpi.cpp | This file defines the integrator for test particle insertion |
   mdrunutility | |
    handlerestart.cpp | This file declares functions for mdrun to call to manage the details of doing a restart (ie. reading checkpoints, appending output files) |
    handlerestart.h | This file declares functions for mdrun to call to manage the details of doing a restart (ie. reading checkpoints, appending output files) |
    threadaffinity.h | Declares functions for managing mdrun thread affinity |
   mdtypes | |
    md_enums.h | Declares enumerated types used throughout the code |
    pull-params.h | This file contains datatypes for the mdp options used by the pull code |
   onlinehelp | Help Formatting for Online Help (onlinehelp) |
    tests | Unit tests for Help Formatting for Online Help (onlinehelp) |
     helpformat.cpp | Tests for help string formatting functions and classes |
     helpmanager.cpp | Tests for help topic management and help topic formatting |
     helpwritercontext.cpp | Tests for help text formatting |
     mock_helptopic.cpp | Implements classes in mock_helptopic.h |
     mock_helptopic.h | Declares mock implementation of gmx::IHelpTopic |
    helpformat.cpp | Implements functions in helpformat.h |
    helpformat.h | Declares common string formatting routines for online help |
    helpmanager.cpp | Implements gmx::HelpManager |
    helpmanager.h | Declares gmx::HelpManager |
    helptopic.cpp | Implements classes and functions from helptopic.h |
    helptopic.h | Declares helper classes for implementing gmx::IHelpTopic |
    helpwritercontext.cpp | Implements gmx::HelpWriterContext |
    helpwritercontext.h | Declares gmx::HelpWriterContext |
    ihelptopic.h | Declares gmx::IHelpTopic |
    rstparser.cpp | Implements classes from rstparser.h |
    rstparser.h | Declares classes for (partial) parsing of reStructuredText |
   options | Extensible Handling of Options (options) |
    tests | Unit tests for Extensible Handling of Options (options) |
     abstractoptionstorage.cpp | Tests proper handling of option storage |
     filenameoption.cpp | Tests basic file name option implementation |
     filenameoptionmanager.cpp | Tests file name option implementation dependent on gmx::FileNameOptionManager |
     option.cpp | Tests creation of basic option types |
     optionsassigner.cpp | Tests option assignment |
     timeunitmanager.cpp | Tests handling of time units with gmx::TimeUnitManager and gmx::TimeUnitBehavior |
    abstractoption.cpp | Implements classes in abstractoption.h and abstractoptionstorage.h |
    abstractoption.h | Defines gmx::AbstractOption, gmx::OptionTemplate and gmx::OptionInfo |
    abstractoptionstorage.h | Declares gmx::AbstractOptionStorage |
    basicoptions.cpp | Implements classes in basicoptions.h and basicoptionstorage.h |
    basicoptions.h | Declares option objects for basic option types |
    basicoptionstorage.h | Declares storage classes for basic option types |
    behaviorcollection.cpp | Implements gmx::OptionsBehaviorCollection |
    behaviorcollection.h | Declares gmx::OptionsBehaviorCollection |
    filenameoption.cpp | Implements classes in filenameoption.h and filenameoptionstorage.h |
    filenameoption.h | Declares gmx::FileNameOption and gmx::FileNameOptionInfo |
    filenameoptionmanager.cpp | Implements gmx::FileNameOptionManager |
    filenameoptionmanager.h | Declares gmx::FileNameOptionManager |
    filenameoptionstorage.h | Declares gmx::FileNameOptionStorage |
    ioptionsbehavior.h | Declares gmx::IOptionsBehavior |
    ioptionscontainer.h | Declares gmx::IOptionsContainer |
    optionfiletype.h | Defines an enumeration type for specifying file types for options |
    optionflags.h | Defines flags used in option implementation |
    optionmanagercontainer.h | Declares gmx::OptionManagerContainer |
    options-impl.h | Declares private implementation class for gmx::Options |
    options.cpp | Implements gmx::Options |
    options.h | Declares gmx::Options |
    optionsassigner.cpp | Implements gmx::OptionsAssigner |
    optionsassigner.h | Declares gmx::OptionsAssigner |
    optionstoragetemplate.h | Defines gmx::OptionStorageTemplate template |
    optionsvisitor.cpp | Implements classes in optionsvisitor.h |
    optionsvisitor.h | Declares gmx::OptionsVisitor interface and supporting classes |
    timeunitmanager.cpp | Implements gmx::TimeUnitManager |
    timeunitmanager.h | Declares gmx::TimeUnitManager |
   pbcutil | |
    boxutilities.cpp | Implements routines in boxutilities.h |
    pbc-simd.cpp | This file defines a low-level function for SIMD PBC calculation |
    pbc-simd.h | This file contains a definition, declaration and inline function for SIMD accelerated PBC calculations |
    pbc.cpp | Implements routines in pbc.h |
   pulling | |
    tests | |
     pull.cpp | Implements test of some pulling routines |
    pull.h | This file contains datatypes and function declarations necessary for mdrun to interface with the pull code |
    pull_internal.h | This file contains datatypes and function declarations for internal use in the pull code |
    pull_rotation.h | Declares functions to enforce rotational motion upon a group of particles |
   random | |
    tests | |
     exponentialdistribution.cpp | Tests for GROMACS exponential distribution |
     gammadistribution.cpp | Tests for GROMACS gamma distribution |
     normaldistribution.cpp | Tests for GROMACS normal distribution |
     seed.cpp | Tests for random seed functions |
     tabulatednormaldistribution.cpp | Tests for GROMACS tabulated normal distribution |
     threefry.cpp | Tests for the ThreeFry random engine |
     uniformintdistribution.cpp | Tests for GROMACS uniform integer distribution |
     uniformrealdistribution.cpp | Tests for GROMACS uniform real distribution |
    exponentialdistribution.h | The exponential distribution |
    gammadistribution.h | The gamma distribution |
    normaldistribution.h | The normal distribution |
    seed.h | Random seed and domain utilities |
    tabulatednormaldistribution.h | Tabulated normal distribution |
    threefry.h | Implementation of the 2x64 ThreeFry random engine |
    uniformintdistribution.h | The uniform integer distribution |
    uniformrealdistribution.h | The uniform real distribution |
   selection | Parsing and Evaluation of Analysis Selections (selection) |
    tests | Unit tests for Parsing and Evaluation of Analysis Selections (selection) |
     indexutil.cpp | Tests the index group handling in the selection engine |
     nbsearch.cpp | Tests selection neighborhood searching |
     poscalc.cpp | Tests the position mapping engine |
     selectioncollection.cpp | Tests selection parsing and compilation |
     selectionoption.cpp | Tests handling of selection options |
     toputils.cpp | Implements test helper routines from toputils.h |
     toputils.h | Helper routines for constructing topologies for tests |
    centerofmass.cpp | Implements functions in centerofmass.h |
    centerofmass.h | API for calculation of centers of mass/geometry |
    compiler.cpp | Selection compilation and optimization |
    compiler.h | Declares gmx::SelectionCompiler |
    evaluate.cpp | Implements functions in evaluate.h |
    evaluate.h | Evaluation functions for sel_evalfunc() |
    indexutil.cpp | Implements functions in indexutil.h |
    indexutil.h | API for handling index files and index groups |
    keywords.h | Definitions of generic keyword evaluation structures |
    mempool.cpp | Implements functions in mempool.h |
    mempool.h | Declarations for memory pooling functions |
    nbsearch.cpp | Implements neighborhood searching for analysis (from nbsearch.h) |
    nbsearch.h | API for neighborhood searching for analysis |
    params.cpp | Implements functions in selparam.h |
    parser_internal.h | Helper functions for the selection parser |
    parsetree.cpp | Implements functions in parsetree.h |
    parsetree.h | Handling of intermediate selection parser data |
    poscalc.cpp | Implements gmx::PositionCalculationCollection and functions in poscalc.h |
    poscalc.h | API for structured and optimized calculation of positions |
    position.cpp | Implements functions in position.h |
    position.h | API for handling positions |
    scanner.h | Parser/scanner interaction functions |
    scanner_internal.cpp | Helper functions for the selection tokenizer |
    scanner_internal.h | Internal header file used by the selection tokenizer |
    selection.cpp | Implements classes in selection.h |
    selection.h | Declares gmx::Selection and supporting classes |
    selectioncollection-impl.h | Declares private implementation class for gmx::SelectionCollection |
    selectioncollection.cpp | Implements gmx::SelectionCollection |
    selectioncollection.h | Declares gmx::SelectionCollection |
    selectionenums.h | Declares common types used in selections |
    selectionfileoption.h | Declares gmx::SelectionFileOption and gmx::SelectionFileOptionInfo |
    selectionfileoptionstorage.h | Declares gmx::SelectionFileOptionStorage |
    selectionoption.cpp | Implements classes in selectionoption.h and selectionoptionstorage.h |
    selectionoption.h | Declares gmx::SelectionOption and gmx::SelectionOptionInfo |
    selectionoptionbehavior.cpp | Implements gmx::SelectionOptionBehavior |
    selectionoptionbehavior.h | Declares gmx::SelectionOptionBehavior |
    selectionoptionmanager.cpp | Implements gmx::SelectionOptionManager |
    selectionoptionmanager.h | Declares gmx::SelectionOptionManager |
    selectionoptionstorage.h | Declares gmx::SelectionOptionStorage |
    selelem.cpp | Implements functions in selelem.h |
    selelem.h | Declares gmx::SelectionTreeElement and related things |
    selhelp.cpp | Implements functions in selhelp.h |
    selhelp.h | Functions for initializing online help for selections |
    selmethod.cpp | Implements functions in selmethod.h |
    selmethod.h | API for handling selection methods |
    selparam.h | API for handling parameters used in selections |
    selvalue.cpp | Implements functions in selvalue.h |
    selvalue.h | Declares gmx_ana_selvalue_t |
    sm_compare.cpp | Implements internal selection method for comparison expressions |
    sm_distance.cpp | Implements distance-based selection methods |
    sm_insolidangle.cpp | Implements the insolidangle selection method |
    sm_keywords.cpp | Implements internal selection methods for numeric and string keyword evaluation |
    sm_merge.cpp | Implements the merge and plus selection modifiers |
    sm_permute.cpp | Implements the permute selection modifier |
    sm_position.cpp | Implements position evaluation selection methods |
    sm_same.cpp | Implements the same selection method |
    sm_simple.cpp | Implements simple keyword selection methods |
    symrec.cpp | Implements classes in symrec.h |
    symrec.h | Handling of selection parser symbol table |
   simd | SIMD intrinsics interface (simd) |
    impl_reference | |
     impl_reference.h | Reference SIMD implementation, including SIMD documentation |
     impl_reference_definitions.h | Reference SIMD implementation, including SIMD documentation |
     impl_reference_general.h | Reference SIMD implementation, general utility functions |
     impl_reference_simd4_double.h | Reference implementation, SIMD4 single precision |
     impl_reference_simd4_float.h | Reference implementation, SIMD4 single precision |
     impl_reference_simd_double.h | Reference implementation, SIMD double precision |
     impl_reference_simd_float.h | Reference implementation, SIMD single precision |
     impl_reference_util_double.h | Reference impl., higher-level double prec. SIMD utility functions |
     impl_reference_util_float.h | Reference impl., higher-level single prec. SIMD utility functions |
    scalar | |
     scalar.h | Scalar float functions corresponding to GROMACS SIMD functions |
     scalar_math.h | Scalar math functions mimicking GROMACS SIMD math functions |
     scalar_util.h | Scalar utility functions mimicking GROMACS SIMD utility functions |
    tests | Unit tests for SIMD intrinsics interface (simd) |
     base.h | Declares common base class for testing SIMD and SIMD4 |
     bootstrap_loadstore.cpp | Separate test of SIMD load/store, before we use them in the SIMD test classes |
     simd.h | Declares fixture for testing of normal SIMD (not SIMD4) functionality |
     simd4.h | Declares fixture for testing of SIMD4 functionality |
    simd.h | Definitions, capabilities, and wrappers for SIMD module |
    simd_math.h | Math functions for SIMD datatypes |
    support.cpp | Implements SIMD architecture support query routines |
    support.h | Functions to query compiled and supported SIMD architectures |
    vector_operations.h | SIMD operations corresponding to Gromacs rvec datatypes |
   statistics | |
    statistics.h | Declares simple statistics toolbox |
   swap | |
    swapcoords.cpp | Implements functions in swapcoords.h |
    swapcoords.h | The "Computational Electrophysiology" protocol for ion/water position swapping |
   timing | |
    cyclecounter.h | High-resolution timestamp or CPU clock cycle counters |
    gpu_timing.h | Declares data types for GPU timing |
   topology | |
    atomsbuilder.cpp | Implements classes from atomsbuilder.h |
    atomsbuilder.h | Utility classes for manipulating t_atoms structures |
   trajectoryanalysis | Framework for Trajectory Analysis (trajectoryanalysis) |
    modules | |
     angle.cpp | Implements gmx::analysismodules::Angle |
     angle.h | Declares trajectory analysis module for angle calculations |
     distance.cpp | Implements gmx::analysismodules::Distance |
     distance.h | Declares trajectory analysis module for distance calculations |
     freevolume.cpp | Implements gmx::analysismodules::Freevolume |
     freevolume.h | Declares trajectory analysis module for free volume calculations |
     pairdist.cpp | Implements gmx::analysismodules::PairDistance |
     pairdist.h | Declares trajectory analysis module for pairwise distance calculations |
     rdf.cpp | Implements gmx::analysismodules::Rdf |
     rdf.h | Declares trajectory analysis module for RDF calculations |
     sasa.cpp | Implements gmx::analysismodules::Sasa |
     sasa.h | Declares trajectory analysis module for surface area calculations |
     select.cpp | Implements gmx::analysismodules::Select |
     select.h | Declares trajectory analysis module for basic selection information |
    tests | Unit tests for Framework for Trajectory Analysis (trajectoryanalysis) |
     angle.cpp | Tests for functionality of the "angle" trajectory analysis module |
     cmdlinerunner.cpp | Tests for general functionality in gmx::TrajectoryAnalysisCommandLineRunner |
     distance.cpp | Tests for functionality of the "distance" trajectory analysis module |
     freevolume.cpp | Tests for functionality of the "angle" trajectory analysis module |
     moduletest.cpp | Implements classes in moduletest.h |
     moduletest.h | Declares test fixture for TrajectoryAnalysisModule subclasses |
     pairdist.cpp | Tests for functionality of the "pairdist" trajectory analysis module |
     rdf.cpp | Tests for functionality of the "rdf" trajectory analysis module |
     sasa.cpp | Tests for functionality of the "sasa" trajectory analysis module |
     select.cpp | Tests for functionality of the "select" trajectory analysis module |
     surfacearea.cpp | Tests for the surface area calculation used by the sasa analysis module |
     test_selection.cpp | Testing/debugging tool for the selection engine |
    analysismodule.cpp | Implements classes in analysismodule.h |
    analysismodule.h | Declares gmx::TrajectoryAnalysisModule and gmx::TrajectoryAnalysisModuleData |
    analysissettings-impl.h | Declares private implementation class for gmx::TrajectoryAnalysisSettings |
    analysissettings.cpp | Implements classes in analysissettings.h |
    analysissettings.h | Declares gmx::TrajectoryAnalysisSettings and gmx::TopologyInformation |
    cmdlinerunner.cpp | Implements gmx::TrajectoryAnalysisCommandLineRunner |
    cmdlinerunner.h | Declares gmx::TrajectoryAnalysisCommandLineRunner |
    modules.cpp | Implements registerTrajectoryAnalysisModules() |
    modules.h | Generic interface for accessing trajectory analysis modules |
    runnercommon.cpp | Implements gmx::TrajectoryAnalysisRunnerCommon |
    runnercommon.h | Declares gmx::TrajectoryAnalysisRunnerCommon |
   utility | Low-Level Utilities (utility) |
    tests | Unit tests for Low-Level Utilities (utility) |
     alignedallocator.cpp | Tests for gmx::AlignedAllocator |
     arrayref.cpp | Tests for gmx::ArrayRef and gmx::ConstArrayRef |
     basedefinitions.cpp | Tests for base definitions (only alignment attributes for now) |
     bitmask.h | Tests for bitmask functionality |
     path.cpp | Tests for (some) functions in path.h |
     stringutil.cpp | Tests for string utility functions and classes |
     textwriter.cpp | Tests for gmx::TextWriter |
    alignedallocator.cpp | Implements AlignedAllocator |
    alignedallocator.h | Declares gmx::AlignedAllocator that is used to make standard library containers compatible with SIMD contents that require aligned load/store |
    arrayref.h | Declares gmx::ArrayRef and gmx::ConstArrayRef |
    arraysize.h | Provides asize() macro for calculating the static size of an array |
    basedefinitions.h | Basic types and macros used throughout GROMACS |
    basenetwork.h | Utility functions for basic MPI and network functionality |
    baseversion-gen.h | Declares variables that hold generated version information |
    baseversion.h | Declares functions to get basic version information |
    binaryinformation.cpp | Implements functionality for printing information about the currently running binary |
    binaryinformation.h | Helper functionality for information about the currently running binary |
    bitmask.h | Declares gmx_bitmask_t and associated functions |
    classhelpers.h | Declares common utility classes and macros |
    coolstuff.cpp | Functionality for printing cool strings |
    coolstuff.h | Functionality for printing cool strings |
    cstringutil.h | Generic C string handling functions |
    current_function.h | Declares GMX_CURRENT_FUNCTION for getting the current function name |
    datafilefinder.cpp | Implements gmx::DataFileFinder |
    datafilefinder.h | Declares gmx::DataFileFinder and related classes |
    dir_separator.h | Provides OS-specific directory-name separator |
    directoryenumerator.cpp | Implements gmx::DirectoryEnumerator |
    directoryenumerator.h | Declares gmx::DirectoryEnumerator |
    errorcodes.cpp | Implements functions in errorcodes.h |
    errorcodes.h | Declares error codes and related functions for fatal error handling |
    errorformat.cpp | Implements functions declared in errorformat.h |
    errorformat.h | Declares an internal helper function for formatting standard error messages |
    exceptions.cpp | Implements classes and functions in exceptions.h |
    exceptions.h | Declares common exception classes and macros for fatal error handling |
    fatalerror.h | Declares fatal error handling and debugging routines for C code |
    fileredirector.cpp | Implements classes and functions from fileredirector.h |
    fileredirector.h | Declares gmx::IFileOutputRedirector |
    filestream.cpp | Implements classes from filestream.h |
    filestream.h | Declares implementations for textstream.h interfaces for file input/output |
    flags.h | Declares gmx::FlagsTemplate |
    futil.h | Low-level wrappers for OS-specific file handling with some GROMACS customizations |
    gmxassert.cpp | Implements assertion handlers |
    gmxassert.h | Defines assert macros customized for Gromacs |
    gmxmpi.h | Wraps <mpi.h> usage in Gromacs |
    gmxomp.cpp | Implements functions from gmxomp.h |
    gmxomp.h | Declares OpenMP wrappers to avoid conditional compilation |
    gmxregex.cpp | Implements regular expression wrappers |
    gmxregex.h | Declares simple wrapper for regular expression functionality |
    init.cpp | Implements functions from init.h |
    init.h | Declares functions for initializing the GROMACS library |
    int64_to_int.h | Low-level utility for converting 64 bit int to int (the size of which is hardware dependent), printing a warning if an overflow will occur |
    messagestringcollector.cpp | Implements gmx::MessageStringCollector |
    messagestringcollector.h | Declares gmx::MessageStringCollector |
    mutex.h | Declares C++11-style basic threading primitives (gmx::Mutex, gmx::lock_guard) |
    nodelete.h | Declares no_delete deleter for std::shared_ptr |
    path.cpp | Implements functions in path.h |
    path.h | Declares functions for OS-independent path handling |
    pleasecite.h | Declares please_cite() for printing out literature references |
    programcontext.cpp | Implements gmx::IProgramContext and related methods |
    programcontext.h | Declares gmx::IProgramContext and related methods |
    qsort_threadsafe.h | Portable implementation of threadsafe quicksort |
    real.h | Declares real and related constants |
    scoped_cptr.h | Declares gmx::scoped_cptr and gmx::scoped_guard_sfree |
    smalloc.h | C memory allocation routines for GROMACS |
    snprintf.h | Provide snprintf symbol on all OS (for internal Gromacs use) |
    strdb.h | Declares C functions for reading files with a list of strings |
    stringstream.cpp | Implements classes from stringstream.h |
    stringstream.h | Declares implementations for textstream.h interfaces for input/output to in-memory strings |
    stringutil.cpp | Implements functions and classes in stringutil.h |
    stringutil.h | Declares common string utility and formatting routines |
    sysinfo.cpp | Implements functions from sysinfo.h |
    sysinfo.h | Declares functions for obtaining information about the operating environment and the current process |
    textreader.cpp | Implements gmx::TextReader |
    textreader.h | Declares gmx::TextReader |
    textstream.h | Declares interfaces for simple input/output streams |
    textwriter.cpp | Implements gmx::TextWriter |
    textwriter.h | Declares gmx::TextWriter |
    txtdump.h | Declares helper functions for dumping basic data structures as text |
   analysisdata.h | Public API convenience header for analysis data handling |
   commandline.h | Public API convenience header for managing command line programs |
   onlinehelp-doc.h | Dummy header for Help Formatting for Online Help (onlinehelp) documentation |
   options.h | Public API convenience header for handling of options |
   random.h | Public API convenience header for random engines and distributions |
   selection.h | Public API convenience header for selection handling |
   trajectoryanalysis.h | Public API convenience header for trajectory analysis framework |
   utility.h | Public API convenience header for low-level utilities |
  programs | Source code for building executables, see Wrapper binary implementation |
   mdrun | Source code specific to mdrun |
    tests | |
     compressed_x_output.cpp | Tests for the mdrun -x functionality |
     domain_decomposition.cpp | Tests special cases in domain decomposition |
     energyreader.cpp | Implementions of related classes for tests that want to inspect energies produced by mdrun |
     energyreader.h | Interfaces of related classes for tests that want to inspect energies produced by mdrun |
     grompp.cpp | Tests for basic grompp functionality |
     interactiveMD.cpp | Tests utilities for interactive molecular dynamics (IMD) setups |
     mdruncomparisonfixture.cpp | Implements classes in mdruncomparisonfixture.h |
     moduletest.cpp | Implements classes in moduletest.h |
     moduletest.h | Declares test fixtures for general mdrun functionality |
     multisim.cpp | Tests for the mdrun multi-simulation functionality |
     multisimtest.cpp | Tests for the mdrun multi-simulation functionality |
     multisimtest.h | Declares test fixture for the mdrun multi-simulation functionality |
     replicaexchange.cpp | Tests for the mdrun replica-exchange functionality |
     rerun.cpp | Tests for the mdrun -rerun functionality |
     swapcoords.cpp | Tests utilities for "Computational Electrophysiology" setups |
     tabulated_bonded_interactions.cpp | Tests for tabulated bonded interactions |
     termination.cpp | Tests for the mdrun termination functionality |
     terminationhelper.cpp | Defines functionality used to test mdrun termination functionality under different conditions |
     terminationhelper.h | Declares functionality used to test mdrun termination functionality under different conditions |
     trajectory_writing.cpp | Tests for the .mdp nst*out functionality |
     trajectoryreader.cpp | Implementions of related classes for tests that want to inspect trajectories produced by mdrun |
     trajectoryreader.h | Declares interface of a class for tests that want to inspect trajectories produced by mdrun |
    md.h | Declares the integrators for molecular dynamics simulations |
    mdrun.cpp | This file implements mdrun |
    runner.cpp | Implements the MD runner routine calling all integrators |
    runner.h | Declares the routine running the inetgrators |
   view | Source code specific to gmx view, including all X11-dependent code |
  testutils | Testing Utilities (testutils) |
   tests | Unit tests for Testing Utilities (testutils) |
    interactivetest.cpp | Self-tests for interactive test helpers |
    refdata_tests.cpp | Tests utilities for test reference data |
    testasserts_tests.cpp | Tests GROMACS-specific test assertions |
    xvgtest_tests.cpp | Tests utilities for testing xvg files |
   cmdlinetest.cpp | Implements classes from cmdlinetest.h |
   cmdlinetest.h | Declares utilities testing command-line programs |
   conftest.cpp | Implements routine to check the content of conf files |
   conftest.h | Declares function to add the content of a conf file to a checker |
   integrationtests.cpp | Implements classes in integrationtests.h |
   integrationtests.h | Declares test fixture for integration tests |
   interactivetest.cpp | Implements classes from interactivetest.h |
   interactivetest.h | Provides helper classes for testing interactive prompts |
   mpi-printer.h | Declares gmx::test::initMPIOutput() |
   refdata-checkers.h | Declares internal helper classes for the reference data framework to check reference data values of different types |
   refdata-impl.h | Declares internal data structures for the reference data framework |
   refdata-xml.cpp | Implements reference data XML persistence |
   refdata-xml.h | Declares functions for reference data XML persistence |
   refdata.cpp | Implements classes and functions from refdata.h |
   refdata.h | Functionality for writing tests that can produce their own reference data |
   stringtest.cpp | Implements gmx::test::StringTestBase |
   stringtest.h | Declares gmx::test::StringTestBase |
   testasserts.cpp | Implements floating-point comparison routines from testasserts.h |
   testasserts.h | Extra assertions for unit tests |
   testexceptions.h | Exception classes for errors in tests |
   testfilemanager.cpp | Implements gmx::test::TestFileManager |
   testfilemanager.h | Declares gmx::test::TestFileManager |
   testfileredirector.cpp | Implements classes from testfileredirector.h |
   testfileredirector.h | Declares generic mock implementations for interfaces in fileredirector.h |
   testinit.cpp | Implements functions in testinit.h |
   testinit.h | Functions for initialing GROMACS unit test executables |
   testoptions.cpp | Implements functions in testoptions.h |
   testoptions.h | Functions for accessing test command-line options |
   testutils-doc.h | Dummy header for Testing Utilities (testutils) documentation |
   textblockmatchers.cpp | Implements classes from textblockmatchers.h |
   textblockmatchers.h | Declares utility classes for testing multi-line strings against reference data |
   unittest_main.cpp | Main() for unit tests that use Testing Utilities (testutils) |
   xvgtest.cpp | Implements routine to check the content of xvg files |
   xvgtest.h | Declares function to add the content of an xvg file to a checker |
  gmxpre.h | Prerequisite header file for GROMACS build |