![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
The main correlator class. More...
#include <Correlator.hpp>
Inheritance diagram for Accumulators::Correlator:
Collaboration diagram for Accumulators::Correlator:Additional Inherited Members | |
Protected Attributes inherited from Accumulators::AccumulatorBase | |
| void const * | m_system |
| for bookkeeping purposes | |
The main correlator class.
Data organization: We use a ring-like way to manage the data: at the beginning we have a linear array, which we fill from index 0 to tau_lin. The index newest[i] always indicates the latest entry of the hierarchic "past" For every new entry in is incremented and if tau_lin is reached, it starts again from the beginning.
Definition at line 130 of file core/accumulators/Correlator.hpp.
|
inline |
The initialization procedure for the correlation object.
All important parameters have to be specified at the same time. They cannot be changed later, so every instance of the correlation class has to be fed with correct data from the very beginning.
| system | The system attached to this correlator |
| delta_N | The number of time steps between subsequent updates |
| tau_lin | The linear part of the correlation function. |
| tau_max | maximal time delay tau to sample |
| obs1 | First observable to correlate |
| obs2 | Second observable to correlate |
| corr_operation | how to correlate the two observables A and B (this has no default) |
| compress1_ | how the A values should be compressed (usually the linear compression method) |
| compress2_ | how the B values should be compressed (usually the linear compression method) |
| correlation_args_ | optional arguments for the correlation function (currently only used when corr_operation is "fcs_acf") |
Definition at line 161 of file core/accumulators/Correlator.hpp.
|
inline |
Definition at line 218 of file core/accumulators/Correlator.hpp.
|
inline |
Definition at line 219 of file core/accumulators/Correlator.hpp.
|
inline |
Definition at line 213 of file core/accumulators/Correlator.hpp.
|
inline |
Definition at line 220 of file core/accumulators/Correlator.hpp.
|
inline |
Definition at line 211 of file core/accumulators/Correlator.hpp.
Referenced by get_lag_times().
At the end of data collection, go through the whole hierarchy and correlate data left there.
Definition at line 427 of file Correlator.cpp.
References stream.
| std::vector< double > Accumulators::Correlator::get_correlation | ( | ) |
Return correlation result.
Definition at line 512 of file Correlator.cpp.
References n_values(), and stream.
|
finalvirtual |
Implements Accumulators::AccumulatorBase.
Definition at line 536 of file Correlator.cpp.
References stream.
| std::vector< double > Accumulators::Correlator::get_lag_times | ( | ) | const |
Definition at line 529 of file Correlator.cpp.
References dt(), n_values(), and stream.
|
inline |
Definition at line 204 of file core/accumulators/Correlator.hpp.
|
inline |
Definition at line 196 of file core/accumulators/Correlator.hpp.
Referenced by get_correlation(), get_lag_times(), and shape().
|
inline |
Definition at line 214 of file core/accumulators/Correlator.hpp.
References stream.
Implements Accumulators::AccumulatorBase.
Definition at line 557 of file Correlator.cpp.
References Accumulators::AccumulatorBase::m_system, and stream.
|
inlineoverridevirtual |
Implements Accumulators::AccumulatorBase.
Definition at line 199 of file core/accumulators/Correlator.hpp.
References n_values(), and shape().
Referenced by shape().
|
inline |
Definition at line 209 of file core/accumulators/Correlator.hpp.
|
inline |
Definition at line 210 of file core/accumulators/Correlator.hpp.
The function to process a new datapoint of A and B.
First the function finds out if it is necessary to make some space for the new entries of A and B. Then, if necessary, it compresses old values of A and B to make room for the new value. Finally, the new values of A and B are stored in A[newest[0]] and B[newest[0]], where the newest indices have been increased before. Finally, the correlation estimate is updated. TODO: Not all correlation estimates have to be updated.
Implements Accumulators::AccumulatorBase.
Definition at line 315 of file Correlator.cpp.
References stream.