diff options
author | 2019-10-17 16:00:38 -0700 | |
---|---|---|
committer | 2019-10-17 16:00:38 -0700 | |
commit | 3130a984f5ac2ebf0c56db20fb3a42c07760ae2d (patch) | |
tree | 02f100468142b23e88a83de69b19539b95e215ce /Source/Utils/WarpXMovingWindow.cpp | |
parent | dd12994479146ecc1dc8722b0b25e42ada0dde3e (diff) | |
download | WarpX-3130a984f5ac2ebf0c56db20fb3a42c07760ae2d.tar.gz WarpX-3130a984f5ac2ebf0c56db20fb3a42c07760ae2d.tar.zst WarpX-3130a984f5ac2ebf0c56db20fb3a42c07760ae2d.zip |
add external field in new cells if moving window
Diffstat (limited to 'Source/Utils/WarpXMovingWindow.cpp')
-rw-r--r-- | Source/Utils/WarpXMovingWindow.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Source/Utils/WarpXMovingWindow.cpp b/Source/Utils/WarpXMovingWindow.cpp index f84701a02..f675c6979 100644 --- a/Source/Utils/WarpXMovingWindow.cpp +++ b/Source/Utils/WarpXMovingWindow.cpp @@ -99,8 +99,8 @@ WarpX::MoveWindow (bool move_j) for (int dim = 0; dim < 3; ++dim) { // Fine grid - shiftMF(*Bfield_fp[lev][dim], geom[lev], num_shift, dir); - shiftMF(*Efield_fp[lev][dim], geom[lev], num_shift, dir); + shiftMF(*Bfield_fp[lev][dim], geom[lev], num_shift, dir, B_external_grid); + shiftMF(*Efield_fp[lev][dim], geom[lev], num_shift, dir, E_external_grid); if (move_j) { shiftMF(*current_fp[lev][dim], geom[lev], num_shift, dir); } @@ -113,8 +113,8 @@ WarpX::MoveWindow (bool move_j) if (lev > 0) { // Coarse grid - shiftMF(*Bfield_cp[lev][dim], geom[lev-1], num_shift_crse, dir); - shiftMF(*Efield_cp[lev][dim], geom[lev-1], num_shift_crse, dir); + shiftMF(*Bfield_cp[lev][dim], geom[lev-1], num_shift_crse, dir, B_external_grid); + shiftMF(*Efield_cp[lev][dim], geom[lev-1], num_shift_crse, dir, E_external_grid); shiftMF(*Bfield_aux[lev][dim], geom[lev], num_shift, dir); shiftMF(*Efield_aux[lev][dim], geom[lev], num_shift, dir); if (move_j) { @@ -203,7 +203,8 @@ WarpX::MoveWindow (bool move_j) } void -WarpX::shiftMF (MultiFab& mf, const Geometry& geom, int num_shift, int dir) +WarpX::shiftMF (MultiFab& mf, const Geometry& geom, int num_shift, int dir, + amrex::Vector<amrex::Real> external_field) { BL_PROFILE("WarpX::shiftMF()"); const BoxArray& ba = mf.boxArray(); @@ -257,7 +258,7 @@ WarpX::shiftMF (MultiFab& mf, const Geometry& geom, int num_shift, int dir) if (outbox.ok()) { AMREX_PARALLEL_FOR_4D ( outbox, nc, i, j, k, n, { - srcfab(i,j,k,n) = 0.0; + srcfab(i,j,k,n) = external_field[n]; }); } |