Hipace
|
This class handles functions and data to perform transverse Fourier-based Poisson solves. More...
#include <FFTPoissonSolver.H>
Public Member Functions | |
FFTPoissonSolver ()=default | |
virtual | ~FFTPoissonSolver ()=0 |
virtual void | define (amrex::BoxArray const &realspace_ba, amrex::DistributionMapping const &dm, amrex::Geometry const &gm)=0 |
Define real space and spectral space boxes and multifabs, multiplier coefficients inv_k2 to solve Poisson equation and FFT plans. Currently only works with a single box, i.e., serial FFT. More... | |
virtual void | SolvePoissonEquation (amrex::MultiFab &lhs_mf)=0 |
amrex::MultiFab & | StagingArea () |
Protected Attributes | |
amrex::BoxArray | m_spectralspace_ba |
amrex::MultiFab | m_stagingArea |
This class handles functions and data to perform transverse Fourier-based Poisson solves.
For a given source S, it solves equation Laplacian(F) = S and returns F. Once an instance is created, a typical use consists in:
|
default |
Default constructor
|
pure virtual |
Abstract class needs a virtual destructor
|
pure virtual |
Define real space and spectral space boxes and multifabs, multiplier coefficients inv_k2 to solve Poisson equation and FFT plans. Currently only works with a single box, i.e., serial FFT.
[in] | realspace_ba | BoxArray on which the FFT is executed. |
[in] | dm | DistributionMapping for the BoxArray. |
[in] | gm | Geometry, contains the box dimensions. |
Implemented in FFTPoissonSolverPeriodic, and FFTPoissonSolverDirichlet.
|
pure virtual |
Solve Poisson equation. The source term must be stored in the staging area m_stagingArea prior to this call.
[in] | lhs_mf | Destination array, where the result is stored. |
Implemented in FFTPoissonSolverPeriodic, and FFTPoissonSolverDirichlet.
amrex::MultiFab & FFTPoissonSolver::StagingArea | ( | ) |
Get reference to the taging area
|
protected |
BoxArray for the spectral fields
|
protected |
Staging area, contains (real) field in real space. This is where the source term is stored before calling the Poisson solver