Block-Structured AMR Software Framework
amrex::EBFArrayBoxFactory Class Reference

#include <AMReX_EBFabFactory.H>

Inheritance diagram for amrex::EBFArrayBoxFactory:
amrex::FabFactory< FArrayBox >

Public Member Functions

 EBFArrayBoxFactory (const EB2::Level &a_level, const Geometry &a_geom, const BoxArray &a_ba, const DistributionMapping &a_dm, const Vector< int > &a_ngrow, EBSupport a_support)
 
 ~EBFArrayBoxFactory () override=default
 
 EBFArrayBoxFactory (const EBFArrayBoxFactory &)=default
 
 EBFArrayBoxFactory (EBFArrayBoxFactory &&) noexcept=default
 
 EBFArrayBoxFactory ()=delete
 
EBFArrayBoxFactoryoperator= (const EBFArrayBoxFactory &)=delete
 
EBFArrayBoxFactoryoperator= (EBFArrayBoxFactory &&)=delete
 
AMREX_NODISCARD FArrayBoxcreate (const Box &box, int ncomps, const FabInfo &info, int box_index) const final
 
AMREX_NODISCARD FArrayBoxcreate_alias (FArrayBox const &rhs, int scomp, int ncomp) const final
 
void destroy (FArrayBox *fab) const final
 
AMREX_NODISCARD EBFArrayBoxFactoryclone () const final
 
const FabArray< EBCellFlagFab > & getMultiEBCellFlagFab () const noexcept
 
const MultiFabgetLevelSet () const noexcept
 
const MultiFabgetVolFrac () const noexcept
 
const MultiCutFabgetCentroid () const noexcept
 
const MultiCutFabgetBndryCent () const noexcept
 
const MultiCutFabgetBndryNormal () const noexcept
 
const MultiCutFabgetBndryArea () const noexcept
 
Array< const MultiCutFab *, AMREX_SPACEDIM > getAreaFrac () const noexcept
 
Array< const MultiCutFab *, AMREX_SPACEDIM > getFaceCent () const noexcept
 
Array< const MultiCutFab *, AMREX_SPACEDIM > getEdgeCent () const noexcept
 
bool isAllRegular () const noexcept
 
EB2::Level const * getEBLevel () const noexcept
 
EB2::IndexSpace const * getEBIndexSpace () const noexcept
 
int maxCoarseningLevel () const noexcept
 
const DistributionMappingDistributionMap () const noexcept
 
const BoxArrayboxArray () const noexcept
 
const GeometryGeom () const noexcept
 
bool hasEBInfo () const noexcept
 
iMultiFab const * getCutCellMask () const noexcept
 
EBData getEBData (MFIter const &mfi) const noexcept
 
- Public Member Functions inherited from amrex::FabFactory< FArrayBox >
 FabFactory () noexcept=default
 
 FabFactory (FabFactory const &) noexcept=default
 
 FabFactory (FabFactory &&) noexcept=default
 
FabFactoryoperator= (FabFactory const &) noexcept=default
 
FabFactoryoperator= (FabFactory &&) noexcept=default
 
virtual ~FabFactory () noexcept=default
 
virtual AMREX_NODISCARD Long nBytes (const Box &box, int ncomps, int) const
 

Private Attributes

EBSupport m_support
 
Geometry m_geom
 
std::shared_ptr< EBDataCollectionm_ebdc
 
EB2::Level const * m_parent = nullptr
 
Gpu::DeviceVector< Array4< Real const > > m_eb_data
 

Constructor & Destructor Documentation

◆ EBFArrayBoxFactory() [1/4]

amrex::EBFArrayBoxFactory::EBFArrayBoxFactory ( const EB2::Level a_level,
const Geometry a_geom,
const BoxArray a_ba,
const DistributionMapping a_dm,
const Vector< int > &  a_ngrow,
EBSupport  a_support 
)

◆ ~EBFArrayBoxFactory()

amrex::EBFArrayBoxFactory::~EBFArrayBoxFactory ( )
overridedefault

◆ EBFArrayBoxFactory() [2/4]

amrex::EBFArrayBoxFactory::EBFArrayBoxFactory ( const EBFArrayBoxFactory )
default

◆ EBFArrayBoxFactory() [3/4]

amrex::EBFArrayBoxFactory::EBFArrayBoxFactory ( EBFArrayBoxFactory &&  )
defaultnoexcept

◆ EBFArrayBoxFactory() [4/4]

amrex::EBFArrayBoxFactory::EBFArrayBoxFactory ( )
delete

Member Function Documentation

◆ boxArray()

const BoxArray & amrex::EBFArrayBoxFactory::boxArray ( ) const
noexcept

◆ clone()

AMREX_NODISCARD EBFArrayBoxFactory * amrex::EBFArrayBoxFactory::clone ( ) const
finalvirtual

◆ create()

AMREX_NODISCARD FArrayBox * amrex::EBFArrayBoxFactory::create ( const Box box,
int  ncomps,
const FabInfo info,
int  box_index 
) const
finalvirtual

◆ create_alias()

AMREX_NODISCARD FArrayBox * amrex::EBFArrayBoxFactory::create_alias ( FArrayBox const &  rhs,
int  scomp,
int  ncomp 
) const
finalvirtual

Reimplemented from amrex::FabFactory< FArrayBox >.

◆ destroy()

void amrex::EBFArrayBoxFactory::destroy ( FArrayBox fab) const
finalvirtual

◆ DistributionMap()

const DistributionMapping & amrex::EBFArrayBoxFactory::DistributionMap ( ) const
noexcept

◆ Geom()

const Geometry& amrex::EBFArrayBoxFactory::Geom ( ) const
inlinenoexcept

◆ getAreaFrac()

Array<const MultiCutFab*,AMREX_SPACEDIM> amrex::EBFArrayBoxFactory::getAreaFrac ( ) const
inlinenoexcept

◆ getBndryArea()

const MultiCutFab& amrex::EBFArrayBoxFactory::getBndryArea ( ) const
inlinenoexcept

◆ getBndryCent()

const MultiCutFab& amrex::EBFArrayBoxFactory::getBndryCent ( ) const
inlinenoexcept

◆ getBndryNormal()

const MultiCutFab& amrex::EBFArrayBoxFactory::getBndryNormal ( ) const
inlinenoexcept

◆ getCentroid()

const MultiCutFab& amrex::EBFArrayBoxFactory::getCentroid ( ) const
inlinenoexcept

◆ getCutCellMask()

iMultiFab const* amrex::EBFArrayBoxFactory::getCutCellMask ( ) const
inlinenoexcept

Returns nullptr unless this level is built by EB2::addRegularCoarseLevels. One should use getMultiEBCellFlagFab for normal levels.

◆ getEBData()

EBData amrex::EBFArrayBoxFactory::getEBData ( MFIter const &  mfi) const
noexcept

◆ getEBIndexSpace()

EB2::IndexSpace const * amrex::EBFArrayBoxFactory::getEBIndexSpace ( ) const
noexcept

◆ getEBLevel()

EB2::Level const* amrex::EBFArrayBoxFactory::getEBLevel ( ) const
inlinenoexcept

◆ getEdgeCent()

Array<const MultiCutFab*,AMREX_SPACEDIM> amrex::EBFArrayBoxFactory::getEdgeCent ( ) const
inlinenoexcept

◆ getFaceCent()

Array<const MultiCutFab*,AMREX_SPACEDIM> amrex::EBFArrayBoxFactory::getFaceCent ( ) const
inlinenoexcept

◆ getLevelSet()

const MultiFab& amrex::EBFArrayBoxFactory::getLevelSet ( ) const
inlinenoexcept

◆ getMultiEBCellFlagFab()

const FabArray<EBCellFlagFab>& amrex::EBFArrayBoxFactory::getMultiEBCellFlagFab ( ) const
inlinenoexcept

◆ getVolFrac()

const MultiFab& amrex::EBFArrayBoxFactory::getVolFrac ( ) const
inlinenoexcept

◆ hasEBInfo()

bool amrex::EBFArrayBoxFactory::hasEBInfo ( ) const
noexcept

◆ isAllRegular()

bool amrex::EBFArrayBoxFactory::isAllRegular ( ) const
noexcept

◆ maxCoarseningLevel()

int amrex::EBFArrayBoxFactory::maxCoarseningLevel ( ) const
noexcept

◆ operator=() [1/2]

EBFArrayBoxFactory& amrex::EBFArrayBoxFactory::operator= ( const EBFArrayBoxFactory )
delete

◆ operator=() [2/2]

EBFArrayBoxFactory& amrex::EBFArrayBoxFactory::operator= ( EBFArrayBoxFactory &&  )
delete

Member Data Documentation

◆ m_eb_data

Gpu::DeviceVector<Array4<Real const> > amrex::EBFArrayBoxFactory::m_eb_data
private

◆ m_ebdc

std::shared_ptr<EBDataCollection> amrex::EBFArrayBoxFactory::m_ebdc
private

◆ m_geom

Geometry amrex::EBFArrayBoxFactory::m_geom
private

◆ m_parent

EB2::Level const* amrex::EBFArrayBoxFactory::m_parent = nullptr
private

◆ m_support

EBSupport amrex::EBFArrayBoxFactory::m_support
private

The documentation for this class was generated from the following files: