aboutsummaryrefslogtreecommitdiff
path: root/Source/Parallelization/GuardCellManager.H
diff options
context:
space:
mode:
authorGravatar David Grote <grote1@llnl.gov> 2022-01-20 15:53:23 -0800
committerGravatar GitHub <noreply@github.com> 2022-01-20 15:53:23 -0800
commitc7c8a710cb1b99bc72343f4215011f3c0ec4f16e (patch)
treec3aad20d0b41185ad3d4fd31b8c7797b6a487844 /Source/Parallelization/GuardCellManager.H
parente9e79322bde6a2b6cd6efc44508146c62325004d (diff)
downloadWarpX-c7c8a710cb1b99bc72343f4215011f3c0ec4f16e.tar.gz
WarpX-c7c8a710cb1b99bc72343f4215011f3c0ec4f16e.tar.zst
WarpX-c7c8a710cb1b99bc72343f4215011f3c0ec4f16e.zip
Implement PML for the outer RZ boundary with PSATD (#2211)
* Initial version of RZ PSATD PML BCs * Cleaned up some bugs * Add support of do_pml_in_domain option * Cleaned up stuff for building * Fix PMLPsatdAlgorithm macro * Removed unneeded variable from SpectralSolverRZ * Change length 3 arrays to length 2 (for 2D) * Cleanup around DampPML * Added more checks of pml[lev] * Added CI test for RZ PML * Added code to update the corner guard cells * Further updates * Added CI test * Fixed EOL space * Updated CI benchmarks, removing round off fields * Changes to CI missed on previous commit * Various fixes for clean up * More fixes for clean up * Further cleanup * Updated benchmark * Fixed benchmarks file * Minor cleanup * Added round off benchmark values * Fixed testname in analysis_pml_psatd_rz.py * Update comment in analysis file * Put pml_rz code in RZ and PSATD macro blocks * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add geometry.dims input to CI test input file, inputs_rz * Cleanup to match recent changes Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Diffstat (limited to 'Source/Parallelization/GuardCellManager.H')
-rw-r--r--Source/Parallelization/GuardCellManager.H6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/Parallelization/GuardCellManager.H b/Source/Parallelization/GuardCellManager.H
index 182b4aa80..05d99de4d 100644
--- a/Source/Parallelization/GuardCellManager.H
+++ b/Source/Parallelization/GuardCellManager.H
@@ -44,6 +44,9 @@ public:
* \param do_electrostatic Whether to run in electrostatic mode i.e. solving the Poisson equation instead of the Maxwell equations.
* \param do_multi_J Whether to use the multi-J PSATD scheme
* \param fft_do_time_averaging Whether to average the E and B field in time (with PSATD) before interpolating them onto the macro-particles
+ * \param do_pml whether pml is turned on (only used by RZ PSATD)
+ * \param do_pml_in_domain whether pml is done in the domain (only used by RZ PSATD)
+ * \param pml_ncell number of cells on the pml layer (only used by RZ PSATD)
* \param ref_ratios mesh refinement ratios between mesh-refinement levels
*/
void Init(
@@ -65,6 +68,9 @@ public:
const int do_electrostatic,
const int do_multi_J,
const bool fft_do_time_averaging,
+ const bool do_pml,
+ const int do_pml_in_domain,
+ const int pml_ncell,
const amrex::Vector<amrex::IntVect>& ref_ratios);
// Guard cells allocated for MultiFabs E and B