31template<
class Matrix,
class Container>
53 template<
class ...Params>
72 template<
class ContainerType0,
class ContainerType1>
73 void symv(
const ContainerType0& x, ContainerType1&
y)
107 template<
class ContainerType0>
125template<
class Geometry,
class Matrix,
class Container,
class ContainerTmp = Container>
130template<
class Geometry,
class Matrix,
class Container,
class ContainerTmp = Container>
135template<
class Geometry,
class Matrix,
class Container,
class ContainerTmp = Container>
140template<
class Geometry,
class Matrix,
class Container,
class ContainerTmp = Container>
157template<
class Geometry,
class Matrix,
class Container>
197 m_laplaceM.construct( g,
bcx,
bcy, dir, jfactor);
265template<
class M,
class V>
266struct TensorTraits< GeneralHelmholtz<M, V> >
271template<
class G,
class M,
class V>
272struct TensorTraits< Helmholtz2<G, M, V> >
A 2d negative elliptic differential operator .
Definition elliptic.h:263
General negative elliptic operators.
DG_DEVICE T one(T, Ts ...)
Definition functions.h:24
void copy(const ContainerTypeIn &source, ContainerTypeOut &target)
Definition blas1.h:243
void axpby(value_type alpha, const ContainerType1 &x, value_type1 beta, ContainerType &y)
Definition blas1.h:306
void pointwiseDot(value_type alpha, const ContainerType1 &x1, const ContainerType2 &x2, value_type1 beta, ContainerType &y)
Definition blas1.h:406
void assign(const from_ContainerType &from, ContainerType &to, Params &&... ps)
Generic way to assign the contents of a from_ContainerType object to a ContainerType object optionall...
Definition blas1.h:767
void pointwiseDivide(value_type alpha, const ContainerType1 &x1, const ContainerType2 &x2, value_type1 beta, ContainerType &y)
Definition blas1.h:495
void symv(MatrixType &&M, const ContainerType1 &x, ContainerType2 &y)
Definition blas2.h:331
bc
Switch between boundary conditions.
Definition enums.h:15
direction
Direction of a discrete derivative.
Definition enums.h:97
@ forward
forward derivative (cell to the right and current cell)
Definition enums.h:98
typename TensorTraits< std::decay_t< Vector > >::value_type get_value_type
Definition tensor_traits.h:45
auto evaluate(Functor &&f, const Topology &g)
Evaluate a function on grid coordinates
Definition evaluation.h:74
This is the namespace for all functions and classes defined and used by the discontinuous Galerkin li...
Ell Sparse Block Matrix format.
Definition sparseblockmat.h:46
A general Helmholtz-type operator .
Definition helmholtz.h:33
value_type & alpha()
Change alpha.
Definition helmholtz.h:94
GeneralHelmholtz()=default
empty object ( no memory allocation)
const Container & chi() const
Access chi.
Definition helmholtz.h:115
void symv(const ContainerType0 &x, ContainerType1 &y)
Compute.
Definition helmholtz.h:73
get_value_type< Container > value_type
Definition helmholtz.h:36
void set_chi(const ContainerType0 &chi)
Set Chi in the above formula.
Definition helmholtz.h:108
const Matrix & matrix() const
Read access to Matrix object.
Definition helmholtz.h:86
value_type alpha() const
Access alpha.
Definition helmholtz.h:100
Matrix & matrix()
Write access to Matrix object.
Definition helmholtz.h:82
const Container & weights() const
Call weights() of Matrix class.
Definition helmholtz.h:61
Container container_type
Definition helmholtz.h:35
void construct(Params &&...ps)
Perfect forward parameters to one of the constructors.
Definition helmholtz.h:54
const Container & precond() const
Call precond() of Matrix class.
Definition helmholtz.h:63
GeneralHelmholtz(value_type alpha, Matrix matrix)
Construct from given Matrix object.
Definition helmholtz.h:46
DEPRECATED, Matrix class that represents a more general Helmholtz-type operator.
Definition helmholtz.h:159
get_value_type< Container > value_type
Definition helmholtz.h:163
Helmholtz2(const Geometry &g, bc bcx, bc bcy, value_type alpha=1., direction dir=dg::forward, value_type jfactor=1.)
Construct Helmholtz2 operator.
Definition helmholtz.h:190
void construct(const Geometry &g, bc bcx, bc bcy, value_type alpha=1, direction dir=dg::forward, value_type jfactor=1.)
Construct Helmholtz2 operator.
Definition helmholtz.h:195
void set_chi(const Container &chi)
Set Chi in the above formula.
Definition helmholtz.h:251
Geometry geometry_type
Definition helmholtz.h:161
void construct(const Geometry &g, value_type alpha=1, direction dir=dg::forward, value_type jfactor=1.)
Construct Helmholtz2 operator.
Definition helmholtz.h:203
const Container & precond() const
Preconditioner to use in conjugate gradient solvers.
Definition helmholtz.h:235
Container container_type
Definition helmholtz.h:160
const Container & weights() const
Return the weights making the operator self-adjoint.
Definition helmholtz.h:229
void symv(const Container &x, Container &y)
apply operator
Definition helmholtz.h:216
const Container & chi() const
Access chi.
Definition helmholtz.h:257
Helmholtz2(const Geometry &g, value_type alpha=1., direction dir=dg::forward, value_type jfactor=1.)
Construct Helmholtz2 operator.
Definition helmholtz.h:175
value_type alpha() const
Access alpha.
Definition helmholtz.h:245
value_type & alpha()
Change alpha.
Definition helmholtz.h:240
Helmholtz2()
empty object ( no memory allocation)
Definition helmholtz.h:165
NotATensorTag tensor_category
Definition tensor_traits.h:40