Block-Structured AMR Software Framework
amrex::FFT Namespace Reference

Namespaces

 detail
 
 fft_poisson_detail
 

Classes

struct  Info
 
struct  Plan
 
struct  Swap01
 
struct  Swap02
 
struct  RotateFwd
 
struct  RotateBwd
 
class  LocalR2C
 Local Discrete Fourier Transform. More...
 
class  OpenBCSolver
 
class  Poisson
 Poisson solver for periodic, Dirichlet & Neumann boundaries using FFT. More...
 
class  PoissonHybrid
 3D Poisson solver for periodic boundaries in the first two dimensions and Neumann in the last dimension. More...
 
class  R2C
 Parallel Discrete Fourier Transform. More...
 
class  R2X
 Discrete Fourier Transform. More...
 

Typedefs

using Key = std::tuple< IntVectND< 3 >, Direction, Kind >
 
using PlanD = typename Plan< double >::VendorPlan
 
using PlanF = typename Plan< float >::VendorPlan
 

Enumerations

enum class  Direction { forward , backward , both , none }
 
enum class  DomainStrategy { slab , pencil }
 
enum class  Kind {
  none , r2c_f , r2c_b , c2c_f ,
  c2c_b , r2r_ee_f , r2r_ee_b , r2r_oo_f ,
  r2r_oo_b , r2r_eo , r2r_oe
}
 

Functions

void Initialize ()
 
void Finalize ()
 
void Clear ()
 
PlanDget_vendor_plan_d (Key const &key)
 
PlanFget_vendor_plan_f (Key const &key)
 
void add_vendor_plan_d (Key const &key, PlanD plan)
 
void add_vendor_plan_f (Key const &key, PlanF plan)
 
 AMREX_ENUM (Boundary, periodic, even, odd)
 

Typedef Documentation

◆ Key

using amrex::FFT::Key = typedef std::tuple<IntVectND<3>,Direction,Kind>

◆ PlanD

using amrex::FFT::PlanD = typedef typename Plan<double>::VendorPlan

◆ PlanF

using amrex::FFT::PlanF = typedef typename Plan<float>::VendorPlan

Enumeration Type Documentation

◆ Direction

enum amrex::FFT::Direction
strong
Enumerator
forward 
backward 
both 
none 

◆ DomainStrategy

Enumerator
slab 
pencil 

◆ Kind

enum amrex::FFT::Kind
strong
Enumerator
none 
r2c_f 
r2c_b 
c2c_f 
c2c_b 
r2r_ee_f 
r2r_ee_b 
r2r_oo_f 
r2r_oo_b 
r2r_eo 
r2r_oe 

Function Documentation

◆ add_vendor_plan_d()

void amrex::FFT::add_vendor_plan_d ( Key const &  key,
PlanD  plan 
)

◆ add_vendor_plan_f()

void amrex::FFT::add_vendor_plan_f ( Key const &  key,
PlanF  plan 
)

◆ AMREX_ENUM()

amrex::FFT::AMREX_ENUM ( Boundary  ,
periodic  ,
even  ,
odd   
)

◆ Clear()

void amrex::FFT::Clear ( )

◆ Finalize()

void amrex::FFT::Finalize ( )

◆ get_vendor_plan_d()

PlanD * amrex::FFT::get_vendor_plan_d ( Key const &  key)

◆ get_vendor_plan_f()

PlanF * amrex::FFT::get_vendor_plan_f ( Key const &  key)

◆ Initialize()

void amrex::FFT::Initialize ( )