4#ifndef DUNE_PDELAB_LOCALOPERATOR_JACOBIANAPPLYHELPER_HH
5#define DUNE_PDELAB_LOCALOPERATOR_JACOBIANAPPLYHELPER_HH
22 template <
typename LOP,
typename EG,
typename LFSU,
typename X,
typename LFSV,
typename Y>
23 std::enable_if_t<LOP::isLinear> jacobianApplyVolume(
26 const LFSU& lfsu,
const X& z,
const LFSV& lfsv,
29 lop.jacobian_apply_volume(eg, lfsu, z, lfsv, y);
31 template <
typename LOP,
typename EG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
typename Y>
32 std::enable_if_t<LOP::isLinear> jacobianApplyVolume(
35 const LFSU& lfsu,
const X& x,
const Z& z,
const LFSV& lfsv,
40 template <
typename LOP,
typename EG,
typename LFSU,
typename X,
typename LFSV,
typename Y>
41 std::enable_if_t<not LOP::isLinear> jacobianApplyVolume(
44 const LFSU& lfsu,
const X& z,
const LFSV& lfsv,
49 template <
typename LOP,
typename EG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
typename Y>
50 std::enable_if_t<not LOP::isLinear> jacobianApplyVolume(
53 const LFSU& lfsu,
const X& x,
const Z& z,
const LFSV& lfsv,
56 lop.jacobian_apply_volume(eg, lfsu, x, z, lfsv, y);
63 template <
typename LOP,
typename IG,
typename LFSU,
typename X,
typename LFSV,
typename Y>
64 std::enable_if_t<LOP::isLinear> jacobianApplySkeleton(
67 const LFSU& lfsu_s,
const X& z_s,
const LFSV& lfsv_s,
68 const LFSU& lfsu_n,
const X& z_n,
const LFSV& lfsv_n,
71 lop.jacobian_apply_skeleton(ig, lfsu_s, z_s, lfsv_s, lfsu_n, z_n, lfsv_n, y_s, y_n);
73 template <
typename LOP,
typename IG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
typename Y>
74 std::enable_if_t<LOP::isLinear> jacobianApplySkeleton(
77 const LFSU& lfsu_s,
const X& x_s,
const Z& z_s,
const LFSV& lfsv_s,
78 const LFSU& lfsu_n,
const X& x_n,
const Z& z_n,
const LFSV& lfsv_n,
83 template <
typename LOP,
typename IG,
typename LFSU,
typename X,
typename LFSV,
typename Y>
84 std::enable_if_t<not LOP::isLinear> jacobianApplySkeleton(
87 const LFSU& lfsu_s,
const X& z_s,
const LFSV& lfsv_s,
88 const LFSU& lfsu_n,
const X& z_n,
const LFSV& lfsv_n,
93 template <
typename LOP,
typename IG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
typename Y>
94 std::enable_if_t<not LOP::isLinear> jacobianApplySkeleton(
97 const LFSU& lfsu_s,
const X& x_s,
const Z& z_s,
const LFSV& lfsv_s,
98 const LFSU& lfsu_n,
const X& x_n,
const Z& z_n,
const LFSV& lfsv_n,
101 lop.jacobian_apply_skeleton(ig, lfsu_s, x_s, z_s, lfsv_s, lfsu_n, x_n, z_n, lfsv_n, y_s, y_n);
108 template<
typename LOP,
typename IG,
typename LFSU,
typename X,
typename LFSV,
typename Y>
109 std::enable_if_t<LOP::isLinear> jacobianApplyBoundary(
112 const LFSU& lfsu_s,
const X& z_s,
const LFSV& lfsv_s,
115 lop.jacobian_apply_boundary(ig, lfsu_s, z_s, lfsv_s, y_s);
117 template<
typename LOP,
typename IG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
typename Y>
118 std::enable_if_t<LOP::isLinear> jacobianApplyBoundary(
121 const LFSU& lfsu_s,
const X& x_s,
const Z& z_s,
const LFSV& lfsv_s,
126 template<
typename LOP,
typename IG,
typename LFSU,
typename X,
typename LFSV,
typename Y>
127 std::enable_if_t<not LOP::isLinear> jacobianApplyBoundary(
130 const LFSU& lfsu_s,
const X& z_s,
const LFSV& lfsv_s,
135 template<
typename LOP,
typename IG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
typename Y>
136 std::enable_if_t<not LOP::isLinear> jacobianApplyBoundary(
139 const LFSU& lfsu_s,
const X& x_s,
const Z& z_s,
const LFSV& lfsv_s,
142 lop.jacobian_apply_boundary(ig, lfsu_s, x_s, z_s, lfsv_s, y_s);
Base class for Dune-Exceptions.
Definition: exceptions.hh:96
#define DUNE_THROW(E, m)
Definition: exceptions.hh:218
Dune namespace.
Definition: alignedallocator.hh:13