aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/SpectralSolver/SpectralFieldData.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/FieldSolver/SpectralSolver/SpectralFieldData.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/FieldSolver/SpectralSolver/SpectralFieldData.H')
-rw-r--r--Source/FieldSolver/SpectralSolver/SpectralFieldData.H8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/FieldSolver/SpectralSolver/SpectralFieldData.H b/Source/FieldSolver/SpectralSolver/SpectralFieldData.H
index 9b748a048..4f0ad1c20 100644
--- a/Source/FieldSolver/SpectralSolver/SpectralFieldData.H
+++ b/Source/FieldSolver/SpectralSolver/SpectralFieldData.H
@@ -50,13 +50,16 @@ class SpectralFieldIndex
* div(B) = 0 law (new field G in the update equations)
* \param[in] pml whether the indices are used to access spectral data
* for the PML spectral solver
+ * \param[in] pml_rz whether the indices are used to access spectral data
+ * for the RZ PML spectral solver
*/
SpectralFieldIndex (const bool update_with_rho,
const bool time_averaging,
const bool do_multi_J,
const bool dive_cleaning,
const bool divb_cleaning,
- const bool pml);
+ const bool pml,
+ const bool pml_rz = false);
/**
* \brief Default constructor
@@ -97,6 +100,9 @@ class SpectralFieldIndex
// PML with div(E) and/or div(B) cleaning
int Exx = -1, Eyy = -1, Ezz = -1, Bxx = -1, Byy = -1, Bzz = -1;
int Fx = -1, Fy = -1, Fz = -1, Gx = -1, Gy = -1, Gz = -1;
+
+ // PML RZ
+ int Er_pml = -1, Et_pml = -1, Br_pml = -1, Bt_pml = -1;
};
/** \brief Class that stores the fields in spectral space, and performs the