![o](ftv2mnode.png) docs | Build system and source code for various documentation items |
![|](ftv2vertline.png) ![\](ftv2mlastnode.png) doxygen | Doxygen build system and general documentation content |
![o](ftv2mnode.png) share | Directory that contains installed data files |
![|](ftv2vertline.png) ![\](ftv2mlastnode.png) template | Template code for writing analysis programs |
![|](ftv2vertline.png) ![](ftv2blank.png) ![\](ftv2lastnode.png) template.cpp | Template code for writing analysis programs |
![\](ftv2mlastnode.png) src | Main source code directory |
![](ftv2blank.png) ![o](ftv2mnode.png) gromacs | Source code for building the libgromacs library |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) analysisdata | Parallelizable Handling of Output Data (analysisdata) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) modules | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) average.h | Declares gmx::AnalysisDataAverageModule |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) displacement.h | Declares gmx::AnalysisDataDisplacementModule |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) histogram.h | Declares analysis data modules for calculating histograms |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) lifetime.h | Declares gmx::AnalysisDataLifetimeModule |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) plot.h | Declares gmx::AnalysisDataPlotModule for plotting data (into a file) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | Unit tests for Parallelizable Handling of Output Data (analysisdata) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) datatest.h | Helper classes for testing classes that derive from AbstractAnalysisData |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) mock_datamodule.h | Declares mock implementation of gmx::IAnalysisDataModule |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) abstractdata.h | Declares gmx::AbstractAnalysisData |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) analysisdata.h | Declares gmx::AnalysisData and gmx::AnalysisDataHandle |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) arraydata.h | Declares gmx::AbstractAnalysisArrayData and gmx::AnalysisArrayData |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) dataframe.h | Declares classes for accessing data frame information |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) datamodule.h | Declares gmx::IAnalysisDataModule and related convenience classes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) datamodulemanager.h | Declares gmx::AnalysisDataModuleManager |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) datastorage.h | Declares gmx::AnalysisDataStorage |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) paralleloptions.h | Declares gmx::AnalysisDataParallelOptions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) awh | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) awh.h | Declares the Awh class |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) read-params.h | Declares functions needed for reading, initializing and setting the AWH parameter data types |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) commandline | Command Line Program Management (commandline) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | Unit tests for Command Line Program Management (commandline) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlinehelpcontext.h | Declares gmx::CommandLineHelpContext |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlinehelpwriter.h | Declares gmx::CommandLineHelpWriter |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlineinit.h | Declares functions for initializing the GROMACS library for command line use |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlinemodule.h | Declares gmx::ICommandLineModule and supporting classes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlinemodulemanager.h | Declares gmx::CommandLineModuleManager |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlineoptionsmodule.h | Declares gmx::ICommandLineOptionsModule and supporting routines |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlineparser.h | Declares gmx::CommandLineParser |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlineprogramcontext.h | Declares gmx::CommandLineProgramContext |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) filenm.h | Declares t_filenm for old-style command-line parsing of file name options |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pargs.h | Declares t_pargs , parse_common_args() and related methods |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) viewit.h | Provides function to open output files automatically (with some X11 programs) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) compat | C++ standard library compatibility helpers. |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) make_unique.h | Provides template gmx::compat::make_unique |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pointers.h | Provides ported functions/classes from gsl/pointers |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) utility.h | Provides backported functions/classes from utility |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) correlationfunctions | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) autocorr.h | Declares routine for computing autocorrelation functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) crosscorr.h | Declares routine for computing a cross correlation between two data sets |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) expfit.h | Declares routine for fitting a data set to a curve |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gmx_lmcurve.h | Declares a driver routine for lmfit |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) integrate.h | Declares routines for integrating a data set |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) manyautocorrelation.h | Declares routine for computing many correlation functions using OpenMP |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) polynomials.h | Declares routine for computing a Legendre polynomial |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) domdec | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) collect.h | Declares functions to collect state data to the master rank |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) dlb.h | This file declares functions to interact with the dynamic load balancing machinery |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) dlbtiming.h | This file declares functions for timing the load imbalance due to domain decomposition |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) domdec.h | This file declares functions for mdrun to call to manage the details of its domain decomposition |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) domdec_network.h | This file declares functions for (mostly) the domdec module to use MPI functionality |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) domdec_struct.h | Declares structures related to domain decomposition |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) ga2la.h | Defines structures and functions for mapping from global to local atom indices. The functions are performance critical and should be inlined |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) hashedmap.h | Defines structures and functions for mapping from keys to entries indices using a hash table. The functions are performance critical and should be inlined |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) localatomset.cpp | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) localatomset.h | Declares gmx::LocalAtomSet |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) localatomsetdata.cpp | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) localatomsetdata.h | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) localatomsetmanager.h | Declares gmx::LocalAtomSetManager |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) partition.h | This file declares functions for mdrun to call to make a new domain decomposition, and check it |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) essentialdynamics | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) edsam.h | Declares functions to calculate both essential dynamics constraints as well as flooding potentials and forces |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) ewald | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) ewald-utils.h | Declares utility functions related to Ewald |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) 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 |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) long-range-correction.h | This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pme-gpu-program.h | Declares PmeGpuProgram, which wrap arounds PmeGpuProgramImpl to store permanent PME GPU context-derived data, such as (compiled) kernel handles |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pme-gpu-types-host.h | Defines the host-side PME GPU data structures |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pme-load-balancing.h | This file contains function declarations necessary for managing automatic load balance of PME calculations (Coulomb and LJ) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) pme.h | This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) fft | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) fft.h | Fast Fourier Transforms |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) gmxpreprocess | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) keyvaluetreemdpwriter.h | Declares a function to write a flat key-value tree to look like old-style mdp output |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) gpu_utils | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) clfftinitializer.h | Declares ClfftInitializer class, which initializes and tears down the clFFT library resources in OpenCL builds, and does nothing in other builds, and a factory function for it |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) devicebuffer.h | Implements the logic for handling of DeviceBuffer types in OpenCL/CUDA. Can only be included on GPU build paths |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) devicebuffer_ocl.h | Implements the DeviceBuffer type and routines for OpenCL. Should only be included directly by the main DeviceBuffer file devicebuffer.h. TODO: the intent is for DeviceBuffer to become a class |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gmxopencl.h | Wraps the complexity of including OpenCL in Gromacs |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gpu_utils.h | Declare functions for detection and initialization for GPU devices |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gpueventsynchronizer_ocl.h | Implements a GpuEventSynchronizer class for OpenCL |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gpuregiontimer.h | Defines the GPU region timer implementation/wrapper classes. The implementations live in gpuregiontimer.cuh for CUDA and gpuregiontimer_ocl.h for OpenCL |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gpuregiontimer_ocl.h | Implements the GPU region timer for OpenCL |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gputraits_ocl.h | Declares the OpenCL type traits |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) hostallocator.h | Declares gmx::HostAllocationPolicy, gmx::HostAllocator, and gmx::HostVector, which are used to make/be standard library containers that can allocate memory suitable for transfers. Currently the only supported transfers using pinned memory are to CUDA GPUs, but other possibilities exist in future |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) ocl_compiler.h | Declare infrastructure for OpenCL JIT compilation |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) oclraii.h | Declare RAII helpers for OpenCL types, along with supporting type traits |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) oclutils.h | Declare utility routines for OpenCL |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pinning.h | Declares functions for pinning memory to be suitable for efficient GPU transfers on CUDA |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) pmalloc_cuda.h | Declare functions for host-side memory handling when using CUDA devices |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) hardware | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cpuinfo.h | Declares gmx::CpuInfo |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) hardwaretopology.h | Declares gmx::HardwareTopology |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) identifyavx512fmaunits.h | Defines a routine to check the number of AVX512 fma units |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) imd | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) imd.h | This file contains datatypes and function declarations necessary for mdrun to interface with VMD via the interactive molecular dynamics protocol |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) imdsocket.h | Implements the parts of the vmdsock.h interface needed for IMD communication |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) listed-forces | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) bonded.h | This file contains declarations necessary for low-level functions for computing energies and forces for bonded interactions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) disre.h | Declares functions for handling distance restraints |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gpubonded.h | This file contains declarations of high-level functions used by mdrun to compute energies and forces for listed interactions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) listed-forces.h | This file contains declarations of high-level functions used by mdrun to compute energies and forces for listed interactions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) manage-threading.h | Declares functions for managing threading of listed forces |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) orires.h | Declares functions for handling orientation restraints |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pairs.h | This file declares functions for "pair" interactions (i.e. listed non-bonded interactions, e.g. 1-4 interactions) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) position-restraints.h | This file contains declarations necessary for low-level functions for computing energies and forces for position restraints |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) math | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) testarrayrefs.h | Declares functions for comparing views of vector-like data |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) arrayrefwithpadding.h | Declares gmx::ArrayRefWithPadding that refers to memory whose size includes padding for SIMD operations |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) functions.h | Declares simple math functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) invertmatrix.h | Declares routines to invert 3x3 matrices |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) paddedvector.h | Declares gmx::PaddedRVecVector |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) mdlib | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) nbnxn_kernels | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) nbnxn_kernel_cpu.h | Declares the nbnxn pair interaction kernel dispatcher |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) nbnxn_kernel_prune.h | Declares the pair-list pruning kernel wrapper function |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) boxdeformation.h | Declares interface to box deformation code |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) broadcaststructs.h | Convenience wrappers for broadcasting structs |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) checkpointhandler.h | Declares the checkpoint handler class |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) constr.h | Declares interface to constraint code |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) groupcoord.h | Assemble atomic positions of a (small) subset of atoms and distribute to all nodes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) lincs.h | Declares interface to LINCS code |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) makeconstraints.h | Declares and implements factory function for Constraints |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) mdrun.h | This file declares types and functions for initializing an MD run |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) nb_verlet.h | This file contains the public interface of the non-bonded Verlet module that implements the NxN cluster non-bonded algorithm to efficiently compute pair forces |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) nbnxn_gpu_data_mgmt.h | Declare interface for GPU data transfer for NBNXN module |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) nbnxn_tuning.h | Declares functions for tuning adjustable parameters for the nbnxn non-bonded search and interaction kernels |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) ppforceworkload.h | Declares force calculation workload manager |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) resethandler.h | Declares the reset handler class |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) settle.h | Declares interface to SETTLE code |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) shake.h | Declares interface to SHAKE code |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) simulationsignal.h | This file declares functions for inter-rank signalling by mdrun |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) stophandler.h | Declares StopHandler, a helper class and two stop conditions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) updategroups.h | Declares the functions for generating update groups |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) updategroupscog.h | Declares the UpdateGroupsCog class for managing centers of mass of update groups |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) mdrun | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) legacymdrunoptions.h | This file declares helper functionality for legacy option handling for mdrun |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) logging.h | Declares the MD log file handling routines |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) multisim.h | Declares the multi-simulation support routines |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) replicaexchange.h | Declares the routines for replica exchange |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) runner.h | Declares the routine running the inetgrators |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) simulationcontext.h | Provide ways for client code to own simulation resources |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) mdrunutility | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) handlerestart.h | This file declares functions for mdrun to call to manage the details of doing a restart (ie. reading checkpoints, appending output files) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) mdmodules.h | Declares gmx::MDModules |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) threadaffinity.h | Declares functions for managing mdrun thread affinity |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) mdtypes | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) awh-correlation-history.h | Contains datatypes and function declarations needed by AWH to have its force correlation data checkpointed |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) awh-history.h | Contains datatypes and function declarations needed by AWH to have its data checkpointed |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) awh-params.h | Declares AWH parameter data types |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) energyhistory.h | This file contains datatypes for energy statistics history |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) forceoutput.h | This file contains the definition of a container for force and virial output |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) iforceprovider.h | Declares gmx::IForceProvider and ForceProviders |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) imdmodule.h | Declares gmx::IMDModule |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) imdoutputprovider.h | Declares gmx::IMDOutputProvider |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) imdpoptionprovider.h | Declares gmx::IMdpOptionProvider |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) md_enums.h | Declares enumerated types used throughout the code |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) observableshistory.h | This file contains the definition of a container for history data for simulation observables |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pull-params.h | This file contains datatypes for the mdp options used by the pull code |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pullhistory.h | This file contains datatypes for pull statistics history |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) state.h | This file contains the definition of the microstate of the simulated system |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) mimic | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) MimicUtils.h | Provides utility functions for MiMiC QM/MM |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) onlinehelp | Help Formatting for Online Help (onlinehelp) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | Unit tests for Help Formatting for Online Help (onlinehelp) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) mock_helptopic.h | Declares mock implementation of gmx::IHelpTopic |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) helpformat.h | Declares common string formatting routines for online help |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) helpmanager.h | Declares gmx::HelpManager |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) helptopic.h | Declares helper classes for implementing gmx::IHelpTopic |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) helpwritercontext.h | Declares gmx::HelpWriterContext |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) ihelptopic.h | Declares gmx::IHelpTopic |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) options | Extensible Handling of Options (options) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | Unit tests for Extensible Handling of Options (options) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) abstractoption.h | Defines gmx::AbstractOption, gmx::OptionTemplate and gmx::OptionInfo |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) abstractoptionstorage.h | Declares gmx::AbstractOptionStorage |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) abstractsection.h | Declares base classes for declaring option sections |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) basicoptions.h | Declares option objects for basic option types |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) behaviorcollection.h | Declares gmx::OptionsBehaviorCollection |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) filenameoption.h | Declares gmx::FileNameOption and gmx::FileNameOptionInfo |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) filenameoptionmanager.h | Declares gmx::FileNameOptionManager |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) ioptionsbehavior.h | Declares gmx::IOptionsBehavior |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) ioptionscontainer.h | Declares gmx::IOptionsContainer |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) ioptionscontainerwithsections.h | Declares gmx::IOptionsContainerWithSections |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) isectionstorage.h | Declares gmx::IOptionSectionStorage |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) ivaluestore.h | Declares gmx::IOptionValueStore |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) optionfiletype.h | Defines an enumeration type for specifying file types for options |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) optionflags.h | Defines flags used in option implementation |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) optionmanagercontainer.h | Declares gmx::OptionManagerContainer |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) options.h | Declares gmx::Options |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) optionsassigner.h | Declares gmx::OptionsAssigner |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) optionsection.h | Declares gmx::OptionSection and gmx::OptionSectionInfo |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) optionstoragetemplate.h | Defines gmx::OptionStorageTemplate template |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) optionsvisitor.h | Declares gmx::OptionsVisitor interface and supporting classes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) repeatingsection.h | Declares gmx::RepeatingOptionSection and related classes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) timeunitmanager.h | Declares gmx::TimeUnitManager |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) treesupport.h | Declares functions for using keyvaluetree.h with Options |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) valueconverter.h | Provides gmx::OptionValueConverterSimple |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) valuestore.h | Declares implementations for IOptionValueStore |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) pbcutil | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) pbc-simd.h | This file contains a definition, declaration and inline function for SIMD accelerated PBC calculations |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) pulling | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) output.h | This file declares functions for pull output writing |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pull.h | This file contains datatypes and function declarations necessary for mdrun to interface with the pull code |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) pull_rotation.h | Declares functions to enforce rotational motion upon a group of particles |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) random | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) exponentialdistribution.h | The exponential distribution |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gammadistribution.h | The gamma distribution |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) normaldistribution.h | The normal distribution |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) seed.h | Random seed and domain utilities |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) tabulatednormaldistribution.h | Tabulated normal distribution |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) threefry.h | Implementation of the 2x64 ThreeFry random engine |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) uniformintdistribution.h | The uniform integer distribution |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) uniformrealdistribution.h | The uniform real distribution |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) restraint | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) manager.h | Declare the Manager for restraint potentials |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) restraintmdmodule-impl.h | Implementation details for RestraintMDModule |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) restraintmdmodule.h | Library interface for RestraintMDModule |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) restraintpotential.h | Declare generic interface for restraint implementations |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) selection | Parsing and Evaluation of Analysis Selections (selection) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | Unit tests for Parsing and Evaluation of Analysis Selections (selection) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) indexutil.h | API for handling index files and index groups |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) nbsearch.h | API for neighborhood searching for analysis |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) position.h | API for handling positions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) selection.h | Declares gmx::Selection and supporting classes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) selectioncollection.h | Declares gmx::SelectionCollection |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) selectionenums.h | Declares common types used in selections |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) selectionfileoption.h | Declares gmx::SelectionFileOption and gmx::SelectionFileOptionInfo |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) selectionoption.h | Declares gmx::SelectionOption and gmx::SelectionOptionInfo |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) selectionoptionbehavior.h | Declares gmx::SelectionOptionBehavior |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) selectionoptionmanager.h | Declares gmx::SelectionOptionManager |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) selhelp.h | Functions for initializing online help for selections |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) simd | SIMD intrinsics interface (simd) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) impl_reference | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) impl_reference.h | Reference SIMD implementation, including SIMD documentation |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) impl_reference_definitions.h | Reference SIMD implementation, including SIMD documentation |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) impl_reference_general.h | Reference SIMD implementation, general utility functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) impl_reference_simd4_double.h | Reference implementation, SIMD4 single precision |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) impl_reference_simd4_float.h | Reference implementation, SIMD4 single precision |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) impl_reference_simd_double.h | Reference implementation, SIMD double precision |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) impl_reference_simd_float.h | Reference implementation, SIMD single precision |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) impl_reference_util_double.h | Reference impl., higher-level double prec. SIMD utility functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) impl_reference_util_float.h | Reference impl., higher-level single prec. SIMD utility functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) scalar | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) scalar.h | Scalar float functions corresponding to GROMACS SIMD functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) scalar_math.h | Scalar math functions mimicking GROMACS SIMD math functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) scalar_util.h | Scalar utility functions mimicking GROMACS SIMD utility functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | Unit tests for SIMD intrinsics interface (simd) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) simd.h | Definitions, capabilities, and wrappers for SIMD module |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) simd_math.h | Math functions for SIMD datatypes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) simd_memory.h | Declares SimdArrayRef |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) support.h | Functions to query compiled and supported SIMD architectures |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) vector_operations.h | SIMD operations corresponding to Gromacs rvec datatypes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) statistics | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) statistics.h | Declares simple statistics toolbox |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) swap | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) swapcoords.h | The "Computational Electrophysiology" protocol for ion/water position swapping |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tables | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cubicsplinetable.h | Declares classes for cubic spline table |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) forcetable.h | Old routines for table generation (will eventually be replaced) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) quadraticsplinetable.h | Declares classes for quadratic spline table |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) tableinput.h | Declares structures for analytical or numerical input data to construct tables |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) taskassignment | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) decidegpuusage.h | Declares functionality for deciding whether tasks will run on GPUs |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) resourcedivision.h | Declares utility functionality for dividing resources and checking for consistency and usefulness |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) taskassignment.h | Declares high-level functionality for managing assigning tasks on ranks of a node to hardware on that node, and the factory function to build the correct flavours of gmx::INodeTaskAssigner required to implement the user's requirements |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) usergpuids.h | Declares routines for handling user-specified GPU IDs |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) timing | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cyclecounter.h | High-resolution timestamp or CPU clock cycle counters |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) gpu_timing.h | Declares data types for GPU timing |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) topology | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) atomsbuilder.h | Utility classes for manipulating t_atoms structures |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) mtop_lookup.h | This file contains inline functions to look up atom information using the global atom index |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) trajectoryanalysis | Framework for Trajectory Analysis (trajectoryanalysis) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) modules | |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) unionfind.h | Implements gmx::UnionFinder and gmx::MappedUnionFinder |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | Unit tests for Framework for Trajectory Analysis (trajectoryanalysis) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) analysismodule.h | Declares gmx::TrajectoryAnalysisModule and gmx::TrajectoryAnalysisModuleData |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) analysissettings.h | Declares gmx::TrajectoryAnalysisSettings |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlinerunner.h | Declares gmx::TrajectoryAnalysisCommandLineRunner |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) modules.h | Generic interface for accessing trajectory analysis modules |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) topologyinformation.h | Declares gmx::TopologyInformation |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) utility | Low-Level Utilities (utility) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | Unit tests for Low-Level Utilities (utility) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) alignedallocator-impl.h | Tests for allocators that offer a minimum alignment |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) alignedallocator.h | Declares allocation policy classes and allocators that are used to make library containers compatible with alignment requirements of particular hardware, e.g. memory operations for SIMD or accelerators |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) allocator.h | Declares gmx::Allocator template whose allocation functionality is configured both by type of object allocated and a policy class that configures the necessary matching malloc and free operation |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) arrayref.h | Declares gmx::ArrayRef |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) arraysize.h | Provides asize() function for calculating the static size of an array at compile time |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) basedefinitions.h | Basic types and macros used throughout GROMACS |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) basenetwork.h | Utility functions for basic MPI and network functionality |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) baseversion.h | Declares functions to get basic version information |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) binaryinformation.h | Helper functionality for information about the currently running binary |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) bitmask.h | Declares gmx_bitmask_t and associated functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) classhelpers.h | Declares common utility classes and macros |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) compare.h | Utilities for comparing data structures (for gmx check) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) coolstuff.h | Functionality for printing cool strings |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cstringutil.h | Generic C string handling functions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) current_function.h | Declares GMX_CURRENT_FUNCTION for getting the current function name |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) datafilefinder.h | Declares gmx::DataFileFinder and related classes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) dir_separator.h | Provides OS-specific directory-name separator |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) directoryenumerator.h | Declares gmx::DirectoryEnumerator |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) errorcodes.h | Declares error codes and related functions for fatal error handling |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) exceptions.h | Declares common exception classes and macros for fatal error handling |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) fatalerror.h | Declares fatal error handling and debugging routines for C code |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) fileptr.h | Declares guard pointer for RAII-style handling of cstdio FILE pointers |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) fileredirector.h | Declares gmx::IFileOutputRedirector |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) filestream.h | Declares implementations for textstream.h interfaces for file input/output |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) flags.h | Declares gmx::FlagsTemplate |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) futil.h | Low-level wrappers for OS-specific file handling with some GROMACS customizations |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gmxassert.h | Defines assert macros customized for Gromacs |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gmxmpi.h | Wraps mpi.h usage in Gromacs |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gmxomp.h | Declares OpenMP wrappers to avoid conditional compilation |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) gmxregex.h | Declares simple wrapper for regular expression functionality |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) ikeyvaluetreeerror.h | Declares an error handling interface for key-value tree operations |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) init.h | Declares functions for initializing the GROMACS library |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) inmemoryserializer.h | Declares gmx::ISerializer implementation for in-memory serialization |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) 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 |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) iserializer.h | Declares a generic serialization interface that supports both directions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) keyvaluetree.h | Declares a data structure for JSON-like structured key-value mapping |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) keyvaluetreebuilder.h | Declares classes for building the data structures in keyvaluetree.h |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) keyvaluetreeserializer.h | Declares serialization routines for KeyValueTree objects |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) keyvaluetreetransform.h | Declares utilities for transforming key-value trees |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) logger.h | Declares functionality for logging |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) loggerbuilder.h | Declares functionality for initializing logging |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) messagestringcollector.h | Declares gmx::MessageStringCollector |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) mutex.h | Declares C++11-style basic threading primitives (gmx::Mutex, gmx::lock_guard) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) niceheader.h | Declares function for printing a nice header for text output files |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) nodelete.h | Declares no_delete deleter for std::shared_ptr |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) path.h | Declares functions for OS-independent path handling |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) physicalnodecommunicator.h | Declares functionality for communicators across physical nodes |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) pleasecite.h | Declares please_cite() for printing out literature references. Declares writeSourceDoi for printing of source code DOI |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) programcontext.h | Declares gmx::IProgramContext and related methods |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) real.h | Declares real and related constants |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) smalloc.h | C-style memory allocation routines for GROMACS |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) snprintf.h | Provide snprintf symbol on all OS (for internal Gromacs use) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) strconvert.h | Declares common utility functions for conversions to and from strings |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) strdb.h | Declares C functions for reading files with a list of strings |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) stringcompare.h | Declares utility functionst for string comparison |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) stringstream.h | Declares implementations for textstream.h interfaces for input/output to in-memory strings |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) stringutil.h | Declares common string utility and formatting routines |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) sysinfo.h | Declares functions that wrap platform-specific calls for obtaining information about the operating environment and the current process |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) textreader.h | Declares gmx::TextReader |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) textstream.h | Declares interfaces for simple input/output streams |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) textwriter.h | Declares gmx::TextWriter |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) txtdump.h | Declares helper functions for dumping basic data structures as text |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) typetraits.h | Declares type traits |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![o](ftv2node.png) unique_cptr.h | Declares gmx::unique_cptr and gmx::sfree_guard |
![](ftv2blank.png) ![|](ftv2vertline.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) variant.h | Declares gmx::Variant |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) analysisdata.h | Public API convenience header for analysis data handling |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) commandline.h | Public API convenience header for managing command line programs |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) options.h | Public API convenience header for handling of options |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) random.h | Public API convenience header for random engines and distributions |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) selection.h | Public API convenience header for selection handling |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) trajectoryanalysis.h | Public API convenience header for trajectory analysis framework |
![](ftv2blank.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) utility.h | Public API convenience header for low-level utilities |
![](ftv2blank.png) ![o](ftv2mnode.png) programs | Source code for building executables, see Wrapper binary implementation |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) mdrun | Source code specific to mdrun |
![](ftv2blank.png) ![|](ftv2vertline.png) ![\](ftv2plastnode.png) view | Source code specific to gmx view , including all X11-dependent code |
![](ftv2blank.png) ![o](ftv2mnode.png) testutils | Testing Utilities (testutils) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2pnode.png) tests | Unit tests for Testing Utilities (testutils) |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) cmdlinetest.h | Declares utilities testing command-line programs |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) conftest.h | Declares function to add the content of a conf file to a checker |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) filematchers.h | Declares utility classes for testing file contents |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) interactivetest.h | Provides helper classes for testing interactive prompts |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) loggertest.h | Declares gmx::test::LoggerTestHelper |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) mpitest.h | Helper functions for MPI tests to make thread-MPI look like real MPI |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) refdata.h | Functionality for writing tests that can produce their own reference data |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) stdiohelper.h | Declares gmx::test::StdioTestHelper |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) stringtest.h | Declares gmx::test::StringTestBase |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) testasserts.h | Extra assertions for unit tests |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) testexceptions.h | Exception classes for errors in tests |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) testfilemanager.h | Declares gmx::test::TestFileManager |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) testfileredirector.h | Declares generic mock implementations for interfaces in fileredirector.h |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) testmatchers.h | Extra GoogleMock matchers for unit tests |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) testoptions.h | Functions for accessing test command-line options |
![](ftv2blank.png) ![|](ftv2vertline.png) ![o](ftv2node.png) textblockmatchers.h | Declares utility classes for testing multi-line strings against reference data |
![](ftv2blank.png) ![|](ftv2vertline.png) ![\](ftv2lastnode.png) xvgtest.h | Declares function to add the content of an xvg file to a checker |
![](ftv2blank.png) ![\](ftv2lastnode.png) gmxpre.h | Prerequisite header file for GROMACS build |