Hipace
FFTPoissonSolver.H
Go to the documentation of this file.
1 /* Copyright 2020
2  *
3  * This file is part of HiPACE++.
4  *
5  * Authors: Axel Huebl, MaxThevenet, Remi Lehe, WeiqunZhang
6  *
7  * License: BSD-3-Clause-LBNL
8  */
9 #ifndef FFT_POISSON_SOLVER_H_
10 #define FFT_POISSON_SOLVER_H_
11 
13 
14 #include <AMReX_MultiFab.H>
15 #include <AMReX_GpuComplex.H>
16 
27 {
28 public:
29 
31  FFTPoissonSolver () = default;
32 
34  virtual ~FFTPoissonSolver () = 0;
35 
45  virtual void define ( amrex::BoxArray const& realspace_ba,
47  amrex::Geometry const& gm) = 0;
48 
54  virtual void SolvePoissonEquation (amrex::MultiFab& lhs_mf) = 0;
55 
58 protected:
64 };
65 
66 #endif
This class handles functions and data to perform transverse Fourier-based Poisson solves.
Definition: FFTPoissonSolver.H:27
FFTPoissonSolver()=default
virtual ~FFTPoissonSolver()=0
Definition: FFTPoissonSolver.cpp:10
virtual void SolvePoissonEquation(amrex::MultiFab &lhs_mf)=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 Poi...
amrex::MultiFab & StagingArea()
Definition: FFTPoissonSolver.cpp:14
amrex::MultiFab m_stagingArea
Definition: FFTPoissonSolver.H:63
amrex::BoxArray m_spectralspace_ba
Definition: FFTPoissonSolver.H:60