ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ERF_EBAux.H
Go to the documentation of this file.
1 #ifndef ERF_EB_AUX_H_
2 #define ERF_EB_AUX_H_
3 
4 #include <AMReX_Geometry.H>
5 #include <AMReX_DistributionMapping.H>
6 #include <AMReX_BoxArray.H>
7 
8 #include <AMReX_EB2.H>
9 #include <AMReX_EBFabFactory.H>
10 
11 class eb_aux_
12 {
13  public:
14 
15  eb_aux_ ();
16  ~eb_aux_ ();
17 
18  void define ( int const& a_idim,
19  amrex::Geometry const& a_geom,
20  amrex::BoxArray const& a_grids,
21  amrex::DistributionMapping const& a_dmap,
22  amrex::Vector<int> const& a_ngrow,
23  amrex::EBFArrayBoxFactory const* a_factory);
24 
25  void set_verbose ( ) { m_verbose = 1; }
26 
27  [[nodiscard]] const amrex::FabArray<amrex::EBCellFlagFab>& getMultiEBCellFlagFab () const;
28  [[nodiscard]] const amrex::MultiFab& getVolFrac () const;
29  [[nodiscard]] const amrex::MultiFab& getCentroid () const;
30  [[nodiscard]] const amrex::MultiFab& getBndryArea () const;
31  [[nodiscard]] const amrex::MultiFab& getBndryCent () const;
32  [[nodiscard]] const amrex::MultiFab& getBndryNorm () const;
33 
34  [[nodiscard]] amrex::Array<const amrex::MultiFab*, AMREX_SPACEDIM> getAreaFrac () const;
35  [[nodiscard]] amrex::Array<const amrex::MultiFab*, AMREX_SPACEDIM> getFaceCent () const;
36 
37  private:
38 
39  int m_verbose;
40 
41  // int m_defined;
42 
43  amrex::FabArray<amrex::EBCellFlagFab>* m_cellflags = nullptr;
44  amrex::MultiFab* m_volfrac = nullptr;
45  amrex::MultiFab* m_volcent = nullptr;
46  amrex::MultiFab* m_bndryarea = nullptr;
47  amrex::MultiFab* m_bndrycent = nullptr;
48  amrex::MultiFab* m_bndrynorm = nullptr;
49 
50  amrex::Array<amrex::MultiFab*,AMREX_SPACEDIM> m_areafrac {{AMREX_D_DECL(nullptr, nullptr, nullptr)}};
51  amrex::Array<amrex::MultiFab*,AMREX_SPACEDIM> m_facecent {{AMREX_D_DECL(nullptr, nullptr, nullptr)}};
52  // amrex::Array<amrex::MultiCutFab*,AMREX_SPACEDIM> m_edgecent {{AMREX_D_DECL(nullptr, nullptr, nullptr)}};
53 
54 };
55 
56 #endif
Definition: ERF_EBAux.H:12
const amrex::MultiFab & getBndryCent() const
Definition: ERF_EBAux.cpp:794
amrex::Array< const amrex::MultiFab *, AMREX_SPACEDIM > getAreaFrac() const
Definition: ERF_EBAux.cpp:808
eb_aux_()
Definition: ERF_EBAux.cpp:12
amrex::Array< const amrex::MultiFab *, AMREX_SPACEDIM > getFaceCent() const
Definition: ERF_EBAux.cpp:815
~eb_aux_()
Definition: ERF_EBAux.cpp:7
amrex::FabArray< amrex::EBCellFlagFab > * m_cellflags
Definition: ERF_EBAux.H:43
amrex::MultiFab * m_bndrynorm
Definition: ERF_EBAux.H:48
void set_verbose()
Definition: ERF_EBAux.H:25
void define(int const &a_idim, amrex::Geometry const &a_geom, amrex::BoxArray const &a_grids, amrex::DistributionMapping const &a_dmap, amrex::Vector< int > const &a_ngrow, amrex::EBFArrayBoxFactory const *a_factory)
Definition: ERF_EBAux.cpp:19
int m_verbose
Definition: ERF_EBAux.H:39
amrex::MultiFab * m_bndryarea
Definition: ERF_EBAux.H:46
const amrex::MultiFab & getVolFrac() const
Definition: ERF_EBAux.cpp:773
amrex::MultiFab * m_volfrac
Definition: ERF_EBAux.H:44
const amrex::MultiFab & getBndryArea() const
Definition: ERF_EBAux.cpp:787
amrex::MultiFab * m_bndrycent
Definition: ERF_EBAux.H:47
const amrex::MultiFab & getBndryNorm() const
Definition: ERF_EBAux.cpp:801
const amrex::FabArray< amrex::EBCellFlagFab > & getMultiEBCellFlagFab() const
Definition: ERF_EBAux.cpp:766
amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > m_facecent
Definition: ERF_EBAux.H:51
amrex::MultiFab * m_volcent
Definition: ERF_EBAux.H:45
amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > m_areafrac
Definition: ERF_EBAux.H:50
const amrex::MultiFab & getCentroid() const
Definition: ERF_EBAux.cpp:780