Tsunami Project Lab
Loading...
Searching...
No Matches
tsunami_lab::patches::WavePropagation< T > Class Template Referenceabstract

#include <WavePropagation.h>

Inheritance diagram for tsunami_lab::patches::WavePropagation< T >:

Public Member Functions

 WavePropagation ()
 
virtual ~WavePropagation ()
 
virtual void timeStep (t_real i_scaling)=0
 
virtual void setGhostBoundary (BoundaryCondition i_left, BoundaryCondition i_right, BoundaryCondition i_bottom, BoundaryCondition i_top)=0
 
virtual void setGhostOutflow ()=0
 
virtual void setGhostReflection ()=0
 
virtual t_idx getStride ()=0
 
virtual t_real const * getHeight ()=0
 
virtual t_real const * getMomentumX ()=0
 
virtual t_real const * getMomentumY ()=0
 
virtual t_real const * getBathymetry ()=0
 
virtual void setHeight (t_idx i_ix, t_idx i_iy, t_real i_h)=0
 
virtual void setMomentumX (t_idx i_ix, t_idx i_iy, t_real i_hu)=0
 
virtual void setMomentumY (t_idx i_ix, t_idx i_iy, t_real i_hv)=0
 
virtual void setBathymetry (t_idx i_ix, t_idx i_iy, t_real i_b)=0
 

Protected Attributes

solver
 

Constructor & Destructor Documentation

◆ WavePropagation()

template<class T >
tsunami_lab::patches::WavePropagation< T >::WavePropagation ( )
inline

◆ ~WavePropagation()

template<class T >
virtual tsunami_lab::patches::WavePropagation< T >::~WavePropagation ( )
inlinevirtual

Virtual destructor for base class.

Member Function Documentation

◆ getBathymetry()

template<class T >
virtual t_real const * tsunami_lab::patches::WavePropagation< T >::getBathymetry ( )
pure virtual

Gets the cells' bathymetry.

Returns
bathymetry.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ getHeight()

template<class T >
virtual t_real const * tsunami_lab::patches::WavePropagation< T >::getHeight ( )
pure virtual

Gets cells' water heights.

Returns
water heights.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ getMomentumX()

template<class T >
virtual t_real const * tsunami_lab::patches::WavePropagation< T >::getMomentumX ( )
pure virtual

Gets the cells' momenta in x-direction.

Returns
momenta in x-direction.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ getMomentumY()

template<class T >
virtual t_real const * tsunami_lab::patches::WavePropagation< T >::getMomentumY ( )
pure virtual

Gets the cells' momenta in y-direction.

Returns
momenta in y-direction.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ getStride()

template<class T >
virtual t_idx tsunami_lab::patches::WavePropagation< T >::getStride ( )
pure virtual

Gets the stride in y-direction. x-direction is stride-1.

Returns
stride in y-direction.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ setBathymetry()

template<class T >
virtual void tsunami_lab::patches::WavePropagation< T >::setBathymetry ( t_idx i_ix,
t_idx i_iy,
t_real i_b )
pure virtual

Sets the bathymetry at a givern point.

Parameters
i_ixid of the cell in x-direction.
i_iyid of the cell in y-direction.
i_bbathymetry for given cell.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ setGhostBoundary()

template<class T >
virtual void tsunami_lab::patches::WavePropagation< T >::setGhostBoundary ( BoundaryCondition i_left,
BoundaryCondition i_right,
BoundaryCondition i_bottom,
BoundaryCondition i_top )
pure virtual

Sets the ghost cells per side.

Parameters
i_leftboundary condition for the left ghost column.
i_rightboundary condition for the right ghost column.
i_bottomboundary condition for the bottom ghost row (ignored in 1d).
i_topboundary condition for the top ghost row (ignored in 1d).

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ setGhostOutflow()

template<class T >
virtual void tsunami_lab::patches::WavePropagation< T >::setGhostOutflow ( )
pure virtual

Convenience: outflow on both sides.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ setGhostReflection()

template<class T >
virtual void tsunami_lab::patches::WavePropagation< T >::setGhostReflection ( )
pure virtual

Convenience: reflecting on both sides (3.2.1).

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ setHeight()

template<class T >
virtual void tsunami_lab::patches::WavePropagation< T >::setHeight ( t_idx i_ix,
t_idx i_iy,
t_real i_h )
pure virtual

Sets the height of the cell to the given value.

Parameters
i_ixid of the cell in x-direction.
i_iyid of the cell in y-direction.
i_hwater height.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ setMomentumX()

template<class T >
virtual void tsunami_lab::patches::WavePropagation< T >::setMomentumX ( t_idx i_ix,
t_idx i_iy,
t_real i_hu )
pure virtual

Sets the momentum in x-direction to the given value.

Parameters
i_ixid of the cell in x-direction.
i_iyid of the cell in y-direction.
i_humomentum in x-direction.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ setMomentumY()

template<class T >
virtual void tsunami_lab::patches::WavePropagation< T >::setMomentumY ( t_idx i_ix,
t_idx i_iy,
t_real i_hv )
pure virtual

Sets the momentum in y-direction to the given value.

Parameters
i_ixid of the cell in x-direction.
i_iyid of the cell in y-direction.
i_hvmomentum in y-direction.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

◆ timeStep()

template<class T >
virtual void tsunami_lab::patches::WavePropagation< T >::timeStep ( t_real i_scaling)
pure virtual

Performs a time step.

Parameters
i_scalingscaling of the time step.

Implemented in tsunami_lab::patches::WavePropagation1d< T >, and tsunami_lab::patches::WavePropagation2d< T >.

Member Data Documentation

◆ solver

template<class T >
T tsunami_lab::patches::WavePropagation< T >::solver
protected

The documentation for this class was generated from the following file: