 docs | Build system and source code for various documentation items |
  doxygen | Doxygen build system and general documentation content |
 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.h | Declares gmx::AnalysisDataAverageModule |
     displacement.h | Declares gmx::AnalysisDataDisplacementModule |
     histogram.h | Declares analysis data modules for calculating histograms |
     lifetime.h | Declares gmx::AnalysisDataLifetimeModule |
     plot.h | Declares gmx::AnalysisDataPlotModule for plotting data (into a file) |
    tests | Unit tests for Parallelizable Handling of Output Data (analysisdata) |
     datatest.h | Helper classes for testing classes that derive from AbstractAnalysisData |
     mock_datamodule.h | Declares mock implementation of gmx::IAnalysisDataModule |
    abstractdata.h | Declares gmx::AbstractAnalysisData |
    analysisdata.h | Declares gmx::AnalysisData and gmx::AnalysisDataHandle |
    arraydata.h | Declares gmx::AbstractAnalysisArrayData and gmx::AnalysisArrayData |
    dataframe.h | Declares classes for accessing data frame information |
    datamodule.h | Declares gmx::IAnalysisDataModule and related convenience classes |
    datamodulemanager.h | Declares gmx::AnalysisDataModuleManager |
    datastorage.h | Declares gmx::AnalysisDataStorage |
    paralleloptions.h | Declares gmx::AnalysisDataParallelOptions |
   commandline | Command Line Program Management (commandline) |
    tests | Unit tests for Command Line Program Management (commandline) |
    cmdlinehelpcontext.h | Declares gmx::CommandLineHelpContext |
    cmdlinehelpwriter.h | Declares gmx::CommandLineHelpWriter |
    cmdlineinit.h | Declares functions for initializing the GROMACS library for command line use |
    cmdlinemodule.h | Declares gmx::ICommandLineModule and supporting classes |
    cmdlinemodulemanager.h | Declares gmx::CommandLineModuleManager |
    cmdlineoptionsmodule.h | Declares gmx::ICommandLineOptionsModule and supporting routines |
    cmdlineparser.h | Declares gmx::CommandLineParser |
    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 |
    viewit.h | Provides function to open output files automatically (with some X11 programs) |
   correlationfunctions | |
    autocorr.h | Declares routine for computing autocorrelation functions |
    crosscorr.h | Declares routine for computing a cross correlation between two data sets |
    expfit.h | Declares routine for fitting a data set to a curve |
    gmx_lmcurve.h | Declares a driver routine for lmfit |
    integrate.h | Declares routines for integrating a data set |
    manyautocorrelation.h | Declares routine for computing many correlation functions using OpenMP |
    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_network.h | This file declares functions for (mostly) the domdec module to use MPI functionality |
    domdec_struct.h | Declares structures related to domain decomposition |
    ga2la.h | Defines structures and functions for mapping from global to local atom indices. The functions are performance critical and should be inlined |
   essentialdynamics | |
    edsam.h | Declares functions to calculate both essential dynamics constraints as well as flooding potentials and forces |
   ewald | |
    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-load-balancing.h | This file contains function declarations necessary for managing automatic load balance of PME calculations (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 | |
    fft.h | Fast Fourier Transforms |
   gpu_utils | |
    gpu_utils.h | Declare functions for detection and initialization for GPU devices |
    ocl_compiler.h | Declare infrastructure for OpenCL JIT compilation |
    oclutils.h | Declare utility routines for OpenCL |
    pmalloc_cuda.h | Declare functions for host-side memory handling when using CUDA devices |
   hardware | |
    cpuinfo.h | Declares gmx::CpuInfo |
    hardwaretopology.h | Declares gmx::HardwareTopology |
   imd | |
    imd.h | This file contains datatypes and function declarations necessary for mdrun to interface with VMD via the interactive molecular dynamics protocol |
    imdsocket.h | Implements the parts of the vmdsock.h interface needed for IMD communication |
   listed-forces | |
    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.h | This file contains declarations of high-level functions used by mdrun to compute energies and forces for listed interactions |
    manage-threading.h | Declares functions for managing threading of listed forces |
    orires.h | Declares functions for handling orientation restraints |
    pairs.h | This file declares functions for "pair" interactions (i.e. listed non-bonded interactions, e.g. 1-4 interactions) |
    position-restraints.h | This file contains declarations necessary for low-level functions for computing energies and forces for position restraints |
   math | |
    calculate-ewald-splitting-coefficient.h | Declares functions for computing Ewald splitting coefficients |
    functions.h | Declares simple math functions |
    invertmatrix.h | Declares routines to invert 3x3 matrices |
   mdlib | |
    groupcoord.h | Assemble atomic positions of a (small) subset of atoms and distribute to all nodes |
    nbnxn_gpu_data_mgmt.h | Declare interface for GPU data transfer for NBNXN module |
    simulationsignal.h | This file declares functions for inter-rank signalling by mdrun |
   mdrunutility | |
    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) |
     mock_helptopic.h | Declares mock implementation of gmx::IHelpTopic |
    helpformat.h | Declares common string formatting routines for online help |
    helpmanager.h | Declares gmx::HelpManager |
    helptopic.h | Declares helper classes for implementing gmx::IHelpTopic |
    helpwritercontext.h | Declares gmx::HelpWriterContext |
    ihelptopic.h | Declares gmx::IHelpTopic |
   options | Extensible Handling of Options (options) |
    tests | Unit tests for Extensible Handling of Options (options) |
    abstractoption.h | Defines gmx::AbstractOption, gmx::OptionTemplate and gmx::OptionInfo |
    abstractoptionstorage.h | Declares gmx::AbstractOptionStorage |
    basicoptions.h | Declares option objects for basic option types |
    behaviorcollection.h | Declares gmx::OptionsBehaviorCollection |
    filenameoption.h | Declares gmx::FileNameOption and gmx::FileNameOptionInfo |
    filenameoptionmanager.h | Declares gmx::FileNameOptionManager |
    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.h | Declares gmx::Options |
    optionsassigner.h | Declares gmx::OptionsAssigner |
    optionstoragetemplate.h | Defines gmx::OptionStorageTemplate template |
    optionsvisitor.h | Declares gmx::OptionsVisitor interface and supporting classes |
    timeunitmanager.h | Declares gmx::TimeUnitManager |
   pbcutil | |
    pbc-simd.h | This file contains a definition, declaration and inline function for SIMD accelerated PBC calculations |
   pulling | |
    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 | |
    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.h | API for handling index files and index groups |
    nbsearch.h | API for neighborhood searching for analysis |
    position.h | API for handling positions |
    selection.h | Declares gmx::Selection and supporting classes |
    selectioncollection.h | Declares gmx::SelectionCollection |
    selectionenums.h | Declares common types used in selections |
    selectionfileoption.h | Declares gmx::SelectionFileOption and gmx::SelectionFileOptionInfo |
    selectionoption.h | Declares gmx::SelectionOption and gmx::SelectionOptionInfo |
    selectionoptionbehavior.h | Declares gmx::SelectionOptionBehavior |
    selectionoptionmanager.h | Declares gmx::SelectionOptionManager |
    selhelp.h | Functions for initializing online help for selections |
   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) |
    simd.h | Definitions, capabilities, and wrappers for SIMD module |
    simd_math.h | Math functions for SIMD datatypes |
    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.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.h | Utility classes for manipulating t_atoms structures |
   trajectoryanalysis | Framework for Trajectory Analysis (trajectoryanalysis) |
    tests | Unit tests for Framework for Trajectory Analysis (trajectoryanalysis) |
    analysismodule.h | Declares gmx::TrajectoryAnalysisModule and gmx::TrajectoryAnalysisModuleData |
    analysissettings.h | Declares gmx::TrajectoryAnalysisSettings and gmx::TopologyInformation |
    cmdlinerunner.h | Declares gmx::TrajectoryAnalysisCommandLineRunner |
    modules.h | Generic interface for accessing trajectory analysis modules |
   utility | Low-Level Utilities (utility) |
    tests | Unit tests for Low-Level Utilities (utility) |
    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.h | Declares functions to get basic version information |
    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.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.h | Declares gmx::DataFileFinder and related classes |
    dir_separator.h | Provides OS-specific directory-name separator |
    directoryenumerator.h | Declares gmx::DirectoryEnumerator |
    errorcodes.h | Declares error codes and related functions for fatal error handling |
    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.h | Declares gmx::IFileOutputRedirector |
    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.h | Defines assert macros customized for Gromacs |
    gmxmpi.h | Wraps <mpi.h> usage in Gromacs |
    gmxomp.h | Declares OpenMP wrappers to avoid conditional compilation |
    gmxregex.h | Declares simple wrapper for regular expression functionality |
    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.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.h | Declares functions for OS-independent path handling |
    pleasecite.h | Declares please_cite() for printing out literature references |
    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.h | Declares implementations for textstream.h interfaces for input/output to in-memory strings |
    stringutil.h | Declares common string utility and formatting routines |
    sysinfo.h | Declares functions for obtaining information about the operating environment and the current process |
    textreader.h | Declares gmx::TextReader |
    textstream.h | Declares interfaces for simple input/output streams |
    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 |
   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 |
   view | Source code specific to gmx view , including all X11-dependent code |
  testutils | Testing Utilities (testutils) |
   tests | Unit tests for Testing Utilities (testutils) |
   cmdlinetest.h | Declares utilities testing command-line programs |
   conftest.h | Declares function to add the content of a conf file to a checker |
   integrationtests.h | Declares test fixture for integration tests |
   interactivetest.h | Provides helper classes for testing interactive prompts |
   refdata.h | Functionality for writing tests that can produce their own reference data |
   stringtest.h | Declares gmx::test::StringTestBase |
   testasserts.h | Extra assertions for unit tests |
   testexceptions.h | Exception classes for errors in tests |
   testfilemanager.h | Declares gmx::test::TestFileManager |
   testfileredirector.h | Declares generic mock implementations for interfaces in fileredirector.h |
   testoptions.h | Functions for accessing test command-line options |
   textblockmatchers.h | Declares utility classes for testing multi-line strings against reference data |
   xvgtest.h | Declares function to add the content of an xvg file to a checker |
  gmxpre.h | Prerequisite header file for GROMACS build |