Block-Structured AMR Software Framework
AMReX_EBFArrayBox.H
Go to the documentation of this file.
1 #ifndef AMREX_EBFARRAYBOX_H_
2 #define AMREX_EBFARRAYBOX_H_
3 #include <AMReX_Config.H>
4 
5 #include <AMReX_FArrayBox.H>
6 
7 namespace amrex {
8 
9 class EBCellFlagFab;
10 class EBFArrayBoxFactory;
11 
13  : public FArrayBox
14 {
15 public:
17  explicit EBFArrayBox (Arena* ar);
18  EBFArrayBox (const EBCellFlagFab& ebflag, const Box& bx, int ncomps, Arena* ar,
19  const EBFArrayBoxFactory* factory=nullptr, int box_index=-1);
20  EBFArrayBox (EBFArrayBox const& rhs, MakeType make_type, int scomp, int ncomp);
21 
22  EBFArrayBox (EBFArrayBox&& rhs) noexcept = default;
23  EBFArrayBox (const EBFArrayBox&) = delete;
24  EBFArrayBox& operator= (const EBFArrayBox&) = delete;
26 
27  ~EBFArrayBox () override;
28 
30  [[nodiscard]] const EBCellFlagFab& getEBCellFlagFab () const { return *m_ebcellflag; }
31 
34  [[nodiscard]] const FArrayBox* getLevelSetData () const;
35 
38  [[nodiscard]] const FArrayBox* getVolFracData () const;
39 
42  [[nodiscard]] const FArrayBox* getCentroidData () const;
43 
46  [[nodiscard]] const FArrayBox* getBndryCentData () const;
47 
50  [[nodiscard]] const FArrayBox* getBndryNormalData () const;
51 
54  [[nodiscard]] const FArrayBox* getBndryAreaData () const;
55 
59 
63 
67 
68 private:
69  const EBCellFlagFab* m_ebcellflag = nullptr;
70  const EBFArrayBoxFactory* m_factory = nullptr;
71  int m_box_index = -1;
72 };
73 
74 const EBCellFlagFab& getEBCellFlagFab (const FArrayBox& fab);
75 
76 }
77 
78 #endif
A virtual base class for objects that manage their own dynamic memory allocation.
Definition: AMReX_Arena.H:100
Definition: AMReX_EBCellFlag.H:287
Definition: AMReX_EBFabFactory.H:22
Definition: AMReX_EBFArrayBox.H:14
EBFArrayBox(const EBFArrayBox &)=delete
const EBCellFlagFab & getEBCellFlagFab() const
Get EBCellFlag Fab.
Definition: AMReX_EBFArrayBox.H:30
const FArrayBox * getBndryNormalData() const
Definition: AMReX_EBFArrayBox.cpp:93
Array< const FArrayBox *, AMREX_SPACEDIM > getAreaFracData() const
Definition: AMReX_EBFArrayBox.cpp:123
~EBFArrayBox() override
const FArrayBox * getVolFracData() const
Definition: AMReX_EBFArrayBox.cpp:52
EBFArrayBox(EBFArrayBox &&rhs) noexcept=default
const FArrayBox * getCentroidData() const
Definition: AMReX_EBFArrayBox.cpp:63
EBFArrayBox & operator=(const EBFArrayBox &)=delete
const FArrayBox * getBndryAreaData() const
Definition: AMReX_EBFArrayBox.cpp:108
Array< const FArrayBox *, AMREX_SPACEDIM > getEdgeCentData() const
Definition: AMReX_EBFArrayBox.cpp:157
const FArrayBox * getBndryCentData() const
Definition: AMReX_EBFArrayBox.cpp:78
const EBCellFlagFab * m_ebcellflag
Definition: AMReX_EBFArrayBox.H:69
int m_box_index
Definition: AMReX_EBFArrayBox.H:71
const EBFArrayBoxFactory * m_factory
Definition: AMReX_EBFArrayBox.H:70
const FArrayBox * getLevelSetData() const
Definition: AMReX_EBFArrayBox.cpp:41
Array< const FArrayBox *, AMREX_SPACEDIM > getFaceCentData() const
Definition: AMReX_EBFArrayBox.cpp:140
A Fortran Array of REALs.
Definition: AMReX_FArrayBox.H:229
Definition: AMReX_Amr.cpp:49
MakeType
Definition: AMReX_MakeType.H:7
const EBCellFlagFab & getEBCellFlagFab(const FArrayBox &fab)
Definition: AMReX_EBFArrayBox.cpp:174
std::array< T, N > Array
Definition: AMReX_Array.H:24