ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
field_layout_helpers.hpp File Reference
#include "for_each_3d.hpp"
#include <utils/Vector.hpp>
#include <utils/index.hpp>
#include <algorithm>
#include <cassert>
#include <complex>
#include <cstddef>
#include <iterator>
#include <span>
#include <type_traits>
#include <vector>
+ Include dependency graph for field_layout_helpers.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<Utils::MemoryOrder memory_order, Utils::MemoryOrder output_memory_order, typename Container >
auto extract_block (Container const &in_array, Utils::Vector3i const &dimensions, Utils::Vector3i const &start, Utils::Vector3i const &stop)
 
template<Utils::MemoryOrder memory_order, Utils::MemoryOrder output_memory_order, typename T >
auto pad_with_zeros_discard_imag (std::span< T > cropped_array, Utils::Vector3i const &cropped_dim, Utils::Vector3i const &pad_left, Utils::Vector3i const &pad_right)
 Pad a 3D matrix with zeros to restore halo regions.
 

Function Documentation

◆ extract_block()

template<Utils::MemoryOrder memory_order, Utils::MemoryOrder output_memory_order, typename Container >
auto extract_block ( Container const &  in_array,
Utils::Vector3i const &  dimensions,
Utils::Vector3i const &  start,
Utils::Vector3i const &  stop 
)

◆ pad_with_zeros_discard_imag()

template<Utils::MemoryOrder memory_order, Utils::MemoryOrder output_memory_order, typename T >
auto pad_with_zeros_discard_imag ( std::span< T >  cropped_array,
Utils::Vector3i const &  cropped_dim,
Utils::Vector3i const &  pad_left,
Utils::Vector3i const &  pad_right 
)

Pad a 3D matrix with zeros to restore halo regions.

Definition at line 82 of file field_layout_helpers.hpp.

References Utils::Vector< T, N >::data(), Utils::product(), and Utils::ROW_MAJOR.

Referenced by DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::long_range_kernel().