ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_NullSurf.H
Go to the documentation of this file.
1 #ifndef ERF_NULLSURF_H
2 #define ERF_NULLSURF_H
3 
4 #include <AMReX_MultiFabUtil.H>
5 #include <AMReX_Geometry.H>
6 #include <ERF_DataStruct.H>
7 
8 class NullSurf {
9 
10  public:
11  NullSurf () {}
12 
13  virtual ~NullSurf () = default;
14 
15  virtual
16  void
17  Define (SolverChoice& /*sc*/) { }
18 
19  virtual
20  void Init (const int& /*lev*/,
21  const amrex::MultiFab& /*cons_in*/,
22  const amrex::Geometry& /*geom*/,
23  const amrex::Real& /*dt_advance*/) { }
24 
25  virtual
26  void
27  Advance (const amrex::Real& /*dt_advance*/) { }
28 
29  virtual
30  void
31  Advance_With_State (const int& /*lev*/,
32  amrex::MultiFab& /*cons_in*/,
33  amrex::MultiFab& /*xvel_in*/,
34  amrex::MultiFab& /*yvel_in*/,
35  amrex::MultiFab* /*hfx3_out*/,
36  amrex::MultiFab* /*qfx3_out*/,
37  const amrex::Real& /*dt_advance*/,
38  const int& /*nstep*/) { }
39 
40  virtual
41  void
42  Plot_Landfile (const int& /*nstep*/) { }
43 
44  virtual
45  void
46  Update_Micro_Vars (amrex::MultiFab& /*cons_in*/) { }
47 
48  virtual
49  void
50  Update_State_Vars (amrex::MultiFab& /*cons_in*/) { }
51 
52  virtual
53  void
54  Copy_State_to_Micro (const amrex::MultiFab& /*cons_in*/) { }
55 
56  virtual
57  void
58  Copy_Micro_to_State (amrex::MultiFab& /*cons_in*/) { }
59 
60  virtual
61  amrex::MultiFab*
62  Lsm_Data_Ptr (const int& /*varIdx*/ ) { return nullptr; }
63 
64  virtual
65  amrex::MultiFab*
66  Lsm_Flux_Ptr (const int& /*varIdx*/ ) { return nullptr; }
67 
68  virtual
69  amrex::Geometry
70  Lsm_Geom ( ) { return m_lsm_geom; }
71 
72  virtual
73  int
75 
76  virtual
77  int
79 
80  virtual
81  std::string
82  Lsm_DataName (const int& /*varIdx*/)
83  {
84  return dataname;
85  }
86 
87  virtual
88  std::string
89  Lsm_FluxName (const int& /*varIdx*/)
90  {
91  return fluxname;
92  }
93 
94  virtual
95  int
96  Lsm_DataIndex (std::string /*varname*/)
97  {
98  return (-1);
99  }
100 
101  virtual
102  int
103  Lsm_FluxIndex (std::string /*varname*/)
104  {
105  return (-1);
106  }
107 
108  virtual
109  std::unordered_map<std::string, std::string>&
111  return wrfinput_map;
112  }
113 
114  private:
115  int m_lsm_size = 1;
116  amrex::Geometry m_lsm_geom;
117  std::string dataname = " ";
118  std::string fluxname = " ";
119 
120  std::unordered_map<std::string,std::string> wrfinput_map;
121 };
122 #endif
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_NullSurf.H:8
int m_lsm_size
Definition: ERF_NullSurf.H:115
virtual std::string Lsm_DataName(const int &)
Definition: ERF_NullSurf.H:82
virtual void Copy_State_to_Micro(const amrex::MultiFab &)
Definition: ERF_NullSurf.H:54
virtual amrex::MultiFab * Lsm_Data_Ptr(const int &)
Definition: ERF_NullSurf.H:62
virtual int Lsm_Flux_Size()
Definition: ERF_NullSurf.H:78
virtual void Advance_With_State(const int &, amrex::MultiFab &, amrex::MultiFab &, amrex::MultiFab &, amrex::MultiFab *, amrex::MultiFab *, const amrex::Real &, const int &)
Definition: ERF_NullSurf.H:31
virtual void Plot_Landfile(const int &)
Definition: ERF_NullSurf.H:42
virtual void Copy_Micro_to_State(amrex::MultiFab &)
Definition: ERF_NullSurf.H:58
virtual void Define(SolverChoice &)
Definition: ERF_NullSurf.H:17
std::string fluxname
Definition: ERF_NullSurf.H:118
virtual void Advance(const amrex::Real &)
Definition: ERF_NullSurf.H:27
virtual amrex::MultiFab * Lsm_Flux_Ptr(const int &)
Definition: ERF_NullSurf.H:66
virtual int Lsm_FluxIndex(std::string)
Definition: ERF_NullSurf.H:103
virtual void Update_Micro_Vars(amrex::MultiFab &)
Definition: ERF_NullSurf.H:46
virtual int Lsm_DataIndex(std::string)
Definition: ERF_NullSurf.H:96
NullSurf()
Definition: ERF_NullSurf.H:11
virtual void Init(const int &, const amrex::MultiFab &, const amrex::Geometry &, const amrex::Real &)
Definition: ERF_NullSurf.H:20
amrex::Geometry m_lsm_geom
Definition: ERF_NullSurf.H:116
virtual std::unordered_map< std::string, std::string > & Lsm_WRFInputNames()
Definition: ERF_NullSurf.H:110
virtual std::string Lsm_FluxName(const int &)
Definition: ERF_NullSurf.H:89
virtual int Lsm_Data_Size()
Definition: ERF_NullSurf.H:74
virtual void Update_State_Vars(amrex::MultiFab &)
Definition: ERF_NullSurf.H:50
std::string dataname
Definition: ERF_NullSurf.H:117
virtual amrex::Geometry Lsm_Geom()
Definition: ERF_NullSurf.H:70
std::unordered_map< std::string, std::string > wrfinput_map
Definition: ERF_NullSurf.H:120
virtual ~NullSurf()=default
Definition: ERF_DataStruct.H:123