diff options
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp')
-rw-r--r-- | Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp index 1bba6b317..33253c986 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp @@ -1,4 +1,5 @@ -// TODO include statements +#include<FiniteDifferenceAlgorithms/YeeAlgorithm.H> +#include<FiniteDifferenceSolver.H> FiniteDifferenceSolver::EvolveB ( VectorField Bfield, ConstVectorField Efield, @@ -7,8 +8,8 @@ FiniteDifferenceSolver::EvolveB ( VectorField Bfield, // but we compile code for each algorithm, using templates) if (fdtd_algo == MaxwellSolverAlgo::Yee){ EvolveBwithAlgo <YeeAlgorithm> ( Bfield, Efield, dt ); - } else if (fdtd_algo == MaxwellSolverAlgo::CKC) { - EvolveBwithAlgo <CKCAlgorithm> ( Bfield, Efield, dt ); +// } else if (fdtd_algo == MaxwellSolverAlgo::CKC) { +// EvolveBwithAlgo <CKCAlgorithm> ( Bfield, Efield, dt ); } else { amrex::Abort("Unknown algorithm"); } @@ -23,7 +24,7 @@ FiniteDifferenceSolver::EvolveBwithAlgo ( VectorField Bfield, #ifdef _OPENMP #pragma omp parallel if (Gpu::notInLaunchRegion()) #endif - for ( MFIter mfi(*Bx, TilingIfNotGPU()); mfi.isValid(); ++mfi ) { + for ( MFIter mfi(*Bfield[0], TilingIfNotGPU()); mfi.isValid(); ++mfi ) { // Extract field data for this grid/tile auto const& Bx = Bfield[0]->array(mfi); @@ -47,18 +48,18 @@ FiniteDifferenceSolver::EvolveBwithAlgo ( VectorField Bfield, amrex::ParallelFor(tbx, tby, tbz, [=] AMREX_GPU_DEVICE (int i, int j, int k){ - Bx(i, j, k) += dt * algo::UpwardDz( Ey, i, j, k, coefs_z) - - dt * algo::UpwardDy( Ez, i, j, k, coefs_y); + Bx(i, j, k) += dt * algo::UpwardDz(Ey, i, j, k, coefs_z) + - dt * algo::UpwardDy(Ez, i, j, k, coefs_y); }, [=] AMREX_GPU_DEVICE (int i, int j, int k){ - By(i, j, k) += dt * algo::UpwardDx( Ez, i, j, k, coefs_x) - - dt * algo::UpwardDz( Ex, i, j, k, coefs_z); + By(i, j, k) += dt * algo::UpwardDx(Ez, i, j, k, coefs_x) + - dt * algo::UpwardDz(Ex, i, j, k, coefs_z); }, [=] AMREX_GPU_DEVICE (int i, int j, int k){ - Bz(i, j, k) += dt * algo::UpwardDy( Ex, i, j, k, coefs_y) - - dt * algo::UpwardDx( Ey, i, j, k, coefs_x); + Bz(i, j, k) += dt * algo::UpwardDy(Ex, i, j, k, coefs_y) + - dt * algo::UpwardDx(Ey, i, j, k, coefs_x); } ); |