diff options
author | 2021-04-19 08:27:19 -0700 | |
---|---|---|
committer | 2021-04-19 08:27:19 -0700 | |
commit | 0beb477484381a012d9e80f326c4cb51926b5e5c (patch) | |
tree | be3b5e0d9374e2cb718582b4fdd64c13a1aa55ff /Source/FieldSolver/SpectralSolver/SpectralSolver.cpp | |
parent | e0d1e2494f1190f1b42088273409887a459987bd (diff) | |
download | WarpX-0beb477484381a012d9e80f326c4cb51926b5e5c.tar.gz WarpX-0beb477484381a012d9e80f326c4cb51926b5e5c.tar.zst WarpX-0beb477484381a012d9e80f326c4cb51926b5e5c.zip |
Divergence cleaning for PSATD in PML (#1600)
* Add div(E)/div(B) cleaning options for PSATD in PMLs
* Pass missing flags to spectral solver in PML
* Duplicate MPI exchange and communication functions for G
* Use separate parameters for div cleaning in PMLs
* Add asserts for features that are not implemented
* Do not need to duplicate MPI exchange functions for G
* Add short documentation for new input parameters
* Set new parameters true by default with PSATD solver
* Add CI test for PML div cleaning with PSATD
* Use new syntax <diag_name>.intervals in new input file
* Reset benchmark of new CI test
* Always synchronize nodal points of G MultiFab
* Fix few warnings in 2D build
* Update Benchmark of pml_psatd_dive_divb_cleaning
* Improve Documentation of warpx.do_pml_dive_cleaning
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Improve Documentation of warpx.do_pml_divb_cleaning
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Improve Abort Message
* Clean Up
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
Diffstat (limited to 'Source/FieldSolver/SpectralSolver/SpectralSolver.cpp')
-rw-r--r-- | Source/FieldSolver/SpectralSolver/SpectralSolver.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/FieldSolver/SpectralSolver/SpectralSolver.cpp b/Source/FieldSolver/SpectralSolver/SpectralSolver.cpp index ec1219f93..ae631ba6c 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralSolver.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralSolver.cpp @@ -43,7 +43,9 @@ SpectralSolver::SpectralSolver( const amrex::RealVect dx, const amrex::Real dt, const bool pml, const bool periodic_single_box, const bool update_with_rho, - const bool fft_do_time_averaging) { + const bool fft_do_time_averaging, + const bool dive_cleaning, + const bool divb_cleaning) { // Initialize all structures using the same distribution mapping dm @@ -57,7 +59,7 @@ SpectralSolver::SpectralSolver( if (pml) { algorithm = std::make_unique<PMLPsatdAlgorithm>( - k_space, dm, norder_x, norder_y, norder_z, nodal, dt); + k_space, dm, norder_x, norder_y, norder_z, nodal, dt, dive_cleaning, divb_cleaning); } else { // Comoving PSATD algorithm |