ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_EBStruct.H
Go to the documentation of this file.
1 #ifndef ERF_EB_STRUCT_H_
2 #define ERF_EB_STRUCT_H_
3 
4 #include <string>
5 #include <iostream>
6 
7 #include <AMReX_ParmParse.H>
8 #include <AMReX_Print.H>
9 #include <AMReX_Gpu.H>
10 
11 enum struct EBBoundaryType {
13 };
14 
15 enum EBTauType {
17 };
18 
19 enum EBGridType {
21 };
22 
23 /**
24  * Container holding EB-related choices
25  */
26 
27 struct EBChoice {
28  public:
29  void init_params(std::string pp_prefix)
30  {
31  amrex::ParmParse pp(pp_prefix);
32 
33  static std::string eb_boundary_type_string = "NoSlipWall";
34  pp.query("eb_boundary_type",eb_boundary_type_string);
35 
36  if (!eb_boundary_type_string.compare("SlipWall")) {
38  } else if (!eb_boundary_type_string.compare("NoSlipWall")) {
40  } else if (!eb_boundary_type_string.compare("SurfaceLayer")) {
42  } else {
43  amrex::Error("Don't know this eb_boundary_type");
44  }
45  }
46 
47  void display()
48  {
49  amrex::Print() << "EB choices: " << std::endl;
51  amrex::Print() << " eb_boundary_type : SlipWall" << std::endl;
53  amrex::Print() << " eb_boundary_type : NoSlipWall" << std::endl;
55  amrex::Print() << " eb_boundary_type : SurfaceLayer" << std::endl;
56  }
57  }
58 
60 };
61 #endif
EBTauType
Definition: ERF_EBStruct.H:15
@ tau_eb23
Definition: ERF_EBStruct.H:16
@ tau_eb13
Definition: ERF_EBStruct.H:16
EBBoundaryType
Definition: ERF_EBStruct.H:11
EBGridType
Definition: ERF_EBStruct.H:19
@ yface
Definition: ERF_EBStruct.H:20
@ zface
Definition: ERF_EBStruct.H:20
@ xface
Definition: ERF_EBStruct.H:20
ParmParse pp("prob")
Definition: ERF_SurfaceLayer.H:33
Definition: ERF_EBStruct.H:27
void init_params(std::string pp_prefix)
Definition: ERF_EBStruct.H:29
void display()
Definition: ERF_EBStruct.H:47
EBBoundaryType eb_boundary_type
Definition: ERF_EBStruct.H:59