aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
diff options
context:
space:
mode:
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H')
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H22
1 files changed, 12 insertions, 10 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
index 1aa9c7e38..5496adff9 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
+++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
@@ -1,6 +1,8 @@
#ifndef WARPX_FINITE_DIFFERENCE_SOLVER_H_
#define WARPX_FINITE_DIFFERENCE_SOLVER_H_
+#include <AMReX_MultiFab.H>
+#include <WarpXAlgorithmSelection.H>
#include<FiniteDifferenceAlgorithms/YeeAlgorithm.H>
/**
@@ -13,13 +15,13 @@ class FiniteDifferenceSolver
public:
using VectorField = std::array< std::unique_ptr<amrex::MultiFab>, 3 >;
- using ConstVectorField = std::array< std::unique_ptr<amrex::MultiFab const>, 3 >;
// Constructor
- void FiniteDifferenceSolver::FiniteDifferenceSolver ( std::array<Real,3> cell_size ) {
+ FiniteDifferenceSolver ( int fdtd_algo,
+ std::array<amrex::Real,3> cell_size ) {
// Register the type of finite-difference algorithm
- fdtd_algo = WarpX::maxwell_fdtd_solver_id;
+ m_fdtd_algo = fdtd_algo;
// Calculate coefficients of finite-difference stencil
if (fdtd_algo == MaxwellSolverAlgo::Yee){
@@ -33,21 +35,21 @@ class FiniteDifferenceSolver
}
};
- void EvolveB ( VectorField Bfield,
- ConstVectorField Efield,
- amrex::Real dt ) const;
+ void EvolveB ( VectorField& Bfield,
+ VectorField& Efield,
+ amrex::Real dt );
private:
- int fdtd_algo;
+ int m_fdtd_algo;
amrex::Gpu::ManagedVector<amrex::Real> stencil_coefs_x;
amrex::Gpu::ManagedVector<amrex::Real> stencil_coefs_y;
amrex::Gpu::ManagedVector<amrex::Real> stencil_coefs_z;
template< typename fdtd_algo >
- void EvolveBwithAlgo ( VectorField Bfield,
- ConstVectorField Efield,
- amrex::Real dt ) const;
+ void EvolveBwithAlgo ( VectorField& Bfield,
+ VectorField& Efield,
+ amrex::Real dt );
};