#include <AMReX_ParmParse.H>
#include <algorithm>
#include <cctype>
#include <string>
Go to the source code of this file.
◆ ShocMomentumTransport
| Enumerator |
|---|
| None | |
| StateUpdate | |
| HostDiffusion | |
◆ ShocTransportMode
| Enumerator |
|---|
| StateUpdate | |
| HostDiffusion | |
◆ parse_shoc_momentum_transport_string()
| bool parse_shoc_momentum_transport_string |
( |
std::string |
value, |
|
|
ShocMomentumTransport & |
mode, |
|
|
std::string & |
error_message |
|
) |
| |
|
inline |
112 if (value ==
"none") {
116 if (value ==
"state_update") {
120 if (value ==
"host_diffusion") {
125 error_message =
"erf.shoc.momentum_transport must be 'none', 'state_update', or 'host_diffusion'";
std::string shoc_to_lower(std::string value)
Definition: ERF_ShocTransportStruct.H:75
Referenced by read_shoc_transport_modes().
◆ parse_shoc_transport_mode_string()
| bool parse_shoc_transport_mode_string |
( |
std::string |
value, |
|
|
ShocTransportMode & |
mode, |
|
|
std::string & |
error_message |
|
) |
| |
|
inline |
88 if (value ==
"state_update") {
92 if (value ==
"host_diffusion") {
96 if (value ==
"tendencies") {
98 "erf.shoc.transport_mode = tendencies has been removed for native SHOC. Use erf.shoc.transport_mode = state_update. Native SHOC now applies its coupled column increment before the dycore to avoid splitting theta and momentum from moisture.";
102 error_message =
"erf.shoc.transport_mode must be 'state_update' or 'host_diffusion'";
Referenced by read_shoc_transport_modes().
◆ read_shoc_transport_modes()
Read the native SHOC transport modes from the erf.shoc input namespace.
This is the single parse point shared by SolverChoice and the SHOC runtime options, so the dycore and the SHOC driver can never disagree about which component owns transport. Values that are absent from the inputs leave the incoming modes untouched.
141 amrex::ParmParse
pp(
"erf.shoc");
143 std::string transport_mode_string;
144 if (
pp.query(
"transport_mode", transport_mode_string)) {
145 std::string error_message;
149 amrex::Abort(error_message.c_str());
153 std::string momentum_transport_string;
154 if (
pp.query(
"momentum_transport", momentum_transport_string)) {
155 std::string error_message;
159 amrex::Abort(error_message.c_str());
bool parse_shoc_momentum_transport_string(std::string value, ShocMomentumTransport &mode, std::string &error_message)
Definition: ERF_ShocTransportStruct.H:107
bool parse_shoc_transport_mode_string(std::string value, ShocTransportMode &mode, std::string &error_message)
Definition: ERF_ShocTransportStruct.H:83
Referenced by SolverChoice::init_params(), and read_shoc_runtime_options().
◆ shoc_disables_momentum_transport()
◆ shoc_momentum_transport_name()
◆ shoc_to_lower()
| std::string shoc_to_lower |
( |
std::string |
value | ) |
|
|
inline |
◆ shoc_transport_mode_name()
◆ shoc_uses_host_diffusion()
◆ shoc_uses_momentum_host_diffusion()
◆ shoc_uses_momentum_state_update()
◆ shoc_uses_state_update()