Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
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
13namespace amrex {
14
15class EBCellFlagFab;
16class EBFArrayBoxFactory;
17
20 : public FArrayBox
21{
22public:
26 explicit EBFArrayBox (Arena* ar);
37 EBFArrayBox (const EBCellFlagFab& ebflag, const Box& bx, int ncomps, Arena* ar,
38 const EBFArrayBoxFactory* factory=nullptr, int box_index=-1);
40 EBFArrayBox (EBFArrayBox const& rhs, MakeType make_type, int scomp, int ncomp);
41
42 EBFArrayBox (EBFArrayBox&& rhs) noexcept = default;
43 EBFArrayBox (const EBFArrayBox&) = delete;
46
47 ~EBFArrayBox () override;
48
50 [[nodiscard]] const EBCellFlagFab& getEBCellFlagFab () const { return *m_ebcellflag; }
51
54 [[nodiscard]] const FArrayBox* getLevelSetData () const;
55
58 [[nodiscard]] const FArrayBox* getVolFracData () const;
59
62 [[nodiscard]] const FArrayBox* getCentroidData () const;
63
66 [[nodiscard]] const FArrayBox* getBndryCentData () const;
67
70 [[nodiscard]] const FArrayBox* getBndryNormalData () const;
71
74 [[nodiscard]] const FArrayBox* getBndryAreaData () const;
75
79
83
87
88private:
89 const EBCellFlagFab* m_ebcellflag = nullptr;
90 const EBFArrayBoxFactory* m_factory = nullptr;
91 int m_box_index = -1;
92};
93
95const EBCellFlagFab& getEBCellFlagFab (const FArrayBox& fab);
96
97}
98
99#endif
A virtual base class for objects that manage their own dynamic memory allocation.
Definition AMReX_Arena.H:132
FAB storing EBCellFlag data per cell.
Definition AMReX_EBCellFlag.H:324
Definition AMReX_EBFabFactory.H:32
FArrayBox variant that can query accompanying EB geometric data.
Definition AMReX_EBFArrayBox.H:21
EBFArrayBox(const EBFArrayBox &)=delete
Array< const FArrayBox *, 3 > getFaceCentData() const
Definition AMReX_EBFArrayBox.cpp:140
Array< const FArrayBox *, 3 > getEdgeCentData() const
Definition AMReX_EBFArrayBox.cpp:157
EBFArrayBox & operator=(const EBFArrayBox &)=delete
const FArrayBox * getBndryNormalData() const
Definition AMReX_EBFArrayBox.cpp:93
Array< const FArrayBox *, 3 > 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
const EBCellFlagFab & getEBCellFlagFab() const
Get EBCellFlag Fab.
Definition AMReX_EBFArrayBox.H:50
EBFArrayBox()
Construct an empty EB-aware FAB.
const FArrayBox * getBndryAreaData() const
Definition AMReX_EBFArrayBox.cpp:108
const FArrayBox * getBndryCentData() const
Definition AMReX_EBFArrayBox.cpp:78
const FArrayBox * getLevelSetData() const
Definition AMReX_EBFArrayBox.cpp:41
A Fortran Array of REALs.
Definition AMReX_FArrayBox.H:231
std::array< T, N > Array
Definition AMReX_Array.H:26
Definition AMReX_Amr.cpp:49
MakeType
Definition AMReX_MakeType.H:7
const EBCellFlagFab & getEBCellFlagFab(const FArrayBox &fab)
Helper to downcast an FArrayBox and return its EB cell-flag data.
Definition AMReX_EBFArrayBox.cpp:174