aboutsummaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/Diagnostics/BoostedFrameDiagnostic.H2
-rw-r--r--Source/Diagnostics/BoostedFrameDiagnostic.cpp5
-rw-r--r--Source/Diagnostics/FieldIO.cpp1
-rw-r--r--Source/Evolve/WarpXEvolveEM.cpp28
-rw-r--r--Source/FieldSolver/WarpXPushFieldsEM.cpp48
-rw-r--r--Source/FortranInterface/WarpX_picsar.F907
-rw-r--r--Source/Laser/LaserParticleContainer.cpp6
-rw-r--r--Source/Parallelization/WarpXComm.cpp52
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp3
-rw-r--r--Source/Particles/WarpXParticleContainer.cpp44
-rw-r--r--Source/Utils/WarpXMovingWindow.cpp6
-rw-r--r--Source/WarpX.cpp1
12 files changed, 96 insertions, 107 deletions
diff --git a/Source/Diagnostics/BoostedFrameDiagnostic.H b/Source/Diagnostics/BoostedFrameDiagnostic.H
index 55a124c51..3a09259b0 100644
--- a/Source/Diagnostics/BoostedFrameDiagnostic.H
+++ b/Source/Diagnostics/BoostedFrameDiagnostic.H
@@ -40,8 +40,8 @@ class BoostedFrameDiagnostic {
amrex::Real current_z_lab;
amrex::Real current_z_boost;
- std::vector<std::string> mesh_field_names_;
int ncomp_to_dump_;
+ std::vector<std::string> mesh_field_names_;
int file_num;
int initial_i;
diff --git a/Source/Diagnostics/BoostedFrameDiagnostic.cpp b/Source/Diagnostics/BoostedFrameDiagnostic.cpp
index f62369091..57872790f 100644
--- a/Source/Diagnostics/BoostedFrameDiagnostic.cpp
+++ b/Source/Diagnostics/BoostedFrameDiagnostic.cpp
@@ -497,8 +497,6 @@ LorentzTransformZ(MultiFab& data, Real gamma_boost, Real beta_boost, int ncomp)
// Transform the transverse E and B fields. Note that ez and bz are not
// changed by the tranform.
Real e_lab, b_lab, j_lab, r_lab;
- int i0 = 0;
- int i4 = 4;
e_lab = gamma_boost * (arr(i, j, k, 0) + beta_boost*clight*arr(i, j, k, 4));
b_lab = gamma_boost * (arr(i, j, k, 4) + beta_boost*arr(i, j, k, 0)/clight);
@@ -718,7 +716,6 @@ writeLabFrameData(const MultiFab* cell_centered_data,
if (buff_counter_[i] == 0) {
// ... reset fields buffer data_buffer_[i]
if (WarpX::do_boosted_frame_fields) {
- const int ncomp = cell_centered_data->nComp();
Box buff_box = geom.Domain();
buff_box.setSmall(boost_direction_, i_lab - num_buffer_ + 1);
buff_box.setBig(boost_direction_, i_lab);
@@ -726,7 +723,6 @@ writeLabFrameData(const MultiFab* cell_centered_data,
buff_ba.maxSize(max_box_size_);
DistributionMapping buff_dm(buff_ba);
data_buffer_[i].reset( new MultiFab(buff_ba, buff_dm, ncomp_to_dump, 0) );
- // data_buffer_[i].reset( new MultiFab(buff_ba, buff_dm, ncomp, 0) );
}
// ... reset particle buffer particles_buffer_[i]
if (WarpX::do_boosted_frame_particles)
@@ -961,7 +957,6 @@ LabSnapShot(Real t_lab_in, Real t_boost, RealBox prob_domain_lab,
my_bfd(bfd)
{
Real zmin_lab = prob_domain_lab_.lo(AMREX_SPACEDIM-1);
- Real zmax_lab = prob_domain_lab_.hi(AMREX_SPACEDIM-1);
current_z_lab = 0.0;
current_z_boost = 0.0;
updateCurrentZPositions(t_boost, my_bfd.inv_gamma_boost_, my_bfd.inv_beta_boost_);
diff --git a/Source/Diagnostics/FieldIO.cpp b/Source/Diagnostics/FieldIO.cpp
index ced1f8ea3..e3d44d1fc 100644
--- a/Source/Diagnostics/FieldIO.cpp
+++ b/Source/Diagnostics/FieldIO.cpp
@@ -660,7 +660,6 @@ getInterpolatedScalar(
interpolated_F->setVal(0.);
// Loop through the boxes and interpolate the values from the _cp data
- const int use_limiter = 0;
#ifdef _OPEMP
#pragma omp parallel
#endif
diff --git a/Source/Evolve/WarpXEvolveEM.cpp b/Source/Evolve/WarpXEvolveEM.cpp
index dab58f95b..ad7c7d840 100644
--- a/Source/Evolve/WarpXEvolveEM.cpp
+++ b/Source/Evolve/WarpXEvolveEM.cpp
@@ -514,7 +514,7 @@ WarpX::ComputeDt ()
* simulation box passes input parameter zmax_plasma_to_compute_max_step.
*/
void
-WarpX::computeMaxStepBoostAccelerator(amrex::Geometry geom){
+WarpX::computeMaxStepBoostAccelerator(amrex::Geometry a_geom){
// Sanity checks: can use zmax_plasma_to_compute_max_step only if
// the moving window and the boost are all in z direction.
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(
@@ -534,7 +534,7 @@ WarpX::computeMaxStepBoostAccelerator(amrex::Geometry geom){
// Lower end of the simulation domain. All quantities are given in boosted
// frame except zmax_plasma_to_compute_max_step.
- const Real zmin_domain_boost = geom.ProbLo(AMREX_SPACEDIM-1);
+ const Real zmin_domain_boost = a_geom.ProbLo(AMREX_SPACEDIM-1);
// End of the plasma: Transform input argument
// zmax_plasma_to_compute_max_step to boosted frame.
const Real len_plasma_boost = zmax_plasma_to_compute_max_step/gamma_boost;
@@ -591,19 +591,19 @@ WarpX::applyMirrors(Real time){
NullifyMF(Bz, lev, z_min, z_max);
if (lev>0){
// Get coarse patch field MultiFabs
- MultiFab& Ex = *Efield_cp[lev][0].get();
- MultiFab& Ey = *Efield_cp[lev][1].get();
- MultiFab& Ez = *Efield_cp[lev][2].get();
- MultiFab& Bx = *Bfield_cp[lev][0].get();
- MultiFab& By = *Bfield_cp[lev][1].get();
- MultiFab& Bz = *Bfield_cp[lev][2].get();
+ MultiFab& cEx = *Efield_cp[lev][0].get();
+ MultiFab& cEy = *Efield_cp[lev][1].get();
+ MultiFab& cEz = *Efield_cp[lev][2].get();
+ MultiFab& cBx = *Bfield_cp[lev][0].get();
+ MultiFab& cBy = *Bfield_cp[lev][1].get();
+ MultiFab& cBz = *Bfield_cp[lev][2].get();
// Set each field to zero between z_min and z_max
- NullifyMF(Ex, lev, z_min, z_max);
- NullifyMF(Ey, lev, z_min, z_max);
- NullifyMF(Ez, lev, z_min, z_max);
- NullifyMF(Bx, lev, z_min, z_max);
- NullifyMF(By, lev, z_min, z_max);
- NullifyMF(Bz, lev, z_min, z_max);
+ NullifyMF(cEx, lev, z_min, z_max);
+ NullifyMF(cEy, lev, z_min, z_max);
+ NullifyMF(cEz, lev, z_min, z_max);
+ NullifyMF(cBx, lev, z_min, z_max);
+ NullifyMF(cBy, lev, z_min, z_max);
+ NullifyMF(cBz, lev, z_min, z_max);
}
}
}
diff --git a/Source/FieldSolver/WarpXPushFieldsEM.cpp b/Source/FieldSolver/WarpXPushFieldsEM.cpp
index a66d14980..c53e13f8f 100644
--- a/Source/FieldSolver/WarpXPushFieldsEM.cpp
+++ b/Source/FieldSolver/WarpXPushFieldsEM.cpp
@@ -17,30 +17,30 @@
using namespace amrex;
void
-WarpX::EvolveB (Real dt)
+WarpX::EvolveB (Real a_dt)
{
for (int lev = 0; lev <= finest_level; ++lev) {
- EvolveB(lev, dt);
+ EvolveB(lev, a_dt);
}
}
void
-WarpX::EvolveB (int lev, Real dt)
+WarpX::EvolveB (int lev, Real a_dt)
{
BL_PROFILE("WarpX::EvolveB()");
- EvolveB(lev, PatchType::fine, dt);
+ EvolveB(lev, PatchType::fine, a_dt);
if (lev > 0)
{
- EvolveB(lev, PatchType::coarse, dt);
+ EvolveB(lev, PatchType::coarse, a_dt);
}
}
void
-WarpX::EvolveB (int lev, PatchType patch_type, amrex::Real dt)
+WarpX::EvolveB (int lev, PatchType patch_type, amrex::Real a_dt)
{
const int patch_level = (patch_type == PatchType::fine) ? lev : lev-1;
const std::array<Real,3>& dx = WarpX::CellSize(patch_level);
- Real dtsdx = dt/dx[0], dtsdy = dt/dx[1], dtsdz = dt/dx[2];
+ Real dtsdx = a_dt/dx[0], dtsdy = a_dt/dx[1], dtsdz = a_dt/dx[2];
MultiFab *Ex, *Ey, *Ez, *Bx, *By, *Bz;
if (patch_type == PatchType::fine)
@@ -164,30 +164,30 @@ WarpX::EvolveB (int lev, PatchType patch_type, amrex::Real dt)
}
void
-WarpX::EvolveE (Real dt)
+WarpX::EvolveE (Real a_dt)
{
for (int lev = 0; lev <= finest_level; ++lev)
{
- EvolveE(lev, dt);
+ EvolveE(lev, a_dt);
}
}
void
-WarpX::EvolveE (int lev, Real dt)
+WarpX::EvolveE (int lev, Real a_dt)
{
BL_PROFILE("WarpX::EvolveE()");
- EvolveE(lev, PatchType::fine, dt);
+ EvolveE(lev, PatchType::fine, a_dt);
if (lev > 0)
{
- EvolveE(lev, PatchType::coarse, dt);
+ EvolveE(lev, PatchType::coarse, a_dt);
}
}
void
-WarpX::EvolveE (int lev, PatchType patch_type, amrex::Real dt)
+WarpX::EvolveE (int lev, PatchType patch_type, amrex::Real a_dt)
{
- const Real mu_c2_dt = (PhysConst::mu0*PhysConst::c*PhysConst::c) * dt;
- const Real c2dt = (PhysConst::c*PhysConst::c) * dt;
+ const Real mu_c2_dt = (PhysConst::mu0*PhysConst::c*PhysConst::c) * a_dt;
+ const Real c2dt = (PhysConst::c*PhysConst::c) * a_dt;
int patch_level = (patch_type == PatchType::fine) ? lev : lev-1;
const std::array<Real,3>& dx = WarpX::CellSize(patch_level);
@@ -358,27 +358,27 @@ WarpX::EvolveE (int lev, PatchType patch_type, amrex::Real dt)
}
void
-WarpX::EvolveF (Real dt, DtType dt_type)
+WarpX::EvolveF (Real a_dt, DtType a_dt_type)
{
if (!do_dive_cleaning) return;
for (int lev = 0; lev <= finest_level; ++lev)
{
- EvolveF(lev, dt, dt_type);
+ EvolveF(lev, a_dt, a_dt_type);
}
}
void
-WarpX::EvolveF (int lev, Real dt, DtType dt_type)
+WarpX::EvolveF (int lev, Real a_dt, DtType a_dt_type)
{
if (!do_dive_cleaning) return;
- EvolveF(lev, PatchType::fine, dt, dt_type);
- if (lev > 0) EvolveF(lev, PatchType::coarse, dt, dt_type);
+ EvolveF(lev, PatchType::fine, a_dt, a_dt_type);
+ if (lev > 0) EvolveF(lev, PatchType::coarse, a_dt, a_dt_type);
}
void
-WarpX::EvolveF (int lev, PatchType patch_type, Real dt, DtType dt_type)
+WarpX::EvolveF (int lev, PatchType patch_type, Real a_dt, DtType a_dt_type)
{
if (!do_dive_cleaning) return;
@@ -388,7 +388,7 @@ WarpX::EvolveF (int lev, PatchType patch_type, Real dt, DtType dt_type)
int patch_level = (patch_type == PatchType::fine) ? lev : lev-1;
const auto& dx = WarpX::CellSize(patch_level);
- const std::array<Real,3> dtsdx {dt/dx[0], dt/dx[1], dt/dx[2]};
+ const std::array<Real,3> dtsdx {a_dt/dx[0], a_dt/dx[1], a_dt/dx[2]};
MultiFab *Ex, *Ey, *Ez, *rho, *F;
if (patch_type == PatchType::fine)
@@ -408,12 +408,12 @@ WarpX::EvolveF (int lev, PatchType patch_type, Real dt, DtType dt_type)
F = F_cp[lev].get();
}
- const int rhocomp = (dt_type == DtType::FirstHalf) ? 0 : 1;
+ const int rhocomp = (a_dt_type == DtType::FirstHalf) ? 0 : 1;
MultiFab src(rho->boxArray(), rho->DistributionMap(), 1, 0);
ComputeDivE(src, 0, {Ex,Ey,Ez}, dx);
MultiFab::Saxpy(src, -mu_c2, *rho, rhocomp, 0, 1, 0);
- MultiFab::Saxpy(*F, dt, src, 0, 0, 1, 0);
+ MultiFab::Saxpy(*F, a_dt, src, 0, 0, 1, 0);
if (do_pml && pml[lev]->ok())
{
diff --git a/Source/FortranInterface/WarpX_picsar.F90 b/Source/FortranInterface/WarpX_picsar.F90
index a4cc99926..c17e8861b 100644
--- a/Source/FortranInterface/WarpX_picsar.F90
+++ b/Source/FortranInterface/WarpX_picsar.F90
@@ -265,8 +265,10 @@ subroutine warpx_charge_deposition(rho,np,xp,yp,zp,w,q,xmin,ymin,zmin,dx,dy,dz,n
real(amrex_real), intent(IN OUT):: rho(*)
real(amrex_real), intent(IN) :: rmin, dr
+#ifdef WARPX_RZ
integer(c_long) :: type_rz_depose = 1
-
+#endif
+
! Compute the number of valid cells and guard cells
integer(c_long) :: rho_nvalid(AMREX_SPACEDIM), rho_nguards(AMREX_SPACEDIM)
rho_nvalid = rho_ntot - 2*rho_ng
@@ -385,8 +387,9 @@ subroutine warpx_charge_deposition(rho,np,xp,yp,zp,w,q,xmin,ymin,zmin,dx,dy,dz,n
real(amrex_real), intent(IN OUT):: jx(*), jy(*), jz(*)
real(amrex_real), intent(IN) :: rmin, dr
+#ifdef WARPX_RZ
integer(c_long) :: type_rz_depose = 1
-
+#endif
! Compute the number of valid cells and guard cells
integer(c_long) :: jx_nvalid(AMREX_SPACEDIM), jy_nvalid(AMREX_SPACEDIM), jz_nvalid(AMREX_SPACEDIM), &
jx_nguards(AMREX_SPACEDIM), jy_nguards(AMREX_SPACEDIM), jz_nguards(AMREX_SPACEDIM)
diff --git a/Source/Laser/LaserParticleContainer.cpp b/Source/Laser/LaserParticleContainer.cpp
index 52d506bb8..2f964b6f3 100644
--- a/Source/Laser/LaserParticleContainer.cpp
+++ b/Source/Laser/LaserParticleContainer.cpp
@@ -78,14 +78,14 @@ LaserParticleContainer::LaserParticleContainer (AmrCore* amr_core, int ispecies,
parser.define(field_function);
parser.registerVariables({"X","Y","t"});
- ParmParse pp("my_constants");
+ ParmParse ppc("my_constants");
std::set<std::string> symbols = parser.symbols();
symbols.erase("X");
symbols.erase("Y");
symbols.erase("t"); // after removing variables, we are left with constants
for (auto it = symbols.begin(); it != symbols.end(); ) {
Real v;
- if (pp.query(it->c_str(), v)) {
+ if (ppc.query(it->c_str(), v)) {
parser.setConstant(*it, v);
it = symbols.erase(it);
} else {
@@ -429,8 +429,6 @@ LaserParticleContainer::Evolve (int lev,
{
Real wt = amrex::second();
- const Box& box = pti.validbox();
-
auto& attribs = pti.GetAttribs();
auto& wp = attribs[PIdx::w ];
diff --git a/Source/Parallelization/WarpXComm.cpp b/Source/Parallelization/WarpXComm.cpp
index 348b31c8b..1cf347420 100644
--- a/Source/Parallelization/WarpXComm.cpp
+++ b/Source/Parallelization/WarpXComm.cpp
@@ -79,7 +79,7 @@ WarpX::UpdateAuxilaryData ()
MultiFab::Subtract(dBz, *Bfield_cp[lev][2], 0, 0, 1, ng);
const Real* dx = Geom(lev-1).CellSize();
- const int ref_ratio = refRatio(lev-1)[0];
+ const int rr = refRatio(lev-1)[0];
#ifdef _OPENMP
#pragma omp parallel
#endif
@@ -89,7 +89,7 @@ WarpX::UpdateAuxilaryData ()
{
Box ccbx = mfi.fabbox();
ccbx.enclosedCells();
- ccbx.coarsen(ref_ratio).refine(ref_ratio); // so that ccbx is coarsenable
+ ccbx.coarsen(rr).refine(rr); // so that ccbx is coarsenable
const FArrayBox& cxfab = dBx[mfi];
const FArrayBox& cyfab = dBy[mfi];
@@ -106,18 +106,18 @@ WarpX::UpdateAuxilaryData ()
BL_TO_FORTRAN_ANYD(cxfab),
BL_TO_FORTRAN_ANYD(cyfab),
BL_TO_FORTRAN_ANYD(czfab),
- dx, &ref_ratio,&use_limiter);
+ dx, &rr,&use_limiter);
#else
amrex_interp_div_free_bfield(ccbx.loVect(), ccbx.hiVect(),
BL_TO_FORTRAN_ANYD(bfab[0]),
BL_TO_FORTRAN_ANYD(bfab[2]),
BL_TO_FORTRAN_ANYD(cxfab),
BL_TO_FORTRAN_ANYD(czfab),
- dx, &ref_ratio,&use_limiter);
+ dx, &rr,&use_limiter);
amrex_interp_cc_bfield(ccbx.loVect(), ccbx.hiVect(),
BL_TO_FORTRAN_ANYD(bfab[1]),
BL_TO_FORTRAN_ANYD(cyfab),
- &ref_ratio,&use_limiter);
+ &rr,&use_limiter);
#endif
for (int idim = 0; idim < 3; ++idim)
@@ -153,7 +153,7 @@ WarpX::UpdateAuxilaryData ()
MultiFab::Subtract(dEy, *Efield_cp[lev][1], 0, 0, 1, ng);
MultiFab::Subtract(dEz, *Efield_cp[lev][2], 0, 0, 1, ng);
- const int ref_ratio = refRatio(lev-1)[0];
+ const int rr = refRatio(lev-1)[0];
#ifdef _OPEMP
#pragma omp parallel
#endif
@@ -163,7 +163,7 @@ WarpX::UpdateAuxilaryData ()
{
Box ccbx = mfi.fabbox();
ccbx.enclosedCells();
- ccbx.coarsen(ref_ratio).refine(ref_ratio); // so that ccbx is coarsenable
+ ccbx.coarsen(rr).refine(rr); // so that ccbx is coarsenable
const FArrayBox& cxfab = dEx[mfi];
const FArrayBox& cyfab = dEy[mfi];
@@ -180,18 +180,18 @@ WarpX::UpdateAuxilaryData ()
BL_TO_FORTRAN_ANYD(cxfab),
BL_TO_FORTRAN_ANYD(cyfab),
BL_TO_FORTRAN_ANYD(czfab),
- &ref_ratio,&use_limiter);
+ &rr,&use_limiter);
#else
amrex_interp_efield(ccbx.loVect(), ccbx.hiVect(),
BL_TO_FORTRAN_ANYD(efab[0]),
BL_TO_FORTRAN_ANYD(efab[2]),
BL_TO_FORTRAN_ANYD(cxfab),
BL_TO_FORTRAN_ANYD(czfab),
- &ref_ratio,&use_limiter);
+ &rr,&use_limiter);
amrex_interp_nd_efield(ccbx.loVect(), ccbx.hiVect(),
BL_TO_FORTRAN_ANYD(efab[1]),
BL_TO_FORTRAN_ANYD(cyfab),
- &ref_ratio);
+ &rr);
#endif
for (int idim = 0; idim < 3; ++idim)
@@ -364,7 +364,7 @@ WarpX::SyncCurrent ()
current_cp[lev][1]->setVal(0.0);
current_cp[lev][2]->setVal(0.0);
- const IntVect& ref_ratio = refRatio(lev-1);
+ const IntVect& rr = refRatio(lev-1);
std::array<const MultiFab*,3> fine { current_fp[lev][0].get(),
current_fp[lev][1].get(),
@@ -372,7 +372,7 @@ WarpX::SyncCurrent ()
std::array< MultiFab*,3> crse { current_cp[lev][0].get(),
current_cp[lev][1].get(),
current_cp[lev][2].get() };
- SyncCurrent(fine, crse, ref_ratio[0]);
+ SyncCurrent(fine, crse, rr[0]);
}
Vector<Array<std::unique_ptr<MultiFab>,3> > j_fp(finest_level+1);
@@ -524,10 +524,10 @@ WarpX::SyncCurrent ()
void
WarpX::SyncCurrent (const std::array<const amrex::MultiFab*,3>& fine,
const std::array< amrex::MultiFab*,3>& crse,
- int ref_ratio)
+ int rr)
{
- BL_ASSERT(ref_ratio == 2);
- const IntVect& ng = (fine[0]->nGrowVect() + 1) /ref_ratio;
+ BL_ASSERT(rr == 2);
+ const IntVect& ng = (fine[0]->nGrowVect() + 1) /rr;
#ifdef _OPEMP
#pragma omp parallel
@@ -539,7 +539,7 @@ WarpX::SyncCurrent (const std::array<const amrex::MultiFab*,3>& fine,
for (MFIter mfi(*crse[idim],true); mfi.isValid(); ++mfi)
{
const Box& bx = mfi.growntilebox(ng);
- Box fbx = amrex::grow(amrex::refine(bx,ref_ratio),1);
+ Box fbx = amrex::grow(amrex::refine(bx,rr),1);
ffab.resize(fbx);
fbx &= (*fine[idim])[mfi].box();
ffab.setVal(0.0);
@@ -564,8 +564,8 @@ WarpX::SyncRho (amrex::Vector<std::unique_ptr<amrex::MultiFab> >& rhof,
for (int lev = 1; lev <= finest_level; ++lev)
{
rhoc[lev]->setVal(0.0);
- const IntVect& ref_ratio = refRatio(lev-1);
- SyncRho(*rhof[lev], *rhoc[lev], ref_ratio[0]);
+ const IntVect& rr = refRatio(lev-1);
+ SyncRho(*rhof[lev], *rhoc[lev], rr[0]);
}
Vector<std::unique_ptr<MultiFab> > rho_f_g(finest_level+1);
@@ -673,10 +673,10 @@ WarpX::SyncRho (amrex::Vector<std::unique_ptr<amrex::MultiFab> >& rhof,
* averaging the values of the charge density of the fine patch (on the same level).
*/
void
-WarpX::SyncRho (const MultiFab& fine, MultiFab& crse, int ref_ratio)
+WarpX::SyncRho (const MultiFab& fine, MultiFab& crse, int rr)
{
- BL_ASSERT(ref_ratio == 2);
- const IntVect& ng = (fine.nGrowVect()+1)/ref_ratio;
+ BL_ASSERT(rr == 2);
+ const IntVect& ng = (fine.nGrowVect()+1)/rr;
const int nc = fine.nComp();
#ifdef _OPEMP
@@ -687,7 +687,7 @@ WarpX::SyncRho (const MultiFab& fine, MultiFab& crse, int ref_ratio)
for (MFIter mfi(crse,true); mfi.isValid(); ++mfi)
{
const Box& bx = mfi.growntilebox(ng);
- Box fbx = amrex::grow(amrex::refine(bx,ref_ratio),1);
+ Box fbx = amrex::grow(amrex::refine(bx,rr),1);
ffab.resize(fbx, nc);
fbx &= fine[mfi].box();
ffab.setVal(0.0);
@@ -710,7 +710,7 @@ WarpX::RestrictCurrentFromFineToCoarsePatch (int lev)
current_cp[lev][1]->setVal(0.0);
current_cp[lev][2]->setVal(0.0);
- const IntVect& ref_ratio = refRatio(lev-1);
+ const IntVect& rr = refRatio(lev-1);
std::array<const MultiFab*,3> fine { current_fp[lev][0].get(),
current_fp[lev][1].get(),
@@ -718,7 +718,7 @@ WarpX::RestrictCurrentFromFineToCoarsePatch (int lev)
std::array< MultiFab*,3> crse { current_cp[lev][0].get(),
current_cp[lev][1].get(),
current_cp[lev][2].get() };
- SyncCurrent(fine, crse, ref_ratio[0]);
+ SyncCurrent(fine, crse, rr[0]);
}
void
@@ -824,8 +824,8 @@ WarpX::RestrictRhoFromFineToCoarsePatch (int lev)
{
if (rho_fp[lev]) {
rho_cp[lev]->setVal(0.0);
- const IntVect& ref_ratio = refRatio(lev-1);
- SyncRho(*rho_fp[lev], *rho_cp[lev], ref_ratio[0]);
+ const IntVect& rr = refRatio(lev-1);
+ SyncRho(*rho_fp[lev], *rho_cp[lev], rr[0]);
}
}
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp
index 37c136a3d..212084e64 100644
--- a/Source/Particles/PhysicalParticleContainer.cpp
+++ b/Source/Particles/PhysicalParticleContainer.cpp
@@ -1024,9 +1024,6 @@ PhysicalParticleContainer::FieldGather (int lev,
{
const std::array<Real,3>& dx = WarpX::CellSize(lev);
- // WarpX assumes the same number of guard cells for Ex, Ey, Ez, Bx, By, Bz
- long ng = Ex.nGrow();
-
BL_ASSERT(OnSameGrids(lev,Ex));
MultiFab* cost = WarpX::getCosts(lev);
diff --git a/Source/Particles/WarpXParticleContainer.cpp b/Source/Particles/WarpXParticleContainer.cpp
index c7ffe956b..9791eee80 100644
--- a/Source/Particles/WarpXParticleContainer.cpp
+++ b/Source/Particles/WarpXParticleContainer.cpp
@@ -237,10 +237,10 @@ WarpXParticleContainer::AddNParticles (int lev,
if (WarpX::do_boosted_frame_diagnostic && do_boosted_frame_diags)
{
- auto& particle_tile = DefineAndReturnParticleTile(0, 0, 0);
- particle_tile.push_back_real(particle_comps["xold"], x[i]);
- particle_tile.push_back_real(particle_comps["yold"], y[i]);
- particle_tile.push_back_real(particle_comps["zold"], z[i]);
+ auto& ptile = DefineAndReturnParticleTile(0, 0, 0);
+ ptile.push_back_real(particle_comps["xold"], x[i]);
+ ptile.push_back_real(particle_comps["yold"], y[i]);
+ ptile.push_back_real(particle_comps["zold"], z[i]);
}
particle_tile.push_back(p);
@@ -255,10 +255,10 @@ WarpXParticleContainer::AddNParticles (int lev,
if (WarpX::do_boosted_frame_diagnostic && do_boosted_frame_diags)
{
- auto& particle_tile = DefineAndReturnParticleTile(0, 0, 0);
- particle_tile.push_back_real(particle_comps["uxold"], vx + ibegin, vx + iend);
- particle_tile.push_back_real(particle_comps["uyold"], vy + ibegin, vy + iend);
- particle_tile.push_back_real(particle_comps["uzold"], vz + ibegin, vz + iend);
+ auto& ptile = DefineAndReturnParticleTile(0, 0, 0);
+ ptile.push_back_real(particle_comps["uxold"], vx + ibegin, vx + iend);
+ ptile.push_back_real(particle_comps["uyold"], vy + ibegin, vy + iend);
+ ptile.push_back_real(particle_comps["uzold"], vz + ibegin, vz + iend);
}
for (int comp = PIdx::uz+1; comp < PIdx::nattribs; ++comp)
@@ -737,7 +737,6 @@ WarpXParticleContainer::DepositCharge (Vector<std::unique_ptr<MultiFab> >& rho,
const auto& gm = m_gdb->Geom(lev);
const auto& ba = m_gdb->ParticleBoxArray(lev);
- const auto& dm = m_gdb->DistributionMap(lev);
const Real* dx = gm.CellSize();
const Real* plo = gm.ProbLo();
@@ -807,36 +806,36 @@ WarpXParticleContainer::GetChargeDensity (int lev, bool local)
#ifdef _OPENMP
#pragma omp parallel
-#endif
{
+#endif
Cuda::ManagedDeviceVector<Real> xp, yp, zp;
- FArrayBox local_rho;
+#ifdef _OPENMP
+ FArrayBox rho_loc;
+#endif
for (WarpXParIter pti(*this, lev); pti.isValid(); ++pti)
{
- const Box& box = pti.validbox();
-
auto& wp = pti.GetAttribs(PIdx::w);
const long np = pti.numParticles();
pti.GetPosition(xp, yp, zp);
- const std::array<Real,3>& xyzmin_tile = WarpX::LowerCorner(pti.tilebox(), lev);
- const std::array<Real,3>& xyzmin_grid = WarpX::LowerCorner(box, lev);
-
// Data on the grid
Real* data_ptr;
FArrayBox& rhofab = (*rho)[pti];
#ifdef _OPENMP
+ const std::array<Real,3>& xyzmin_tile = WarpX::LowerCorner(pti.tilebox(), lev);
Box tile_box = convert(pti.tilebox(), IntVect::TheUnitVector());
const std::array<Real, 3>& xyzmin = xyzmin_tile;
tile_box.grow(ng);
- local_rho.resize(tile_box);
- local_rho = 0.0;
- data_ptr = local_rho.dataPtr();
- auto rholen = local_rho.length();
+ rho_loc.resize(tile_box);
+ rho_loc = 0.0;
+ data_ptr = rho_loc.dataPtr();
+ auto rholen = rho_loc.length();
#else
+ const Box& box = pti.validbox();
+ const std::array<Real,3>& xyzmin_grid = WarpX::LowerCorner(box, lev);
const std::array<Real, 3>& xyzmin = xyzmin_grid;
data_ptr = rhofab.dataPtr();
auto rholen = rhofab.length();
@@ -874,10 +873,9 @@ WarpXParticleContainer::GetChargeDensity (int lev, bool local)
#endif
#ifdef _OPENMP
- rhofab.atomicAdd(local_rho);
-#endif
+ rhofab.atomicAdd(rho_loc);
}
-
+#endif
}
if (!local) rho->SumBoundary(gm.periodicity());
diff --git a/Source/Utils/WarpXMovingWindow.cpp b/Source/Utils/WarpXMovingWindow.cpp
index 5f9e36bf6..a0ab1f26f 100644
--- a/Source/Utils/WarpXMovingWindow.cpp
+++ b/Source/Utils/WarpXMovingWindow.cpp
@@ -5,7 +5,7 @@
using namespace amrex;
void
-WarpX::UpdatePlasmaInjectionPosition (Real dt)
+WarpX::UpdatePlasmaInjectionPosition (Real a_dt)
{
int dir = moving_window_dir;
// Continuously inject plasma in new cells (by default only on level 0)
@@ -14,12 +14,12 @@ WarpX::UpdatePlasmaInjectionPosition (Real dt)
// call to this function, and injection position needs to be updated
current_injection_position -= WarpX::beta_boost *
#if ( AMREX_SPACEDIM == 3 )
- WarpX::boost_direction[dir] * PhysConst::c * dt;
+ WarpX::boost_direction[dir] * PhysConst::c * a_dt;
#elif ( AMREX_SPACEDIM == 2 )
// In 2D, dir=0 corresponds to x and dir=1 corresponds to z
// This needs to be converted in order to index `boost_direction`
// which has 3 components, for both 2D and 3D simulations.
- WarpX::boost_direction[2*dir] * PhysConst::c * dt;
+ WarpX::boost_direction[2*dir] * PhysConst::c * a_dt;
#endif
}
}
diff --git a/Source/WarpX.cpp b/Source/WarpX.cpp
index 6b6752bf1..3d7f7dcc5 100644
--- a/Source/WarpX.cpp
+++ b/Source/WarpX.cpp
@@ -1001,7 +1001,6 @@ WarpX::ComputeDivE (MultiFab& divE, int dcomp,
void
WarpX::BuildBufferMasks ()
{
- int ngbuffer = std::max(n_field_gather_buffer, n_current_deposition_buffer);
for (int lev = 1; lev <= maxLevel(); ++lev)
{
for (int ipass = 0; ipass < 2; ++ipass)