![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Information about the three one dimensional FFTs and how the nodes have to communicate inbetween. More...
#include <fft.hpp>
Public Member Functions | |
| fft_data_struct (decltype(m_mpi_env) mpi_env) | |
| fft_data_struct & | operator= (fft_data_struct< FloatType > const &)=delete |
| fft_data_struct (fft_data_struct< FloatType > const &)=delete | |
| int | initialize_fft (boost::mpi::communicator const &comm, Utils::Vector3i const &ca_mesh_dim, int const *ca_mesh_margin, Utils::Vector3i const &global_mesh_dim, Utils::Vector3d const &global_mesh_off, int &ks_pnum, Utils::Vector3i const &grid) |
| Initialize everything connected to the 3D-FFT. | |
| void | forward_fft (boost::mpi::communicator const &comm, FloatType *data) |
| Perform an in-place forward 3D FFT. | |
| void | backward_fft (boost::mpi::communicator const &comm, FloatType *data) |
| Perform an in-place backward 3D FFT. | |
| auto const & | get_mesh_size () const |
| auto const & | get_mesh_start () const |
| std::span< FloatType const > | get_fft_workspace () const |
| Get a view to the FFT workspace buffer. | |
Information about the three one dimensional FFTs and how the nodes have to communicate inbetween.
|
inlineexplicit |
|
delete |
| void fft::fft_data_struct< FloatType >::backward_fft | ( | boost::mpi::communicator const & | comm, |
| FloatType * | data | ||
| ) |
Perform an in-place backward 3D FFT.
| [in,out] | data | Mesh. |
| [in] | comm | MPI communicator. |
Definition at line 764 of file fft.cpp.
References fft::fftw< FloatType >::execute_dft, and stream.
| void fft::fft_data_struct< FloatType >::forward_fft | ( | boost::mpi::communicator const & | comm, |
| FloatType * | data | ||
| ) |
Perform an in-place forward 3D FFT.
| [in,out] | data | Mesh. |
| [in] | comm | MPI communicator |
Definition at line 732 of file fft.cpp.
References fft::fftw< FloatType >::execute_dft, and stream.
|
inline |
|
inline |
|
inline |
| int fft::fft_data_struct< FloatType >::initialize_fft | ( | boost::mpi::communicator const & | comm, |
| Utils::Vector3i const & | ca_mesh_dim, | ||
| int const * | ca_mesh_margin, | ||
| Utils::Vector3i const & | global_mesh_dim, | ||
| Utils::Vector3d const & | global_mesh_off, | ||
| int & | ks_pnum, | ||
| Utils::Vector3i const & | grid | ||
| ) |
Initialize everything connected to the 3D-FFT.
| [in] | comm | MPI communicator. |
| [in] | ca_mesh_dim | Local CA mesh dimensions. |
| [in] | ca_mesh_margin | Local CA mesh margins. |
| [in] | global_mesh_dim | Global CA mesh dimensions. |
| [in] | global_mesh_off | Global CA mesh offset. |
| [out] | ks_pnum | Number of permutations in k-space. |
| [in] | grid | Number of nodes in each spatial dimension. |
Definition at line 520 of file fft.cpp.
References fft::calc_2d_grid(), fft_pack_block(), fft::find_comm_groups(), Utils::get_linear_index(), fft::map_3don2d_grid(), fft::fftw< FloatType >::plan_many_dft, Utils::product(), and stream.
|
delete |