diff options
author | 2022-09-20 16:28:39 -0700 | |
---|---|---|
committer | 2022-09-20 16:28:39 -0700 | |
commit | 5761b4bf998eab84ea0f7e4b132026593f3ddf9f (patch) | |
tree | 39a60a20ac3fac7368231b66f49fad063321f624 /Source/FieldSolver/SpectralSolver/SpectralSolverRZ.cpp | |
parent | 2fed2828933831ee464f0ca5d02a23dd2df54aad (diff) | |
download | WarpX-5761b4bf998eab84ea0f7e4b132026593f3ddf9f.tar.gz WarpX-5761b4bf998eab84ea0f7e4b132026593f3ddf9f.tar.zst WarpX-5761b4bf998eab84ea0f7e4b132026593f3ddf9f.zip |
PSATD: More Options for Time Dependency of J, Rho (#3242)
* Rename PsatdAlgorithm as PsatdAlgorithmJConstantInTime
* Add New Inputs: psatd.J_in_time, psatd.rho_in_time
* Update PSATD Classes
* Fix Bug for FDTD Build
* Fix Warning for RZ PSATD Build
* Fix Multi-J Loop w/ J Constant in Time
* Clean up
* Fix Error Message
* Fix Time of Charge Deposition for Rho Linear
* Add 3D Langmuir CI Tests w/ Multi-J Algo
* Fix Checksums of New CI Tests
* Remove Extra CI Tests (added in #3363)
* Fix CI Tests w/ Multi-J PSATD
* Add Docs for New Input Parameters
* Galilean/Comoving PSATD Not Compatible w/ J Linear
Diffstat (limited to 'Source/FieldSolver/SpectralSolver/SpectralSolverRZ.cpp')
-rw-r--r-- | Source/FieldSolver/SpectralSolver/SpectralSolverRZ.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/FieldSolver/SpectralSolver/SpectralSolverRZ.cpp b/Source/FieldSolver/SpectralSolver/SpectralSolverRZ.cpp index 3f4bddd8b..23d93fe04 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralSolverRZ.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralSolverRZ.cpp @@ -35,7 +35,8 @@ SpectralSolverRZ::SpectralSolverRZ (const int lev, bool const with_pml, bool const update_with_rho, const bool fft_do_time_averaging, - const bool do_multi_J, + const int J_in_time, + const int rho_in_time, const bool dive_cleaning, const bool divb_cleaning) : k_space(realspace_ba, dm, dx) @@ -47,8 +48,9 @@ SpectralSolverRZ::SpectralSolverRZ (const int lev, // as well as the value of the corresponding k coordinates. const bool is_pml = false; - m_spectral_index = SpectralFieldIndex(update_with_rho, fft_do_time_averaging, - do_multi_J, dive_cleaning, divb_cleaning, is_pml, with_pml); + m_spectral_index = SpectralFieldIndex( + update_with_rho, fft_do_time_averaging, J_in_time, rho_in_time, + dive_cleaning, divb_cleaning, is_pml, with_pml); // - Select the algorithm depending on the input parameters // Initialize the corresponding coefficients over k space @@ -60,7 +62,7 @@ SpectralSolverRZ::SpectralSolverRZ (const int lev, // v_galilean is 0: use standard PSATD algorithm algorithm = std::make_unique<PsatdAlgorithmRZ>( k_space, dm, m_spectral_index, n_rz_azimuthal_modes, norder_z, nodal, dt, - update_with_rho, fft_do_time_averaging, do_multi_J, dive_cleaning, divb_cleaning); + update_with_rho, fft_do_time_averaging, J_in_time, rho_in_time, dive_cleaning, divb_cleaning); } else { // Otherwise: use the Galilean algorithm algorithm = std::make_unique<PsatdAlgorithmGalileanRZ>( |