42template<
class Geometry,
class Matrix,
class Container >
69 template<
class ...Params>
73 *
this =
Advection( std::forward<Params>( ps)...);
88 template<
class ContainerType0,
class ContainerType1,
class ContainerType2,
class ContainerType3>
89 void upwind(
value_type alpha,
const ContainerType0& vx,
const ContainerType1& vy,
const ContainerType2& f,
value_type beta, ContainerType3& result);
92 Container m_temp0, m_temp1;
93 Matrix m_dxf, m_dyf, m_dxb, m_dyb;
97template<
class Geometry,
class Matrix,
class Container>
101template<
class Geometry,
class Matrix,
class Container>
111template<
class Geometry,
class Matrix,
class Container>
112template<
class ContainerType0,
class ContainerType1,
class ContainerType2,
class ContainerType3>
Convenience functions to create 2D derivatives.
Function discretization routines.
ContainerType construct(const from_ContainerType &from, Params &&... ps)
Generic way to construct an object of ContainerType given a from_ContainerType object and optional ad...
Definition: blas1.h:696
static DG_DEVICE double one(double x)
Definition: functions.h:20
void evaluate(ContainerType &y, BinarySubroutine f, Functor g, const ContainerType0 &x0, const ContainerTypes &...xs)
Definition: blas1.h:556
void symv(MatrixType &&M, const ContainerType1 &x, ContainerType2 &y)
Definition: blas2.h:287
EllSparseBlockMat< real_type > dx(const aRealTopology2d< real_type > &g, bc bcx, direction dir=centered)
Create 2d derivative in x-direction.
Definition: derivatives.h:33
bc
Switch between boundary conditions.
Definition: enums.h:15
EllSparseBlockMat< real_type > dy(const aRealTopology2d< real_type > &g, bc bcy, direction dir=centered)
Create 2d derivative in y-direction.
Definition: derivatives.h:65
@ backward
backward derivative (cell to the left and current cell)
Definition: enums.h:99
@ forward
forward derivative (cell to the right and current cell)
Definition: enums.h:98
thrust::host_vector< real_type > evaluate(UnaryOp f, const RealGrid1d< real_type > &g)
Evaluate a 1d function on grid coordinates.
Definition: evaluation.h:67
typename TensorTraits< std::decay_t< Vector > >::value_type get_value_type
Definition: tensor_traits.h:38
Function discretization routines for mpi vectors.
This is the namespace for all functions and classes defined and used by the discontinuous Galerkin li...
Upwind discretization of advection operator
Definition: advection.h:44
void upwind(value_type alpha, const ContainerType0 &vx, const ContainerType1 &vy, const ContainerType2 &f, value_type beta, ContainerType3 &result)
Compute Advection term .
Container container_type
Definition: advection.h:47
void construct(Params &&...ps)
Perfect forward parameters to one of the constructors.
Definition: advection.h:70
Advection(const Geometry &g, bc bcx, bc bcy)
Create Advection on a grid using different boundary conditions.
get_value_type< Container > value_type
Definition: advection.h:48
Advection(const Geometry &g)
Create Arakawa on a grid.
Matrix matrix_type
Definition: advection.h:46
Geometry geometry_type
Definition: advection.h:45
Definition: subroutines.h:245
Definition: functors.h:371