diff options
-rwxr-xr-x | Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py | 2 | ||||
-rw-r--r-- | Regression/WarpX-tests.ini | 38 | ||||
-rw-r--r-- | Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp | 4 |
3 files changed, 41 insertions, 3 deletions
diff --git a/Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py b/Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py index 1e417b9b8..d15f106a4 100755 --- a/Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py +++ b/Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py @@ -93,7 +93,7 @@ plt.title('Ez, last iteration\n(theory)') plt.tight_layout() plt.savefig('langmuir_multi_2d_analysis.png') -tolerance_rel = 0.04 +tolerance_rel = 0.05 print("error_rel : " + str(error_rel)) print("tolerance_rel: " + str(tolerance_rel)) diff --git a/Regression/WarpX-tests.ini b/Regression/WarpX-tests.ini index 60e5c5792..da3180f59 100644 --- a/Regression/WarpX-tests.ini +++ b/Regression/WarpX-tests.ini @@ -398,6 +398,25 @@ particleTypes = electrons positrons analysisRoutine = Examples/Tests/Langmuir/analysis_langmuir_multi.py analysisOutputImage = langmuir_multi_analysis.png +[Langmuir_multi_psatd_momentum_conserving] +buildDir = . +inputFile = Examples/Tests/Langmuir/inputs_3d_multi_rt +runtime_params = psatd.fftw_plan_measure=0 algo.field_gathering=momentum-conserving +dim = 3 +addToCompileString = USE_PSATD=TRUE +restartTest = 0 +useMPI = 1 +numprocs = 2 +useOMP = 1 +numthreads = 1 +compileTest = 0 +doVis = 0 +compareParticles = 1 +particleTypes = electrons positrons +analysisRoutine = Examples/Tests/Langmuir/analysis_langmuir_multi.py +analysisOutputImage = langmuir_multi_analysis.png +tolerance = 5.e-11 + [Langmuir_multi_psatd_nodal] buildDir = . inputFile = Examples/Tests/Langmuir/inputs_3d_multi_rt @@ -474,6 +493,25 @@ analysisRoutine = Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py analysisOutputImage = langmuir_multi_2d_analysis.png tolerance = 1.e-14 +[Langmuir_multi_2d_psatd_momentum_conserving] +buildDir = . +inputFile = Examples/Tests/Langmuir/inputs_2d_multi_rt +runtime_params = algo.field_gathering=momentum-conserving psatd.fftw_plan_measure=0 diag1.electrons.variables=w ux uy uz Ex Ey Ez diag1.positrons.variables=w ux uy uz Ex Ey Ez diag1.fields_to_plot=Ex Ey Ez jx jy jz part_per_cell +dim = 2 +addToCompileString = USE_PSATD=TRUE +restartTest = 0 +useMPI = 1 +numprocs = 2 +useOMP = 1 +numthreads = 1 +compileTest = 0 +doVis = 0 +compareParticles = 1 +particleTypes = electrons positrons +analysisRoutine = Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py +analysisOutputImage = langmuir_multi_2d_analysis.png +tolerance = 1.e-14 + [Langmuir_multi_2d_psatd_current_correction] buildDir = . inputFile = Examples/Tests/Langmuir/inputs_2d_multi_rt diff --git a/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp b/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp index 68bc95f53..76299b7de 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp @@ -233,10 +233,10 @@ SpectralFieldData::ForwardTransform( const MultiFab& mf, realspace_bx = mf[mfi].box(); // Keep guard cells } realspace_bx.enclosedCells(); // Discard last point in nodal direction - AMREX_ALWAYS_ASSERT( realspace_bx == tmpRealField[mfi].box() ); + AMREX_ALWAYS_ASSERT( realspace_bx.contains(tmpRealField[mfi].box()) ); Array4<const Real> mf_arr = mf[mfi].array(); Array4<Real> tmp_arr = tmpRealField[mfi].array(); - ParallelFor( realspace_bx, + ParallelFor( tmpRealField[mfi].box(), [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { tmp_arr(i,j,k) = mf_arr(i,j,k,i_comp); }); |