IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
ippl::FFT< Cos1Transform, Field > Class Template Reference

#include <FFT.h>

+ Inheritance diagram for ippl::FFT< Cos1Transform, Field >:
+ Collaboration diagram for ippl::FFT< Cos1Transform, Field >:

Public Member Functions

void warmup (Field &f)
 
void transform (TransformDirection direction, Field &f)
 

Detailed Description

template<typename Field>
class ippl::FFT< Cos1Transform, Field >

Cosine type 1 transform class

Member Function Documentation

◆ transform()

template<typename Field >
void ippl::FFT< Cos1Transform, Field >::transform ( TransformDirection  direction,
Field f 
)

Perform in-place FFT

Parameters
directionForward or backward transformation
fField whose transformation to compute (and overwrite)

This rescaling is needed to match the normalization constant between fftw and the other gpu interfaces. fftw rescales with an extra factor of 8.

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

This rescaling is needed to match the normalization constant between fftw and the other gpu interfaces. fftw rescales with an extra factor of 8.

◆ warmup()

template<typename Field >
void ippl::FFT< Cos1Transform, Field >::warmup ( Field f)

Warmup the FFT object by forward & backward FFT on an empty field

Parameters
fField whose transformation to compute (and overwrite)

The documentation for this class was generated from the following files: