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

3D Poisson solver for periodic boundaries in the first two dimensions and Neumann in the last dimension. More...

#include <AMReX_FFT_Poisson.H>

Public Types

using T = typename MF::value_type
 

Public Member Functions

template<typename FA = MF, std::enable_if_t< IsFabArray_v< FA >, int > = 0>
 PoissonHybrid (Geometry const &geom)
 
void solve (MF &soln, MF const &rhs)
 
void solve (MF &soln, MF const &rhs, Vector< T > const &dz)
 
void solve (MF &soln, MF const &rhs, Gpu::DeviceVector< T > const &dz)
 
template<typename DZ >
void solve_doit (MF &soln, MF const &rhs, DZ const &dz)
 

Private Attributes

Geometry m_geom
 
R2C< typename MF::value_type, Direction::bothm_r2c
 

Detailed Description

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

3D Poisson solver for periodic boundaries in the first two dimensions and Neumann in the last dimension.

Member Typedef Documentation

◆ T

template<typename MF = MultiFab>
using amrex::FFT::PoissonHybrid< MF >::T = typename MF::value_type

Constructor & Destructor Documentation

◆ PoissonHybrid()

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

Member Function Documentation

◆ solve() [1/3]

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

◆ solve() [2/3]

template<typename MF >
void amrex::FFT::PoissonHybrid< MF >::solve ( MF &  soln,
MF const &  rhs,
Gpu::DeviceVector< T > const &  dz 
)

◆ solve() [3/3]

template<typename MF >
void amrex::FFT::PoissonHybrid< MF >::solve ( MF &  soln,
MF const &  rhs,
Vector< T > const &  dz 
)

◆ solve_doit()

template<typename MF >
template<typename DZ >
void amrex::FFT::PoissonHybrid< MF >::solve_doit ( MF &  soln,
MF const &  rhs,
DZ const &  dz 
)

Member Data Documentation

◆ m_geom

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

◆ m_r2c

template<typename MF = MultiFab>
R2C<typename MF::value_type, Direction::both> amrex::FFT::PoissonHybrid< MF >::m_r2c
private

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