aboutsummaryrefslogtreecommitdiff
path: root/Source/WarpXEvolve.cpp
diff options
context:
space:
mode:
authorGravatar Weiqun Zhang <weiqunzhang@lbl.gov> 2018-12-06 16:45:35 -0800
committerGravatar Weiqun Zhang <weiqunzhang@lbl.gov> 2018-12-06 16:45:35 -0800
commitffa7e36c1f7b3ea2a629f918a1a336bd3cc78df1 (patch)
tree30642262fb924870e404c189f8686cecfa5e1d3a /Source/WarpXEvolve.cpp
parent25dd277dd1c44457f8ca4432b6e93fe2fdde49bd (diff)
parent8ae0feaf0f5573c5f1623cb8acaf3bcc6ab5566c (diff)
downloadWarpX-ffa7e36c1f7b3ea2a629f918a1a336bd3cc78df1.tar.gz
WarpX-ffa7e36c1f7b3ea2a629f918a1a336bd3cc78df1.tar.zst
WarpX-ffa7e36c1f7b3ea2a629f918a1a336bd3cc78df1.zip
Merge branch 'fabptr' into dev
Diffstat (limited to 'Source/WarpXEvolve.cpp')
-rw-r--r--Source/WarpXEvolve.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/Source/WarpXEvolve.cpp b/Source/WarpXEvolve.cpp
index 38a630880..6d917e36d 100644
--- a/Source/WarpXEvolve.cpp
+++ b/Source/WarpXEvolve.cpp
@@ -525,8 +525,12 @@ WarpX::EvolveB (int lev, PatchType patch_type, amrex::Real dt)
if (cost) {
Box cbx = mfi.tilebox(IntVect{AMREX_D_DECL(0,0,0)});
if (patch_type == PatchType::coarse) cbx.refine(rr);
- wt = (amrex::second() - wt) / cbx.d_numPts();
- (*cost)[mfi].plus(wt, cbx);
+ wt = (amrex::second() - wt) / cbx.d_numPts();\
+ FArrayBox* costfab = cost->fabPtr(mfi);
+ AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( cbx, work_box,
+ {
+ costfab->plus(wt, work_box);
+ });
}
}
@@ -668,7 +672,11 @@ WarpX::EvolveE (int lev, PatchType patch_type, amrex::Real dt)
Box cbx = mfi.tilebox(IntVect{AMREX_D_DECL(0,0,0)});
if (patch_type == PatchType::coarse) cbx.refine(rr);
wt = (amrex::second() - wt) / cbx.d_numPts();
- (*cost)[mfi].plus(wt, cbx);
+ FArrayBox* costfab = cost->fabPtr(mfi);
+ AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( cbx, work_box,
+ {
+ costfab->plus(wt, work_box);
+ });
}
}