aboutsummaryrefslogtreecommitdiff
path: root/Source/Utils/WarpXMovingWindow.cpp
diff options
context:
space:
mode:
authorGravatar RevathiJambunathan <revanathan@gmail.com> 2019-05-24 15:54:00 -0700
committerGravatar RevathiJambunathan <revanathan@gmail.com> 2019-05-24 15:54:00 -0700
commitd98789a477d1a4106fd62b895b1d3ba9b51ebf2a (patch)
tree68a8c07bea2be54caf4f76ca8dab1d4c4e223f04 /Source/Utils/WarpXMovingWindow.cpp
parent63f7eb0be04f4b14ec4ca32e743f0afb0f85fb21 (diff)
downloadWarpX-d98789a477d1a4106fd62b895b1d3ba9b51ebf2a.tar.gz
WarpX-d98789a477d1a4106fd62b895b1d3ba9b51ebf2a.tar.zst
WarpX-d98789a477d1a4106fd62b895b1d3ba9b51ebf2a.zip
Included suggestions made in the PR review and also added capability for slice to move with the moving window.
Diffstat (limited to '')
-rw-r--r--Source/Utils/WarpXMovingWindow.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/Utils/WarpXMovingWindow.cpp b/Source/Utils/WarpXMovingWindow.cpp
index 18d89951d..8ae219ddf 100644
--- a/Source/Utils/WarpXMovingWindow.cpp
+++ b/Source/Utils/WarpXMovingWindow.cpp
@@ -65,6 +65,26 @@ WarpX::MoveWindow (bool move_j)
RealBox new_box(new_lo, new_hi);
Geometry::ProbDomain(new_box);
+ // Moving slice coordinates - lo and hi - with moving window //
+ // slice box is modified only if slice diagnostics is initialized in input //
+ if ( slice_plot_int > 0 )
+ {
+ Real new_slice_lo[AMREX_SPACEDIM];
+ Real new_slice_hi[AMREX_SPACEDIM];
+ const Real* current_slice_lo = slice_realbox.lo();
+ const Real* current_slice_hi = slice_realbox.hi();
+ for ( int i = 0; i < AMREX_SPACEDIM; i++) {
+ new_slice_lo[i] = current_slice_lo[i];
+ new_slice_hi[i] = current_slice_hi[i];
+ }
+ int num_shift_base_slice = static_cast<int> ((moving_window_x -
+ current_slice_lo[dir]) / cdx[dir]);
+ new_slice_lo[dir] = current_slice_lo[dir] + num_shift_base_slice*cdx[dir];
+ new_slice_hi[dir] = current_slice_hi[dir] + num_shift_base_slice*cdx[dir];
+ slice_realbox.setLo(new_slice_lo);
+ slice_realbox.setHi(new_slice_hi);
+ }
+
int num_shift = num_shift_base;
int num_shift_crse = num_shift;