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 /**
20  * Container holding EB-related choices
21  */
22 
23 struct EBChoice {
24  public:
25  void init_params(std::string pp_prefix)
26  {
27  amrex::ParmParse pp(pp_prefix);
28 
29  static std::string eb_boundary_type_string = "NoSlipWall";
30  pp.query("eb_boundary_type",eb_boundary_type_string);
31 
32  if (!eb_boundary_type_string.compare("SlipWall")) {
34  } else if (!eb_boundary_type_string.compare("NoSlipWall")) {
36  } else if (!eb_boundary_type_string.compare("SurfaceLayer")) {
38  } else {
39  amrex::Error("Don't know this eb_boundary_type");
40  }
41  }
42 
43  void display()
44  {
45  amrex::Print() << "EB choices: " << std::endl;
47  amrex::Print() << " eb_boundary_type : SlipWall" << std::endl;
49  amrex::Print() << " eb_boundary_type : NoSlipWall" << std::endl;
51  amrex::Print() << " eb_boundary_type : SurfaceLayer" << std::endl;
52  }
53  }
54 
56 };
57 #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
ParmParse pp("prob")
Definition: ERF_SurfaceLayer.H:32
Definition: ERF_EBStruct.H:23
void init_params(std::string pp_prefix)
Definition: ERF_EBStruct.H:25
void display()
Definition: ERF_EBStruct.H:43
EBBoundaryType eb_boundary_type
Definition: ERF_EBStruct.H:55