Hipace
|
This class handles functions and data to perform transverse Fourier-based Poisson solves. More...
#include <FFTPoissonSolverDirichlet.H>
Public Member Functions | |
FFTPoissonSolverDirichlet (amrex::BoxArray const &a_realspace_ba, amrex::DistributionMapping const &dm, amrex::Geometry const &gm) | |
virtual | ~FFTPoissonSolverDirichlet () override final |
virtual void | define (amrex::BoxArray const &realspace_ba, amrex::DistributionMapping const &dm, amrex::Geometry const &gm) override final |
Define real space and spectral space boxes and multifabs, Dirichlet eigenvalue matrix m_eigenvalue_matrix 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) override final |
![]() | |
FFTPoissonSolver ()=default | |
virtual | ~FFTPoissonSolver ()=0 |
amrex::MultiFab & | StagingArea () |
Private Attributes | |
amrex::MultiFab | m_tmpSpectralField |
amrex::MultiFab | m_eigenvalue_matrix |
AnyDST::DSTplans | m_plan |
Additional Inherited Members | |
![]() | |
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:
FFTPoissonSolverDirichlet::FFTPoissonSolverDirichlet | ( | amrex::BoxArray const & | a_realspace_ba, |
amrex::DistributionMapping const & | dm, | ||
amrex::Geometry const & | gm | ||
) |
Constructor
|
inlinefinaloverridevirtual |
virtual destructor
|
finaloverridevirtual |
Define real space and spectral space boxes and multifabs, Dirichlet eigenvalue matrix m_eigenvalue_matrix 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. |
Implements FFTPoissonSolver.
|
finaloverridevirtual |
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. |
Implements FFTPoissonSolver.
|
private |
Multifab eigenvalues, to solve Poisson equation with Dirichlet BC.
|
private |
DST plans
|
private |
Spectral fields, contains (real) field in Fourier space