diff options
author | 2019-05-24 15:54:00 -0700 | |
---|---|---|
committer | 2019-05-24 15:54:00 -0700 | |
commit | d98789a477d1a4106fd62b895b1d3ba9b51ebf2a (patch) | |
tree | 68a8c07bea2be54caf4f76ca8dab1d4c4e223f04 /Source/Utils/WarpXMovingWindow.cpp | |
parent | 63f7eb0be04f4b14ec4ca32e743f0afb0f85fb21 (diff) | |
download | WarpX-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.cpp | 20 |
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; |