aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Regression/Checksum/benchmarks_json/momentum-conserving-gather.json18
-rw-r--r--Source/Parallelization/WarpXComm_K.H17
2 files changed, 20 insertions, 15 deletions
diff --git a/Regression/Checksum/benchmarks_json/momentum-conserving-gather.json b/Regression/Checksum/benchmarks_json/momentum-conserving-gather.json
index 0a8ace16a..21cdfbf59 100644
--- a/Regression/Checksum/benchmarks_json/momentum-conserving-gather.json
+++ b/Regression/Checksum/benchmarks_json/momentum-conserving-gather.json
@@ -3,7 +3,7 @@
"particle_cpu": 0.0,
"particle_id": 500500.0,
"particle_momentum_x": 4.323192509779988e-19,
- "particle_momentum_y": 4.515789093284668e-19,
+ "particle_momentum_y": 4.515824779027072e-19,
"particle_momentum_z": 5.444318109525372e-16,
"particle_position_x": 0.0003944833021505297,
"particle_position_y": 0.04700228854502865,
@@ -20,25 +20,25 @@
"particle_weight": 93622636116911.45
},
"lev=0": {
- "Bx": 10.733012173941598,
+ "Bx": 10.735531445439413,
"By": 123705.2114251389,
- "Bz": 4.499473350064483,
+ "Bz": 4.501078363448960,
"Ex": 32786118366421.484,
- "Ey": 3709615080.588275,
+ "Ey": 3710298573.057484,
"Ez": 40656586163467.92,
"jx": 2141101370253517.0,
- "jy": 306062373710.40063,
+ "jy": 306158221993.01221,
"jz": 4320228054997732.0
},
"lev=1": {
- "Bx": 5.256134811306947,
+ "Bx": 5.259406617237726,
"By": 137245.47590665444,
- "Bz": 4.2707459516506106,
+ "Bz": 4.2722288205783867,
"Ex": 44351722683610.34,
- "Ey": 3488288401.6961136,
+ "Ey": 2349544113.5569053,
"Ez": 51479977260499.83,
"jx": 2867710882689230.5,
- "jy": 165181878916.29083,
+ "jy": 165346524486.75403,
"jz": 4439666503460567.0
},
"plasma_e": {
diff --git a/Source/Parallelization/WarpXComm_K.H b/Source/Parallelization/WarpXComm_K.H
index f1175c8b9..092a13565 100644
--- a/Source/Parallelization/WarpXComm_K.H
+++ b/Source/Parallelization/WarpXComm_K.H
@@ -521,12 +521,17 @@ void warpx_interp_nd_efield_y (int j, int k, int l,
#if (AMREX_SPACEDIM == 2)
- // interp from coarse nodal and coarse staggered to fine nodal
- Real eg = owx * owy * (Eyg(jg ,kg ,0) + Eyc(jg ,kg ,0))
- + owx * wy * (Eyg(jg ,kg+1,0) + Eyc(jg ,kg+1,0))
- + wx * owy * (Eyg(jg+1,kg ,0) + Eyc(jg+1,kg ,0))
- + wx * wy * (Eyg(jg+1,kg+1,0) + Eyc(jg+1,kg+1,0));
- Real ec = 0.0_rt;
+ // interp from coarse nodal to fine nodal
+ Real eg = owx * owy * Eyg(jg ,kg ,0)
+ + owx * wy * Eyg(jg ,kg+1,0)
+ + wx * owy * Eyg(jg+1,kg ,0)
+ + wx * wy * Eyg(jg+1,kg+1,0);
+
+ // interp from coarse staggered to fine nodal (Eyc is actually nodal)
+ Real ec = owx * owy * Eyc(jg ,kg ,0)
+ + owx * wy * Eyc(jg ,kg+1,0)
+ + wx * owy * Eyc(jg+1,kg ,0)
+ + wx * wy * Eyc(jg+1,kg+1,0);
// interp from fine staggered to fine nodal
Real ef = Eyf(j,k,0);