aboutsummaryrefslogtreecommitdiff
path: root/Source/Evolve/WarpXEvolveEM.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Evolve/WarpXEvolveEM.cpp')
-rw-r--r--Source/Evolve/WarpXEvolveEM.cpp58
1 files changed, 8 insertions, 50 deletions
diff --git a/Source/Evolve/WarpXEvolveEM.cpp b/Source/Evolve/WarpXEvolveEM.cpp
index 025ff993a..1c5dc0104 100644
--- a/Source/Evolve/WarpXEvolveEM.cpp
+++ b/Source/Evolve/WarpXEvolveEM.cpp
@@ -69,27 +69,20 @@ WarpX::EvolveEM (int numsteps)
// At the beginning, we have B^{n} and E^{n}.
// Particles have p^{n} and x^{n}.
// is_synchronized is true.
+ amrex::Print() << " in evolve before fill boundary \n";
if (is_synchronized) {
FillBoundaryE();
FillBoundaryB();
UpdateAuxilaryData();
// on first step, push p by -0.5*dt
+ amrex::Print() << " in evolve before pushP \n";
for (int lev = 0; lev <= finest_level; ++lev) {
mypc->PushP(lev, -0.5*dt[lev],
*Efield_aux[lev][0],*Efield_aux[lev][1],*Efield_aux[lev][2],
*Bfield_aux[lev][0],*Bfield_aux[lev][1],*Bfield_aux[lev][2]);
}
is_synchronized = false;
-
- for (MFIter mfi(*rho_fp[0]); mfi.isValid(); ++mfi)
- {
- MultiFab &mf = *rho_fp[0];
- Box realspace_bx = mf[mfi].box(); // Copy the box
- Array4<const Real> mf_arr = mf[mfi].array();
- amrex::Print() << " at if synchronized rho " << mf_arr(0,0,0,0) ;
- amrex::Print() << " new rho " << mf_arr(0,0,0,1) << "\n";
- }
-
+ amrex::Print() << " in evolve after pushP \n";
} else {
// Beyond one step, we have E^{n} and B^{n}.
@@ -98,15 +91,8 @@ WarpX::EvolveEM (int numsteps)
FillBoundaryB();
UpdateAuxilaryData();
- for (MFIter mfi(*rho_fp[0]); mfi.isValid(); ++mfi)
- {
- MultiFab &mf = *rho_fp[0];
- Box realspace_bx = mf[mfi].box(); // Copy the box
- Array4<const Real> mf_arr = mf[mfi].array();
- amrex::Print() << " at if synchronized rho " << mf_arr(0,0,0,0) ;
- amrex::Print() << " new rho " << mf_arr(0,0,0,1) << "\n";
- }
}
+ amrex::Print() << " in evolve after fill boundary \n";
if (do_subcycling == 0 || finest_level == 0) {
OneStep_nosub(cur_time);
@@ -116,6 +102,7 @@ WarpX::EvolveEM (int numsteps)
amrex::Print() << "Error: do_subcycling = " << do_subcycling << std::endl;
amrex::Abort("Unsupported do_subcycling type");
}
+ amrex::Print() << " in evolve after onestep no sub \n";
#ifdef WARPX_USE_PY
if (warpx_py_beforeEsolve) warpx_py_beforeEsolve();
@@ -279,52 +266,23 @@ WarpX::OneStep_nosub (Real cur_time)
if (warpx_py_beforedeposition) warpx_py_beforedeposition();
#endif
- for (MFIter mfi(*rho_fp[0]); mfi.isValid(); ++mfi)
- {
- MultiFab &mf = *rho_fp[0];
- Box realspace_bx = mf[mfi].box(); // Copy the box
- Array4<const Real> mf_arr = mf[mfi].array();
- amrex::Print() << " at before pushf particles and depose rho " << mf_arr(0,0,0,0) ;
- amrex::Print() << " new rho " << mf_arr(0,0,0,1) << "\n";
- }
PushParticlesandDepose(cur_time);
- for (MFIter mfi(*rho_fp[0]); mfi.isValid(); ++mfi)
- {
- MultiFab &mf = *rho_fp[0];
- Box realspace_bx = mf[mfi].box(); // Copy the box
- Array4<const Real> mf_arr = mf[mfi].array();
- amrex::Print() << " at after pushf particles and depose rho " << mf_arr(0,0,0,0) ;
- amrex::Print() << " new rho " << mf_arr(0,0,0,1) << "\n";
- }
+
#ifdef WARPX_USE_PY
if (warpx_py_afterdeposition) warpx_py_afterdeposition();
#endif
SyncCurrent();
- for (MFIter mfi(*rho_fp[0]); mfi.isValid(); ++mfi)
- {
- MultiFab &mf = *rho_fp[0];
- Box realspace_bx = mf[mfi].box(); // Copy the box
- Array4<const Real> mf_arr = mf[mfi].array();
- amrex::Print() << " before sync rho " << mf_arr(0,0,0,0) ;
- amrex::Print() << " new rho " << mf_arr(0,0,0,1) << "\n";
- }
SyncRho(rho_fp, rho_cp);
- for (MFIter mfi(*rho_fp[0]); mfi.isValid(); ++mfi)
- {
- MultiFab &mf = *rho_fp[0];
- Box realspace_bx = mf[mfi].box(); // Copy the box
- Array4<const Real> mf_arr = mf[mfi].array();
- amrex::Print() << " after sync rho " << mf_arr(0,0,0,0) ;
- amrex::Print() << " new rho " << mf_arr(0,0,0,1) << "\n";
- }
// Push E and B from {n} to {n+1}
// (And update guard cells immediately afterwards)
#ifdef WARPX_USE_PSATD
PushPSATD(dt[0]);
+ amrex::Print() << " before fill bndry E \n";
FillBoundaryE();
+ amrex::Print() << " before fill bndry B \n";
FillBoundaryB();
#else
EvolveF(0.5*dt[0], DtType::FirstHalf);