7#ifndef TSUNAMI_LAB_PATCHES_WAVE_PROPAGATION
8#define TSUNAMI_LAB_PATCHES_WAVE_PROPAGATION
26 class WavePropagation;
36 static_assert(std::is_base_of<solvers::Solver, T>::value,
"T not derived from Solver");
Definition WavePropagation.h:31
T solver
Definition WavePropagation.h:32
virtual t_real const * getHeight()=0
virtual void setGhostReflection()=0
virtual void setGhostBoundary(BoundaryCondition i_left, BoundaryCondition i_right, BoundaryCondition i_bottom, BoundaryCondition i_top)=0
virtual void setGhostOutflow()=0
WavePropagation()
Definition WavePropagation.h:35
virtual void setMomentumY(t_idx i_ix, t_idx i_iy, t_real i_hv)=0
virtual void setMomentumX(t_idx i_ix, t_idx i_iy, t_real i_hu)=0
virtual ~WavePropagation()
Definition WavePropagation.h:44
virtual void setHeight(t_idx i_ix, t_idx i_iy, t_real i_h)=0
virtual void timeStep(t_real i_scaling)=0
virtual t_idx getStride()=0
virtual t_real const * getMomentumX()=0
virtual t_real const * getMomentumY()=0
virtual void setBathymetry(t_idx i_ix, t_idx i_iy, t_real i_b)=0
virtual t_real const * getBathymetry()=0
BoundaryCondition
Definition WavePropagation.h:19
@ OUTFLOW
zero-gradient: copy the inner cell into the ghost cell
Definition constants.h:12
float t_real
floating point type
Definition constants.h:17
std::size_t t_idx
integral type for cell-ids, pointer arithmetic, etc.
Definition constants.h:14