|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#include <FFT.h>
Public Member Functions | |
| void | warmup (Field &f) |
| void | transform (TransformDirection direction, Field &f) |
Private Types | |
| using | Base = IN_PLACE_FFT_BASE_CLASS(Field, backendCos) |
Static Private Attributes | |
| static constexpr unsigned | Dim = Field::dim |
Cosine transform class
|
private |
| void ippl::FFT< CosTransform, Field >::transform | ( | TransformDirection | direction, |
| Field & | f ) |
Perform in-place FFT
| direction | Forward or backward transformation |
| f | Field whose transformation to compute (and overwrite) |
This copy to a temporary Kokkos view is needed because of following reasons: 1) heffte wants the input and output fields without ghost layers 2) heffte accepts data in layout left (by default) eventhough this can be changed during heffte box creation
Definition at line 331 of file FFT.hpp.
References ippl::apply(), ippl::BACKWARD, Dim, ippl::FORWARD, ippl::BareField< T, Dim, ViewArgs >::getNghost(), ippl::BareField< T, Dim, ViewArgs >::getOwned(), ippl::getRangePolicy(), ippl::BareField< T, Dim, ViewArgs >::getView(), ippl::parallel_for(), ippl::detail::shrinkView(), and ippl::NDIndex< Dim >::size().
Referenced by warmup().
| void ippl::FFT< CosTransform, Field >::warmup | ( | Field & | f | ) |
Warmup the FFT object by forward & backward FFT on an empty field
| f | Field whose transformation to compute (and overwrite) |
Definition at line 325 of file FFT.hpp.
References ippl::BACKWARD, ippl::FORWARD, and transform().
|
staticconstexprprivate |
Definition at line 289 of file FFT.h.
Referenced by transform().