1#ifndef AMREX_EBFABFACTORY_H_
2#define AMREX_EBFABFACTORY_H_
3#include <AMReX_Config.H>
51 {
return m_ebdc->getMultiEBCellFlagFab(); }
66 return m_ebdc->getAreaFrac();
71 return m_ebdc->getFaceCent();
75 return m_ebdc->getEdgeCent();
88 [[nodiscard]]
bool hasEBInfo() const noexcept;
100 std::shared_ptr<EBDataCollection>
m_ebdc;
105std::unique_ptr<EBFArrayBoxFactory>
111std::unique_ptr<EBFArrayBoxFactory>
117std::unique_ptr<EBFArrayBoxFactory>
#define AMREX_NODISCARD
Definition AMReX_Extension.H:251
A collection of Boxes stored in an Array.
Definition AMReX_BoxArray.H:550
Calculates the distribution of FABs to MPI processes.
Definition AMReX_DistributionMapping.H:41
Definition AMReX_EB2.H:26
Definition AMReX_EB2_Level.H:33
Definition AMReX_EBCellFlag.H:287
Definition AMReX_EBFabFactory.H:24
EBSupport m_support
Definition AMReX_EBFabFactory.H:98
AMREX_NODISCARD FArrayBox * create(const Box &box, int ncomps, const FabInfo &info, int box_index) const final
Definition AMReX_EBFabFactory.cpp:97
std::shared_ptr< EBDataCollection > m_ebdc
Definition AMReX_EBFabFactory.H:100
Geometry m_geom
Definition AMReX_EBFabFactory.H:99
const MultiCutFab & getBndryArea() const noexcept
Definition AMReX_EBFabFactory.H:63
Array< const MultiCutFab *, AMREX_SPACEDIM > getEdgeCent() const noexcept
Definition AMReX_EBFabFactory.H:74
void destroy(FArrayBox *fab) const final
Definition AMReX_EBFabFactory.cpp:127
Array< const MultiCutFab *, AMREX_SPACEDIM > getFaceCent() const noexcept
Definition AMReX_EBFabFactory.H:70
EB2::IndexSpace const * getEBIndexSpace() const noexcept
Definition AMReX_EBFabFactory.cpp:154
EB2::Level const * getEBLevel() const noexcept
Definition AMReX_EBFabFactory.H:80
const MultiCutFab & getBndryNormal() const noexcept
Definition AMReX_EBFabFactory.H:61
const FabArray< EBCellFlagFab > & getMultiEBCellFlagFab() const noexcept
Definition AMReX_EBFabFactory.H:50
bool isAllRegular() const noexcept
Definition AMReX_EBFabFactory.cpp:148
const BoxArray & boxArray() const noexcept
Definition AMReX_EBFabFactory.cpp:177
EBData getEBData(MFIter const &mfi) const noexcept
Definition AMReX_EBFabFactory.cpp:189
iMultiFab const * getCutCellMask() const noexcept
Definition AMReX_EBFabFactory.H:92
int maxCoarseningLevel() const noexcept
Definition AMReX_EBFabFactory.cpp:160
Array< const MultiCutFab *, AMREX_SPACEDIM > getAreaFrac() const noexcept
Definition AMReX_EBFabFactory.H:65
const DistributionMapping & DistributionMap() const noexcept
Definition AMReX_EBFabFactory.cpp:171
EB2::Level const * m_parent
Definition AMReX_EBFabFactory.H:101
const MultiCutFab & getCentroid() const noexcept
Definition AMReX_EBFabFactory.H:57
EBFArrayBoxFactory()=delete
const MultiCutFab & getBndryCent() const noexcept
Definition AMReX_EBFabFactory.H:59
EBFArrayBoxFactory(EBFArrayBoxFactory &&) noexcept=default
Gpu::DeviceVector< Array4< Real const > > m_eb_data
Definition AMReX_EBFabFactory.H:102
AMREX_NODISCARD FArrayBox * create_alias(FArrayBox const &rhs, int scomp, int ncomp) const final
Definition AMReX_EBFabFactory.cpp:113
bool hasEBInfo() const noexcept
Definition AMReX_EBFabFactory.cpp:183
~EBFArrayBoxFactory() override=default
const MultiFab & getLevelSet() const noexcept
Definition AMReX_EBFabFactory.H:53
AMREX_NODISCARD EBFArrayBoxFactory * clone() const final
Definition AMReX_EBFabFactory.cpp:142
const MultiFab & getVolFrac() const noexcept
Definition AMReX_EBFabFactory.H:55
const Geometry & Geom() const noexcept
Definition AMReX_EBFabFactory.H:86
EBFArrayBoxFactory(const EBFArrayBoxFactory &)=default
A Fortran Array of REALs.
Definition AMReX_FArrayBox.H:229
An Array of FortranArrayBox(FAB)-like Objects.
Definition AMReX_FabArray.H:344
Definition AMReX_FabFactory.H:50
Rectangular problem domain geometry.
Definition AMReX_Geometry.H:73
Definition AMReX_MFIter.H:57
Definition AMReX_MultiCutFab.H:81
A collection (stored as an array) of FArrayBox objects.
Definition AMReX_MultiFab.H:38
Definition AMReX_PODVector.H:262
This class is a thin wrapper around std::vector. Unlike vector, Vector::operator[] provides bound che...
Definition AMReX_Vector.H:27
Definition AMReX_iMultiFab.H:32
Definition AMReX_Amr.cpp:49
EBSupport
Definition AMReX_EBSupport.H:7
std::unique_ptr< EBFArrayBoxFactory > makeEBFabFactory(const Geometry &a_geom, const BoxArray &a_ba, const DistributionMapping &a_dm, const Vector< int > &a_ngrow, EBSupport a_support)
Definition AMReX_EBFabFactory.cpp:202
std::array< T, N > Array
Definition AMReX_Array.H:24
Definition AMReX_EBData.H:26
Definition AMReX_FabFactory.H:27