From 03b2fe60ff49748aaff8402824ea0457eef24d5c Mon Sep 17 00:00:00 2001 From: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Date: Wed, 8 Mar 2023 20:52:56 -0800 Subject: New user input for grid type (collocated, staggered, hybrid) (#3683) * Introduce `warpx.grid_type` parameter * Replace `or` with `||` * Update examples with new user input syntax * Fix `if` condition * Improve error message * Fix `if` condition * Fix bugs * Fix warning * Fix RZ * Debugging * Fix RZ * Fix bug * Clean up * More changes: - set default algo parameters with hybrid grid - all hybrid input parameters under warpx name * Set default field gathering algo for hybrid grids * Update documentation --- Source/Parallelization/GuardCellManager.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Source/Parallelization/GuardCellManager.cpp') diff --git a/Source/Parallelization/GuardCellManager.cpp b/Source/Parallelization/GuardCellManager.cpp index aa9d9f448..5c151412b 100644 --- a/Source/Parallelization/GuardCellManager.cpp +++ b/Source/Parallelization/GuardCellManager.cpp @@ -36,7 +36,7 @@ guardCellManager::Init ( const amrex::RealVect dx, const bool do_subcycling, const bool do_fdtd_nci_corr, - const bool do_nodal, + const short grid_type, const bool do_moving_window, const int moving_window_dir, const int nox, @@ -195,9 +195,9 @@ guardCellManager::Init ( // currents in the latter case). This does not seem to be necessary in x and y, // where it still seems fine to set half the number of guard cells of the nodal case. - int ngFFt_x = do_nodal ? nox_fft : nox_fft / 2; - int ngFFt_y = do_nodal ? noy_fft : noy_fft / 2; - int ngFFt_z = (do_nodal || galilean) ? noz_fft : noz_fft / 2; + int ngFFt_x = (grid_type == GridType::Collocated) ? nox_fft : nox_fft / 2; + int ngFFt_y = (grid_type == GridType::Collocated) ? noy_fft : noy_fft / 2; + int ngFFt_z = (grid_type == GridType::Collocated || galilean) ? noz_fft : noz_fft / 2; ParmParse pp_psatd("psatd"); utils::parser::queryWithParser(pp_psatd, "nx_guard", ngFFt_x); @@ -258,7 +258,7 @@ guardCellManager::Init ( } #else else { - if (do_nodal) { + if (grid_type == GridType::Collocated) { ng_FieldSolver = CartesianNodalAlgorithm::GetMaxGuardCell(); ng_FieldSolverF = CartesianNodalAlgorithm::GetMaxGuardCell(); ng_FieldSolverG = CartesianNodalAlgorithm::GetMaxGuardCell(); -- cgit v1.2.3