Skip to content

Commit

Permalink
Improve performance of FFTDirichletFast (#1112)
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexanderSinn authored Jun 4, 2024
1 parent 40690ff commit 8aae16c
Show file tree
Hide file tree
Showing 3 changed files with 182 additions and 166 deletions.
10 changes: 6 additions & 4 deletions src/fields/fft_poisson_solver/FFTPoissonSolverDirichletFast.H
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,8 @@ public:
virtual amrex::Real BoundaryFactor() override final { return 1.; }

private:
/** Spectral fields, contains (real) field in Fourier space */
amrex::MultiFab m_tmpSpectralField;
/** Multifab eigenvalues, to solve Poisson equation with Dirichlet BC. */
amrex::MultiFab m_eigenvalue_matrix;
/** FArrayBox eigenvalues, to solve Poisson equation with Dirichlet BC. */
amrex::FArrayBox m_eigenvalue_matrix;
/** Real array for the FFTs */
amrex::Gpu::DeviceVector<amrex::Real> m_position_array;
/** Complex array for the FFTs */
Expand All @@ -73,6 +71,10 @@ private:
AnyFFT m_y_fft;
/** work area for both DST plans */
amrex::Gpu::DeviceVector<char> m_fft_work_area;
/** x prefactor for ToSine */
amrex::Gpu::DeviceVector<amrex::Real> m_sine_x_factor;
/** y prefactor for ToSine */
amrex::Gpu::DeviceVector<amrex::Real> m_sine_y_factor;
};

#endif
Loading

0 comments on commit 8aae16c

Please sign in to comment.