diff options
author | 2021-05-24 20:54:23 +0200 | |
---|---|---|
committer | 2021-05-24 11:54:23 -0700 | |
commit | ebedf1d5808eb6d051fd90717c5b8923e8b1a98a (patch) | |
tree | 7fb9ded643fb2250f50475c591e6ecad26ad89c1 | |
parent | 996505b96ec9ae025e22cd4214ff904479818d5c (diff) | |
download | WarpX-ebedf1d5808eb6d051fd90717c5b8923e8b1a98a.tar.gz WarpX-ebedf1d5808eb6d051fd90717c5b8923e8b1a98a.tar.zst WarpX-ebedf1d5808eb6d051fd90717c5b8923e8b1a98a.zip |
Call FillBoundary before momentum half-push at last timestep (#1954)
* Call FillBoundary before momentum half-push at last timestep
* Call FillBoundary before momentum half-push at last timestep
* Update benchmarks
* Update benchmarks again
13 files changed, 54 insertions, 47 deletions
diff --git a/Regression/Checksum/benchmarks_json/LaserAcceleration.json b/Regression/Checksum/benchmarks_json/LaserAcceleration.json index 7a5bc9475..f717917b3 100644 --- a/Regression/Checksum/benchmarks_json/LaserAcceleration.json +++ b/Regression/Checksum/benchmarks_json/LaserAcceleration.json @@ -2,9 +2,9 @@ "electrons": { "particle_cpu": 69212.0, "particle_id": 2655287162.0, - "particle_momentum_x": 1.7927320949194885e-20, - "particle_momentum_y": 7.226299296704682e-20, - "particle_momentum_z": 4.2329674357125244e-20, + "particle_momentum_x": 1.792735580790931e-20, + "particle_momentum_y": 7.226325265028272e-20, + "particle_momentum_z": 4.232366166615331e-20, "particle_position_x": 0.7139122548608258, "particle_position_y": 0.7150340442762911, "particle_position_z": 1.317577060864619, diff --git a/Regression/Checksum/benchmarks_json/LaserAccelerationMR.json b/Regression/Checksum/benchmarks_json/LaserAccelerationMR.json index 02281dd21..8631484ad 100644 --- a/Regression/Checksum/benchmarks_json/LaserAccelerationMR.json +++ b/Regression/Checksum/benchmarks_json/LaserAccelerationMR.json @@ -2,8 +2,8 @@ "beam": { "particle_cpu": 0.0, "particle_id": 5050.0, - "particle_momentum_x": 4.3785337042075496e-20, - "particle_momentum_y": 4.544037360984713e-20, + "particle_momentum_x": 4.378534563933335e-20, + "particle_momentum_y": 4.544037403286661e-20, "particle_momentum_z": 1.3481388908218515e-17, "particle_position_x": 3.836799666768163e-05, "particle_position_y": 0.001490074265584233, diff --git a/Regression/Checksum/benchmarks_json/PlasmaMirror.json b/Regression/Checksum/benchmarks_json/PlasmaMirror.json index 231689615..217a7c51c 100644 --- a/Regression/Checksum/benchmarks_json/PlasmaMirror.json +++ b/Regression/Checksum/benchmarks_json/PlasmaMirror.json @@ -2,9 +2,9 @@ "electrons": { "particle_cpu": 3809.0, "particle_id": 22462447.0, - "particle_momentum_x": 2.0003633196988347e-17, + "particle_momentum_x": 2.000457748960032e-17, "particle_momentum_y": 0.0, - "particle_momentum_z": 2.446760440657976e-17, + "particle_momentum_z": 2.446670640741138e-17, "particle_position_x": 0.37688793289418476, "particle_position_y": 0.1714047288635171, "particle_weight": 2.904173860599889e+18 @@ -12,9 +12,9 @@ "ions": { "particle_cpu": 3834.0, "particle_id": 61902330.0, - "particle_momentum_x": 2.805687685002513e-17, + "particle_momentum_x": 2.805690782833416e-17, "particle_momentum_y": 0.0, - "particle_momentum_z": 9.605283978686312e-17, + "particle_momentum_z": 9.605283484426823e-17, "particle_position_x": 0.3828171295926821, "particle_position_y": 0.17237242725257168, "particle_weight": 2.9212132379167017e+18 diff --git a/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd.json b/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd.json index 0589f213f..91542ce5f 100644 --- a/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd.json +++ b/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd.json @@ -2,8 +2,8 @@ "electrons": { "particle_cpu": 0.0, "particle_id": 2147516416.0, - "particle_momentum_x": 2.532315559872013e-21, - "particle_momentum_y": 2.6999645401303122e-21, + "particle_momentum_x": 2.532370425299364e-21, + "particle_momentum_y": 2.699959945265511e-21, "particle_momentum_z": 1.7807676308672323e-16, "particle_position_x": 405588.5890661151, "particle_position_y": 20127109.119097948, @@ -13,7 +13,7 @@ "particle_cpu": 0.0, "particle_id": 6442483712.0, "particle_momentum_x": 2.6093747608241028e-18, - "particle_momentum_y": 2.61794770341563e-18, + "particle_momentum_y": 2.617947710713471e-18, "particle_momentum_z": 3.269760999095121e-13, "particle_position_x": 405588.4386175681, "particle_position_y": 20127109.117484942, diff --git a/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd_hybrid.json b/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd_hybrid.json index 2df4d7266..0b79de353 100644 --- a/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd_hybrid.json +++ b/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd_hybrid.json @@ -2,8 +2,8 @@ "electrons": { "particle_cpu": 32768.0, "particle_id": 1073774592.0, - "particle_momentum_x": 2.6987960602750912e-21, - "particle_momentum_y": 2.3583158815448188e-21, + "particle_momentum_x": 2.698796676582727e-21, + "particle_momentum_y": 2.358317699793830e-21, "particle_momentum_z": 1.7807675042654014e-16, "particle_position_x": 405588.6263336367, "particle_position_y": 20127109.123049334, @@ -20,12 +20,12 @@ "particle_weight": 6.917460794691972e+17 }, "lev=0": { - "Bx": 0.002232320213633506, - "By": 0.004459938776538334, - "Bz": 0.006374599526320067, - "Ex": 1416337.8255897765, + "Bx": 2.232325678078911e-03, + "By": 4.459932871524489e-03, + "Bz": 6.374578981274600e-03, + "Ex": 1.416337670753960e+06, "Ey": 2097441.857526919, - "Ez": 322659.2369253079, + "Ez": 3.226592528925644e+05, "jx": 434.8052109005167, "jy": 844.9945365202007, "jz": 5016.6719265439715 diff --git a/Regression/Checksum/benchmarks_json/averaged_galilean_3d_psatd_hybrid.json b/Regression/Checksum/benchmarks_json/averaged_galilean_3d_psatd_hybrid.json index 9881b0b72..da0357780 100644 --- a/Regression/Checksum/benchmarks_json/averaged_galilean_3d_psatd_hybrid.json +++ b/Regression/Checksum/benchmarks_json/averaged_galilean_3d_psatd_hybrid.json @@ -2,8 +2,8 @@ "electrons": { "particle_cpu": 0.0, "particle_id": 536887296.0, - "particle_momentum_x": 3.069060217914455e-20, - "particle_momentum_y": 2.955864813654792e-20, + "particle_momentum_x": 3.069066828245467e-20, + "particle_momentum_y": 2.955868705778091e-20, "particle_momentum_z": 8.904171964713278e-17, "particle_position_x": 158433.3693892244, "particle_position_y": 158432.16743352715, @@ -13,8 +13,8 @@ "ions": { "particle_cpu": 0.0, "particle_id": 1610629120.0, - "particle_momentum_x": 1.3143704893850579e-18, - "particle_momentum_y": 1.311559649208915e-18, + "particle_momentum_x": 1.314370492303153e-18, + "particle_momentum_y": 1.311559654544720e-18, "particle_momentum_z": 1.6348803504847822e-13, "particle_position_x": 158433.36794743096, "particle_position_y": 158432.13055422663, @@ -22,12 +22,12 @@ "particle_weight": 4.082754265421834e+18 }, "lev=0": { - "Bx": 0.05811677943915807, - "By": 0.06003789952009811, - "Bz": 0.53300620716022, - "Ex": 173236565.20945996, - "Ey": 165890551.4406476, - "Ez": 1037164.1567886411, + "Bx": 5.811688215947619e-02, + "By": 6.003802004939475e-02, + "Bz": 5.330066640710849e-01, + "Ex": 1.732369792715417e+08, + "Ey": 1.658909323129718e+08, + "Ez": 1.037164140296824e+06, "jx": 76766.28402952384, "jy": 75076.8695684449, "jz": 20606.225852789266 diff --git a/Regression/Checksum/benchmarks_json/ionization_boost.json b/Regression/Checksum/benchmarks_json/ionization_boost.json index e9bd46fcd..510f85aa6 100644 --- a/Regression/Checksum/benchmarks_json/ionization_boost.json +++ b/Regression/Checksum/benchmarks_json/ionization_boost.json @@ -2,9 +2,9 @@ "electrons": { "particle_cpu": 184.0, "particle_id": 1300726794.0, - "particle_momentum_x": 2.109735198203607e-17, + "particle_momentum_x": 2.109788481458691e-17, "particle_momentum_y": 0.0, - "particle_momentum_z": 1.7061960960279204e-17, + "particle_momentum_z": 1.706122240621572e-17, "particle_position_x": 0.11060117510075951, "particle_position_y": 1.7038797728732886, "particle_weight": 3.0702532354579605e-09 diff --git a/Regression/Checksum/benchmarks_json/ionization_lab.json b/Regression/Checksum/benchmarks_json/ionization_lab.json index 25db28ddf..ae8bc95f3 100644 --- a/Regression/Checksum/benchmarks_json/ionization_lab.json +++ b/Regression/Checksum/benchmarks_json/ionization_lab.json @@ -2,9 +2,9 @@ "electrons": { "particle_cpu": 21625.0, "particle_id": 804501788.0, - "particle_momentum_x": 4.395709867927343e-18, + "particle_momentum_x": 4.395776262151595e-18, "particle_momentum_y": 0.0, - "particle_momentum_z": 2.6480766870985618e-18, + "particle_momentum_z": 2.647975597173496e-18, "particle_position_x": 0.10949403929812224, "particle_position_y": 0.6411712856802138, "particle_weight": 3.441640625e-10 diff --git a/Regression/Checksum/benchmarks_json/qed_schwinger2.json b/Regression/Checksum/benchmarks_json/qed_schwinger2.json index f171addfc..17062aedf 100644 --- a/Regression/Checksum/benchmarks_json/qed_schwinger2.json +++ b/Regression/Checksum/benchmarks_json/qed_schwinger2.json @@ -2,9 +2,9 @@ "ele_schwinger": { "particle_cpu": 512.0, "particle_id": 393728.0, - "particle_momentum_x": 0.0000000005389357130722444579163396297604, - "particle_momentum_y": 0.0000000000380620585874242066235441537959, - "particle_momentum_z": 0.0000000001303705903189427521990174631828, + "particle_momentum_x": 5.389220349308058e-10, + "particle_momentum_y": 3.802325665885952e-11, + "particle_momentum_z": 1.304165048547374e-10, "particle_position_x": 0.0001414301708416780501906262479394627007, "particle_position_y": 0.0002559999999999999342054080031516605231, "particle_position_z": 0.0002559999999999999884155166274268822235, @@ -24,9 +24,9 @@ "pos_schwinger": { "particle_cpu": 512.0, "particle_id": 655872.0, - "particle_momentum_x": 0.0000000005389349271464131667351435623151, - "particle_momentum_y": 0.0000000000364586108023806536132049519030, - "particle_momentum_z": 0.0000000001311702385821036629827073120337, + "particle_momentum_x": 5.389212418869713e-10, + "particle_momentum_y": 3.652400862149359e-11, + "particle_momentum_z": 1.311928986068885e-10, "particle_position_x": 0.0001280000000000000213128126258510519619, "particle_position_y": 0.0002559999999999999884155166274268822235, "particle_position_z": 0.0002559999999999999884155166274268822235, diff --git a/Regression/Checksum/benchmarks_json/qed_schwinger3.json b/Regression/Checksum/benchmarks_json/qed_schwinger3.json index d2de759a4..822a5dd3d 100644 --- a/Regression/Checksum/benchmarks_json/qed_schwinger3.json +++ b/Regression/Checksum/benchmarks_json/qed_schwinger3.json @@ -2,9 +2,9 @@ "ele_schwinger": { "particle_cpu": 631.0, "particle_id": 610043.0, - "particle_momentum_x": 7.391180107793151e-28, + "particle_momentum_x": 7.939037050234352e-28, "particle_momentum_y": 3.285213368501547e-15, - "particle_momentum_z": 2.961356471242178e-27, + "particle_momentum_z": 3.152771050884970e-27, "particle_position_x": 0.000317125, "particle_position_y": 0.0003152062394752397, "particle_position_z": 0.00031790625000000005, @@ -24,9 +24,9 @@ "pos_schwinger": { "particle_cpu": 631.0, "particle_id": 1017026.0, - "particle_momentum_x": 7.723864257907636e-28, + "particle_momentum_x": 8.089055188895933e-28, "particle_momentum_y": 3.285213368501216e-15, - "particle_momentum_z": 3.0442268768192416e-27, + "particle_momentum_z": 3.162350330679359e-27, "particle_position_x": 0.000317125, "particle_position_y": 0.0003147937605247603, "particle_position_z": 0.00031790625000000005, diff --git a/Regression/Checksum/benchmarks_json/qed_schwinger4.json b/Regression/Checksum/benchmarks_json/qed_schwinger4.json index 0c2aa91de..a4e4c5681 100644 --- a/Regression/Checksum/benchmarks_json/qed_schwinger4.json +++ b/Regression/Checksum/benchmarks_json/qed_schwinger4.json @@ -3,7 +3,7 @@ "particle_cpu": 384.0, "particle_id": 516672.0, "particle_momentum_x": 0.0000000000036953013356618679404339996551, - "particle_momentum_y": 0.0000000000000000000000000098544358005409, + "particle_momentum_y": 1.071898752739813e-26, "particle_momentum_z": 0.0000000000028810249733308377960296374853, "particle_position_x": 0.0002880000000000000615063555642336723395, "particle_position_y": 0.0002159999999999999919196580489000325542, @@ -25,7 +25,7 @@ "particle_cpu": 384.0, "particle_id": 959040.0, "particle_momentum_x": 0.0000000000036953013356618671326404327088, - "particle_momentum_y": 0.0000000000000000000000000103981113667251, + "particle_momentum_y": 1.087938891529572e-26, "particle_momentum_z": 0.0000000000028810249733308252752293498174, "particle_position_x": 0.0002880000000000000072962469399584506391, "particle_position_y": 0.0002159999999999999919196580489000325542, diff --git a/Regression/Checksum/benchmarks_json/reduced_diags.json b/Regression/Checksum/benchmarks_json/reduced_diags.json index c966ea162..0dde7f2f2 100644 --- a/Regression/Checksum/benchmarks_json/reduced_diags.json +++ b/Regression/Checksum/benchmarks_json/reduced_diags.json @@ -2,8 +2,8 @@ "electrons": { "particle_cpu": 16384.0, "particle_id": 268451840.0, - "particle_momentum_x": 2.433513100910759e-19, - "particle_momentum_y": 2.4633148520027533e-19, + "particle_momentum_x": 2.433513095314209e-19, + "particle_momentum_y": 2.463314849025226e-19, "particle_momentum_z": 2.445296743879953e-19, "particle_position_x": 16386.79272675649, "particle_position_y": 16383.137717233834, diff --git a/Source/Evolve/WarpXEvolve.cpp b/Source/Evolve/WarpXEvolve.cpp index e48166cf1..f0cf5ed60 100644 --- a/Source/Evolve/WarpXEvolve.cpp +++ b/Source/Evolve/WarpXEvolve.cpp @@ -166,6 +166,13 @@ WarpX::Evolve (int numsteps) if (cur_time + dt[0] >= stop_time - 1.e-3*dt[0] || step == numsteps_max-1) { // At the end of last step, push p by 0.5*dt to synchronize + FillBoundaryE(guard_cells.ng_FieldGather); + FillBoundaryB(guard_cells.ng_FieldGather); + if (fft_do_time_averaging) + { + FillBoundaryE_avg(guard_cells.ng_FieldGather); + FillBoundaryB_avg(guard_cells.ng_FieldGather); + } UpdateAuxilaryData(); FillBoundaryAux(guard_cells.ng_UpdateAux); for (int lev = 0; lev <= finest_level; ++lev) { |