Parse scalar wall boundary-condition inputs for one face.
200 pp.queryAdd(
"density", density);
201 const bool density_specified = (density >
amrex::Real(0.0));
202 if (!density_specified) { density =
amrex::Real(0.0); }
205 const bool density_gradient_specified =
pp.query(
"density_grad", density_grad);
213 const bool theta_gradient_specified =
pp.query(
"theta_grad", theta_grad);
216 if (wall_kind == SolidWallKind::NoSlip) {
pp.queryAdd(
"qv",
qv); }
217 const bool qv_specified = (wall_kind == SolidWallKind::NoSlip) &&
221 WallFaceParseResult result;
222 if (anelastic && (density_specified || density_gradient_specified)) {
224 face, density_specified, density_gradient_specified);
228 if (wall_kind == SolidWallKind::NoSlip && density_gradient_specified) {
233 if (wall_kind == SolidWallKind::Slip &&
235 density_gradient_specified)) {
241 theta_gradient_specified)) {
246 if (density_specified) {
247 result.scalars.density = {
248 WallScalarBCIntent::DirichletConserved, density};
251 theta_specified,
theta, density_specified, density);
252 if (theta_gradient_specified) {
256 if (wall_kind == SolidWallKind::Slip && density_gradient_specified) {
262 true,
qv, density_specified, density);
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ theta
Definition: ERF_Kessler.H:26
@ qv
Definition: ERF_Kessler.H:31
std::string wall_scalar_value_gradient_error(const std::string &face, const std::string &variable)
Definition: ERF_WallScalarBC.H:126
bool wall_scalar_value_gradient_conflict(bool value_specified, bool gradient_specified)
Definition: ERF_WallScalarBC.H:113
std::string anelastic_wall_density_error(const std::string &face, bool density_specified, bool density_gradient_specified)
Definition: ERF_WallScalarBC.H:141
ParsedWallScalarBC resolve_wall_scalar_value(bool value_specified, amrex::Real primitive_value, bool density_specified_on_same_face, amrex::Real density_value)
Definition: ERF_WallScalarBC.H:73
std::string no_slip_density_gradient_error(const std::string &face)
Definition: ERF_WallScalarBC.H:167
ParsedWallScalarBC resolve_wall_scalar_gradient(bool gradient_specified, amrex::Real gradient)
Definition: ERF_WallScalarBC.H:97