diff options
author | 2022-01-13 20:05:19 +0100 | |
---|---|---|
committer | 2022-01-13 11:05:19 -0800 | |
commit | ca67ae0700d1f56e7921da9283d42184149cb15b (patch) | |
tree | 6ee96802136c95bf7fbbbebbf19a871516ea697a /Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp | |
parent | 726a9d85b951cf26f936ef0dd600a342657f4106 (diff) | |
download | WarpX-ca67ae0700d1f56e7921da9283d42184149cb15b.tar.gz WarpX-ca67ae0700d1f56e7921da9283d42184149cb15b.tar.zst WarpX-ca67ae0700d1f56e7921da9283d42184149cb15b.zip |
Fixing staircased EM solver (#2739)
* Fixing the staircase consistency
* Removed the face_areas multifabs everywhere they're not needed
* Bug fix
* More fixes
* Another fix
* Another fix
* Initialize areas anyways for the initialization
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: lgiacome <lorenzo.giacome@cern.ch>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Diffstat (limited to '')
-rw-r--r-- | Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp index f2eb555e1..5b182812a 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp @@ -42,27 +42,26 @@ using namespace amrex; void FiniteDifferenceSolver::EvolveBPML ( std::array< amrex::MultiFab*, 3 > Bfield, std::array< amrex::MultiFab*, 3 > const Efield, - std::array< amrex::MultiFab*, 3 > const face_areas, amrex::Real const dt, const bool dive_cleaning) { // Select algorithm (The choice of algorithm is a runtime option, // but we compile code for each algorithm, using templates) #ifdef WARPX_DIM_RZ - amrex::ignore_unused(Bfield, Efield, dt, dive_cleaning, face_areas); + amrex::ignore_unused(Bfield, Efield, dt, dive_cleaning); amrex::Abort("PML are not implemented in cylindrical geometry."); #else if (m_do_nodal) { - EvolveBPMLCartesian <CartesianNodalAlgorithm> (Bfield, Efield, face_areas, dt, dive_cleaning); + EvolveBPMLCartesian <CartesianNodalAlgorithm> (Bfield, Efield, dt, dive_cleaning); } else if (m_fdtd_algo == MaxwellSolverAlgo::Yee || m_fdtd_algo == MaxwellSolverAlgo::ECT) { - EvolveBPMLCartesian <CartesianYeeAlgorithm> (Bfield, Efield, face_areas, dt, dive_cleaning); + EvolveBPMLCartesian <CartesianYeeAlgorithm> (Bfield, Efield, dt, dive_cleaning); } else if (m_fdtd_algo == MaxwellSolverAlgo::CKC) { - EvolveBPMLCartesian <CartesianCKCAlgorithm> (Bfield, Efield, face_areas, dt, dive_cleaning); + EvolveBPMLCartesian <CartesianCKCAlgorithm> (Bfield, Efield, dt, dive_cleaning); } else { amrex::Abort("EvolveBPML: Unknown algorithm"); @@ -77,7 +76,6 @@ template<typename T_Algo> void FiniteDifferenceSolver::EvolveBPMLCartesian ( std::array< amrex::MultiFab*, 3 > Bfield, std::array< amrex::MultiFab*, 3 > const Efield, - std::array< amrex::MultiFab*, 3 > const face_areas, amrex::Real const dt, const bool dive_cleaning) { @@ -95,12 +93,6 @@ void FiniteDifferenceSolver::EvolveBPMLCartesian ( Array4<Real> const& Ey = Efield[1]->array(mfi); Array4<Real> const& Ez = Efield[2]->array(mfi); -#ifdef AMREX_USE_EB - Array4<Real> const& Sx = face_areas[0]->array(mfi); - Array4<Real> const& Sy = face_areas[1]->array(mfi); - Array4<Real> const& Sz = face_areas[2]->array(mfi); -#endif - // Extract stencil coefficients Real const * const AMREX_RESTRICT coefs_x = m_stencil_coefs_x.dataPtr(); int const n_coefs_x = m_stencil_coefs_x.size(); @@ -118,9 +110,6 @@ void FiniteDifferenceSolver::EvolveBPMLCartesian ( amrex::ParallelFor(tbx, tby, tbz, [=] AMREX_GPU_DEVICE (int i, int j, int k){ -#ifdef AMREX_USE_EB - if(Sx(i, j, k) <= 0) return; -#endif amrex::Real UpwardDz_Ey_yy = 0._rt; amrex::Real UpwardDy_Ez_zz = 0._rt; @@ -142,9 +131,6 @@ void FiniteDifferenceSolver::EvolveBPMLCartesian ( }, [=] AMREX_GPU_DEVICE (int i, int j, int k){ -#ifdef AMREX_USE_EB - if(Sy(i, j, k) <= 0) return; -#endif amrex::Real UpwardDx_Ez_zz = 0._rt; amrex::Real UpwardDz_Ex_xx = 0._rt; @@ -166,9 +152,6 @@ void FiniteDifferenceSolver::EvolveBPMLCartesian ( }, [=] AMREX_GPU_DEVICE (int i, int j, int k){ -#ifdef AMREX_USE_EB - if(Sz(i, j, k) <= 0) return; -#endif amrex::Real UpwardDy_Ex_xx = 0._rt; amrex::Real UpwardDx_Ey_yy = 0._rt; @@ -193,10 +176,6 @@ void FiniteDifferenceSolver::EvolveBPMLCartesian ( } -#ifndef AMREX_USE_EB - amrex::ignore_unused(face_areas); -#endif - } #endif // corresponds to ifndef WARPX_DIM_RZ |