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::MultiFab& getVolFrac () const;
28  [[nodiscard]] const amrex::MultiCutFab& getVolCent () const;
29  [[nodiscard]] const amrex::MultiCutFab& getBndryArea () const;
30  [[nodiscard]] const amrex::MultiCutFab& getBndryCent () const;
31  [[nodiscard]] const amrex::MultiCutFab& getBndryNorm () const;
32 
33  [[nodiscard]] amrex::Array<const amrex::MultiCutFab*, AMREX_SPACEDIM> getAreaFrac () const;
34  [[nodiscard]] amrex::Array<const amrex::MultiCutFab*, AMREX_SPACEDIM> getFaceCent () const;
35 
36  private:
37 
38  int m_verbose;
39 
40  // int m_defined;
41 
42  amrex::FabArray<amrex::EBCellFlagFab>* m_cellflags = nullptr;
43 
44  amrex::MultiFab* m_volfrac = nullptr;
45 
46  amrex::MultiCutFab* m_volcent = nullptr;
47  amrex::MultiCutFab* m_bndryarea = nullptr;
48  amrex::MultiCutFab* m_bndrycent = nullptr;
49  amrex::MultiCutFab* m_bndrynorm = nullptr;
50 
51  amrex::Array<amrex::MultiCutFab*,AMREX_SPACEDIM> m_areafrac {{AMREX_D_DECL(nullptr, nullptr, nullptr)}};
52  amrex::Array<amrex::MultiCutFab*,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
amrex::MultiCutFab * m_bndrycent
Definition: ERF_EBAux.H:48
eb_aux_()
Definition: ERF_EBAux.cpp:12
amrex::MultiCutFab * m_bndryarea
Definition: ERF_EBAux.H:47
~eb_aux_()
Definition: ERF_EBAux.cpp:7
amrex::Array< const amrex::MultiCutFab *, AMREX_SPACEDIM > getAreaFrac() const
Definition: ERF_EBAux.cpp:655
amrex::FabArray< amrex::EBCellFlagFab > * m_cellflags
Definition: ERF_EBAux.H:42
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
const amrex::MultiCutFab & getBndryCent() const
Definition: ERF_EBAux.cpp:641
int m_verbose
Definition: ERF_EBAux.H:38
const amrex::MultiFab & getVolFrac() const
Definition: ERF_EBAux.cpp:620
amrex::MultiFab * m_volfrac
Definition: ERF_EBAux.H:44
amrex::MultiCutFab * m_bndrynorm
Definition: ERF_EBAux.H:49
amrex::Array< amrex::MultiCutFab *, AMREX_SPACEDIM > m_areafrac
Definition: ERF_EBAux.H:51
amrex::Array< const amrex::MultiCutFab *, AMREX_SPACEDIM > getFaceCent() const
Definition: ERF_EBAux.cpp:662
const amrex::MultiCutFab & getBndryArea() const
Definition: ERF_EBAux.cpp:634
amrex::MultiCutFab * m_volcent
Definition: ERF_EBAux.H:46
const amrex::MultiCutFab & getVolCent() const
Definition: ERF_EBAux.cpp:627
amrex::Array< amrex::MultiCutFab *, AMREX_SPACEDIM > m_facecent
Definition: ERF_EBAux.H:52
const amrex::MultiCutFab & getBndryNorm() const
Definition: ERF_EBAux.cpp:648