ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
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_level,
19  int const& a_idim,
20  amrex::Geometry const& a_geom,
21  amrex::BoxArray const& a_grids,
22  amrex::DistributionMapping const& a_dmap,
23  amrex::Vector<int> const& a_ngrow,
24  amrex::EBFArrayBoxFactory const* a_factory);
25 
26  void set_verbose ( ) { m_verbose = 1; }
27 
28  [[nodiscard]] const amrex::FabArray<amrex::EBCellFlagFab>& getMultiEBCellFlagFab () const;
29  [[nodiscard]] const amrex::MultiFab& getVolFrac () const;
30  [[nodiscard]] const amrex::MultiFab& getCentroid () const;
31  [[nodiscard]] const amrex::MultiFab& getBndryArea () const;
32  [[nodiscard]] const amrex::MultiFab& getBndryCent () const;
33  [[nodiscard]] const amrex::MultiFab& getBndryNorm () const;
34 
35  [[nodiscard]] amrex::Array<const amrex::MultiFab*, AMREX_SPACEDIM> getAreaFrac () const;
36  [[nodiscard]] amrex::Array<const amrex::MultiFab*, AMREX_SPACEDIM> getFaceCent () const;
37 
38  private:
39 
40  int m_verbose;
41 
42  // int m_defined;
43 
44  amrex::FabArray<amrex::EBCellFlagFab>* m_cellflags = nullptr;
45  amrex::MultiFab* m_volfrac = nullptr;
46  amrex::MultiFab* m_volcent = nullptr;
47  amrex::MultiFab* m_bndryarea = nullptr;
48  amrex::MultiFab* m_bndrycent = nullptr;
49  amrex::MultiFab* m_bndrynorm = nullptr;
50 
51  amrex::Array<amrex::MultiFab*,AMREX_SPACEDIM> m_areafrac {{AMREX_D_DECL(nullptr, nullptr, nullptr)}};
52  amrex::Array<amrex::MultiFab*,AMREX_SPACEDIM> m_facecent {{AMREX_D_DECL(nullptr, nullptr, nullptr)}};
53  // amrex::Array<amrex::MultiCutFab*,AMREX_SPACEDIM> m_edgecent {{AMREX_D_DECL(nullptr, nullptr, nullptr)}};
54 
55 };
56 
57 #endif
Definition: ERF_EBAux.H:12
const amrex::MultiFab & getBndryCent() const
Definition: ERF_EBAux.cpp:1107
amrex::Array< const amrex::MultiFab *, AMREX_SPACEDIM > getAreaFrac() const
Definition: ERF_EBAux.cpp:1121
eb_aux_()
Definition: ERF_EBAux.cpp:14
amrex::Array< const amrex::MultiFab *, AMREX_SPACEDIM > getFaceCent() const
Definition: ERF_EBAux.cpp:1128
~eb_aux_()
Definition: ERF_EBAux.cpp:9
void define(int const &a_level, 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:21
amrex::FabArray< amrex::EBCellFlagFab > * m_cellflags
Definition: ERF_EBAux.H:44
amrex::MultiFab * m_bndrynorm
Definition: ERF_EBAux.H:49
void set_verbose()
Definition: ERF_EBAux.H:26
int m_verbose
Definition: ERF_EBAux.H:40
amrex::MultiFab * m_bndryarea
Definition: ERF_EBAux.H:47
const amrex::MultiFab & getVolFrac() const
Definition: ERF_EBAux.cpp:1086
amrex::MultiFab * m_volfrac
Definition: ERF_EBAux.H:45
const amrex::MultiFab & getBndryArea() const
Definition: ERF_EBAux.cpp:1100
amrex::MultiFab * m_bndrycent
Definition: ERF_EBAux.H:48
const amrex::MultiFab & getBndryNorm() const
Definition: ERF_EBAux.cpp:1114
const amrex::FabArray< amrex::EBCellFlagFab > & getMultiEBCellFlagFab() const
Definition: ERF_EBAux.cpp:1079
amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > m_facecent
Definition: ERF_EBAux.H:52
amrex::MultiFab * m_volcent
Definition: ERF_EBAux.H:46
amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > m_areafrac
Definition: ERF_EBAux.H:51
const amrex::MultiFab & getCentroid() const
Definition: ERF_EBAux.cpp:1093