ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_MultiBlockContainer.H
Go to the documentation of this file.
1 #ifndef ERF_MultiBlockContainer_H_
2 #define ERF_MultiBlockContainer_H_
3 
4 #include <AMReX_NonLocalBC.H>
5 #include <ERF.H>
6 
8 {
9 public:
10 
11  // Constructor with vector of parameters
12  MultiBlockContainer (const std::vector<amrex::RealBox>& rb_v,
13  std::vector<int> max_level_in_v,
14  const std::vector<amrex::Vector<int>>& n_cell_in_v,
15  std::vector<int> coord_v,
16  const std::vector<amrex::Vector<amrex::IntVect>>& ref_ratios_v,
17  const std::vector<amrex::Array<int,AMREX_SPACEDIM>>& is_per_v,
18  std::vector<std::string> prefix_v,
19  int max_step);
20  // Destructor
22 
23  // Initialize block data
24  void InitializeBlocks ();
25 
26  // Set up BoxList vector for use with Communication Meta Data
27  void SetBoxLists ();
28 
29  // Set up MB Communication Meta Data
30  void SetBlockCommMetaData ();
31 
32  // Advance blocks
33  void AdvanceBlocks ();
34 
35  // Fill MFs from other block(s)
36  void FillPatchBlocks (int src_ind, int dst_ind);
37 
38 private:
42  amrex::NonLocalBC::MultiBlockIndexMapping dtos;
43  std::vector<std::vector<amrex::NonLocalBC::MultiBlockCommMetaData*>> cmd;
44  std::vector<amrex::BoxList> blv;
45 };
46 
47 #endif
Definition: ERF.H:123
Definition: ERF_MultiBlockContainer.H:8
void SetBlockCommMetaData()
Definition: ERF_MultiBlockContainer.cpp:126
std::vector< amrex::BoxList > blv
Definition: ERF_MultiBlockContainer.H:44
ERF erf1
Definition: ERF_MultiBlockContainer.H:40
int m_max_step
Definition: ERF_MultiBlockContainer.H:39
MultiBlockContainer(const std::vector< amrex::RealBox > &rb_v, std::vector< int > max_level_in_v, const std::vector< amrex::Vector< int >> &n_cell_in_v, std::vector< int > coord_v, const std::vector< amrex::Vector< amrex::IntVect >> &ref_ratios_v, const std::vector< amrex::Array< int, AMREX_SPACEDIM >> &is_per_v, std::vector< std::string > prefix_v, int max_step)
Definition: ERF_MultiBlockContainer.cpp:21
void InitializeBlocks()
Definition: ERF_MultiBlockContainer.cpp:64
amrex::NonLocalBC::MultiBlockIndexMapping dtos
Definition: ERF_MultiBlockContainer.H:42
void SetBoxLists()
Definition: ERF_MultiBlockContainer.cpp:74
void FillPatchBlocks(int src_ind, int dst_ind)
Definition: ERF_MultiBlockContainer.cpp:176
~MultiBlockContainer()
Definition: ERF_MultiBlockContainer.cpp:56
std::vector< std::vector< amrex::NonLocalBC::MultiBlockCommMetaData * > > cmd
Definition: ERF_MultiBlockContainer.H:43
ERF erf2
Definition: ERF_MultiBlockContainer.H:41
void AdvanceBlocks()
Definition: ERF_MultiBlockContainer.cpp:154