aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/SpectralSolver/SpectralSolverRZ.H
diff options
context:
space:
mode:
Diffstat (limited to 'Source/FieldSolver/SpectralSolver/SpectralSolverRZ.H')
-rw-r--r--Source/FieldSolver/SpectralSolver/SpectralSolverRZ.H15
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/FieldSolver/SpectralSolver/SpectralSolverRZ.H b/Source/FieldSolver/SpectralSolver/SpectralSolverRZ.H
index b0894df91..5762e1436 100644
--- a/Source/FieldSolver/SpectralSolver/SpectralSolverRZ.H
+++ b/Source/FieldSolver/SpectralSolver/SpectralSolverRZ.H
@@ -89,6 +89,21 @@ class SpectralSolverRZ
algorithm->ComputeSpectralDivE( field_data, Efield, divE );
};
+ /**
+ * \brief Public interface to call the virtual function \c CurrentCorrection,
+ * defined in the base class SpectralBaseAlgorithmRZ and possibly overridden
+ * by its derived classes (e.g. PsatdAlgorithmRZ), from
+ * objects of class SpectralSolverRZ through the private unique pointer \c algorithm
+ *
+ * \param[in,out] current two-dimensional array of unique pointers to MultiFab
+ * storing the three components of the current density
+ * \param[in] rho unique pointer to MultiFab storing the charge density
+ */
+ void CurrentCorrection ( std::array<std::unique_ptr<amrex::MultiFab>,3>& current,
+ const std::unique_ptr<amrex::MultiFab>& rho ) {
+ algorithm->CurrentCorrection( field_data, current, rho );
+ };
+
private:
SpectralFieldDataRZ field_data; // Store field in spectral space