aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp')
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp
index 33253c986..a70548817 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp
@@ -1,28 +1,32 @@
+#include <WarpXAlgorithmSelection.H>
#include<FiniteDifferenceAlgorithms/YeeAlgorithm.H>
#include<FiniteDifferenceSolver.H>
+#include<AMReX_Gpu.H>
-FiniteDifferenceSolver::EvolveB ( VectorField Bfield,
- ConstVectorField Efield,
- amrex::Real dt ) {
+using namespace amrex;
+
+void FiniteDifferenceSolver::EvolveB ( VectorField& Bfield,
+ VectorField& Efield,
+ amrex::Real dt ) {
// Select algorithm (The choice of algorithm is a runtime option,
// but we compile code for each algorithm, using templates)
- if (fdtd_algo == MaxwellSolverAlgo::Yee){
+ if (m_fdtd_algo == MaxwellSolverAlgo::Yee){
EvolveBwithAlgo <YeeAlgorithm> ( Bfield, Efield, dt );
// } else if (fdtd_algo == MaxwellSolverAlgo::CKC) {
// EvolveBwithAlgo <CKCAlgorithm> ( Bfield, Efield, dt );
} else {
amrex::Abort("Unknown algorithm");
}
-)
+}
template<typename algo>
-FiniteDifferenceSolver::EvolveBwithAlgo ( VectorField Bfield,
- ConstVectorField Efield,
- amrex::Real dt ) {
+void FiniteDifferenceSolver::EvolveBwithAlgo ( VectorField& Bfield,
+ VectorField& Efield,
+ amrex::Real dt ) {
// Loop through the grids, and over the tiles within each grid
#ifdef _OPENMP
-#pragma omp parallel if (Gpu::notInLaunchRegion())
+#pragma omp parallel if (amrex::Gpu::notInLaunchRegion())
#endif
for ( MFIter mfi(*Bfield[0], TilingIfNotGPU()); mfi.isValid(); ++mfi ) {
@@ -66,4 +70,4 @@ FiniteDifferenceSolver::EvolveBwithAlgo ( VectorField Bfield,
}
-};
+}