aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> 2021-05-24 20:54:23 +0200
committerGravatar GitHub <noreply@github.com> 2021-05-24 11:54:23 -0700
commitebedf1d5808eb6d051fd90717c5b8923e8b1a98a (patch)
tree7fb9ded643fb2250f50475c591e6ecad26ad89c1
parent996505b96ec9ae025e22cd4214ff904479818d5c (diff)
downloadWarpX-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
-rw-r--r--Regression/Checksum/benchmarks_json/LaserAcceleration.json6
-rw-r--r--Regression/Checksum/benchmarks_json/LaserAccelerationMR.json4
-rw-r--r--Regression/Checksum/benchmarks_json/PlasmaMirror.json8
-rw-r--r--Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd.json6
-rw-r--r--Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd_hybrid.json14
-rw-r--r--Regression/Checksum/benchmarks_json/averaged_galilean_3d_psatd_hybrid.json20
-rw-r--r--Regression/Checksum/benchmarks_json/ionization_boost.json4
-rw-r--r--Regression/Checksum/benchmarks_json/ionization_lab.json4
-rw-r--r--Regression/Checksum/benchmarks_json/qed_schwinger2.json12
-rw-r--r--Regression/Checksum/benchmarks_json/qed_schwinger3.json8
-rw-r--r--Regression/Checksum/benchmarks_json/qed_schwinger4.json4
-rw-r--r--Regression/Checksum/benchmarks_json/reduced_diags.json4
-rw-r--r--Source/Evolve/WarpXEvolve.cpp7
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) {