api | |
legacy | |
include | |
gromacs | |
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) |
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 |
math | |
functions.h | Declares simple math functions |
mdtypes | |
md_enums.h | Declares enumerated types used throughout the code |
options | |
abstractoption.h | Defines gmx::AbstractOption, gmx::OptionTemplate and gmx::OptionInfo |
basicoptions.h | Declares option objects for basic option types |
filenameoption.h | Declares gmx::FileNameOption and gmx::FileNameOptionInfo |
filenameoptionmanager.h | Declares gmx::FileNameOptionManager |
ioptionsbehavior.h | Declares gmx::IOptionsBehavior |
ioptionscontainer.h | Declares gmx::IOptionsContainer |
ioptionscontainerwithsections.h | Declares gmx::IOptionsContainerWithSections |
ivaluestore.h | Declares gmx::IOptionValueStore |
optionfiletype.h | Defines an enumeration type for specifying file types for options |
optionflags.h | Defines flags used in option implementation |
options.h | Declares gmx::Options |
timeunitmanager.h | Declares gmx::TimeUnitManager |
restraint | |
restraintpotential.h | Declare generic interface for restraint implementations |
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 |
selectionoption.h | Declares gmx::SelectionOption and gmx::SelectionOptionInfo |
selectionoptionbehavior.h | Declares gmx::SelectionOptionBehavior |
selectionoptionmanager.h | Declares gmx::SelectionOptionManager |
topology | |
idef.h | Defines interaction types and parameters |
ifunc.h | Declares interaction functions |
symtab.h | Declares modern and legacy symbol table used to store strings of characters |
trajectoryanalysis | |
analysismodule.h | Declares gmx::TrajectoryAnalysisModule and gmx::TrajectoryAnalysisModuleData |
analysissettings.h | Declares gmx::TrajectoryAnalysisSettings |
cmdlinerunner.h | Declares gmx::TrajectoryAnalysisCommandLineRunner |
topologyinformation.h | Declares gmx::TopologyInformation |
utility | |
arrayref.h | Declares gmx::ArrayRef |
basedefinitions.h | Basic types and macros used throughout GROMACS |
baseversion.h | Declares functions to get basic version information |
classhelpers.h | Declares common utility classes and macros |
current_function.h | Declares GMX_CURRENT_FUNCTION for getting the current function name |
enumerationhelpers.h | Defines helper types for class enumerations |
exceptions.h | Declares common exception classes and macros for fatal error handling |
fileptr.h | Declares guard pointer for RAII-style handling of cstdio FILE pointers |
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 |
listoflists.h | Declares gmx::ListOfLists |
pleasecite.h | Declares please_cite() for printing out literature references. Declares writeSourceDoi for printing of source code DOI |
programcontext.h | Declares gmx::IProgramContext and related methods |
range.h | Declares gmx::Range |
real.h | Declares real and related constants |
smalloc.h | C-style memory allocation routines for GROMACS |
stringutil.h | Declares common string utility and formatting routines |
unique_cptr.h | Declares gmx::unique_cptr and gmx::sfree_guard |
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 |
displacement.cpp | Implements gmx::AnalysisDataDisplacementModule |
frameaverager.cpp | Implements gmx::AnalysisDataFrameAverager |
frameaverager.h | Declares gmx::AnalysisDataFrameAverager |
histogram.cpp | Implements classes in histogram.h |
lifetime.cpp | Implements gmx::AnalysisDataLifetimeModule |
plot.cpp | Implements classes in plot.h |
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 |
analysisdata.cpp | Implements classes in analysisdata.h |
arraydata.cpp | Implements classes in arraydata.h |
dataframe.cpp | Implements classes in dataframe.h |
datamodule.cpp | Implements classes from datamodule.h |
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 |
applied_forces | |
awh | |
awh.cpp | Implements the Awh class |
awh.h | Declares the Awh class |
bias.cpp | Implements the Bias class |
bias.h | Declares the Bias class |
biasgrid.cpp | Implements functions in grid.h |
biasgrid.h | This file contains datatypes and function declarations necessary for AWH to interface with the grid code |
biasparams.cpp | Implements the initialization of the BiasParams class |
biasparams.h | Declares the BiasParams class |
biassharing.cpp | Implements bias sharing checking functionality |
biassharing.h | Declares functions to check bias sharing properties |
biasstate.cpp | Implements the BiasState class |
biasstate.h | Declares the BiasState class |
biaswriter.h | This file contains the BiasWriter class that prepares and writes data of a Bias to an energy file |
coordstate.cpp | Implements the CoordState class |
coordstate.h | Declares the CoordState class |
correlationgrid.cpp | Implements the CorrelationGrid class to collect correlation statistics on a grid, using several block lengths |
correlationgrid.h | Declares the CorrelationGrid class to collect correlation statistics on a grid, using several block lengths |
correlationhistory.cpp | Implements helper functions for checkpointing the AWH state and observables history |
correlationhistory.h | Contains datatypes and function declarations needed by AWH to have its force correlation data checkpointed |
correlationtensor.cpp | Implements the CorrelationTensor class for correlation tensor statistics |
correlationtensor.h | Declares the CorrelationTensor class for correlation tensor statistics |
dimparams.h | Declares the DimParams struct and AWH vector types |
histogramsize.cpp | Implements the HistogramSize class |
histogramsize.h | Declares the HistogramSize class |
pointstate.cpp | Implements the one method of the PointState class called only for one point per step |
pointstate.h | Declares and defines the PointState class |
read_params.h | Declares functions needed for reading, initializing and setting the AWH parameter data types |
colvars | |
tests | |
colvars.cpp | Tests for functionality of the Colvars module |
colvarsforceprovider.cpp | Tests for ColvarsForceProvider class of Colvars MDModule |
colvarsoptions.cpp | Tests for ColvarsOptions class of Colvars MDModule |
colvarspreprocessor.cpp | Tests for ColvarsPreProcessor class for Colvars MDModule |
colvarproxy_gromacs_version.h | Tracks the Colvars GROMACS interface version; see https://github.com/Colvars/colvars |
colvarproxygromacs.cpp | Implements the Colvars GROMACS proxy class |
colvarproxygromacs.h | Declares the Colvars GROMACS proxy class |
colvarsforceprovider.cpp | Implements the force provider for colvars |
colvarsforceprovider.h | Declares the force provider for colvars |
colvarsMDModule.cpp | Implements Colvars MDModule class |
colvarsMDModule.h | Declares factory structure for Colvars MDModule class |
colvarsMDModule_stub.cpp | Stub implementation of ColvarsMDModule Compiled in case if Colvars is not activated with CMake |
colvarsoptions.cpp | Implements options for Colvars |
colvarsoptions.h | Declares options for Colvars. This class handles parameters set during pre-processing time |
colvarspreprocessor.cpp | Implements the Colvars GROMACS proxy class during pre-processing |
colvarspreprocessor.h | Declares the Colvars GROMACS proxy class during pre-processing |
colvarssimulationsparameters.cpp | Implements the class holding parameters needed during simulation time |
colvarssimulationsparameters.h | Declares parameters needed during simulation time |
densityfitting | |
tests | |
densityfitting.cpp | Tests for functionality of the density fitting module |
densityfittingamplitudelookup.cpp | Tests amplitude lookup for density fitting |
densityfittingforceprovider.cpp | Tests amplitude lookup for density fitting |
densityfittingoptions.cpp | Tests for density fitting module options |
densityfitting.cpp | Declares data structure and utilities for density fitting |
densityfittingamplitudelookup.cpp | Implements amplitude lookup for density fitting |
densityfittingamplitudelookup.h | Declares amplitude lookup for density fitting |
densityfittingforceprovider.cpp | Implements force provider for density fitting |
densityfittingforceprovider.h | Declares force provider for density fitting |
densityfittingoptions.cpp | Implements force provider for density fitting |
densityfittingoptions.h | Declares options for density fitting |
densityfittingoutputprovider.cpp | Declares data structure for density fitting output |
densityfittingoutputprovider.h | Declares output to file for density fitting |
densityfittingparameters.h | Declares parameters needed to evaluate forces and energies for density fitting |
qmmm | |
tests | |
qmmm.cpp | Tests for functionality of the QMMM module |
qmmmforceprovider.cpp | Tests for QMMMForceProvider class for QMMM MDModule |
qmmminputgenerator.cpp | Tests for QMMMInputGenerator class for QMMM MDModule |
qmmmoptions.cpp | Tests for QMMMOptions class of QMMM MDModule |
qmmmtopologypreprocessor.cpp | Tests for QMMMInputGenerator class for QMMM MDModule |
qmmm.cpp | Implements QMMM class that implements IMDModule interface |
qmmm.h | Declares factory structure for QMMM MDModule class |
qmmmforceprovider.cpp | Implements force provider for QMMM |
qmmmforceprovider.h | Declares force provider for QMMM |
qmmmforceprovider_stub.cpp | Stub implementation of QMMMForceProvider Compiled in case if CP2K is not linked |
qmmminputgenerator.cpp | Implements input generator class for CP2K QMMM |
qmmminputgenerator.h | Declares input generator class for CP2K QMMM |
qmmmoptions.cpp | Implements QMMMOptions class |
qmmmoptions.h | Declares options for QM/MM QMMMOptions class responsible for all parameters set up during pre-processing also modificatios of topology would be done here |
qmmmtopologypreprocessor.cpp | Implements QMMMTopologyPreprocessor |
qmmmtopologypreprocessor.h | QMMMTopologyPrepocessor class responsible for all modificatios of the topology during input pre-processing |
qmmmtypes.h | Declares structers and types needed to evaluate forces and energies for QM/MM |
tests | |
electricfield.cpp | Tests for functionality of the electric field module |
electricfield.cpp | Defines data structure and utilities for electric fields |
electricfield.h | Declares module creation function for applied electric fields |
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 |
filenm.cpp | Tests filename-handling functionality |
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.cpp | Implements gmx::CommandLineModuleManager |
cmdlinemodulemanager.h | Declares gmx::CommandLineModuleManager |
cmdlinemodulemanager_impl.h | Declares implementation types for 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) |
compat | C++ standard library compatibility helpers. |
tests | Tests for C++ standard library compatibility helpers. |
pointers.cpp | Tests for pointers.h, e.g. gmx::compat::not_null |
mp11.h | Provides ported functions/classes from boost::mp11 |
pointers.h | Provides ported functions/classes from gsl/pointers |
utility.h | Provides backported functions/classes from utility |
coordinateio | |
frameconverters | |
register.cpp | Implements gmx::ProcessFrameConversion |
register.h | Declares gmx::ProcessFrameConversion |
outputadapters | |
outputselector.cpp | Implements outputselector class |
outputselector.h | Declares gmx::OutputSelector |
setatoms.cpp | Implements setatoms class |
setatoms.h | Declares gmx::SetAtoms |
setbox.h | Declares gmx::SetBox |
setforces.cpp | Implements setforce class |
setforces.h | Declares gmx::SetForces |
setprecision.cpp | Implements setprecision class |
setprecision.h | Declares gmx::SetPrecision |
setstarttime.cpp | Implements setstarttime class |
setstarttime.h | Declares gmx::SetStartTime |
settimestep.cpp | Implements settimestep class |
settimestep.h | Declares gmx::SetTimeStep |
setvelocities.cpp | Implements SetVelocities class |
setvelocities.h | Declares gmx:SetVelocities |
tests | |
builder.cpp | Tests for outputmanager |
coordinate_test.h | Helper classes for coordinatefile and coordinateio tests |
frameconverter.h | Helper classes for frameconverter tests |
outputadaptercontainer.cpp | Tests for outputadaptercontainer |
outputadapters.cpp | Tests for outputmanager |
outputadapters.h | Helpers and data for outputadapter module tests |
register.cpp | Tests for frameconverter registration method |
requirements.cpp | Tests for processing of user input |
requirements.h | Helpers and data for flag setting method |
setatoms.cpp | Tests for gmx::SetAtoms |
setbothtime.cpp | Tests for combination of gmx::SetTimeStep and gmx::SetStartTime |
setstarttime.cpp | Tests for gmx::SetStartTime |
settimestep.cpp | Tests for gmx::SetTimeStep |
testmodule.cpp | Implements test module |
testmodule.h | Dummy module used for tests and as an implementation example |
coordinatefile.cpp | Implements methods from coordinatefile.h |
coordinatefile.h | CoordinateFile takes care of opening files and writing output to them |
coordinatefileenums.h | Defines enum class defining the different requirements that outputadapters have for the output file type. OutputManager objects can only be built with OutputAdapters whose requirements can be implemented with the available input |
frameconverterenums.h | Defines enum class defining the guarantees provided by different frameconverters for the coordiante file manipulations done by them |
iframeconverter.h | Interface class for frame handling, provides handles for all calls |
ioutputadapter.h | Declares gmx::IOutputAdapter interface for modifying coordinate file structures before writing them to disk |
outputadaptercontainer.cpp | Implements gmx::OutputAdapterContainer |
outputadaptercontainer.h | Declares gmx::OutputAdapterContainer, a storage object for multiple outputadapters derived from the IOutputadaper interface |
outputadapters.h | Public API convenience header for accessing outputadapters |
requirements.cpp | Implements helper function to populate requirements from user input |
requirements.h | Storage object for requirements to build coordinate file writer |
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 |
manyautocorrelation.cpp | Implements low level test of manyautocorrelation 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 | |
tests | |
haloexchange_mpi.cpp | Tests for the halo exchange |
hashedmap.cpp | Tests for the HashedMap class |
localatomsetmanager.cpp | Tests for general functionality in gmx::LocalAtomSetManager and gmx::LocalAtomSet, which is only accesible through the manager |
atomdistribution.h | Declares the AtomDistribution struct |
box.cpp | This file defines functions used by the domdec module for (bounding) box and pbc information generation |
box.h | This file declares functions used by the domdec module for (bounding) box and pbc information generation |
builder.h | This file declares a builder class for the manager of domain decomposition |
cellsizes.h | Declares DD cell-size related functions |
collect.h | Declares functions to collect state data to the main rank |
computemultibodycutoffs.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 |
computemultibodycutoffs.h | This file declares the function for computing the required cutoff distance for inter-domain multi-body interactions, when those exist |
distribute.h | Declares the atom distribution function |
dlb.cpp | This file implements functions to interact with the dynamic load balancing machinery |
dlb.h | This file declares functions to interact with the dynamic load balancing machinery |
dlbtiming.h | This file declares functions for timing the load imbalance due to domain decomposition |
domdec.h | This file declares functions for mdrun to call to manage the details of its domain decomposition |
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_setup.h | Declares functions for choosing the DD grid setup |
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_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 |
domdec_zones.cpp | Implements the DomdecZones class |
domdec_zones.h | Declares the DomdecZones class and helper structs |
dump.cpp | This file definees functions for DD to write PDB files e.g. when reporting problems |
dump.h | This file declares functions for DD to write PDB files e.g. when reporting problems |
ga2la.cpp | Implements functions for mapping from global to local atom indices |
ga2la.h | Defines structures and functions for mapping from global to local atom indices. The functions are performance critical and should be inlined |
gpuhaloexchange.h | Declaration of GPU halo exchange |
gpuhaloexchange_impl.cpp | May be used to implement Domdec CUDA interfaces for non-GPU builds |
gpuhaloexchange_impl_gpu.cpp | Implements shared code for GPU halo exchange |
gpuhaloexchange_impl_gpu.h | Declares the implementation of GPU Halo Exchange |
gpuhaloexchange_impl_gpu_sycl.cpp | Implements GPU halo exchange using SYCL |
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 |
localatomset.cpp | Implements classes in LocalAtomSet.h |
localatomset.h | Declares gmx::LocalAtomSet |
localatomsetdata.cpp | Declares gmx::internal::LocalAtomSetDataData |
localatomsetdata.h | Declares gmx::internal::LocalAtomSetData |
localatomsetmanager.cpp | Implements classes in LocalAtomSetmanager.h |
localatomsetmanager.h | Declares gmx::LocalAtomSetManager |
localtopology.cpp | This file defines functions used by the domdec module while building topologies local to a domain |
localtopology.h | This file makes declarations used for building the local topology |
localtopologychecker.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 |
localtopologychecker.h | This file declares functionality for checking whether local topologies describe all bonded interactions |
makebondedlinks.cpp | Defines a function that makes the list of links between atoms connected by bonded interactions |
makebondedlinks.h | Declares a function that makes the list of links between atoms connected by bonded interactions |
mdsetup.h | Contains functions relevant to simulation setup in MD drivers |
options.h | This file declares command-line options for mdrun related to domain decomposition |
partition.cpp | This file defines functions for mdrun to call to make a new domain decomposition, and check it |
partition.h | This file declares functions for mdrun to call to make a new domain decomposition, and check it |
redistribute.h | Declares the atom redistribution function |
reversetopology.cpp | This file defines functions used in making the reverse topology |
reversetopology.h | This file makes declarations used for building the reverse topology |
utility.cpp | Declares utility functions used in the domain decomposition module |
utility.h | Declares utility functions used in the domain decomposition module |
energyanalysis | |
tests | |
energyterm.cpp | Tests for energyanalysis energy term |
legacyenergy.cpp | Tests for gmx energy |
analysismodule.h | Public API convenience header for energy analysis framework |
energyanalysisframe.h | Declares gmx::EnergyAnalysisFrame |
energyterm.cpp | Implements classes in energyanalysis.h |
energyterm.h | Declares gmx::EnergyTerm |
ienergyanalysis.h | Declares gmx::IEnergyAnalysis |
essentialdynamics | |
edsam.h | Declares functions to calculate both essential dynamics constraints as well as flooding potentials and forces |
ewald | |
tests | |
pme.cpp | Tests for functionality of the pme related classes: class SeparatePmeRanksPermitted |
pmebsplinetest.cpp | Implements PME B-spline moduli computation tests |
pmegathertest.cpp | Implements PME force gathering tests |
pmesolvetest.cpp | Implements PME solving tests |
pmesplinespreadtest.cpp | Implements PME spline computation and charge spreading tests |
pmetestcommon.cpp | Implements common routines for PME tests |
pmetestcommon.h | Describes common routines and types for PME tests |
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 |
ewald_utils.h | Declares utility functions related to Ewald |
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.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) |
pme_coordinate_receiver_gpu.h | Declaration of class which receives coordinates to GPU memory on PME task |
pme_coordinate_receiver_gpu_impl.cpp | May be used to implement PME-PP GPU comm interfaces for non-GPU builds |
pme_coordinate_receiver_gpu_impl.h | Declaration of class which receives coordinates to GPU memory on PME task |
pme_coordinate_receiver_gpu_impl_gpu.cpp | Implements class which receives coordinates to GPU memory on PME task using CUDA/SYCL |
pme_force_sender_gpu.h | Declaration of class which sends PME Force from GPU memory to PP task |
pme_force_sender_gpu_impl.cpp | May be used to implement PME-PP GPU comm interfaces for non-GPU builds |
pme_force_sender_gpu_impl.h | Declaration of class which sends PME Force from GPU memory to PP task |
pme_force_sender_gpu_impl_gpu.cpp | Implements backend-agnostic part of GPU-direct PME-PP communication |
pme_force_sender_gpu_impl_gpu_sycl.cpp | Implements backend-specific code for PME-PP communication using SYCL |
pme_gather_sycl.cpp | Implements PME force gathering in SYCL |
pme_gather_sycl.h | Implements PME GPU gather in SYCL |
pme_gpu.cpp | Implements high-level PME GPU functions which do not require GPU framework-specific code |
pme_gpu_calculate_splines.h | This file defines small PME GPU inline host/device functions. Note that OpenCL device-side functions can't use C++ features, so they are located in a similar file pme_gpu_utils.clh. Be sure to keep the logic in sync in both files when changing it! |
pme_gpu_calculate_splines_sycl.h | Implements helper routines for PME gather and spline routines |
pme_gpu_constants.h | This file defines the PME GPU compile-time constants/macros, used both in device and host code |
pme_gpu_grid.h | Implements PME halo exchange and PME-FFT grid conversion functions |
pme_gpu_grid_sycl.cpp | Implements PME GPU halo exchange and PME GPU - Host FFT grid conversion functions. These functions are used for PME decomposition in mixed-mode |
pme_gpu_internal.cpp | This file contains internal function implementations for performing the PME calculations on GPU |
pme_gpu_internal.h | This file contains internal function definitions for performing the PME calculations on GPU. These are not meant to be exposed outside of the PME GPU code. As of now, their bodies are still in the common pme_gpu.cpp files |
pme_gpu_ocl_stubs.cpp | Implements stubs of high-level PME GPU functions for OpenCL |
pme_gpu_program.cpp | Implements PmeGpuProgram, which wrap arounds PmeGpuProgramImpl to store permanent PME GPU context-derived data, such as (compiled) kernel handles |
pme_gpu_program.h | Declares PmeGpuProgram to store data derived from the GPU context or devices for PME, such as (compiled) kernel handles and the warp sizes they work with |
pme_gpu_program_impl.cpp | Implements PmeGpuProgramImpl for non-GPU builds |
pme_gpu_program_impl.h | Declares PmeGpuProgramImpl, which stores PME GPU (compiled) kernel handles |
pme_gpu_program_impl_ocl.cpp | Implements PmeGpuProgramImpl, which stores permanent PME GPU context-derived data, such as (compiled) kernel handles |
pme_gpu_program_impl_sycl.cpp | Implements PmeGpuProgramImpl, which stores permanent PME GPU context-derived data, such as (compiled) kernel handles |
pme_gpu_settings.h | Defines the PME GPU settings data structures |
pme_gpu_staging.h | Defines the host-side PME GPU data structures |
pme_gpu_timings.cpp | Implements PME GPU timing events wrappers |
pme_gpu_timings.h | Defines PME GPU timing functions |
pme_gpu_types.h | Defines the PME GPU data structures (the GPU function parameters used both on host and device sides) |
pme_gpu_types_host.h | Defines the host-side PME GPU data structures |
pme_gpu_types_host_impl.h | Defines the host-side PME GPU data structure, which is dependent on the GPU types. It's included by pointer in the general PmeGpu host structure in pme_gpu_types_host.h |
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_only.h | This file contains function declarations necessary for running on an MPI rank doing only PME long-ranged work |
pme_output.h | Defines a struct useful for transferring the PME output values |
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_pp.h | This file contains function declarations necessary for mananging the PP side of PME-only ranks |
pme_pp_comm_gpu.h | Declaration of GPU PME-PP Communication |
pme_pp_comm_gpu_impl.cpp | May be used to implement PME-PP GPU comm interfaces for non-GPU builds |
pme_pp_comm_gpu_impl.h | Declares GPU implementation class for PME-PP communications |
pme_pp_comm_gpu_impl_gpu.cpp | Implements PME-PP communication using GPU direct communication |
pme_pp_comm_gpu_impl_gpu_sycl.cpp | Implements backend-specific part of PME-PP communication using SYCL |
pme_pp_communication.h | This file contains declarations and constants necessary for coordinating the communication for the offload of long-ranged PME work to separate MPI rank, for computing energies and forces (Coulomb and LJ) |
pme_redistribute.cpp | This file contains function definitions for redistributing atoms over the PME domains |
pme_redistribute.h | Declares functions for redistributing atoms over the PME domains |
pme_solve_sycl.cpp | Implements PME GPU Fourier grid solving in SYCL |
pme_solve_sycl.h | Implements PME GPU spline calculation and charge spreading in SYCL |
pme_spread_sycl.cpp | Implements PME GPU spline calculation and charge spreading in SYCL |
pme_spread_sycl.h | Implements PME GPU spline calculation and charge spreading in SYCL. TODO: consider always pre-sorting particles (as in DD case) |
fft | |
tests | |
fft.cpp | Tests utilities for fft calculations |
fft_mpi.cpp | Tests utilities for fft calculations |
fft.h | Fast Fourier Transforms |
gpu_3dfft.cpp | Implements stub GPU 3D FFT routines for CPU-only builds |
gpu_3dfft.h | Declares the GPU 3D FFT routines |
gpu_3dfft_cufft.h | Declares the GPU 3D FFT routines |
gpu_3dfft_cufftmp.cpp | Implements GPU 3D FFT routines using HeFFTe |
gpu_3dfft_cufftmp.h | Declares the GPU 3D FFT routines |
gpu_3dfft_heffte.cpp | Implements GPU 3D FFT routines using HeFFTe |
gpu_3dfft_heffte.h | Declares the GPU 3D FFT routines |
gpu_3dfft_hip_vkfft.cpp | Implements GPU 3D FFT routines for VkFFT with HIP |
gpu_3dfft_hip_vkfft.h | Declares the HIP GPU 3D FFT routines for VkFFT |
gpu_3dfft_hipfft.cpp | Implements GPU 3D FFT routines for HIP |
gpu_3dfft_hipfft.h | Declares the HIP GPU 3D FFT routines |
gpu_3dfft_impl.cpp | Implements stub GPU 3D FFT routines for CPU-only builds |
gpu_3dfft_impl.h | Declares the GPU 3D FFT routines |
gpu_3dfft_ocl.cpp | Implements GPU 3D FFT routines for OpenCL |
gpu_3dfft_ocl.h | Declares the GPU 3D FFT routines |
gpu_3dfft_ocl_vkfft.cpp | Implements GPU 3D FFT routines for OpenCL |
gpu_3dfft_ocl_vkfft.h | Declares the GPU 3D FFT routines |
gpu_3dfft_sycl.cpp | Implements GPU 3D FFT routines for SYCL |
gpu_3dfft_sycl.h | Declares the GPU 3D FFT routines |
gpu_3dfft_sycl_bbfft.cpp | Implements GPU 3D FFT routines for SYCL. using the double-batched FFT library found at https://github.com/intel/double-batched-fft-library. MKL is expected to perform a bit better than bbfft except for extremely large simulations |
gpu_3dfft_sycl_bbfft.h | Declares the GPU 3D FFT routines |
gpu_3dfft_sycl_mkl.cpp | Implements GPU 3D FFT routines for SYCL |
gpu_3dfft_sycl_mkl.h | Declares the GPU 3D FFT routines |
gpu_3dfft_sycl_rocfft.cpp | Implements GPU 3D FFT routines for hipSYCL via rocFFT |
gpu_3dfft_sycl_rocfft.h | Declares the GPU 3D FFT routines for hipSYCL via rocFFT |
gpu_3dfft_sycl_vkfft.cpp | Implements GPU 3D FFT routines for hipSYCL using vkFFT |
gpu_3dfft_sycl_vkfft.h | Declares the GPU 3D FFT routines |
fileio | |
tests | |
checkpoint.cpp | Tests routines in checkpoint.h |
confio.cpp | Tests for reading/writing different structure file formats |
fileioxdrserializer.cpp | Tests for gmx::FileIOXdrSerializer |
filemd5.cpp | Tests for routines for computing MD5 sums on files |
filetypes.cpp | Tests for routines for file type handling |
h5md.cpp | Tests for H5MD file I/O routines |
matio.cpp | Implements tests for matrix file operations |
mrcdensitymap.cpp | Tests for mrc file data structure |
mrcdensitymapheader.cpp | Tests for mrc file header structure |
mrcserializer.cpp | Tests for mrc file data structure |
readinp.cpp | Tests utilities for routines that parse fields e.g. from grompp input |
timecontrol.cpp | Tests for time control value setting |
tngio.cpp | Tests for file I/O routines |
xvgio.cpp | Implements tests for xvg file operations |
gmxfio_impl.h | Internal definitions shared by gmxfio*.c files |
mrcdensitymap.cpp | Implements mrc/ccp4-file format handling |
mrcdensitymap.h | Declars mrc/ccp4-file format handling |
mrcdensitymapheader.cpp | Implement mrc/ccp4-file metadata |
mrcdensitymapheader.h | Implement mrc/ccp4-file metadata |
mrcserializer.cpp | Implements methods from mrcserializer.h |
mrcserializer.h | Serialization routines for volume data format mrc |
gmxana | |
tests | |
entropy.cpp | Tests for entropy code |
gmx_chi.cpp | Tests for gmx chi |
gmx_mindist.cpp | Tests for gmx mindist |
gmx_traj.cpp | Tests for gmx traj |
gmx_awh.cpp | Tool for extracting AWH (Accelerated Weight Histogram) data from energy files |
gmx_wham.cpp | Implementation of the Weighted Histogram Analysis Method (WHAM) |
thermochemistry.h | Code for computing entropy and heat capacity from eigenvalues |
gmxlib | |
nonbonded | |
tests | |
nb_free_energy.cpp | Implements test of nonbonded fep kernel |
gmxpreprocess | |
tests | |
editconf.cpp | Tests for editconf |
gen_maxwell_velocities.cpp | Tests for velocity generation |
genconf.cpp | Tests for genconf |
genion.cpp | Tests for genion |
genrestr.cpp | Tests for gmx genrestr |
gpp_atomtype.cpp | Test routines that handle check handling of atom types during preprocessing |
gpp_bond_atomtype.cpp | Test routines that handle check handling of bond atom types during preprocessing |
grompp_directives.cpp | Tests for grompp directives parsing |
insert_molecules.cpp | Tests for insertion of molecules |
pdb2gmx.cpp | Tests for pdb2gmx |
readir.cpp | Test routines that parse mdp fields from grompp input and writes mdp back out |
solvate.cpp | Tests for solvation |
topdirs.cpp | Test routines that handle topology directive data structures and files |
gpp_atomtype.h | Declares PreprocessingAtomType |
gpp_bond_atomtype.h | Declares PreprocessingBondAtomType |
hackblock.h | Methods to modify atoms during preprocessing |
resall.h | Methods to get residue information during preprocessing |
gpu_utils | |
tests | |
clfftinitializer.cpp | Tests for clFFT initialization logic |
device_availability.cpp | Check if GPUs are available when they should be |
device_buffer.cpp | Tests for device buffer |
device_stream_manager.cpp | Tests GPU stream manager |
devicetransfers.cpp | Defines helper functionality for device transfers for tests for GPU host allocator |
devicetransfers.h | Declares helper functionality for device transfers for tests for GPU host allocator |
devicetransfers_hip.cpp | Defines helper functionality for device transfers for tests for GPU host allocator |
devicetransfers_ocl.cpp | Defines helper functionality for device transfers for tests for GPU host allocator |
devicetransfers_sycl.cpp | Defines helper functionality for device transfers for tests for GPU host allocator |
gpueventsynchronizer.cpp | Tests for GpuEventSynchronizer |
hostallocator.cpp | Tests for GPU host allocator |
nvshmem_test.cpp | Tests for NVSHMEM put operation |
pinnedmemorychecker.cpp | Tests for GPU memory status checker isHostMemoryPinned() being correct |
typecasts.cpp | Tests for CUDA float3 type layout |
typecasts_runner.h | Header for runner for CUDA float3 type layout tests |
typecasts_runner_hip.cpp | Runners for tests of HIP types compatibility |
clfftinitializer.cpp | Implements ClfftInitializer class |
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 |
device_context.cpp | Implements the DeviceContext for CPU build |
device_context.h | Declarations for DeviceContext class |
device_context_ocl.cpp | Implements the DeviceContext for OpenCL |
device_context_sycl.cpp | Implements the DeviceContext for SYCL builds |
device_event.h | Declares DeviceEvent for all build configuraitons |
device_event_hip.h | Implements a DeviceEvent class for HIP |
device_event_ocl.h | Implements a DeviceEvent class for OpenCL |
device_event_sycl.h | Implements a GpuEventSynchronizer class for SYCL |
device_stream.cpp | Implements the DeviceStream for CPU builds |
device_stream.h | Declarations for DeviceStream class |
device_stream_hip.cpp | Implements the DeviceStream for HIP |
device_stream_manager.cpp | Implements GPU stream manager |
device_stream_manager.h | This file declares a manager of GPU context and streams needed for running workloads on GPUs |
device_stream_ocl.cpp | Implements the DeviceStream for OpenCL |
device_stream_sycl.cpp | Implements the DeviceStream for SYCL builds |
devicebuffer.h | Implements the logic for handling of DeviceBuffer types in OpenCL, CUDA and SYCL |
devicebuffer_datatype.h | Declares the DeviceBuffer data type |
devicebuffer_hip.h | Implements the DeviceBuffer type and routines for HIP. Should only be included directly by the main DeviceBuffer file devicebuffer.h. TODO: the intent is for DeviceBuffer to become a class |
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 |
devicebuffer_sycl.cpp | Implements the DeviceBuffer type and routines for SYCL |
devicebuffer_sycl.h | Implements the DeviceBuffer type and routines for SYCL. Should only be included directly by the main DeviceBuffer file devicebuffer.h. TODO: the intent is for DeviceBuffer to become a class |
gmxopencl.h | Wraps the complexity of including OpenCL in Gromacs |
gmxsycl.h | Wraps the complexity of including SYCL in GROMACS |
gpu_utils.cpp | Function definitions for non-GPU builds |
gpu_utils.h | Declare functions for detection and initialization for GPU devices |
gpu_utils_hip.cpp | Define functions for detection and initialization for HIP devices |
gpu_utils_impl.cpp | Function stubs for build types that don't implement methods |
gpueventsynchronizer.h | Implements a GpuEventSynchronizer class |
gpueventsynchronizer_helpers.cpp | Helper functions for a GpuEventSynchronizer class |
gpueventsynchronizer_helpers.h | Helper functions for a GpuEventSynchronizer class |
gpuregiontimer.h | Defines the GPU region timer implementation/wrapper classes. The implementations live in gpuregiontimer.cuh for CUDA and gpuregiontimer_ocl.h for OpenCL |
gpuregiontimer_hip.h | Implements the GPU region timer for HIP |
gpuregiontimer_ocl.h | Implements the GPU region timer for OpenCL |
gpuregiontimer_sycl.h | Implements the GPU region timer for SYCL |
gputraits.h | Declares the GPU type traits for non-GPU builds |
gputraits_hip.h | Declares the HIP type traits |
gputraits_ocl.h | Declares the OpenCL type traits |
gputraits_sycl.h | Declares the SYCL type traits |
hostallocator.cpp | Implements gmx::HostAllocationPolicy for allocating memory suitable for e.g. GPU transfers on CUDA |
hostallocator.h | Declares gmx::HostAllocationPolicy, gmx::HostAllocator, gmx::HostVector and gmx::PaddedHostVector, 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 |
nvshmem_utils.cpp | Definitions for NVSHMEM initialization/finalize class. gmxNvshmemHandle takes the MPI communicator and initializes the NVSHMEM over all the ranks involved in the given MPI communicator. This is a collective call for all the ranks in the given MPI comm. After NVSHMEM initialization all NVSHMEM APIs can be safely used |
nvshmem_utils.h | Declarations for NVSHMEM initialization/finalize class. gmxNvshmemHandle takes the MPI communicator and initializes the NVSHMEM over all the ranks involved in the given MPI communicator. This is a collective call for all the ranks in the given MPI comm. After NVSHMEM initialization all NVSHMEM APIs can be safely used |
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 |
oclraii.h | Declare RAII helpers for OpenCL types, along with supporting type traits |
oclutils.cpp | Define utility routines for OpenCL |
oclutils.h | Declare utility routines for OpenCL |
packed_float.h | Packed (Fast) float3 implementation for AMD targets |
pmalloc.cpp | Define functions for host-side memory handling when using OpenCL devices or no GPU device |
pmalloc.h | Declare functions for host-side memory handling |
pmalloc_hip.cpp | Define functions for host-side memory handling when using AMD with HIP devices |
pmalloc_sycl.cpp | Pinned memory allocation routines for SYCL |
sycl_kernel_utils.h | SYCL kernel helper functions |
syclutils.h | Declare utility routines for SYCL |
typecasts_cuda_hip.h | Declare functions to be used to cast CPU types to compatible GPU types |
hardware | |
tests | |
cpuinfo.cpp | Tests for gmx::CpuInfo |
device_management.cpp | Tests for DevicesManager |
hardwaretopology.cpp | Tests for gmx::HardwareTopology |
mockhardwaretopology.cpp | Tests for gmx::HardwareTopology |
architecture.h | Declares and defines architecture booleans to minimize preprocessed code |
cpuinfo.cpp | Implements gmx::CpuInfo |
cpuinfo.h | Declares gmx::CpuInfo |
device_information.h | Declares the GPU information structure and its helpers |
device_management.cpp | Defines the CPU stubs for the device management |
device_management.h | Declares functions to manage GPU resources |
device_management_common.cpp | Defines the implementations of device management functions that are common for CPU, CUDA and OpenCL |
device_management_hip.cpp | Defines the HIP implementations of the device management |
device_management_ocl.cpp | Defines the OpenCL implementations of the device management |
device_management_sycl.cpp | Defines the SYCL implementations of the device management |
device_management_sycl_intel_device_ids.cpp | Defines the mapping from Intel PCIE device ID to hardware version |
device_management_sycl_intel_device_ids.h | Lookup Intel hardware version from PCI Express ID |
hardwaretopology.cpp | Implements gmx::HardwareTopology |
hardwaretopology.h | Declares gmx::HardwareTopology |
identifyavx512fmaunits.cpp | Implements a routine to check the number of AVX512 fma units |
identifyavx512fmaunits.h | Defines a routine to check the number of AVX512 fma units |
simd_support.cpp | Implements SIMD architecture support query routines |
simd_support.h | Functions to query compiled and supported SIMD architectures |
imd | |
imd.cpp | Implements Interactive Molecular Dynamics |
imd.h | This file declares the class that coordinates with VMD via the Interactive Molecular Dynamics protocol, along with supporting free functions |
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 | |
tests | |
bonded.cpp | Implements test of bonded force routines |
pairs.cpp | Implements test of 1-4 interactions |
position_restraints.cpp | Implements position restraint tests |
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_forces_gpu.h | This file contains declarations of high-level functions used by mdrun to compute energies and forces for listed interactions |
listed_forces_gpu_impl.cpp | Implements GPU bonded lists for non-GPU builds |
listed_forces_gpu_impl.h | Declares GPU implementation class for GPU bonded interactions |
listed_forces_gpu_impl_gpu.cpp | Implements helper functions for GPU listed forces (bonded) |
listed_forces_gpu_internal_sycl.cpp | Implements SYCL bonded functionality |
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 |
utilities.h | This file declares inline utility functionality |
math | |
include | |
gromacs | |
math | |
arrayrefwithpadding.h | Declares gmx::ArrayRefWithPadding that refers to memory whose size includes padding for SIMD operations |
boxmatrix.h | Declares routines to operate on 3x3 matrices that are boxes, ie. have zero values in their upper right triangle |
coordinatetransformation.h | Declares coordinate transformation routines |
densityfit.h | Declares density similarity measures and their derivatives |
densityfittingforce.h | Declares classes to calculate density fitting forces |
exponentialmovingaverage.h | Declares an exponential moving average class |
gausstransform.h | Declares Gaussian function evaluations on lattices and related functionality |
invertmatrix.h | Declares routines to invert 3x3 matrices |
matrix.h | Declares special case of 3x3 matrix frequently used, and associated functions |
multidimarray.h | Declares MultiDimArray |
neldermead.h | Declare classes to aid Nelder-Mead downhill simplex optimisation |
nrjac.h | Declares wrapper functions for higher-level matrix functions |
optimization.h | Declare function optimization routines |
paddedvector.h | Declares gmx::PaddedRVecVector |
tests | |
arrayrefwithpadding.cpp | Tests for gmx::ArrayRefWithPadding |
boxmatrix.cpp | Tests box matrix inversion routines |
complex.cpp | Tests for math operations on complex numbers |
coordinatetransformation.cpp | Tests structure similarity measures rmsd and size-independent rho factor |
densityfit.cpp | Tests density fitting routines |
densityfittingforce.cpp | Tests for the density fitting force |
dofit.cpp | Tests structure similarity measures rmsd and size-independent rho factor |
exponentialmovingaverage.cpp | Tests for the exponential moving average |
functions.cpp | Tests for simple math functions |
gausstransform.cpp | Tests for Gaussian spreading |
invertmatrix.cpp | Tests matrix inversion routines |
matrix.cpp | Tests matrices |
multidimarray.cpp | Tests multidimensional arrays |
neldermead.cpp | Tests routines in neldermead.h |
optimization.cpp | Tests routines in neldermead.h |
paddedvector.cpp | Tests implementation of gmx::PaddedVector |
testarrayrefs.h | Declares functions for comparing views of vector-like data |
vectypes.cpp | Tests various corners of gmx::RVec implementation |
coordinatetransformation.cpp | Implements coordinate transformation routines |
densityfit.cpp | Implements density similarity measures and their derivatives |
densityfittingforce.cpp | Implements density fitting forces |
exponentialmovingaverage.cpp | Implements routines to calculate an exponential moving average |
functions.cpp | Implements simple math functions |
gausstransform.cpp | Implements Gaussian function evaluations on lattices and related functionality |
invertmatrix.cpp | Routines to invert 3x3 matrices |
matrix.cpp | Implements routines in matrix.h |
neldermead.cpp | Implements routines in neldermead.h |
nrjac.cpp | Defines wrapper functions for higher-level matrix functions |
optimization.cpp | Implements routines in optimization.h |
mdlib | |
tests | |
calc_verletbuf.cpp | Tests for the Verlet buffer calculation algorithm |
calcvir.cpp | Tests for virial calculation |
constr.cpp | SHAKE and LINCS tests |
constrtestdata.cpp | SHAKE and LINCS tests |
constrtestdata.h | SHAKE and LINCS tests header |
constrtestrunners.cpp | Function to run SHAKE and LINCS on CPU |
constrtestrunners.h | SHAKE and LINCS tests runners |
constrtestrunners_gpu.cpp | Subroutines to run LINCS on GPU |
energydrifttracker.cpp | Tests for the EnergyDriftTacker class |
energyoutput.cpp | Tests for energy output to log and .edr files |
expanded.cpp | Tests for expanded ensemble |
freeenergyparameters.cpp | Tests routines in freeenergyparameters.h |
langevin.cpp | Tests for the Leap-Frog integrator |
langevintestdata.cpp | Defines the class to accumulate the data needed for the Langevin integrator tests |
langevintestdata.h | Tests for the Langevin integrator |
langevintestrunners.cpp | Runner for CPU-based implementation of the Langevin integrator |
langevintestrunners.h | Langevin tests runners |
leapfrog.cpp | Tests for the Leap-Frog integrator |
leapfrogtestdata.cpp | Defines the class to accumulate the data needed for the Leap-Frog integrator tests |
leapfrogtestdata.h | Tests for the Leap-Frog integrator |
leapfrogtestrunners.cpp | Runner for CPU-based implementation of the integrator |
leapfrogtestrunners.h | Leap-Frog tests runners |
leapfrogtestrunners_gpu.cpp | Runner for GPU version of the integrator |
mdgpugraph.cpp | Tests for MD GPU graph |
settle.cpp | Tests for SETTLE constraints |
settletestdata.cpp | Defines the class that accumulates SETTLE test data |
settletestdata.h | SETTLE tests header |
settletestrunners.cpp | Defines the test runner for CPU version of SETTLE |
settletestrunners.h | SETTLE tests runners |
settletestrunners_gpu.cpp | Defines the runner for CUDA version of SETTLE |
simulationsignal.cpp | Tests for the mdrun signalling functionality |
updategroups.cpp | Tests for the update groups functionality |
wholemoleculetransform.cpp | Tests for the WholeMoleculeTransform class |
boxdeformation.cpp | Defines the box deformation code |
boxdeformation.h | Declares interface to box deformation code |
broadcaststructs.h | Convenience wrappers for broadcasting structs |
checkpointhandler.cpp | Defines the checkpoint handler class |
checkpointhandler.h | Declares the checkpoint handler class |
constr.cpp | Defines the high-level constraint code |
constr.h | Declares interface to constraint code |
energydrifttracker.cpp | Implements functions from the EnergyDriftTracker class |
energydrifttracker.h | Declares and defines the EnergyDriftTracker class |
energyoutput.cpp | Defines code that writes energy-like quantities |
energyoutput.h | Header for the code that writes energy-like quantities |
expanded_internal.cpp | Implements internal functionality for expanded ensemble |
expanded_internal.h | Declares internal functionality for expanded ensemble |
freeenergyparameters.cpp | Implements routines in freeenergyparameters.h |
freeenergyparameters.h | Handling of free energy parameters |
gpuforcereduction.h | Declares the GPU Force Reduction |
gpuforcereduction_impl.cpp | Implements backend-agnostic GPU Force Reduction functions |
gpuforcereduction_impl.h | Declares the GPU Force Reduction |
gpuforcereduction_impl_internal.h | Declares vendor-specific function to launch force reduction kernel |
gpuforcereduction_impl_internal_sycl.cpp | Implements GPU Force Reduction using SYCL |
gpuforcereduction_impl_stubs.cpp | May be used to implement force reduction interfaces for non-GPU builds |
groupcoord.h | Assemble atomic positions of a (small) subset of atoms and distribute to all nodes |
leapfrog_gpu.cpp | Implements Leap-Frog using CUDA |
leapfrog_gpu.h | Declarations for GPU implementation of Leap-Frog |
leapfrog_gpu_internal.h | Declarations for backend specific GPU functions for Leap-Frog |
leapfrog_gpu_internal_sycl.cpp | Implements Leap-Frog using SYCL |
lincs.cpp | Defines LINCS code |
lincs.h | Declares interface to LINCS code |
lincs_gpu.cpp | Implementations of LINCS GPU class |
lincs_gpu.h | Declares the class for GPU implementation of LINCS |
lincs_gpu_internal.h | Declare backend-specific LINCS GPU functions |
lincs_gpu_internal_sycl.cpp | Implements LINCS kernels using SYCL |
makeconstraints.h | Declares and implements factory function for Constraints |
mdgraph_gpu.h | Declares the MD Graph class |
mdgraph_gpu_impl.cpp | May be used to implement MD graph CUDA interfaces for non-GPU builds |
mdgraph_gpu_impl.h | Declares the MD Graph class |
resethandler.cpp | Defines the reset handler class |
resethandler.h | Declares the reset handler class |
settle.cpp | Defines SETTLE code |
settle.h | Declares interface to SETTLE code |
settle_gpu.cpp | Implements SETTLE using GPU |
settle_gpu.h | Declares class for GPU implementation of SETTLE |
settle_gpu_internal.h | Declares backend-specific functions for GPU implementation of SETTLE |
settle_gpu_internal_sycl.cpp | SYCL-specific routines for the GPU implementation of SETTLE constraints algorithm |
shake.cpp | Defines SHAKE code |
shake.h | Declares interface to SHAKE code |
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 |
stophandler.cpp | Defines StopHandler, a helper class and two stop conditions |
stophandler.h | Declares StopHandler, a helper class and two stop conditions |
update_constrain_gpu.h | Declaration of high-level functions of GPU implementation of update and constrain class |
update_constrain_gpu_impl.cpp | Implements update and constraints class |
update_constrain_gpu_impl.h | Declares GPU implementation class for update and constraints |
update_constrain_gpu_impl_stubs.cpp | Stub for update and constraints class CPU implementation |
update_constrain_gpu_internal.h | Declares GPU implementations of backend-specific update-constraints functions |
update_constrain_gpu_internal_sycl.cpp | Implements backend-specific functions of the update-constraints in SYCL |
updategroups.h | Declares the functions for generating update groups |
updategroupscog.h | Declares the UpdateGroupsCog class for managing centers of mass of update groups |
vsite.cpp | Implements the VirtualSitesHandler class and vsite standalone functions |
vsite.h | Declares the VirtualSitesHandler class and vsite standalone functions |
wholemoleculetransform.h | Declares the WholeMolecules class for generating whole molecules |
mdrun | |
legacymdrunoptions.cpp | This file declares helper functionality for legacy option handling for mdrun |
legacymdrunoptions.h | This file declares helper functionality for legacy option handling for mdrun |
md.cpp | Implements the integrator for normal molecular dynamics simulations |
mdmodules.h | Declares gmx::MDModules |
mimic.cpp | Declares the loop for MiMiC QM/MM |
minimize.cpp | This file defines integrators for energy minimization |
replicaexchange.cpp | Implements the replica exchange routines |
replicaexchange.h | Declares the routines for replica exchange |
rerun.cpp | Implements the loop for simulation reruns |
runner.cpp | Implements the MD runner routine calling all integrators |
runner.h | Declares the routine running the inetgrators |
simulationcontext.h | Provide ways for client code to own simulation resources |
simulationinput.h | Utilities for interacting with SimulationInput |
simulationinputhandle.h | Public interface for SimulationInput facilities |
simulatorbuilder.cpp | Defines the simulator builder for mdrun |
tpi.cpp | This file defines the integrator for test particle insertion |
mdrunutility | |
tests | |
mdmodulesnotifier.cpp | Tests MDModulesNotifier |
freeenergy.cpp | Defines helper functions for mdrun pertaining to free energy calculations |
freeenergy.h | Declares helper functions for mdrun pertaining to free energy calculations |
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) |
logging.cpp | Implements the MD log file handling routines |
logging.h | Declares the MD log file handling routines |
mdmodulesnotifier.h | Declares gmx::MDModulesNotifier and builder |
mdmodulesnotifiers.cpp | Implements routines in mdmodulesnotifiers.h |
mdmodulesnotifiers.h | Declares gmx::MDModulesNotifiers |
multisim.cpp | Implements the multi-simulation support routines |
multisim.h | Declares the multi-simulation support routines |
printtime.h | Declares functions that write timestamps to e.g. log files |
threadaffinity.h | Declares functions for managing mdrun thread affinity |
mdspan | |
tests | |
accessor_policy.cpp | Testing gmx::accessor_policy |
extensions.cpp | Tests gromacs extensions to mdspan proposal |
extents.cpp | Testing gmx::extents |
layouts.cpp | Testing gmx::extents |
mdspan.cpp | Testing gmx::basic_mdspan |
accessor_policy.h | Declares accessor policies for mdspan |
extensions.h | GROMACS extensions to mdspan |
extents.h | Declares gmx::extents for mdspan |
layouts.h | Declares gmx::layout_right for mdspan |
mdspan.h | Declares gmx::mdspan |
mdtypes | |
tests | |
enerdata.cpp | Tests for the ForeignLambdaTerms class |
forcebuffers.cpp | Tests for the ForceBuffers and ForceBuffersView classes |
multipletimestepping.cpp | Tests for the MultipleTimeStepping class and stand-alone functions |
observablesreducer.cpp | Tests for ObservablesReducer |
atominfo.h | This file makes declarations used for storing bitfields describing each atom so that other modules can efficiently process them |
awh_correlation_history.h | Contains datatypes and function declarations needed by AWH to have its force correlation data checkpointed |
awh_history.cpp | Defines functions of the AWH history used by modular checkpointing |
awh_history.h | Contains datatypes and function declarations needed by AWH to have its data checkpointed |
awh_params.h | Declares AWH parameter data types |
checkpointdata.cpp | Defines the checkpoint data structure for the modular simulator |
checkpointdata.h | Provides the checkpoint data structure for the modular simulator |
energyhistory.h | This file contains datatypes for energy statistics history |
forcebuffers.cpp | Implements the ForceBuffers class |
forcebuffers.h | This file contains the definition of a container for force buffers |
forceoutput.h | This file contains the definition of a container for force and virial output |
group.cpp | Implements classes from group.h |
iforceprovider.cpp | Implements classes from iforceprovider.h |
iforceprovider.h | Declares gmx::IForceProvider and ForceProviders |
imdmodule.h | Declares gmx::IMDModule |
imdoutputprovider.h | Declares gmx::IMDOutputProvider |
imdpoptionprovider.h | Declares gmx::IMdpOptionProvider |
locality.h | Defines atom and atom interaction locality enums |
mdrunoptions.h | This file declares helper functionality for legacy option handling for mdrun |
observableshistory.h | This file contains the definition of a container for history data for simulation observables |
observablesreducer.cpp | Defines gmx::ObservablesReducer and its builder |
observablesreducer.h | Declares gmx::ObservablesReducer and builder |
pull_params.h | This file contains datatypes for the mdp options used by the pull code |
pullhistory.h | This file contains datatypes for pull statistics history |
simulation_workload.h | Declares step, domain-lifetime, and run workload managers |
state.h | This file contains the definition of the microstate of the simulated system |
state_propagator_data_gpu.h | Declaration of interfaces for GPU state data propagator object |
state_propagator_data_gpu_impl.cpp | The CPU stub for the state propagator data class |
state_propagator_data_gpu_impl.h | Declaration of low-level functions and fields of GPU state propagator object |
state_propagator_data_gpu_impl_gpu.cpp | Definitions of interfaces for GPU state data propagator object |
threaded_force_buffer.cpp | This file defines the implementation of ThreadForceBuffer and ThreadedForceBuffer |
threaded_force_buffer.h | This file contains the declaration of ThreadForceBuffer and ThreadedForceBuffer |
mimic | |
utilities.h | Provides utility functions for MiMiC QM/MM |
modularsimulator | |
andersentemperaturecoupling.cpp | Defines Andersen temperature coupling for the modular simulator |
andersentemperaturecoupling.h | Declares Andersen temperature coupling for the modular simulator |
checkpointhelper.cpp | Defines the checkpoint helper for the modular simulator |
checkpointhelper.h | Declares the checkpoint helper for the modular simulator |
compositesimulatorelement.cpp | Defines the composite element for the modular simulator |
compositesimulatorelement.h | Declares the composite element for the modular simulator |
computeglobalselement.cpp | Defines the global reduction element for the modular simulator |
computeglobalselement.h | Declares the global reduction element for the modular simulator |
constraintelement.cpp | Defines the constraint element for the modular simulator |
constraintelement.h | Declares the constraint element for the modular simulator |
domdechelper.cpp | Defines the domain decomposition helper for the modular simulator |
domdechelper.h | Declares the domain decomposition helper for the modular simulator |
energydata.cpp | Defines the microstate for the modular simulator |
energydata.h | Declares the energy element for the modular simulator |
expandedensembleelement.cpp | Defines the expanded ensemble element for the modular simulator |
expandedensembleelement.h | Declares the expanded ensemble element for the modular simulator |
firstorderpressurecoupling.cpp | Defines the element performing first-order pressure coupling for the modular simulator |
firstorderpressurecoupling.h | Declares the element performing first-order pressure coupling for the modular simulator |
forceelement.cpp | Defines the force element for the modular simulator |
forceelement.h | Declares the force element for the modular simulator |
freeenergyperturbationdata.cpp | Defines the free energy perturbation element for the modular simulator |
freeenergyperturbationdata.h | Declares the free energy perturbation element for the modular simulator |
modularsimulator.cpp | Defines the modular simulator |
modularsimulator.h | Provides the modular simulator |
modularsimulatorinterfaces.h | Declares the main interfaces used by the modular simulator |
mttk.cpp | Defines classes related to MTTK pressure coupling |
mttk.h | Declares classes related to MTTK pressure coupling |
nosehooverchains.cpp | Defines classes related to Nose-Hoover chains for the modular simulator |
nosehooverchains.h | Declares classes related to Nose-Hoover chains for the modular simulator |
parrinellorahmanbarostat.cpp | Defines the Parrinello-Rahman barostat for the modular simulator |
parrinellorahmanbarostat.h | Declares the Parrinello-Rahman barostat for the modular simulator |
pmeloadbalancehelper.cpp | Declares the PME load balancing helper for the modular simulator |
pmeloadbalancehelper.h | Declares the PME load balancing helper for the modular simulator |
propagator.cpp | Defines the propagator element for the modular simulator |
propagator.h | Declares the propagator element for the modular simulator |
pullelement.cpp | Defines the pull element for the modular simulator |
pullelement.h | Declares the pull element for the modular simulator |
referencetemperaturemanager.cpp | Defines the a helper struct managing reference temperature changes |
referencetemperaturemanager.h | Declares the a helper struct managing reference temperature changes |
signallers.cpp | Defines the signallers for the modular simulator |
signallers.h | Declares the signallers for the modular simulator |
simulatoralgorithm.cpp | Defines the modular simulator algorithm |
simulatoralgorithm.h | Provides the modular simulator algorithm |
statepropagatordata.cpp | Defines the state for the modular simulator |
statepropagatordata.h | Declares the state for the modular simulator |
topologyholder.cpp | Defines the topology class for the modular simulator |
topologyholder.h | Declares the topology class for the modular simulator |
trajectoryelement.cpp | Defines the trajectory element for the modular simulator |
trajectoryelement.h | Declares the trajectory element for the modular simulator |
trotterhelperfunctions.h | Defines helper functions used by the Trotter decomposition algorithms (Nose-Hoover chains, MTTK) |
velocityscalingtemperaturecoupling.cpp | Defines a velocity-scaling temperature coupling element for the modular simulator |
velocityscalingtemperaturecoupling.h | Declares a velocity-scaling temperature coupling element for the modular simulator |
nbnxm | |
benchmark | |
bench_coords.h | This file defines a box with 1000 SPC/E water molecules for use in benchmarks |
bench_setup.cpp | This file defines functions for setting up kernel benchmarks |
bench_setup.h | This file declares functions for setting up kernel benchmarks |
bench_system.cpp | This file defines functions for setting up a benchmark system |
bench_system.h | This file declares functions for setting up a benchmark system |
cuda | |
nbnxm_cuda.h | Declares nbnxn cuda cache and texture helper functions |
nbnxm_cuda_types.h | Data types used internally in the nbnxn_cuda module |
kernels_reference | |
kernel_gpu_ref.h | Declares GPU reference kernel |
kernel_ref.h | Declares CPU reference kernels |
kernel_ref_prune.h | Declares the C reference pruning only kernel |
opencl | |
nbnxm_gpu_buffer_ops_internal_ocl.cpp | Define OpenCL implementation for transforming position coordinates from rvec to nbnxm layout |
nbnxm_ocl.cpp | Define OpenCL implementation of nbnxm_gpu.h |
nbnxm_ocl_consts.h | Declares constants for OpenCL code |
nbnxm_ocl_data_mgmt.cpp | Define OpenCL implementation of nbnxm_gpu_data_mgmt.h |
nbnxm_ocl_jit_support.cpp | Defines functions that support JIT compilation (e.g. for OpenCL) |
nbnxm_ocl_types.h | Data types used internally in the nbnxm_ocl module |
sycl | |
nbnxm_gpu_buffer_ops_internal_sycl.cpp | SYCL implementation of coordinate layout conversion kernel and its wrapper |
nbnxm_sycl.cpp | Data management and kernel launch functions for nbnxm sycl |
nbnxm_sycl_data_mgmt.cpp | Stubs of functions that must be defined by nbnxm sycl implementation |
nbnxm_sycl_kernel.cpp | NBNXM SYCL kernels |
nbnxm_sycl_kernel.h | Declares nbnxn sycl helper functions |
nbnxm_sycl_kernel_body.h | NBNXM SYCL kernels |
nbnxm_sycl_kernel_body_f_noprune.cpp | Explicitly instantiate NBNXM SYCL kernels, F-only, no pruning |
nbnxm_sycl_kernel_body_f_prune.cpp | Explicitly instantiate NBNXM SYCL kernels, F-only, with pruning |
nbnxm_sycl_kernel_body_fv_noprune.cpp | Explicitly instantiate NBNXM SYCL kernels, F+V, no pruning |
nbnxm_sycl_kernel_body_fv_prune.cpp | Explicitly instantiate NBNXM SYCL kernels, F+V, with pruning |
nbnxm_sycl_kernel_pruneonly.cpp | NBNXM SYCL kernels |
nbnxm_sycl_kernel_pruneonly.h | Declares nbnxn sycl helper functions |
nbnxm_sycl_kernel_utils.h | Helper functions and constants for SYCL NBNXM kernels |
nbnxm_sycl_types.h | Data types used internally in the nbnxm_sycl module |
tests | |
exclusions.cpp | Tests for exclusions in the Nbnxm CPU pairlists |
kernel_test.cpp | Tests for NBNxM pair kernel forces and energies |
kernelsetup.cpp | Tests for Setup of kernels |
pairlist.cpp | Tests for gpu pairlist datastructure memory handling |
simd_energy_accumulator.cpp | Tests for the EnergyAccumulator class |
spc81_coords.h | This file defines a box with 81 SPC/E water molecules, 243 atoms, for use in tests |
testsystem.cpp | Implements the TestSystem class |
testsystem.h | Declares the TestSystem class used for testing NBNxM functionality |
atomdata.h | Functionality for per-atom data in the nbnxm module |
boundingbox.h | Declares and defines the BoundingBox class |
boundingbox_simd.h | Declares sizes and boolean macros for bouding boxes handled with SIMD code |
boundingboxdistance.h | Declares and defines functions for computing distances between bounding boxes |
clusterdistancekerneltype.h | Declares the ClusterDistanceKernelType enum |
exclusionchecker.cpp | This file defines functions to reduce and check exclusion counts |
exclusionchecker.h | This file declares functionality for checking whether all exclusions are present in the pairlist |
freeenergydispatch.h | Declares the free-energy kernel dispatch class |
gpu_common.h | Common functions for the different NBNXN GPU implementations |
gpu_common_utils.h | Implements common util routines for different NBNXN GPU implementations |
gpu_data_mgmt.h | Declare interface for GPU data transfer for NBNXN module |
gpu_jit_support.h | Declares functions that support JIT compilation (e.g. for OpenCL) |
gpu_types_common.h | Implements common internal types for different NBNXN GPU implementations |
grid.cpp | Implements the Grid class |
grid.h | Declares the Grid class |
gridset.cpp | Implements the GridSet class |
gridset.h | Declares the GridSet class |
gridsetdata.h | Declares the GridSetData struct which holds grid data that is shared over all grids |
kernel_common.cpp | Implements utility functions used by all nbnxm CPU kernels |
kernel_common.h | Declares the nbnxm pair interaction kernel function types and kind counts, also declares utility functions used in nbnxm_kernel.cpp |
nbnxm.cpp | Implements the Nbnxm class |
nbnxm.h | This file contains the public interface of the nbnxm module that implements the NxM atom cluster non-bonded algorithm to efficiently compute pair forces |
nbnxm_enums.h | Nbnxm internal enumerations |
nbnxm_geometry.h | Declares the geometry-related functionality |
nbnxm_gpu.h | Declare interface for GPU execution for NBNXN module |
nbnxm_gpu_buffer_ops.cpp | Common code for GPU buffer operations, namely the coordinate layout conversion |
nbnxm_gpu_buffer_ops_internal.h | Wrapper for the backend-specific coordinate layout conversion functionality |
nbnxm_gpu_data_mgmt.cpp | Define common implementation of nbnxm_gpu_data_mgmt.h |
nbnxm_gpu_data_mgmt.h | Declare common functions for NBNXM GPU data management |
nbnxm_setup.cpp | Common functions for the different NBNXN GPU implementations |
nbnxm_simd.h | Defines constants used to know which nbNxM kernel flavours (4xM or 2xMM) can be supported by the SIMD layer in use |
pairlist_imask.h | Declares and defines pairlist interaction mask generation functions |
pairlist_simd_kernel.cpp | Defines the SIMD cluster pair distance kernel and helpers |
pairlist_simd_kernel.h | Declares the SIMD cluster pair distance kernel and helpers |
pairlist_tuning.cpp | Implements functions for tuning adjustable parameters for the nbnxn non-bonded search and interaction kernels |
pairlist_tuning.h | Declares functions for tuning adjustable parameters for the nbnxn non-bonded search and interaction kernels |
pairlistparams.cpp | Implements the PairlistParams constructor |
pairlistparams.h | Declares the PairlistType enum and PairlistParams class |
pairlistset.cpp | Implements functionality for PairlistSet |
pairlistset.h | Declares the PairlistSet class |
pairlistsets.h | Declares the PairlistSets class |
pairlistwork.cpp | Implements constructors for NbnxnPairlistGpuWork |
pairlistwork.h | Declares working data structures for the CPU and GPU pairlists |
pairsearch.cpp | Implements the PairSearch class |
pairsearch.h | Declares the PairSearch class and helper structs |
simd_kernel.h | Declares and defines the NBNxM SIMD pair interaction kernel function |
simd_load_store_functions.h | Defines functions to load data to and store data from SIMD registers for the SIMD 4xM and 2xMM kernels |
simd_prune_kernel.h | Declares the NBNxM SIMD pruning only kernel |
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 |
repeatingsection.cpp | Tests functionality related to repeating sections |
timeunitmanager.cpp | Tests handling of time units with gmx::TimeUnitManager and gmx::TimeUnitBehavior |
treesupport.cpp | Tests option support for operations on KeyValueTree |
abstractoption.cpp | Implements classes in abstractoption.h and abstractoptionstorage.h |
abstractoptionstorage.h | Declares gmx::AbstractOptionStorage |
abstractsection.cpp | Implements classes from abstractsection.h |
abstractsection.h | Declares base classes for declaring option sections |
basicoptions.cpp | Implements classes in basicoptions.h and basicoptionstorage.h |
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 |
filenameoptionmanager.cpp | Implements gmx::FileNameOptionManager |
filenameoptionstorage.h | Declares gmx::FileNameOptionStorage |
isectionstorage.h | Declares gmx::IOptionSectionStorage |
optionmanagercontainer.h | Declares gmx::OptionManagerContainer |
options.cpp | Implements gmx::Options |
options_impl.h | Declares private implementation class for gmx::Options |
optionsassigner.cpp | Implements gmx::OptionsAssigner |
optionsassigner.h | Declares gmx::OptionsAssigner |
optionsection.h | Declares gmx::OptionSection and gmx::OptionSectionInfo |
optionstoragetemplate.h | Defines gmx::OptionStorageTemplate template |
optionsvisitor.cpp | Implements classes in optionsvisitor.h |
optionsvisitor.h | Declares gmx::OptionsVisitor interface and supporting classes |
repeatingsection.h | Declares gmx::RepeatingOptionSection and related classes |
timeunitmanager.cpp | Implements gmx::TimeUnitManager |
treesupport.cpp | Implements functions from treesupport.h |
treesupport.h | Declares functions for using keyvaluetree.h with Options |
valueconverter.h | Provides gmx::OptionValueConverterSimple |
valuestore.h | Declares implementations for IOptionValueStore |
pbcutil | |
include | |
gromacs | |
pbcutil | |
com.h | Helper methods to place particle COM in boxes |
pbc_aiuc.h | Structure and basic routines to handle periodic boundary conditions |
pbc_aiuc_sycl.h | Basic routines to handle periodic boundary conditions with SYCL |
pbc_simd.h | This file contains a definition, declaration and inline function for SIMD accelerated PBC calculations |
pbcenums.h | Defines enum classes for centering and unit cell types |
tests | |
com.cpp | Tests COM handling code |
mshift.cpp | Tests for the graph functionality to make molecules whole that are broken over pbc |
pbc.cpp | Tests PBC code |
pbcenums.cpp | Tests PBC enumerations |
boxutilities.cpp | Implements routines in boxutilities.h |
com.cpp | Implements helper methods to place particle COM in boxes |
pbc.cpp | Implements routines in pbc.h |
pbc_simd.cpp | This file defines a low-level function for SIMD PBC calculation |
pbcenums.cpp | Implements getters for enum names |
pulling | |
include | |
gromacs | |
pulling | |
pull.h | This file contains datatypes and function declarations necessary for mdrun to interface with the pull code |
pull_rotation.h | Declares functions to enforce rotational motion upon a group of particles |
tests | |
pull.cpp | Implements test of some pulling routines |
output.h | This file declares functions for pull output writing |
pull_internal.h | This file contains datatypes and function declarations for internal use in the pull code |
pullcoordexpressionparser.h | Contains classes and methods related to use of MuParser in pulling |
transformationcoordinate.h | Declares function for compute transformation coordinate values and forces |
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 |
restraint | |
manager.cpp | Implement the restraint manager |
manager.h | Declare the Manager for restraint potentials |
restraintmdmodule.h | Library interface for RestraintMDModule |
restraintmdmodule_impl.h | Implementation details for RestraintMDModule |
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 |
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) |
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 |
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 |
selectioncollection.cpp | Implements gmx::SelectionCollection |
selectioncollection_impl.h | Declares private implementation class for gmx::SelectionCollection |
selectionfileoption.h | Declares gmx::SelectionFileOption and gmx::SelectionFileOptionInfo |
selectionfileoptionstorage.h | Declares gmx::SelectionFileOptionStorage |
selectionoption.cpp | Implements classes in selectionoption.h and selectionoptionstorage.h |
selectionoptionbehavior.cpp | Implements gmx::SelectionOptionBehavior |
selectionoptionmanager.cpp | Implements 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) |
include | |
gromacs | |
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 |
hsimd_declarations.h | Declares all Hsimd functions that are not supported |
simd.h | Definitions, capabilities, and wrappers for SIMD module |
simd_math.h | Math functions for SIMD datatypes |
simd_memory.h | Declares SimdArrayRef |
vector_operations.h | SIMD operations corresponding to Gromacs rvec datatypes |
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 |
data.h | Common test data constants for SIMD, SIMD4 and scalar tests |
simd.h | Declares fixture for testing of normal SIMD (not SIMD4) functionality |
simd4.h | Declares fixture for testing of SIMD4 functionality |
simd_memory.cpp | Tests for gmx::ArrayRef for SIMD types |
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 |
tables | |
tests | |
splinetable.cpp | Tests for simple math functions.eval |
cubicsplinetable.cpp | Implements classes for cubic spline table functions |
cubicsplinetable.h | Declares classes for cubic spline table |
forcetable.h | Old routines for table generation (will eventually be replaced) |
quadraticsplinetable.cpp | Implements classes for quadratic spline table functions |
quadraticsplinetable.h | Declares classes for quadratic spline table |
splineutil.cpp | Implements internal utility functions for spline tables |
splineutil.h | Declares internal utility functions for spline tables |
tableinput.h | Declares structures for analytical or numerical input data to construct tables |
taskassignment | |
include | |
gromacs | |
taskassignment | |
decidegpuusage.h | Declares functionality for deciding whether tasks will run on GPUs |
decidesimulationworkload.h | Declares routine for deciding simulation workload based on GPU tasks |
resourcedivision.h | Declares utility functionality for dividing resources and checking for consistency and usefulness |
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 |
usergpuids.h | Declares routines for handling user-specified GPU IDs |
tests | |
usergpuids.cpp | Tests for NonbondedOnGpuFromUser |
decidegpuusage.cpp | Defines functionality for deciding whether tasks will run on GPUs |
decidesimulationworkload.cpp | Declares utility functions to manage step, domain-lifetime, and run workload data structures |
findallgputasks.cpp | Defines routine for collecting all GPU tasks found on ranks of a node |
findallgputasks.h | Declares routine for collecting all GPU tasks found on ranks of a node |
reportgpuusage.cpp | Defines routine for reporting GPU usage |
reportgpuusage.h | Declares routine for reporting GPU usage |
resourcedivision.cpp | Defines utility functionality for dividing resources and checking for consistency and usefulness |
taskassignment.cpp | Defines helper and factory functionality for task assignment |
usergpuids.cpp | Defines routines for handling user-specified GPU IDs |
timing | |
include | |
gromacs | |
timing | |
cyclecounter.h | High-resolution timestamp or CPU clock cycle counters |
gpu_timing.h | Declares data types for GPU timing |
instrumentation.h | Define basic tracing API for manual instrumentation |
tests | |
timing.cpp | This implements tests for timing function wrappers and decorators |
tools | |
tests | |
convert-tpr-fixture.h | Fixture for tests for gmx convert-tpr |
convert-tpr-with-leaks.cpp | Tests for gmx convert-tpr that cause memory leaks |
convert-tpr.cpp | Tests for gmx convert-tpr |
dump.cpp | Tests for functionality of the "dump" tool |
helpwriting.cpp | This implements tests on tool help writing. Based on mdrun test version |
make_ndx.cpp | Tests for gmx make_ndx |
report_methods.cpp | Tests for functionality of the "report" tool to write system information |
trjconv.cpp | Tests for gmx trjconv |
dump.cpp | Implements gmx dump utility |
topology | |
include | |
gromacs | |
topology | |
atomsbuilder.h | Utility classes for manipulating t_atoms structures |
mtop_atomloops.h | This file contains functions to loop over topology contents |
mtop_lookup.h | This file contains inline functions to look up atom information using the global atom index |
tests | |
atoms.cpp | Tests for atoms datastructures |
exclusionblocks.cpp | Implements test of exclusionblock routines |
idef.cpp | Implements test of InteractionList routines |
index.cpp | Implements test of index generation routines |
mtop.cpp | Implements test of mtop routines |
symtab.cpp | Tests for legacy symbol table and replacement |
topsort.cpp | Implements test of topology sorting routines |
atomsbuilder.cpp | Implements classes from atomsbuilder.h |
ifunc.cpp | Defines interaction functions |
symtab.cpp | Implements new and legacy symbol table routines |
trajectory | |
energyframe.cpp | Implementions of related classes for tests that want to inspect energies produced by mdrun |
trajectoryanalysis | Framework for Trajectory Analysis (trajectoryanalysis) |
modules | |
angle.cpp | Implements gmx::analysismodules::Angle |
angle.h | Declares trajectory analysis module for angle calculations |
convert_trj.cpp | Implements gmx::analysismodules::ConvertTrj |
convert_trj.h | Declares trajectory analysis module for trajectory conversion |
distance.cpp | Implements gmx::analysismodules::Distance |
distance.h | Declares trajectory analysis module for distance calculations |
dssp.cpp | Implements gmx::analysismodules::Dssp |
dssp.h | Declares trajectory analysis module for secondary structure asignment |
extract_cluster.cpp | Implements gmx::analysismodules::ExtractCluster |
extract_cluster.h | Declares trajectory analysis module for extracting frames corresponding to clusters |
freevolume.cpp | Implements gmx::analysismodules::Freevolume |
freevolume.h | Declares trajectory analysis module for free volume calculations |
gyrate.cpp | Implements gmx::analysismodules::Gyrate |
gyrate.h | Declares trajectory analysis module for distance calculations |
hbond.cpp | Implements gmx::analysismodules::Hbond2 |
hbond.h | Declares trajectory analysis module for computation and analyzation of hydrogen bonds |
isotope.cpp | Declares helper functions for assigning isotops from atom names |
isotope.h | Declares helper functions for assigning isotops from atom names |
msd.cpp | Defines the trajectory analysis module for mean squared displacement calculations |
msd.h | Declares trajectory analysis module for Mean Squared Displacement 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 |
scattering-debye-sans.cpp | Implements class for SANS Debye Scattering |
scattering-debye-sans.h | Declares class for SANS Debye Scattering |
scattering-debye-saxs.cpp | Implements class for SAXS Debye Scattering |
scattering-debye-saxs.h | Declares class for SAXS Debye Scattering |
scattering-debye.cpp | Implementation of base class for Debye Scattering |
scattering-debye.h | Declares base class for Debye Scattering |
scattering.cpp | Implements gmx::analysismodules::scattering |
scattering.h | Declares trajectory analysis module for small angle scattering calculations |
scatteringfactors.cpp | Implements helper functions for reading structure factors from datafile |
scatteringfactors.h | Declares helper functions for reading structure factors from datafile |
select.cpp | Implements gmx::analysismodules::Select |
select.h | Declares trajectory analysis module for basic selection information |
trajectory.cpp | Implements gmx::analysismodules::Trajectory |
trajectory.h | Declares trajectory analysis module for basic trajectory information |
unionfind.h | Implements gmx::UnionFinder and gmx::MappedUnionFinder |
tests | Unit tests for Framework for Trajectory Analysis (trajectoryanalysis) |
angle.cpp | Tests for functionality of the "angle" trajectory analysis module |
clustsize.cpp | Tests for gmx clustsize |
cmdlinerunner.cpp | Tests for general functionality in gmx::TrajectoryAnalysisCommandLineRunner |
convert_trj.cpp | Tests for functionality of the "convert-trj" trajectory analysis module |
distance.cpp | Tests for functionality of the "distance" trajectory analysis module |
dssp.cpp | Tests for functionality of the "dssp" trajectory analysis module |
extract_cluster.cpp | Tests for functionality of the "extract-cluster" trajectory analysis module |
freevolume.cpp | Tests for functionality of the "angle" trajectory analysis module |
gyrate.cpp | Tests for functionality of the "gyrate" trajectory analysis module |
hbond.cpp | Tests for functionality of the "hbond" trajectory analysis module |
moduletest.cpp | Implements classes in moduletest.h |
moduletest.h | Declares test fixture for TrajectoryAnalysisModule subclasses |
msd.cpp | Tests for functionality of the "msd" trajectory analysis module |
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 |
scattering.cpp | Tests for scattering 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 |
topologyinformation.cpp | Tests for TopologyInformation |
trajectory.cpp | Tests for functionality of the "trajectory" trajectory analysis module |
unionfind.cpp | Tests for the union-find implementation in unionfind.h |
analysismodule.cpp | Implements classes in analysismodule.h |
analysissettings.cpp | Implements classes in analysissettings.h |
analysissettings_impl.h | Declares private implementation class for gmx::TrajectoryAnalysisSettings |
cmdlinerunner.cpp | Implements 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 |
topologyinformation.cpp | Implements classes in topologyinformation.h |
utility | Low-Level Utilities (utility) |
include | |
gromacs | |
utility | |
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 |
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 |
any.h | Declares gmx::Any |
arraysize.h | Provides asize() function for calculating the static size of an array at compile time |
basenetwork.h | Utility functions for basic MPI and network functionality |
binaryinformation.h | Helper functionality for information about the currently running binary |
bitmask.h | Declares gmx_bitmask_t and associated functions |
booltype.h | Define a boolean datatype that can be stored in a std::vector and have a view on it |
compare.h | Utilities for comparing data structures (for gmx check) |
coolstuff.h | Functionality for printing cool strings |
cstringutil.h | Generic C string handling functions |
datafilefinder.h | Declares gmx::DataFileFinder and related classes |
defaultinitializationallocator.h | Declares an allocator that can use default initialization instead of values initialization. This is useful for improving performance of resize() in standard vectors for buffers in performance critical code |
directoryenumerator.h | Declares gmx::DirectoryEnumerator |
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 |
fixedcapacityvector.h | Declares gmx::FixedCapacityVector |
gmxmpi.h | Wraps mpi.h usage in Gromacs |
gmxomp.h | Declares OpenMP wrappers to avoid conditional compilation |
ikeyvaluetreeerror.h | Declares an error handling interface for key-value tree operations |
init.h | Declares functions for initializing the GROMACS library |
inmemoryserializer.h | Declares gmx::ISerializer implementation for in-memory serialization |
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 |
iserializer.h | Declares a generic serialization interface that supports both directions |
keyvaluetree.h | Declares a data structure for JSON-like structured key-value mapping |
keyvaluetreebuilder.h | Declares classes for building the data structures in keyvaluetree.h |
keyvaluetreemdpwriter.h | Declares a function to write a flat key-value tree to look like old-style mdp output |
keyvaluetreeserializer.h | Declares serialization routines for KeyValueTree objects |
keyvaluetreetransform.h | Declares utilities for transforming key-value trees |
logger.h | Declares functionality for logging |
loggerbuilder.h | Declares functionality for initializing logging |
message_string_collector.h | Declares gmx::MessageStringCollector |
niceheader.h | Declares function for printing a nice header for text output files |
path.h | Declares functions for OS-independent path handling |
physicalnodecommunicator.h | Declares functionality for communicators across physical nodes |
snprintf.h | Provide snprintf symbol on all OS (for internal Gromacs use) |
strconvert.h | Declares common utility functions for conversions to and from strings |
strdb.h | Declares C functions for reading files with a list of strings |
stringcompare.h | Declares utility functionst for string comparison |
stringstream.h | Declares implementations for textstream.h interfaces for input/output to in-memory strings |
stringtoenumvalueconverter.h | Defines helper function object for class enumerations |
sysinfo.h | Declares functions that wrap platform-specific calls for obtaining information about the operating environment and the current process |
template_mp.h | Declares utilities for template metaprogramming |
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 |
typetraits.h | Declares type traits |
tests | Unit tests for Low-Level Utilities (utility) |
alignedallocator.cpp | Tests for gmx::AlignedAllocator and gmx::PageAlignedAllocator |
alignedallocator_impl.h | Tests for allocators that offer a minimum alignment |
arrayref.cpp | Tests for gmx::ArrayRef |
bitmask.h | Tests for bitmask functionality |
booltype.cpp | Tests routines in booltype.h |
cstringutil.cpp | Tests for C-style string utility functions |
defaultinitializationallocator.cpp | Tests for gmx::DefaultInitializationAllocator used in std::vector |
enumerationhelpers.cpp | Tests for enumeration helpers |
fixedcapacityvector.cpp | Tests for gmx::FixedCapacityVector |
inmemoryserializer.cpp | Tests for gmx::InMemorySerializer and InMemoryDeserializer |
listoflists.cpp | Tests for the ListOfLists class |
message_string_collector.cpp | Tests for MessageStringCollector |
path.cpp | Tests for (some) functions in path.h |
range.cpp | Tests for the Range class |
strconvert.cpp | Tests routines in strconvert.h |
stringtoenumvalueconverter.cpp | Tests for string-to-enum-value helper functor |
stringutil.cpp | Tests for string utility functions and classes |
textreader.cpp | Tests for gmx::TextReader |
textwriter.cpp | Tests for gmx::TextWriter |
alignedallocator.cpp | Implements AlignedAllocator |
any.cpp | Implements functionality from any.h |
baseversion_gen.h | Declares variables that hold generated version information |
binaryinformation.cpp | Implements functionality for printing information about the currently running binary |
booltype.cpp | Implements routines in booltype.h |
coolstuff.cpp | Functionality for printing cool strings |
datafilefinder.cpp | Implements gmx::DataFileFinder |
directoryenumerator.cpp | Implements 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 |
fileredirector.cpp | Implements classes and functions from fileredirector.h |
filestream.cpp | Implements classes from filestream.h |
gmxassert.cpp | Implements assertion handlers |
gmxomp.cpp | Implements functions from gmxomp.h |
init.cpp | Implements functions from init.h |
inmemoryserializer.cpp | Defines gmx::ISerializer implementation for in-memory serialization |
keyvaluetreemdpwriter.cpp | Defines a function to write a flat key-value tree to look like old-style mdp output |
message_string_collector.cpp | Implements gmx::MessageStringCollector |
niceheader.cpp | Implements functions from niceheader.h |
nodelete.h | Declares no_delete deleter for std::shared_ptr |
path.cpp | Implements functions in path.h |
physicalnodecommunicator.cpp | Defines functionality for communicators across physical nodes |
programcontext.cpp | Implements gmx::IProgramContext and related methods |
strconvert.cpp | Implements functions in strconvert.h |
stringstream.cpp | Implements classes from stringstream.h |
stringutil.cpp | Implements functions and classes in stringutil.h |
sysinfo.cpp | Implements functions from sysinfo.h |
textreader.cpp | Implements gmx::TextReader |
textwriter.cpp | Implements gmx::TextWriter |
onlinehelp_doc.h | Dummy header for Help Formatting for Online Help (onlinehelp) documentation |
utility.h | Public API convenience header for low-level utilities |
include | |
gmxpre.h | Prerequisite header file for GROMACS build |
programs | Source code for building executables, see Wrapper binary implementation |
mdrun | Source code specific to mdrun |
tests | |
boxdeformation.cpp | Test for continous box deformation |
checkpoint.cpp | Tests for checkpoint writing sanity checks |
comparison_helpers.h | Declares types and functions common to comparing either energies or trajectories produced by mdrun |
compressed_x_output.cpp | Tests for the mdrun -x functionality |
constantacceleration.cpp | End-to-end tests checking sanity of results of simulations containing constant acceleration groups |
densityfittingmodule.cpp | Tests utilities for "Densityfitting" setups |
dispersion_correction.cpp | Test for MD with dispersion correction |
domain_decomposition.cpp | Tests special cases in domain decomposition |
energycomparison.cpp | Implementions of related classes for tests that want to inspect energies produced by mdrun |
energycomparison.h | Declares function for comparing energy frames |
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 |
ewaldsurfaceterm.cpp | Test for Ewald 3DC and epsilon-surface terms |
exactcontinuation.cpp | Tests that mdrun restarts are exact, that is that two successive runs without appending reproduce a single-part run |
freeenergy.cpp | Tests to compare free energy simulations to reference |
freezegroups.cpp | End-to-end tests checking sanity of results of simulations containing freeze groups |
grompp.cpp | Tests for basic grompp functionality |
helpwriting.cpp | This implements tests on mdrun help writing |
initialconstraints.cpp | This implements basic initial constrains test (using single-rank mdrun) |
interactiveMD.cpp | Tests utilities for interactive molecular dynamics (IMD) setups |
mimic.cpp | Tests for MiMiC forces computation |
minimize.cpp | Tests for the energy minimization functionality |
moduletest.cpp | Implements classes in moduletest.h |
moduletest.h | Declares test fixtures for general mdrun functionality |
multiple_time_stepping.cpp | Tests to compare that multiple time stepping is (nearly) identical to normal integration |
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 |
nonbonded_bench.cpp | This implements basic Nonbonded bench tests |
normalmodes.cpp | Tests for the normal modes functionality |
orires.cpp | Test for MD with orientation restraints |
outputfiles.cpp | Checks that expected output files are present |
periodicactions.cpp | Utility functions for tests to verify that a simulator that only does some actions periodically produces the expected results |
periodicactions.h | Interfaces of related classes for tests to verify that a simulator that only does some actions periodically produces the expected results |
periodicactions_basic.cpp | Tests to verify that a simulator that only does some actions periodically with basic propagators produces the expected results |
periodicactions_constraints.cpp | Tests to verify that a simulator that only does some actions periodically with propagators with constraints produces the expected results |
periodicactions_coupling.cpp | Tests to verify that a simulator that only does some actions periodically with propagators with coupling produces the expected results |
pmetest.cpp | This implements basic PME sanity tests for end-to-end mdrun simulations. It runs the input system with PME for several steps (on CPU and GPU, if available), and checks the reciprocal and conserved energies |
pull.cpp | Tests for mdrun pull functionality |
pull_rotation.cpp | Tests for mdrun enforced rotation (rotational pulling) functionality |
replicaexchange.cpp | Tests for the mdrun replica-exchange functionality |
replicaexchange_equivalence.cpp | Equivalence tests for the mdrun replica-exchange functionality |
rerun.cpp | Tests for the mdrun -rerun functionality |
simple_mdrun.cpp | Simple tests for the mdrun functionality |
simulator.cpp | Tests to compare two simulators which are expected to be identical |
simulatorcomparison.cpp | Helper functions for tests that compare the results of equivalent simulation runs. Currently used for the rerun and the simulator tests |
simulatorcomparison.h | Helper classes for tests that compare the results of equivalent simulation runs. Currently used for the rerun and the simulator tests |
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 |
tpitest.cpp | This implements basic TPI sanity test. It runs the input system with TPI for several steps, and checks the log output |
trajectory_writing.cpp | Tests for the .mdp nst*out functionality |
trajectorycomparison.cpp | Implemention of functions for comparing trajectories produced by mdrun |
trajectorycomparison.h | Declares types and functions for comparing trajectories produced by mdrun |
virtualsites.cpp | Sanity checks for virtual sites |
mdrun.cpp | This file implements mdrun |
mdrun_main.h | This file declares C-style entrypoints for mdrun |
nonbonded_bench.cpp | This file contains the main function for the non-bonded kernel benchmark |
nonbonded_bench.h | Declares the nonbonded benchmarking tool |
testutils | Testing Utilities (testutils) |
include | |
testutils | |
cmdlinetest.h | Declares utilities testing command-line programs |
conftest.h | Declares function to add the content of a conf file to a checker |
filematchers.h | Declares utility classes for testing file contents |
interactivetest.h | Provides helper classes for testing interactive prompts |
loggertest.h | Declares gmx::test::LoggerTestHelper |
mpitest.h | Helper functions for MPI tests to make thread-MPI look like real MPI |
naming.h | Functionality for customizing names of tests and the files containing their reference data in a declarative way |
refdata.h | Functionality for writing tests that can produce their own reference data |
setenv.h | Helper functions to have identical behavior of setenv and unsetenv on Unix and Windows systems |
simulationdatabase.h | Functionality for testing whether calls to mdrun produce the same energy and force quantities when they should do so |
stdiohelper.h | Declares gmx::test::StdioTestHelper |
stringtest.h | Declares gmx::test::StringTestBase |
test_device.h | Describes test environment class which performs GPU device enumeration for unit tests |
test_hardware_environment.h | Describes test environment class which performs hardware enumeration for unit tests |
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 |
testinit.h | Functions for initialing GROMACS unit test executables |
testmatchers.h | Extra GoogleMock matchers for unit tests |
testoptions.h | Functions for accessing test command-line options |
textblockmatchers.h | Declares utility classes for testing multi-line strings against reference data |
tprfilegenerator.h | Helper for generating reusuable TPR files for tests within the same test binary |
trajectoryreader.h | Declares interface of a class for tests that want to inspect trajectories produced by mdrun |
xvgtest.h | Declares function to add the content of an xvg file to a checker |
tests | Unit tests for Testing Utilities (testutils) |
interactivetest.cpp | Self-tests for interactive test helpers |
mpitest.cpp | Tests for infrastructure for running tests under MPI |
naming.cpp | Tests test-naming functionality |
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 |
conftest.cpp | Implements routine to check the content of conf files |
filematchers.cpp | Implements classes from filematchers.h |
interactivetest.cpp | Implements classes from interactivetest.h |
loggertest.cpp | Implements gmx::test::LoggerTestHelper |
mpi_printer.h | Declares gmx::test::initMPIOutput() |
mpitest.cpp | Implements functions in mpitest.h |
refdata.cpp | Implements classes and functions from refdata.h |
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 |
simulationdatabase.cpp | Implements declarations from in simulationdatabase.h |
stdiohelper.cpp | Implements classes in stdiohelper.h |
stringtest.cpp | Implements gmx::test::StringTestBase |
test_device.cpp | Implements test environment class which performs hardware enumeration for unit tests |
test_hardware_environment.cpp | Implements test environment class which performs hardware enumeration for unit tests |
testasserts.cpp | Implements floating-point comparison routines from testasserts.h |
testfilemanager.cpp | Implements gmx::test::TestFileManager |
testfileredirector.cpp | Implements classes from testfileredirector.h |
testinit.cpp | Implements functions in testinit.h |
testmatchers.cpp | Implements floating-point matchers from testmatchers.h for use with Google Mock |
testoptions.cpp | Implements functions in testoptions.h |
testutils_doc.h | Dummy header for Testing Utilities (testutils) documentation |
textblockmatchers.cpp | Implements classes from textblockmatchers.h |
topologyhelpers.cpp | Helper functions for topology generation |
topologyhelpers.h | Helper functions to create test topologies |
tprfilegenerator.cpp | Implements helper for generating reusuable TPR files for tests within the same test binary |
trajectoryreader.cpp | Implementions of related classes for tests that want to inspect trajectories produced by mdrun |
unittest_main.cpp | Main() for unit tests that use Testing Utilities (testutils) |
xvgtest.cpp | Implements routine to check the content of xvg files |