Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::FFT::PoissonOpenBC< MF > Class Template Reference

Poisson solve for Open BC using FFT. More...

#include <AMReX_FFT_Poisson.H>

Public Member Functions

template<typename FA = MF>
requires (IsFabArray_v<FA>)
 PoissonOpenBC (Geometry const &geom, IndexType ixtype=IndexType::TheCellType(), IntVect const &ngrow=IntVect(0), Info const &info=Info{})
 Build an open-boundary FFT solver over the grown domain.
 
void solve (MF &soln, MF const &rhs)
 Solve the open-boundary Poisson problem.
 
void define_doit ()
 Initialize the discretized Green's function cache (public for CUDA kernels).
 
IntVect const & PaddedLength () const
 Access the one-sided padded length used by the internal OpenBC solver.
 

Detailed Description

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

Poisson solve for Open BC using FFT.

Constructor & Destructor Documentation

◆ PoissonOpenBC()

template<typename MF >
requires (IsFabArray_v<FA>)
template<typename FA >
requires (IsFabArray_v<FA>)
amrex::FFT::PoissonOpenBC< MF >::PoissonOpenBC ( Geometry const &  geom,
IndexType  ixtype = IndexType::TheCellType(),
IntVect const &  ngrow = IntVect(0),
Info const &  info = Info{} 
)
explicit

Build an open-boundary FFT solver over the grown domain.

Parameters
geomGeometry describing the problem domain.
ixtypeIndex type (cell vs. node) for the working arrays.
ngrowNumber of grow cells applied prior to solving.
infoOpenBC solver options.

Member Function Documentation

◆ define_doit()

template<typename MF >
void amrex::FFT::PoissonOpenBC< MF >::define_doit ( )

Initialize the discretized Green's function cache (public for CUDA kernels).

◆ PaddedLength()

template<typename MF = MultiFab>
IntVect const & amrex::FFT::PoissonOpenBC< MF >::PaddedLength ( ) const
inline

Access the one-sided padded length used by the internal OpenBC solver.

Returns
Padded length before the open-boundary convolution domain is doubled.

◆ solve()

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

Solve the open-boundary Poisson problem.

Parameters
solnSolution MultiFab (cell- or node-centered to match constructor).
rhsRight-hand-side MultiFab.

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