diff options
Diffstat (limited to 'Source/Diagnostics/FieldIO.cpp')
-rw-r--r-- | Source/Diagnostics/FieldIO.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/Source/Diagnostics/FieldIO.cpp b/Source/Diagnostics/FieldIO.cpp index dcbe6dca2..209d8e9b4 100644 --- a/Source/Diagnostics/FieldIO.cpp +++ b/Source/Diagnostics/FieldIO.cpp @@ -586,7 +586,7 @@ WriteCoarseScalar( const std::string field_name, WriteZeroRawField( *F_fp, dm, filename, level_prefix, field_name+"_cp", lev, ng ); } else { // Create an alias to the component `icomp` of F_cp - MultiFab F_comp(*F_cp, amrex::make_alias, 1, icomp); + MultiFab F_comp(*F_cp, amrex::make_alias, icomp, 1); // Interpolate coarse data onto fine grid const int r_ratio = WarpX::GetInstance().refRatio(lev-1)[0]; const Real* dx = WarpX::GetInstance().Geom(lev-1).CellSize(); @@ -659,18 +659,17 @@ getInterpolatedScalar( FArrayBox ffab; // Temporary array ; contains interpolated fields for (MFIter mfi(*interpolated_F); mfi.isValid(); ++mfi) { - Box ccbx = mfi.fabbox(); - ccbx.enclosedCells(); - ccbx.coarsen(r_ratio).refine(r_ratio); // so that ccbx is coarsenable + Box finebx = mfi.fabbox(); + finebx.coarsen(r_ratio).refine(r_ratio); // so that finebx is coarsenable const FArrayBox& cfab = (F_cp)[mfi]; - ffab.resize(amrex::convert(ccbx,(F_fp)[mfi].box().type())); + ffab.resize(finebx); // - Fully nodal if ( F_fp.is_nodal() ){ IntVect refinement_vector{AMREX_D_DECL(r_ratio, r_ratio, r_ratio)}; node_bilinear_interp.interp(cfab, 0, ffab, 0, 1, - ccbx, refinement_vector, {}, {}, {}, 0, 0); + finebx, refinement_vector, {}, {}, {}, 0, 0); } else { amrex::Abort("Unknown field staggering."); } |