Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
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 >, 3 > const &bc)
 Construct a Poisson solver with explicit boundary types.
 
template<typename FA = MF, std::enable_if_t< IsFabArray_v< FA >, int > = 0>
 Poisson (Geometry const &geom)
 Construct a purely periodic Poisson solver.
 
void solve (MF &a_soln, MF const &a_rhs)
 Solve del dot grad soln = rhs.
 

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 >, 3 > const &  bc 
)
inline

Construct a Poisson solver with explicit boundary types.

Parameters
geomGeometry describing the domain and metric information.
bcPair of boundary descriptors (low/high) per coordinate direction.

◆ 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

Construct a purely periodic Poisson solver.

Parameters
geomPeriodic geometry (all directions must be periodic).

Member Function Documentation

◆ solve()

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

Solve del dot grad soln = rhs.

If soln has ghost cells, one layer of ghost cells will be filled except for the corners of the physical domain where they are not used in the cross stencil of the operator. The two MFs could be the same MF.

Parameters
a_solnSolution MultiFab (updated in place).
a_rhsRight-hand side MultiFab.

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