|
Gromacs
2026.0
|
#include "gmxpre.h"#include "msd.h"#include <cinttypes>#include <cmath>#include <cstdlib>#include <algorithm>#include <functional>#include <limits>#include <memory>#include <numeric>#include <optional>#include <string>#include <vector>#include "gromacs/analysisdata/analysisdata.h"#include "gromacs/analysisdata/modules/average.h"#include "gromacs/analysisdata/modules/plot.h"#include "gromacs/analysisdata/paralleloptions.h"#include "gromacs/fileio/oenv.h"#include "gromacs/fileio/trxio.h"#include "gromacs/math/functions.h"#include "gromacs/options/basicoptions.h"#include "gromacs/options/filenameoption.h"#include "gromacs/options/ioptionscontainer.h"#include "gromacs/options/optionfiletype.h"#include "gromacs/pbcutil/pbc.h"#include "gromacs/selection/indexutil.h"#include "gromacs/selection/selection.h"#include "gromacs/selection/selectionoption.h"#include "gromacs/statistics/statistics.h"#include "gromacs/trajectory/trajectoryframe.h"#include "gromacs/trajectoryanalysis/analysissettings.h"#include "gromacs/trajectoryanalysis/topologyinformation.h"#include "gromacs/utility/arrayref.h"#include "gromacs/utility/basedefinitions.h"#include "gromacs/utility/enumerationhelpers.h"#include "gromacs/utility/exceptions.h"#include "gromacs/utility/real.h"#include "gromacs/utility/stringutil.h"#include "gromacs/utility/vectypes.h"
Include dependency graph for msd.cpp:Defines the trajectory analysis module for mean squared displacement calculations.
Classes | |
| class | gmx::analysismodules::anonymous_namespace{msd.cpp}::MsdData |
| Mean Squared Displacement data accumulator. More... | |
| class | gmx::analysismodules::anonymous_namespace{msd.cpp}::MsdData::MsdColumnProxy |
| Proxy to a MsdData tau column vector. Supports only push_back. More... | |
| struct | gmx::analysismodules::anonymous_namespace{msd.cpp}::MoleculeData |
| Holds data needed for MSD calculations for a single molecule, if requested. More... | |
| class | gmx::analysismodules::anonymous_namespace{msd.cpp}::MsdCoordinateManager |
| Handles coordinate operations for MSD calculations. More... | |
| struct | gmx::analysismodules::anonymous_namespace{msd.cpp}::MsdGroupData |
| Holds per-group coordinates, analysis, and results. More... | |
| class | gmx::analysismodules::Msd |
| Implements the gmx msd module. More... | |
Enumerations | |
| enum | gmx::analysismodules::anonymous_namespace{msd.cpp}::SingleDimDiffType : int { X = 0, Y, Z, Unused, Count } |
| Describes 1D MSDs, in the given dimension. | |
| enum | gmx::analysismodules::anonymous_namespace{msd.cpp}::TwoDimDiffType : int { NormalToX = 0, NormalToY, NormalToZ, Unused, Count } |
| Describes 2D MSDs, in the plane normal to the given dimension. | |
Functions | |
| template<bool x, bool y, bool z> | |
| double | gmx::analysismodules::anonymous_namespace{msd.cpp}::calcSingleSquaredDistance (const DVec &firstCoords, const DVec &secondCoords) |
| Calculates 1,2, or 3D distance for two vectors. More... | |
| template<bool x, bool y, bool z> | |
| double | gmx::analysismodules::anonymous_namespace{msd.cpp}::calcAverageDisplacement (ArrayRef< const DVec > c1, ArrayRef< const DVec > c2) |
| Calculate average displacement between sets of points. More... | |
| void | gmx::analysismodules::anonymous_namespace{msd.cpp}::removePbcJumps (ArrayRef< DVec > currentCoords, ArrayRef< const DVec > previousCoords, t_pbc *pbc) |
| Removes jumps across periodic boundaries for currentFrame, based on the positions in previousFrame. Updates currentCoords in place. | |
| static size_t | gmx::analysismodules::calculateFitIndex (const int userFitTau, const double defaultTauFraction, const int numTaus, const double dt) |
| Calculate the tau index for fitting. If userFitTau < 0, uses the default fraction of max tau. | |
Variables | |
| constexpr double | gmx::analysismodules::anonymous_namespace{msd.cpp}::c_diffusionConversionFactor = 1000.0 |
| Convert nm^2/ps to 10e-5 cm^2/s. | |
| constexpr double | gmx::analysismodules::anonymous_namespace{msd.cpp}::c_3DdiffusionDimensionFactor = 6.0 |
| Three dimensional diffusion coefficient multiplication constant. | |
| constexpr double | gmx::analysismodules::anonymous_namespace{msd.cpp}::c_2DdiffusionDimensionFactor = 4.0 |
| Two dimensional diffusion coefficient multiplication constant. | |
| constexpr double | gmx::analysismodules::anonymous_namespace{msd.cpp}::c_1DdiffusionDimensionFactor = 2.0 |
| One dimensional diffusion coefficient multiplication constant. | |
1.8.5