aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/WarpXPushFieldsEM.cpp
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2019-04-24 16:03:12 -0700
committerGravatar GitHub <noreply@github.com> 2019-04-24 16:03:12 -0700
commit045fcedfe6fe54715514c4f02e91f0c2237380b8 (patch)
tree34886be10f58dafe1960e1f336f50d8160b15061 /Source/FieldSolver/WarpXPushFieldsEM.cpp
parent2394d3cec39d61ca40d8f40a0ea9791c080c16a4 (diff)
parent5b9634c436cc1917be7cd59990ee305ced5d59c9 (diff)
downloadWarpX-045fcedfe6fe54715514c4f02e91f0c2237380b8.tar.gz
WarpX-045fcedfe6fe54715514c4f02e91f0c2237380b8.tar.zst
WarpX-045fcedfe6fe54715514c4f02e91f0c2237380b8.zip
Merge pull request #69 from ECP-WarpX/RZgeometry
R zgeometry
Diffstat (limited to 'Source/FieldSolver/WarpXPushFieldsEM.cpp')
-rw-r--r--Source/FieldSolver/WarpXPushFieldsEM.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/Source/FieldSolver/WarpXPushFieldsEM.cpp b/Source/FieldSolver/WarpXPushFieldsEM.cpp
index 6d588ae86..6a9ceae5a 100644
--- a/Source/FieldSolver/WarpXPushFieldsEM.cpp
+++ b/Source/FieldSolver/WarpXPushFieldsEM.cpp
@@ -77,6 +77,10 @@ WarpX::EvolveB (int lev, PatchType patch_type, amrex::Real dt)
const Box& tby = mfi.tilebox(By_nodal_flag);
const Box& tbz = mfi.tilebox(Bz_nodal_flag);
+ // xmin is only used by the picsar kernel with cylindrical geometry,
+ // in which case it is actually rmin.
+ const Real xmin = mfi.tilebox().smallEnd(0)*dx[0];
+
if (do_nodal) {
auto const& Bxfab = Bx->array(mfi);
auto const& Byfab = By->array(mfi);
@@ -112,6 +116,7 @@ WarpX::EvolveB (int lev, PatchType patch_type, amrex::Real dt)
BL_TO_FORTRAN_3D((*By)[mfi]),
BL_TO_FORTRAN_3D((*Bz)[mfi]),
&dtsdx, &dtsdy, &dtsdz,
+ &xmin, &dx[0],
&WarpX::maxwell_fdtd_solver_id);
}
@@ -231,6 +236,10 @@ WarpX::EvolveE (int lev, PatchType patch_type, amrex::Real dt)
const Box& tey = mfi.tilebox(Ey_nodal_flag);
const Box& tez = mfi.tilebox(Ez_nodal_flag);
+ // xmin is only used by the picsar kernel with cylindrical geometry,
+ // in which case it is actually rmin.
+ const Real xmin = mfi.tilebox().smallEnd(0)*dx[0];
+
if (do_nodal) {
auto const& Exfab = Ex->array(mfi);
auto const& Eyfab = Ey->array(mfi);
@@ -272,7 +281,8 @@ WarpX::EvolveE (int lev, PatchType patch_type, amrex::Real dt)
BL_TO_FORTRAN_3D((*jy)[mfi]),
BL_TO_FORTRAN_3D((*jz)[mfi]),
&mu_c2_dt,
- &dtsdx_c2, &dtsdy_c2, &dtsdz_c2);
+ &dtsdx_c2, &dtsdy_c2, &dtsdz_c2,
+ &xmin, &dx[0]);
}
if (F)