Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
manyautocorrelation.cpp File Reference
#include "gmxpre.h"
#include "manyautocorrelation.h"
#include <algorithm>
#include "gromacs/fft/fft.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxomp.h"
+ Include dependency graph for manyautocorrelation.cpp:

Description

Implements function to compute many autocorrelation functions.

Author
David van der Spoel david.nosp@m..van.nosp@m.dersp.nosp@m.oel@.nosp@m.icm.u.nosp@m.u.se

Functions

int many_auto_correl (std::vector< std::vector< real >> *c)
 Perform many autocorrelation calculations. More...
 

Function Documentation

int many_auto_correl ( std::vector< std::vector< real >> *  c)

Perform many autocorrelation calculations.

This routine performs many autocorrelation function calculations using FFTs. The GROMACS FFT library wrapper is employed. On return the c vector contain a symmetric function that is useful for further FFT:ing, for instance in order to compute spectra.

The vectors c[i] should all have the same length, but this is not checked for.

The c arrays will be extend and filled with zero beyond ndata before computing the correlation.

The functions uses OpenMP parallellization.

Parameters
[in,out]cData array
Returns
fft error code, or zero if everything went fine (see fft/fft.h)
Exceptions
gmx::InconsistentInputErrorif the input is inconsistent.