![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Cache for interpolation weights. More...
#include <interpolation.hpp>
Public Member Functions | |
| p3m_interpolation_cache () | |
| auto | size () const |
| Number of points in the cache. | |
| auto | cao () const |
| Charge assignment order the weights are for. | |
| void | zfill (std::size_t size) |
| Fill cache with zero-initialized data. | |
| template<int cao> | |
| void | store (InterpolationWeights< cao > const &weights) |
| Push back weights for one point. | |
| template<int cao> | |
| void | store_at (std::size_t p_index, InterpolationWeights< cao > const &weights) |
| Insert weights for one point. | |
| template<int cao> | |
| InterpolationWeightsView< cao > | load (std::size_t p_index) const |
| Load entry from the cache. | |
| void | reset (int cao) |
| Reset the cache. | |
Cache for interpolation weights.
This is a storage container for interpolation weights of type InterpolationWeights.
Definition at line 69 of file interpolation.hpp.
|
inline |
Definition at line 88 of file interpolation.hpp.
|
inline |
Charge assignment order the weights are for.
Definition at line 109 of file interpolation.hpp.
Referenced by load(), reset(), store(), and store_at().
|
inline |
Load entry from the cache.
This loads an entry at an index from the cache, the entries are indexed by the order they were stored.
| cao | Interpolation order has to match the order set at last call to p3m_interpolation_cache::reset. |
| p_index | Index of the entry to load. |
Definition at line 203 of file interpolation.hpp.
Reset the cache.
| cao | Interpolation order. |
Definition at line 238 of file interpolation.hpp.
Referenced by CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::prepare_fft_mesh().
|
inline |
Number of points in the cache.
Definition at line 97 of file interpolation.hpp.
|
inline |
Push back weights for one point.
| cao | Interpolation order has to match the order set at last call to p3m_interpolation_cache::reset. |
| weights | Interpolation weights to store. |
Definition at line 143 of file interpolation.hpp.
Referenced by anonymous_namespace{p3m_heffte.impl.hpp}::AssignCharge< cao >::operator()().
|
inline |
Insert weights for one point.
| cao | Interpolation order has to match the order set at last call to p3m_interpolation_cache::reset. |
| p_index | Particle index. |
| weights | Interpolation weights to store. |
Definition at line 170 of file interpolation.hpp.
|
inline |
Fill cache with zero-initialized data.
Meant for the parallel weight interpolation calculation.
| size | Number of elements. |
Definition at line 116 of file interpolation.hpp.
References size(), and stream.
Referenced by anonymous_namespace{dp3m_heffte.impl.hpp}::AssignDipole< cao >::operator()(), and anonymous_namespace{p3m_heffte.impl.hpp}::AssignCharge< cao >::operator()().