22 template<
template<
typename,
typename, MemType>
class OPType,
25 template<
typename,
unsigned int,
typename, MemType, Centering>
class BCType =
NullBC,
30 typedef OPType<T, MAP, MEM>
OP;
31 typedef BCType<T,OP::numState(), MAP, MEM, PR_CELL>
BC;
37 static constexpr
unsigned int numState() {
return OP::numState(); }
38 static constexpr
unsigned int numAux() {
return OP::numAux(); }
41 static int order() {
return OP::order(); }
53 LevelStateData& a_output,
54 const LevelStateData& a_state,
57 LevelStateData& a_output,
58 const LevelStateData& a_state,
59 const LevelAuxData& a_aux,
73 inline void matchFlux(LevelStateData& a_rhs,
const LevelStateData& a_state);
86 #include "implem/Proto_MBLevelOpImplem.H" 88 #endif //end include guard T diagScale() const
Definition: Proto_MBLevelOp.H:67
MBLevelOp< OPType, MAP, T, BCType, MEM > & operator=(MBLevelOp< OPType, MAP, T, BCType, MEM > &&a_op)=default
OPType< T, MAP, MEM > OP
Definition: Proto_MBLevelOp.H:30
T time() const
Definition: Proto_MBLevelOp.H:69
OP & operator[](MBIndex a_index)
Definition: Proto_MBLevelOp.H:102
BCType< T, OP::numState(), MAP, MEM, PR_CELL > BC
Definition: Proto_MBLevelOp.H:31
BoxData< T, OP::numState(), MEM > StateData
Definition: Proto_MBLevelOp.H:32
unsigned int RKStage() const
Definition: Proto_MBLevelOp.H:70
void setDiagScale(T a_value)
Definition: Proto_MBLevelOp.H:122
Multidimensional Rectangular Array.
Definition: Proto_BoxData.H:314
const OP & operator[](const LevelIndex &a_index) const
Definition: Proto_MBLevelOp.H:72
T fluxScale() const
Definition: Proto_MBLevelOp.H:68
Single Level Mapped Multiblock Map.
Definition: Proto_MBLevelBoxData.H:19
MemType
Definition: Proto_MemType.H:7
No Boundary Condition.
Definition: Proto_MBLevelBCLib.H:15
static Point ghost()
Definition: Proto_MBLevelOp.H:40
Multiblock Level Box Data.
Definition: Proto_MBLevelBoxData.H:17
MBLevelBoxData< T, OP::numState(), MEM, PR_CELL > LevelStateData
Definition: Proto_MBLevelOp.H:34
const MBDisjointBoxLayout & layout() const
Definition: Proto_MBLevelOp.H:71
void setFluxScale(T a_value)
Definition: Proto_MBLevelOp.H:136
T m_time
Definition: Proto_MBLevelOp.H:78
void setRKStage(unsigned int a_stage)
Definition: Proto_MBLevelOp.H:164
unsigned int m_rkStage
Definition: Proto_MBLevelOp.H:79
MBLevelOp()
Definition: Proto_MBLevelOp.H:8
static constexpr unsigned int numState()
Definition: Proto_MBLevelOp.H:37
Definition: Proto_Array.H:17
static int order()
Definition: Proto_MBLevelOp.H:41
void operator()(LevelStateData &a_output, const LevelStateData &a_state, T a_scale=1.0)
Definition: Proto_MBLevelOp.H:47
void setTime(T a_time)
Definition: Proto_MBLevelOp.H:150
static constexpr unsigned int numAux()
Definition: Proto_MBLevelOp.H:38
Integer Valued Vector.
Definition: Proto_Point.H:24
Definition: Proto_MBDisjointBoxLayout.H:14
BoxData< T, OP::numAux(), MEM > AuxData
Definition: Proto_MBLevelOp.H:33
T m_diagScale
Definition: Proto_MBLevelOp.H:76
void define(const MBLevelMap< MAP, MEM > &a_map)
Definition: Proto_MBLevelOp.H:27
T m_fluxScale
Definition: Proto_MBLevelOp.H:77
std::vector< OP > m_ops
Definition: Proto_MBLevelOp.H:83
T spectralRadius() const
Spectral Radius.
Definition: Proto_MBLevelOp.H:43
void matchFlux(LevelStateData &a_rhs, const LevelStateData &a_state)
#define MEMTYPE_DEFAULT
Definition: Proto_MemType.H:24
Level-Scope Operator.
Definition: Proto_MBLevelOp.H:27
const MBLevelMap< MAP, MEM > * m_map
Definition: Proto_MBLevelOp.H:81
MBLevelBoxData< T, OP::numAux(), MEM, PR_CELL > LevelAuxData
Definition: Proto_MBLevelOp.H:35