Loading [MathJax]/extensions/TeX/AMSmath.js
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
p3m_data_struct< FloatType > Struct Template Reference

LEGACY Base class for the electrostatics and magnetostatics P3M algorithms. More...

#include <data_struct.hpp>

+ Inheritance diagram for p3m_data_struct< FloatType >:
+ Collaboration diagram for p3m_data_struct< FloatType >:

Public Types

using value_type = FloatType
 
- Public Types inherited from P3MStateCommon< FloatType >
using value_type = FloatType
 

Public Member Functions

void init ()
 
void update_mesh_views ()
 
template<typename T , class... Args>
void make_fft_instance (Args... args)
 
template<typename T , class... Args>
void make_mesh_instance (Args... args)
 
- Public Member Functions inherited from P3MStateCommon< FloatType >
 P3MStateCommon (P3MParameters &&parameters)
 
void calc_differential_operator ()
 Calculate the Fourier transformed differential operator.
 

Public Attributes

P3MFFTMesh< FloatType > mesh
 
std::unique_ptr< FFTBackend< FloatType > > fft
 FFT algorithm.
 
std::unique_ptr< FFTBuffers< FloatType > > fft_buffers
 FFT buffers.
 
- Public Attributes inherited from P3MStateCommon< FloatType >
P3MParameters params
 P3M base parameters.
 
P3MLocalMesh local_mesh
 Local mesh geometry information for this MPI rank.
 
std::array< std::vector< int >, 3 > d_op
 Spatial differential operator in k-space.
 
std::vector< FloatType > g_force
 Force optimised influence function (k-space)
 
std::vector< FloatType > g_energy
 Energy optimised influence function (k-space)
 

Detailed Description

template<typename FloatType>
struct p3m_data_struct< FloatType >

LEGACY Base class for the electrostatics and magnetostatics P3M algorithms.

Contains a handle to the FFT backend, information about the local mesh, the differential operator, and various buffers.

Definition at line 83 of file data_struct.hpp.

Member Typedef Documentation

◆ value_type

template<typename FloatType >
using p3m_data_struct< FloatType >::value_type = FloatType

Definition at line 84 of file data_struct.hpp.

Member Function Documentation

◆ init()

template<typename FloatType >
void p3m_data_struct< FloatType >::init ( )

◆ make_fft_instance()

template<typename FloatType >
template<typename T , class... Args>
void p3m_data_struct< FloatType >::make_fft_instance ( Args...  args)
inline

Definition at line 108 of file data_struct.hpp.

References P3MStateCommon< FloatType >::local_mesh, and stream.

◆ make_mesh_instance()

template<typename FloatType >
template<typename T , class... Args>
void p3m_data_struct< FloatType >::make_mesh_instance ( Args...  args)
inline

◆ update_mesh_views()

template<typename FloatType >
void p3m_data_struct< FloatType >::update_mesh_views ( )
inline

Member Data Documentation

◆ fft

template<typename FloatType >
std::unique_ptr<FFTBackend<FloatType> > p3m_data_struct< FloatType >::fft

FFT algorithm.

Definition at line 91 of file data_struct.hpp.

◆ fft_buffers

template<typename FloatType >
std::unique_ptr<FFTBuffers<FloatType> > p3m_data_struct< FloatType >::fft_buffers

◆ mesh

template<typename FloatType >
P3MFFTMesh<FloatType> p3m_data_struct< FloatType >::mesh

Definition at line 88 of file data_struct.hpp.

Referenced by p3m_data_struct< FloatType >::update_mesh_views().


The documentation for this struct was generated from the following file: