Block-Structured AMR Software Framework
amrex::FFT::Poisson< MF > Class Template Reference

Poisson solver for periodic, Dirichlet & Neumann boundaries using FFT. More...

#include <AMReX_FFT_Poisson.H>

Public Member Functions

template<typename FA = MF, std::enable_if_t< IsFabArray_v< FA >, int > = 0>
 Poisson (Geometry const &geom, Array< std::pair< Boundary, Boundary >, AMREX_SPACEDIM > const &bc)
 
template<typename FA = MF, std::enable_if_t< IsFabArray_v< FA >, int > = 0>
 Poisson (Geometry const &geom)
 
void solve (MF &soln, MF const &rhs)
 

Private Attributes

Geometry m_geom
 
Array< std::pair< Boundary, Boundary >, AMREX_SPACEDIM > m_bc
 
std::unique_ptr< R2X< typename MF::value_type > > m_r2x
 
std::unique_ptr< R2C< typename MF::value_type > > m_r2c
 

Detailed Description

template<typename MF = MultiFab>
class amrex::FFT::Poisson< MF >

Poisson solver for periodic, Dirichlet & Neumann boundaries using FFT.

Constructor & Destructor Documentation

◆ Poisson() [1/2]

template<typename MF = MultiFab>
template<typename FA = MF, std::enable_if_t< IsFabArray_v< FA >, int > = 0>
amrex::FFT::Poisson< MF >::Poisson ( Geometry const &  geom,
Array< std::pair< Boundary, Boundary >, AMREX_SPACEDIM > const &  bc 
)
inline

◆ Poisson() [2/2]

template<typename MF = MultiFab>
template<typename FA = MF, std::enable_if_t< IsFabArray_v< FA >, int > = 0>
amrex::FFT::Poisson< MF >::Poisson ( Geometry const &  geom)
inlineexplicit

Member Function Documentation

◆ solve()

template<typename MF >
void amrex::FFT::Poisson< MF >::solve ( MF &  soln,
MF const &  rhs 
)

Member Data Documentation

◆ m_bc

template<typename MF = MultiFab>
Array<std::pair<Boundary,Boundary>,AMREX_SPACEDIM> amrex::FFT::Poisson< MF >::m_bc
private

◆ m_geom

template<typename MF = MultiFab>
Geometry amrex::FFT::Poisson< MF >::m_geom
private

◆ m_r2c

template<typename MF = MultiFab>
std::unique_ptr<R2C<typename MF::value_type> > amrex::FFT::Poisson< MF >::m_r2c
private

◆ m_r2x

template<typename MF = MultiFab>
std::unique_ptr<R2X<typename MF::value_type> > amrex::FFT::Poisson< MF >::m_r2x
private

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