ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
AdvChoice Struct Reference

#include <ERF_AdvStruct.H>

Collaboration diagram for AdvChoice:

Public Member Functions

void init_params (std::string pp_prefix)
 
void display (std::string &pp_prefix)
 
std::string adv_type_convert_int_to_string (AdvType adv_int)
 
AdvType adv_type_convert_string_to_advtype (std::string adv_string)
 
void validate_weno_momentum_compatibility (bool use_embedded_boundary)
 

Public Attributes

bool use_efficient_advection = false
 
AdvType dycore_horiz_adv_type = AdvType::Upwind_3rd
 
AdvType dycore_vert_adv_type = AdvType::Upwind_3rd
 
AdvType dryscal_horiz_adv_type = AdvType::Upwind_3rd
 
AdvType dryscal_vert_adv_type = AdvType::Upwind_3rd
 
AdvType moistscal_horiz_adv_type = AdvType::Weno_3
 
AdvType moistscal_vert_adv_type = AdvType::Weno_3
 
amrex::Real dycore_horiz_upw_frac = 1.0
 
amrex::Real dycore_vert_upw_frac = 1.0
 
amrex::Real dryscal_horiz_upw_frac = 1.0
 
amrex::Real dryscal_vert_upw_frac = 1.0
 
amrex::Real moistscal_horiz_upw_frac = 1.0
 
amrex::Real moistscal_vert_upw_frac = 1.0
 
amrex::Vector< amrex::IntVect > zero_xflux
 
amrex::Vector< amrex::IntVect > zero_yflux
 
amrex::Vector< amrex::IntVect > zero_zflux
 
bool have_zero_flux_faces = false
 

Detailed Description

Container holding the advection-related choices

Member Function Documentation

◆ adv_type_convert_int_to_string()

std::string AdvChoice::adv_type_convert_int_to_string ( AdvType  adv_int)
inline
296  {
297  if (adv_int == AdvType::Centered_2nd) {
298  return "Centered_2nd";
299  } else if (adv_int == AdvType::Upwind_3rd) {
300  return "Upwind_3rd";
301  } else if (adv_int == AdvType::Upwind_3rd_SL) {
302  return "Upwind_3rd_SL";
303  } else if (adv_int == AdvType::Centered_4th) {
304  return "Centered_4th";
305  } else if (adv_int == AdvType::Upwind_5th) {
306  return "Upwind_5th";
307  } else if (adv_int == AdvType::Centered_6th) {
308  return "Centered_6th";
309  } else if (adv_int == AdvType::Weno_3) {
310  return "WENO3";
311  } else if (adv_int == AdvType::Weno_3Z) {
312  return "WENOZ3";
313  } else if (adv_int == AdvType::Weno_5) {
314  return "WENO5";
315  } else if (adv_int == AdvType::Weno_5Z) {
316  return "WENOZ5";
317  } else if (adv_int == AdvType::Weno_3MZQ) {
318  return "WENOMZQ3";
319  } else if (adv_int == AdvType::Weno_7) {
320  return "WENO7";
321  } else if (adv_int == AdvType::Weno_7Z) {
322  return "WENOZ7";
323  } else {
324  return "Unknown";
325  }
326  }
@ Upwind_3rd_SL
@ Centered_4th
@ Centered_6th
@ Centered_2nd

Referenced by display().

Here is the caller graph for this function:

◆ adv_type_convert_string_to_advtype()

AdvType AdvChoice::adv_type_convert_string_to_advtype ( std::string  adv_string)
inline
329  {
330  if (adv_string == "Centered_2nd") {
331  return AdvType::Centered_2nd;
332  } else if ((adv_string == "Upwind_3rd") || (adv_string == "Blended_3rd4th")) {
333  return AdvType::Upwind_3rd;
334  } else if (adv_string == "Upwind_3rd_SL") {
335  return AdvType::Upwind_3rd_SL;
336  } else if (adv_string == "Centered_4th") {
337  return AdvType::Centered_4th;
338  } else if (adv_string == "Upwind_5th" || (adv_string == "Blended_5th6th")) {
339  return AdvType::Upwind_5th;
340  } else if (adv_string == "Centered_6th") {
341  return AdvType::Centered_6th;
342  } else if (adv_string == "WENO3") {
343  return AdvType::Weno_3;
344  } else if (adv_string == "WENOZ3") {
345  return AdvType::Weno_3Z;
346  } else if (adv_string == "WENO5") {
347  return AdvType::Weno_5;
348  } else if (adv_string == "WENOZ5") {
349  return AdvType::Weno_5Z;
350  } else if (adv_string == "WENOMZQ3") {
351  return AdvType::Weno_3MZQ;
352  } else if (adv_string == "WENO7") {
353  return AdvType::Weno_7;
354  } else if (adv_string == "WENOZ7") {
355  return AdvType::Weno_7Z;
356  } else {
357  return AdvType::Unknown;
358  }
359  }

Referenced by init_params().

Here is the caller graph for this function:

◆ display()

void AdvChoice::display ( std::string &  pp_prefix)
inline
212  {
213  amrex::Print() << "Advection Choices: " << std::endl;
214 
215  // We read these again here just as a convenience to avoid passing them
216  amrex::ParmParse pp(pp_prefix);
217  std::string dycore_horiz_adv_string = "" ; std::string dycore_vert_adv_string = "";
218  std::string dryscal_horiz_adv_string = "" ; std::string dryscal_vert_adv_string = "";
219  pp.query("dycore_horiz_adv_type" , dycore_horiz_adv_string);
220  pp.query("dycore_vert_adv_type" , dycore_vert_adv_string);
221  pp.query("dryscal_horiz_adv_type" , dryscal_horiz_adv_string);
222  pp.query("dryscal_vert_adv_type" , dryscal_vert_adv_string);
223  std::string moistscal_horiz_adv_string = ""; std::string moistscal_vert_adv_string = "";
224  pp.query("moistscal_horiz_adv_type", moistscal_horiz_adv_string);
225  pp.query("moistscal_vert_adv_type" , moistscal_vert_adv_string);
226 
227  if (dycore_horiz_adv_string != "") {
228  amrex::Print() << " dycore_horiz_adv_type : " << dycore_horiz_adv_string;
229  } else {
230  amrex::Print() << " dycore_horiz_adv_type : " << adv_type_convert_int_to_string(dycore_horiz_adv_type);
231  }
232  if ( (dycore_horiz_adv_string == "Blended_3rd4th") ||
233  (dycore_horiz_adv_string == "Blended_5th6th") ) {
234  amrex::Print() << " with " << 100*dycore_horiz_upw_frac << "% upwinding";
235  }
236  amrex::Print() << std::endl;
237 
238  if (dycore_vert_adv_string != "") {
239  amrex::Print() << " dycore_vert_adv_type : " << dycore_vert_adv_string;
240  } else {
241  amrex::Print() << " dycore_vert_adv_type : " << adv_type_convert_int_to_string(dycore_vert_adv_type);
242  }
243  if ( (dycore_vert_adv_string == "Blended_3rd4th") ||
244  (dycore_vert_adv_string == "Blended_5th6th") ) {
245  amrex::Print() << " with " << 100*dycore_vert_upw_frac << "% upwinding";
246  }
247  amrex::Print() << std::endl;
248 
249  if (dryscal_horiz_adv_string != "") {
250  amrex::Print() << " dryscal_horiz_adv_type : " << dryscal_horiz_adv_string;
251  } else {
252  amrex::Print() << " dryscal_horiz_adv_type : " << adv_type_convert_int_to_string(dryscal_horiz_adv_type);
253  }
254  if ( (dryscal_horiz_adv_string == "Blended_3rd4th") ||
255  (dryscal_horiz_adv_string == "Blended_5th6th") ) {
256  amrex::Print() << " with " << 100*dryscal_horiz_upw_frac << "% upwinding";
257  }
258  amrex::Print() << std::endl;
259 
260  if (dryscal_vert_adv_string != "") {
261  amrex::Print() << " dryscal_vert_adv_type : " << dryscal_vert_adv_string;
262  } else {
263  amrex::Print() << " dryscal_vert_adv_type : " << adv_type_convert_int_to_string(dryscal_vert_adv_type);
264  }
265  if ( (dryscal_vert_adv_string == "Blended_3rd4th") ||
266  (dryscal_vert_adv_string == "Blended_5th6th") ) {
267  amrex::Print() << " with " << 100*dryscal_vert_upw_frac << "% upwinding";
268  }
269  amrex::Print() << std::endl;
270 
271  if (moistscal_horiz_adv_string != "") {
272  amrex::Print() << " moistscal_horiz_adv_type : " << moistscal_horiz_adv_string;
273  } else {
274  amrex::Print() << " moistscal_horiz_adv_type : " << adv_type_convert_int_to_string(moistscal_horiz_adv_type);
275  }
276  if ( (moistscal_horiz_adv_string == "Blended_3rd4th") ||
277  (moistscal_horiz_adv_string == "Blended_5th6th") ) {
278  amrex::Print() << " with " << 100*moistscal_horiz_upw_frac << "% upwinding";
279  }
280  amrex::Print() << std::endl;
281 
282  if (moistscal_vert_adv_string != "") {
283  amrex::Print() << " moistscal_vert_adv_type : " << moistscal_vert_adv_string;
284  } else {
285  amrex::Print() << " moistscal_vert_adv_type : " << adv_type_convert_int_to_string(moistscal_vert_adv_type);
286  }
287  if ( (moistscal_vert_adv_string == "Blended_3rd4th") ||
288  (moistscal_vert_adv_string == "Blended_5th6th") ) {
289  amrex::Print() << " with " << 100*moistscal_vert_upw_frac << "% upwinding";
290  }
291  amrex::Print() << std::endl;
292  }
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real pp(amrex::Real y)
Definition: ERF_MicrophysicsUtils.H:230
amrex::Real dryscal_vert_upw_frac
Definition: ERF_AdvStruct.H:408
AdvType moistscal_horiz_adv_type
Definition: ERF_AdvStruct.H:399
AdvType dycore_vert_adv_type
Definition: ERF_AdvStruct.H:396
AdvType moistscal_vert_adv_type
Definition: ERF_AdvStruct.H:400
amrex::Real moistscal_vert_upw_frac
Definition: ERF_AdvStruct.H:410
amrex::Real dycore_vert_upw_frac
Definition: ERF_AdvStruct.H:406
amrex::Real moistscal_horiz_upw_frac
Definition: ERF_AdvStruct.H:409
AdvType dryscal_horiz_adv_type
Definition: ERF_AdvStruct.H:397
AdvType dycore_horiz_adv_type
Definition: ERF_AdvStruct.H:395
amrex::Real dycore_horiz_upw_frac
Definition: ERF_AdvStruct.H:405
std::string adv_type_convert_int_to_string(AdvType adv_int)
Definition: ERF_AdvStruct.H:295
AdvType dryscal_vert_adv_type
Definition: ERF_AdvStruct.H:398
amrex::Real dryscal_horiz_upw_frac
Definition: ERF_AdvStruct.H:407

Referenced by SolverChoice::display().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_params()

void AdvChoice::init_params ( std::string  pp_prefix)
inline
22  {
23  amrex::ParmParse pp(pp_prefix);
24 
25  // Order and type of spatial discretizations used in advection
26  pp.query("use_efficient_advection", use_efficient_advection);
27  std::string dycore_horiz_adv_string = "" ; std::string dycore_vert_adv_string = "";
28  std::string dryscal_horiz_adv_string = "" ; std::string dryscal_vert_adv_string = "";
29  pp.query("dycore_horiz_adv_type" , dycore_horiz_adv_string);
30  pp.query("dycore_vert_adv_type" , dycore_vert_adv_string);
31  pp.query("dryscal_horiz_adv_type" , dryscal_horiz_adv_string);
32  pp.query("dryscal_vert_adv_type" , dryscal_vert_adv_string);
33 
34  std::string moistscal_horiz_adv_string = ""; std::string moistscal_vert_adv_string = "";
35  pp.query("moistscal_horiz_adv_type", moistscal_horiz_adv_string);
36  pp.query("moistscal_vert_adv_type" , moistscal_vert_adv_string);
37 
39  amrex::Print() << "Using efficient advection scheme" << std::endl;
40  }
41 
42  if ( (dycore_horiz_adv_string == "Blended_3rd4th") ||
43  (dycore_horiz_adv_string == "Blended_5th6th") )
44  {
45  pp.query("dycore_horiz_upw_frac" , dycore_horiz_upw_frac);
46  AMREX_ASSERT_WITH_MESSAGE((dycore_horiz_upw_frac >= 0.) && (dycore_horiz_upw_frac <= 1.),
47  "The dycore horizontal upwinding fraction must be between 0 and 1");
48  }
49 
50  if ( (dycore_vert_adv_string == "Blended_3rd4th") ||
51  (dycore_vert_adv_string == "Blended_5th6th") )
52  {
53  pp.query("dycore_vert_upw_frac" , dycore_vert_upw_frac);
54  AMREX_ASSERT_WITH_MESSAGE((dycore_vert_upw_frac >= 0.) && (dycore_vert_upw_frac <= 1.),
55  "The dycore vertical upwinding fraction must be between 0 and 1");
56  }
57 
58  if ( (dryscal_horiz_adv_string == "Blended_3rd4th") ||
59  (dryscal_horiz_adv_string == "Blended_5th6th") )
60  {
61  pp.query("dryscal_horiz_upw_frac" , dryscal_horiz_upw_frac);
62  AMREX_ASSERT_WITH_MESSAGE((dryscal_horiz_upw_frac >= 0.) && (dryscal_horiz_upw_frac <= 1.),
63  "The dry scalar horizontal upwinding fraction must be between 0 and 1");
64  }
65 
66  if ( (dryscal_vert_adv_string == "Blended_3rd4th") ||
67  (dryscal_vert_adv_string == "Blended_5th6th") )
68  {
69  pp.query("dryscal_vert_upw_frac" , dryscal_vert_upw_frac);
70  AMREX_ASSERT_WITH_MESSAGE((dryscal_vert_upw_frac >= 0.) && (dryscal_vert_upw_frac <= 1.),
71  "The dry scalar vertical upwinding fraction must be between 0 and 1");
72  }
73 
74  if ( (moistscal_horiz_adv_string == "Blended_3rd4th") ||
75  (moistscal_horiz_adv_string == "Blended_5th6th") )
76  {
77  pp.query("moistscal_horiz_upw_frac" , moistscal_horiz_upw_frac);
78  AMREX_ASSERT_WITH_MESSAGE((moistscal_horiz_upw_frac >= 0.) && (moistscal_horiz_upw_frac <= 1.),
79  "The moist scalar horizontal upwinding fraction must be between 0 and 1");
80  }
81 
82  if ( (moistscal_vert_adv_string == "Blended_3rd4th") ||
83  (moistscal_vert_adv_string == "Blended_5th6th") )
84  {
85  pp.query("moistscal_vert_upw_frac" , moistscal_vert_upw_frac);
86  AMREX_ASSERT_WITH_MESSAGE((moistscal_vert_upw_frac >= 0.) && (moistscal_vert_upw_frac <= 1.),
87  "The moist scalar vertical upwinding fraction must be between 0 and 1");
88  }
89 
90  if ( (dycore_horiz_adv_string == "Centered_2nd") ||
91  (dycore_horiz_adv_string == "Upwind_3rd" ) ||
92  (dycore_horiz_adv_string == "Blended_3rd4th") ||
93  (dycore_horiz_adv_string == "Centered_4th") ||
94  (dycore_horiz_adv_string == "Upwind_5th" ) ||
95  (dycore_horiz_adv_string == "Blended_5th6th") ||
96  (dycore_horiz_adv_string == "Centered_6th") ||
97  (dycore_horiz_adv_string == "WENO3" ) ||
98  (dycore_horiz_adv_string == "WENOZ3" ) ||
99  (dycore_horiz_adv_string == "WENO5" ) ||
100  (dycore_horiz_adv_string == "WENOZ5" ) ||
101  (dycore_horiz_adv_string == "WENO7" ) ||
102  (dycore_horiz_adv_string == "WENOZ7" ))
103  {
105  }
106 
107  if ( (dycore_vert_adv_string == "Centered_2nd") ||
108  (dycore_vert_adv_string == "Upwind_3rd" ) ||
109  (dycore_vert_adv_string == "Blended_3rd4th") ||
110  (dycore_vert_adv_string == "Centered_4th") ||
111  (dycore_vert_adv_string == "Upwind_5th" ) ||
112  (dycore_vert_adv_string == "Blended_5th6th") ||
113  (dycore_vert_adv_string == "Centered_6th") ||
114  (dycore_vert_adv_string == "WENO3" ) ||
115  (dycore_vert_adv_string == "WENOZ3" ) ||
116  (dycore_vert_adv_string == "WENO5" ) ||
117  (dycore_vert_adv_string == "WENOZ5" ) ||
118  (dycore_vert_adv_string == "WENO7" ) ||
119  (dycore_vert_adv_string == "WENOZ7" ))
120  {
122  }
123 
124  if ( (dryscal_horiz_adv_string == "Centered_2nd") ||
125  (dryscal_horiz_adv_string == "Upwind_3rd" ) ||
126  (dryscal_horiz_adv_string == "Upwind_3rd_SL") ||
127  (dryscal_horiz_adv_string == "Blended_3rd4th") ||
128  (dryscal_horiz_adv_string == "Centered_4th") ||
129  (dryscal_horiz_adv_string == "Upwind_5th" ) ||
130  (dryscal_horiz_adv_string == "Blended_5th6th") ||
131  (dryscal_horiz_adv_string == "Centered_6th") ||
132  (dryscal_horiz_adv_string == "WENO3" ) ||
133  (dryscal_horiz_adv_string == "WENOZ3" ) ||
134  (dryscal_horiz_adv_string == "WENOMZQ3" ) ||
135  (dryscal_horiz_adv_string == "WENO5" ) ||
136  (dryscal_horiz_adv_string == "WENOZ5" ) ||
137  (dryscal_horiz_adv_string == "WENO7" ) ||
138  (dryscal_horiz_adv_string == "WENOZ7" ) )
139  {
141  }
142 
143  if ( (dryscal_vert_adv_string == "Centered_2nd") ||
144  (dryscal_vert_adv_string == "Upwind_3rd" ) ||
145  (dryscal_vert_adv_string == "Upwind_3rd_SL") ||
146  (dryscal_vert_adv_string == "Blended_3rd4th") ||
147  (dryscal_vert_adv_string == "Centered_4th") ||
148  (dryscal_vert_adv_string == "Upwind_5th" ) ||
149  (dryscal_vert_adv_string == "Blended_5th6th") ||
150  (dryscal_vert_adv_string == "Centered_6th") ||
151  (dryscal_vert_adv_string == "WENO3" ) ||
152  (dryscal_vert_adv_string == "WENOZ3" ) ||
153  (dryscal_vert_adv_string == "WENOMZQ3" ) ||
154  (dryscal_vert_adv_string == "WENO5" ) ||
155  (dryscal_vert_adv_string == "WENOZ5" ) ||
156  (dryscal_vert_adv_string == "WENO7" ) ||
157  (dryscal_vert_adv_string == "WENOZ7" ))
158  {
160  }
161 
162  if ( (moistscal_horiz_adv_string == "Centered_2nd") ||
163  (moistscal_horiz_adv_string == "Upwind_3rd" ) ||
164  (moistscal_horiz_adv_string == "Upwind_3rd_SL" ) ||
165  (moistscal_horiz_adv_string == "Blended_3rd4th") ||
166  (moistscal_horiz_adv_string == "Centered_4th") ||
167  (moistscal_horiz_adv_string == "Upwind_5th" ) ||
168  (moistscal_horiz_adv_string == "Blended_5th6th") ||
169  (moistscal_horiz_adv_string == "Centered_6th") ||
170  (moistscal_horiz_adv_string == "WENO3" ) ||
171  (moistscal_horiz_adv_string == "WENOZ3" ) ||
172  (moistscal_horiz_adv_string == "WENOMZQ3" ) ||
173  (moistscal_horiz_adv_string == "WENO5" ) ||
174  (moistscal_horiz_adv_string == "WENOZ5" ) ||
175  (moistscal_horiz_adv_string == "WENO7" ) ||
176  (moistscal_horiz_adv_string == "WENOZ7" ))
177  {
178  moistscal_horiz_adv_type = adv_type_convert_string_to_advtype(moistscal_horiz_adv_string);
179  }
180 
181  if ( (moistscal_vert_adv_string == "Centered_2nd") ||
182  (moistscal_vert_adv_string == "Upwind_3rd" ) ||
183  (moistscal_vert_adv_string == "Upwind_3rd_SL" ) ||
184  (moistscal_vert_adv_string == "Blended_3rd4th") ||
185  (moistscal_vert_adv_string == "Centered_4th") ||
186  (moistscal_vert_adv_string == "Upwind_5th" ) ||
187  (moistscal_vert_adv_string == "Blended_5th6th") ||
188  (moistscal_vert_adv_string == "Centered_6th") ||
189  (moistscal_vert_adv_string == "WENO3" ) ||
190  (moistscal_vert_adv_string == "WENOZ3" ) ||
191  (moistscal_vert_adv_string == "WENOMZQ3" ) ||
192  (moistscal_vert_adv_string == "WENO5" ) ||
193  (moistscal_vert_adv_string == "WENOZ5" ) ||
194  (moistscal_vert_adv_string == "WENO7" ) ||
195  (moistscal_vert_adv_string == "WENOZ7" ))
196  {
197  moistscal_vert_adv_type = adv_type_convert_string_to_advtype(moistscal_vert_adv_string);
198  }
199 
200  // We can can't use weno with Embedded Boundaries (for now)
201  std::string terrain_type;
202  pp.query("terrain_type", terrain_type);
203  validate_weno_momentum_compatibility(terrain_type == "EB");
204 
205  pp.queryarr("zero_xflux_faces", zero_xflux);
206  pp.queryarr("zero_yflux_faces", zero_yflux);
207  pp.queryarr("zero_zflux_faces", zero_zflux);
208  have_zero_flux_faces = ((zero_xflux.size() > 0) || (zero_yflux.size() > 0) || (zero_zflux.size() > 0));
209  }
amrex::Vector< amrex::IntVect > zero_yflux
Definition: ERF_AdvStruct.H:414
void validate_weno_momentum_compatibility(bool use_embedded_boundary)
Definition: ERF_AdvStruct.H:361
AdvType adv_type_convert_string_to_advtype(std::string adv_string)
Definition: ERF_AdvStruct.H:328
bool use_efficient_advection
Definition: ERF_AdvStruct.H:394
amrex::Vector< amrex::IntVect > zero_xflux
Definition: ERF_AdvStruct.H:413
amrex::Vector< amrex::IntVect > zero_zflux
Definition: ERF_AdvStruct.H:415
bool have_zero_flux_faces
Definition: ERF_AdvStruct.H:416

Referenced by SolverChoice::init_params().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ validate_weno_momentum_compatibility()

void AdvChoice::validate_weno_momentum_compatibility ( bool  use_embedded_boundary)
inline
362  {
363  // Check if any WENO momentum advection is being used
364  bool using_weno_momentum =
379 
380  // Check embedded boundary incompatibility
381  amrex::ignore_unused(use_embedded_boundary, using_weno_momentum);
382  AMREX_ASSERT_WITH_MESSAGE(!using_weno_momentum || !use_embedded_boundary,
383  "WENO momentum advection schemes are not yet implemented for embedded boundaries. "
384  "Please use traditional momentum advection schemes when using embedded boundaries:\n"
385  " - Centered_2nd\n"
386  " - Upwind_3rd\n"
387  " - Centered_4th\n"
388  " - Upwind_5th\n"
389  " - Centered_6th");
390  }

Referenced by init_params().

Here is the caller graph for this function:

Member Data Documentation

◆ dryscal_horiz_adv_type

AdvType AdvChoice::dryscal_horiz_adv_type = AdvType::Upwind_3rd

◆ dryscal_horiz_upw_frac

amrex::Real AdvChoice::dryscal_horiz_upw_frac = 1.0

Referenced by display(), and init_params().

◆ dryscal_vert_adv_type

AdvType AdvChoice::dryscal_vert_adv_type = AdvType::Upwind_3rd

◆ dryscal_vert_upw_frac

amrex::Real AdvChoice::dryscal_vert_upw_frac = 1.0

Referenced by display(), and init_params().

◆ dycore_horiz_adv_type

◆ dycore_horiz_upw_frac

amrex::Real AdvChoice::dycore_horiz_upw_frac = 1.0

◆ dycore_vert_adv_type

◆ dycore_vert_upw_frac

amrex::Real AdvChoice::dycore_vert_upw_frac = 1.0

◆ have_zero_flux_faces

bool AdvChoice::have_zero_flux_faces = false

Referenced by init_params().

◆ moistscal_horiz_adv_type

AdvType AdvChoice::moistscal_horiz_adv_type = AdvType::Weno_3

◆ moistscal_horiz_upw_frac

amrex::Real AdvChoice::moistscal_horiz_upw_frac = 1.0

Referenced by display(), and init_params().

◆ moistscal_vert_adv_type

AdvType AdvChoice::moistscal_vert_adv_type = AdvType::Weno_3

◆ moistscal_vert_upw_frac

amrex::Real AdvChoice::moistscal_vert_upw_frac = 1.0

Referenced by display(), and init_params().

◆ use_efficient_advection

bool AdvChoice::use_efficient_advection = false

Referenced by init_params().

◆ zero_xflux

amrex::Vector<amrex::IntVect> AdvChoice::zero_xflux

Referenced by init_params().

◆ zero_yflux

amrex::Vector<amrex::IntVect> AdvChoice::zero_yflux

Referenced by init_params().

◆ zero_zflux

amrex::Vector<amrex::IntVect> AdvChoice::zero_zflux

Referenced by init_params().


The documentation for this struct was generated from the following file: