diff options
-rw-r--r-- | Regression/Checksum/benchmarks_json/momentum-conserving-gather.json | 18 | ||||
-rw-r--r-- | Source/Parallelization/WarpXComm_K.H | 17 |
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); |