Gromacs
2024.4
|
#include "gmxpre.h"
#include "manyautocorrelation.h"
#include <algorithm>
#include "gromacs/fft/fft.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxomp.h"
Implements function to compute many autocorrelation functions.
Functions | |
int | many_auto_correl (std::vector< std::vector< real >> *c) |
Perform many autocorrelation calculations. More... | |
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.
[in,out] | c | Data array |
gmx::InconsistentInputError | if the input is inconsistent. |