diff options
author | 2022-01-11 12:54:51 -0800 | |
---|---|---|
committer | 2022-01-11 12:54:51 -0800 | |
commit | daa51549ff6de4d20db1b388251a234bac7c2027 (patch) | |
tree | 4d10a206181be8e25ab7ab10ad149d054473b647 /Examples/Tests/PythonWrappers/PICMI_inputs_2d.py | |
parent | 61e5cffc5442e4704dcef4dffe6cdaaa9b9bbd0a (diff) | |
download | WarpX-daa51549ff6de4d20db1b388251a234bac7c2027.tar.gz WarpX-daa51549ff6de4d20db1b388251a234bac7c2027.tar.zst WarpX-daa51549ff6de4d20db1b388251a234bac7c2027.zip |
More efficient PML BoxArray (#2631)
* More efficient PML BoxArray
If the union of the grids is a single rectangular domain, we can simplify
the process and generate more efficient PML BoxArray.
* Update Source/BoundaryConditions/PML.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Apply suggestions from code review
* reset Python_wrappers benchmark
* fix the computation of sigmas for the new BoxArray
* Revert "reset Python_wrappers benchmark"
This reverts commit 2999304571d525076ba6c1f7cbbcef6e9acafabb.
* fix warning
* fix 1d
* initialize to quiet NaN
* Reset Benchmark: pml_x_psatd
- maximum relative error: 2.50e-06
- new implementation: 10 PML grids
- old implementation: 24 PML grids
* Reset Benchmark: LaserAccelerationMR
- maximum relative error: 2.73e-04
- new implementation: (18,8,8) PML grids
- old implementation: (48,18,18) PML grids
* Reset Benchmark: LaserOnFine
- maximum relative error: 6.44e-05
- new implementation: (2,6,6) PML grids
- old implementation: (2,12,12) PML grids
* Reset Benchmark: PlasmaAccelerationMR
- maximum relative error: 6.84e-04
- new implementation: (10,6,6) PML grids
- old implementation: (24,12,12) PML grids
* Reset Benchmark: RefinedInjection
- maximum relative error: 2.55e-04
- new implementation: (18,8,8) PML grids
- old implementation: (48,18,18) PML grids
* Reset Benchmark: momentum-conserving-gather
- maximum relative error: 7.43e-04
- new implementation: (10,6,6) PML grids
- old implementation: (24,12,12) PML grids
* Reset Benchmark: subcyclingMR
- maximum relative error: 2.41e-05
- new implementation: (6,6,6) PML grids
- old implementation: (12,12,12) PML grids
* Reset Benchmark: Langmuir_multi_2d_MR
- maximum relative error: 1.32e-01 (B numerical artifact)
- new implementation: (0,20,20) PML grids
- old implementation: (0,52,40) PML grids
* Reset Benchmark: Langmuir_multi_2d_MR_psatd
- maximum relative error: 1.05e-01 (B numerical artifact)
- new implementation: (0,20,20) PML grids
- old implementation: (0,52,40) PML grids
* Reset Benchmark: Python_LaserAccelerationMR
- maximum relative error: 2.73e-04
- new implementation: (18,8,8) PML grids
- old implementation: (48,18,18) PML grids
* Reset Benchmark: Python_wrappers
- maximum relative error: 1.07e-08
- new implementation: 8 PML grids
- old implementation: 16 PML grids
* Reset Benchmark: pml_psatd_dive_divb_cleaning
- maximum relative error: 4.91e-03
- new implementation: 24 PML grids
- old implementation: 98 PML grids
* Remove an assertion. We will fix it later
* Reset Benchmark: Langmuir_multi_2d_MR_anisotropic
- maximum relative error: 1.07e-01 (B numerical artifact)
- new implementation: (0,16,16) PML grids
- old implementation: (0,40,34) PML grids
* Reset Benchmark: PEC_field_mr
- maximum relative error: 3.98e-02
- new implementation: (0,2,2) PML grids
- old implementation: (0,2,2) PML grids
(different number of ghost cells on coarse PML patch)
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
Diffstat (limited to 'Examples/Tests/PythonWrappers/PICMI_inputs_2d.py')
-rwxr-xr-x | Examples/Tests/PythonWrappers/PICMI_inputs_2d.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Examples/Tests/PythonWrappers/PICMI_inputs_2d.py b/Examples/Tests/PythonWrappers/PICMI_inputs_2d.py index c34c9cf80..2f9b16952 100755 --- a/Examples/Tests/PythonWrappers/PICMI_inputs_2d.py +++ b/Examples/Tests/PythonWrappers/PICMI_inputs_2d.py @@ -256,7 +256,7 @@ atol = 1e-12 # E check_values(1013263608.6369569, Ex[:,:], rtol, atol) -check_values(717278253.4505507 , Ey[:,:], rtol, atol) +check_values(717278256.7957529 , Ey[:,:], rtol, atol) check_values(717866566.5718911 , Ez[:,:], rtol, atol) # B check_values(3.0214509313437636, Bx[:,:], rtol, atol) @@ -267,22 +267,22 @@ check_values(3.0188584528062377, F[:,:], rtol, atol) check_values(1013672631.8764204, G[:,:], rtol, atol) # E in PML check_values(364287936.1526477 , Expml[:,:,0], rtol, atol) -check_values(183582351.3212558 , Expml[:,:,1], rtol, atol) +check_values(183582352.20753333, Expml[:,:,1], rtol, atol) check_values(190065766.41491824, Expml[:,:,2], rtol, atol) -check_values(440581905.9336025 , Eypml[:,:,0], rtol, atol) -check_values(178117293.6629357 , Eypml[:,:,1], rtol, atol) +check_values(440581907.0828975 , Eypml[:,:,0], rtol, atol) +check_values(178117294.05871135, Eypml[:,:,1], rtol, atol) check_values(0.0 , Eypml[:,:,2], rtol, atol) check_values(430277101.26568377, Ezpml[:,:,0], rtol, atol) check_values(0.0 , Ezpml[:,:,1], rtol, atol) check_values(190919663.2167449 , Ezpml[:,:,2], rtol, atol) # B in PML check_values(1.0565189315366146 , Bxpml[:,:,0], rtol, atol) -check_values(0.4618191395098556 , Bxpml[:,:,1], rtol, atol) -check_values(0.6849858273929585 , Bxpml[:,:,2], rtol, atol) +check_values(0.46181913800643065, Bxpml[:,:,1], rtol, atol) +check_values(0.6849858305343736 , Bxpml[:,:,2], rtol, atol) check_values(1.7228584190213505 , Bypml[:,:,0], rtol, atol) -check_values(0.47697331996765685, Bypml[:,:,1], rtol, atol) +check_values(0.47697332248020935, Bypml[:,:,1], rtol, atol) check_values(0.0 , Bypml[:,:,2], rtol, atol) -check_values(1.5183380774611628 , Bzpml[:,:,0], rtol, atol) +check_values(1.518338068658267 , Bzpml[:,:,0], rtol, atol) check_values(0.0 , Bzpml[:,:,1], rtol, atol) check_values(0.6849858291863835 , Bzpml[:,:,2], rtol, atol) # F and G in PML |