Skip to content

Commit

Permalink
Merge branch 'AMReX-Codes:development' into development
Browse files Browse the repository at this point in the history
  • Loading branch information
siddanib authored Mar 17, 2024
2 parents 8e18973 + 54e438a commit 0afb301
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 7 deletions.
7 changes: 5 additions & 2 deletions Src/Base/AMReX_FabArray.H
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <AMReX_MakeType.H>
#include <AMReX_TypeTraits.H>
#include <AMReX_LayoutData.H>
#include <AMReX_BaseFab.H>
#include <AMReX_BaseFabUtility.H>
#include <AMReX_MFParallelFor.H>
#include <AMReX_TagParallelFor.H>
Expand All @@ -39,14 +40,16 @@
#include <omp.h>
#endif

#include <algorithm>
#include <cstring>
#include <limits>
#include <map>
#include <memory>
#include <utility>
#include <vector>
#include <algorithm>
#include <set>
#include <string>
#include <vector>


namespace amrex {

Expand Down
2 changes: 2 additions & 0 deletions Src/Base/AMReX_FabArrayBase.H
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@
#include <omp.h>
#endif

#include <ostream>
#include <string>
#include <utility>


namespace amrex {

class MFIter;
Expand Down
1 change: 1 addition & 0 deletions Src/Base/AMReX_MultiFab.H
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include <AMReX_Config.H>

#include <AMReX_BLassert.H>
#include <AMReX_BaseFab.H>
#include <AMReX_FArrayBox.H>
#include <AMReX_FabArray.H>
#include <AMReX_FabArrayUtility.H>
Expand Down
18 changes: 13 additions & 5 deletions Src/Base/AMReX_MultiFabUtil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,15 @@ namespace {
boxes.push_back(is.second);
slice_to_full_ba_map.push_back(is.first);
}
BoxArray slice_ba(boxes.data(), static_cast<int>(boxes.size()));
DistributionMapping slice_dmap(std::move(procs));

return std::make_unique<MultiFab>(slice_ba, slice_dmap, ncomp, 0,
MFInfo(), FArrayBoxFactory());
if (!boxes.empty()) {
BoxArray slice_ba(boxes.data(), static_cast<int>(boxes.size()));
DistributionMapping slice_dmap(std::move(procs));

return std::make_unique<MultiFab>(slice_ba, slice_dmap, ncomp, 0,
MFInfo(), FArrayBoxFactory());
} else {
return nullptr;
}
}
}

Expand Down Expand Up @@ -560,6 +564,10 @@ namespace amrex
Vector<int> slice_to_full_ba_map;
std::unique_ptr<MultiFab> slice = allocateSlice(dir, cc, ncomp, geom, coord, slice_to_full_ba_map);

if (!slice) {
return nullptr;
}

#ifdef AMREX_USE_OMP
#pragma omp parallel if (Gpu::notInLaunchRegion())
#endif
Expand Down

0 comments on commit 0afb301

Please sign in to comment.