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::product(), Utils::ROW_MAJOR, and stream.

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