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& /*elapsed_time*/,
38  const amrex::Real& /*dt_advance*/,
39  const int& /*nstep*/) { }
40 
41  virtual
42  void
43  Plot_Landfile (const int& /*nstep*/) { }
44 
45  virtual
46  void
47  Update_Micro_Vars (amrex::MultiFab& /*cons_in*/) { }
48 
49  virtual
50  void
51  Update_State_Vars (amrex::MultiFab& /*cons_in*/) { }
52 
53  virtual
54  void
55  Copy_State_to_Micro (const amrex::MultiFab& /*cons_in*/) { }
56 
57  virtual
58  void
59  Copy_Micro_to_State (amrex::MultiFab& /*cons_in*/) { }
60 
61  virtual
62  amrex::MultiFab*
63  Lsm_Data_Ptr (const int& /*varIdx*/ ) { return nullptr; }
64 
65  virtual
66  amrex::MultiFab*
67  Lsm_Flux_Ptr (const int& /*varIdx*/ ) { return nullptr; }
68 
69  virtual
70  amrex::Geometry
71  Lsm_Geom ( ) { return m_lsm_geom; }
72 
73  virtual
74  int
76 
77  virtual
78  int
80 
81  virtual
82  std::string
83  Lsm_DataName (const int& /*varIdx*/)
84  {
85  return dataname;
86  }
87 
88  virtual
89  std::string
90  Lsm_FluxName (const int& /*varIdx*/)
91  {
92  return fluxname;
93  }
94 
95  virtual
96  int
97  Lsm_DataIndex (std::string /*varname*/)
98  {
99  return (-1);
100  }
101 
102  virtual
103  int
104  Lsm_FluxIndex (std::string /*varname*/)
105  {
106  return (-1);
107  }
108 
109  virtual
110  std::unordered_map<std::string, std::string>&
112  return wrfinput_map;
113  }
114 
115  private:
116  int m_lsm_size = 0;
117  amrex::Geometry m_lsm_geom;
118  std::string dataname = " ";
119  std::string fluxname = " ";
120 
121  std::unordered_map<std::string,std::string> wrfinput_map;
122 };
123 #endif
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_NullSurf.H:8
int m_lsm_size
Definition: ERF_NullSurf.H:116
virtual std::string Lsm_DataName(const int &)
Definition: ERF_NullSurf.H:83
virtual void Copy_State_to_Micro(const amrex::MultiFab &)
Definition: ERF_NullSurf.H:55
virtual amrex::MultiFab * Lsm_Data_Ptr(const int &)
Definition: ERF_NullSurf.H:63
virtual int Lsm_Flux_Size()
Definition: ERF_NullSurf.H:79
virtual void Plot_Landfile(const int &)
Definition: ERF_NullSurf.H:43
virtual void Advance_With_State(const int &, amrex::MultiFab &, amrex::MultiFab &, amrex::MultiFab &, amrex::MultiFab *, amrex::MultiFab *, const amrex::Real &, const amrex::Real &, const int &)
Definition: ERF_NullSurf.H:31
virtual void Copy_Micro_to_State(amrex::MultiFab &)
Definition: ERF_NullSurf.H:59
virtual void Define(SolverChoice &)
Definition: ERF_NullSurf.H:17
std::string fluxname
Definition: ERF_NullSurf.H:119
virtual void Advance(const amrex::Real &)
Definition: ERF_NullSurf.H:27
virtual amrex::MultiFab * Lsm_Flux_Ptr(const int &)
Definition: ERF_NullSurf.H:67
virtual int Lsm_FluxIndex(std::string)
Definition: ERF_NullSurf.H:104
virtual void Update_Micro_Vars(amrex::MultiFab &)
Definition: ERF_NullSurf.H:47
virtual int Lsm_DataIndex(std::string)
Definition: ERF_NullSurf.H:97
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:117
virtual std::unordered_map< std::string, std::string > & Lsm_WRFInputNames()
Definition: ERF_NullSurf.H:111
virtual std::string Lsm_FluxName(const int &)
Definition: ERF_NullSurf.H:90
virtual int Lsm_Data_Size()
Definition: ERF_NullSurf.H:75
virtual void Update_State_Vars(amrex::MultiFab &)
Definition: ERF_NullSurf.H:51
std::string dataname
Definition: ERF_NullSurf.H:118
virtual amrex::Geometry Lsm_Geom()
Definition: ERF_NullSurf.H:71
std::unordered_map< std::string, std::string > wrfinput_map
Definition: ERF_NullSurf.H:121
virtual ~NullSurf()=default
Definition: ERF_DataStruct.H:141