4#include "chargedensitycalculator.hpp"
5#include "ddc_aliases.hpp"
6#include "ipoisson_solver.hpp"
7#include "iqnsolver.hpp"
26 typename Kokkos::DefaultExecutionSpace::memory_space,
27 Kokkos::layout_right>;
28 PoissonSolver
const& m_solve_poisson;
51 DFieldXY electrostatic_potential,
52 DFieldXY electric_field_x,
53 DFieldXY electric_field_y,
54 DConstFieldSpXYVxVy allfdistribu)
const override;
A class which calculates the charge density.
Definition ichargedensitycalculator.hpp:16
Definition ipoisson_solver.hpp:10
Base class for a Quasi-Neutrality solver.
Definition iqnsolver.hpp:13
An operator which solves the Quasi-Neutrality equation using a fast Fourier transform.
Definition qnsolver.hpp:22
void operator()(DFieldXY electrostatic_potential, DFieldXY electric_field_x, DFieldXY electric_field_y, DConstFieldSpXYVxVy allfdistribu) const override
The operator which solves the equation using the method described by the class.
QNSolver(PoissonSolver const &solve_poisson, IChargeDensityCalculator const &compute_rho)
Construct the QNSolver operator.