1 #ifndef ERF_SBM_ADVECTION_BOUNDARY_H_
2 #define ERF_SBM_ADVECTION_BOUNDARY_H_
4 #include <AMReX_REAL.H>
44 [[nodiscard]] constexpr
bool accepted () const noexcept
58 [[nodiscard]] constexpr AdvectionFacePolicy
63 return {Action::PeriodicSharedFace,
false,
false,
true};
67 return {Action::ZeroNormalFlux,
false,
false,
false};
73 return {Action::InteriorDonor,
true,
false,
74 input.high_order_stencil_available};
80 return {Action::RejectInwardOutflow,
false,
false,
false};
86 if (!input.explicit_spectral_state_present) {
87 return {Action::RejectMissingInflowState,
false,
false,
false};
89 if (!input.explicit_spectral_group_complete) {
90 return {Action::RejectIncompleteInflowState,
false,
false,
false};
92 return {Action::ExplicitSpectralInflow,
false,
true,
93 input.high_order_stencil_available};
amrex::Real Real
Definition: ERF_ShocInterface.H:19
AdvectionFaceAction
Definition: ERF_SBMAdvectionBoundary.H:17
@ RejectMissingInflowState
@ RejectIncompleteInflowState
constexpr AdvectionFacePolicy make_advection_face_policy(const AdvectionFacePolicyInput &input) noexcept
Definition: ERF_SBMAdvectionBoundary.H:59
AdvectionFaceKind
Definition: ERF_SBMAdvectionBoundary.H:9
Definition: ERF_SBMAdvectionBoundary.H:38
bool use_high_order_candidate
Definition: ERF_SBMAdvectionBoundary.H:42
bool use_explicit_spectral_state
Definition: ERF_SBMAdvectionBoundary.H:41
bool use_interior_donor
Definition: ERF_SBMAdvectionBoundary.H:40
AdvectionFaceAction action
Definition: ERF_SBMAdvectionBoundary.H:39
constexpr bool accepted() const noexcept
Definition: ERF_SBMAdvectionBoundary.H:44