3 #ifndef DUNE_PDELAB_LOCALOPERATOR_INTERFACE_HH
4 #define DUNE_PDELAB_LOCALOPERATOR_INTERFACE_HH
120 template<
typename EG>
122 (
const EG& eg)
const
136 template<
typename IG>
138 (
const IG&
ig)
const
164 template<
typename LFSU,
typename LFSV,
typename LocalPattern>
166 (
const LFSU& lfsu,
const LFSV& lfsv,
167 LocalPattern& pattern)
const
184 template<
typename LFSU,
typename LFSV,
typename LocalPattern>
186 (
const LFSU& lfsu,
const LFSV& lfsv,
187 LocalPattern& pattern)
const
211 template<
typename LFSU,
typename LFSV,
typename LocalPattern>
213 (
const LFSU& lfsu_s,
const LFSV& lfsv_s,
214 const LFSU& lfsu_n,
const LFSV& lfsv_n,
215 LocalPattern& pattern_sn,
216 LocalPattern& pattern_ns)
const
235 template<
typename LFSU,
typename LFSV,
typename LocalPattern>
237 (
const LFSU& lfsu_s,
const LFSV& lfsv_s,
238 LocalPattern& pattern_ss)
const
271 template<
typename EG,
typename LFSU,
typename X,
typename LFSV,
275 const LFSU& lfsu,
const X& x,
const LFSV& lfsv,
301 template<
typename EG,
typename LFSU,
typename X,
typename LFSV,
305 const LFSU& lfsu,
const X& x,
const LFSV& lfsv,
340 template<
typename IG,
typename LFSU,
typename X,
typename LFSV,
344 const LFSU& lfsu_s,
const X& x_s,
const LFSV& lfsv_s,
345 const LFSU& lfsu_n,
const X& x_n,
const LFSV& lfsv_n,
346 R& r_s, R& r_n)
const
373 template<
typename IG,
typename LFSU,
typename X,
typename LFSV,
377 const LFSU& lfsu_s,
const X& x_s,
const LFSV& lfsv_s,
402 template<
typename EG,
typename LFSV,
typename R>
422 template<
typename EG,
typename LFSV,
typename R>
445 template<
typename IG,
typename LFSV,
typename R>
447 const LFSV& lfsv_s,
const LFSV& lfsv_n,
448 R& r_s, R& r_n)
const
467 template<
typename IG,
typename LFSV,
typename R>
513 template<
typename EG,
typename LFSU,
typename X,
typename LFSV,
517 const LFSU& lfsu,
const X& z,
const LFSV& lfsv,
553 template<
typename EG,
typename LFSU,
typename X,
typename LFSV,
557 const LFSU& lfsu,
const X& z,
const LFSV& lfsv,
606 template<
typename IG,
typename LFSU,
typename X,
typename LFSV,
610 const LFSU& lfsu_s,
const X& z_s,
const LFSV& lfsv_s,
611 const LFSU& lfsu_n,
const X& z_n,
const LFSV& lfsv_n,
612 Y& y_s, Y& y_n)
const
650 template<
typename IG,
typename LFSU,
typename X,
typename LFSV,
654 const LFSU& lfsu_s,
const X& z_s,
const LFSV& lfsv_s,
701 template<
typename EG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
705 const LFSU& lfsu,
const X& x,
const Z& z,
const LFSV& lfsv,
741 template<
typename EG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
745 const LFSU& lfsu,
const X& x,
const Z& z,
const LFSV& lfsv,
800 template<
typename IG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
804 const LFSU& lfsu_s,
const X& x_s,
const Z& z_s,
const LFSV& lfsv_s,
805 const LFSU& lfsu_n,
const X& x_n,
const Z& z_n,
const LFSV& lfsv_n,
806 Y& y_s, Y& y_n)
const
845 template<
typename IG,
typename LFSU,
typename X,
typename Z,
typename LFSV,
849 const LFSU& lfsu_s,
const X& x_s,
const Z& z_s,
const LFSV& lfsv_s,
878 template<
typename EG,
typename LFSU,
typename X,
typename LFSV,
882 const LFSU& lfsu,
const X& x,
const LFSV& lfsv,
902 template<
typename EG,
typename LFSU,
typename X,
typename LFSV,
906 const LFSU& lfsu,
const X& x,
const LFSV& lfsv,
943 template<
typename IG,
typename LFSU,
typename X,
typename LFSV,
947 const LFSU& lfsu_s,
const X& x_s,
const LFSV& lfsv_s,
948 const LFSU& lfsu_n,
const X& x_n,
const LFSV& lfsv_n,
973 template<
typename IG,
typename LFSU,
typename X,
typename LFSV,
977 const LFSU& lfsu_s,
const X& x_s,
const LFSV& lfsv_s,
const IG & ig
Definition: constraints.hh:149
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
A dense matrix for storing data associated with the degrees of freedom of a pair of LocalFunctionSpac...
Definition: localmatrix.hh:184
Default flags for all local operators.
Definition: flags.hh:19
Class to document the stationary local operator interface.
Definition: localoperator/interface.hh:87
void pattern_volume(const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const
get an element's contribution to the sparsity pattern
Definition: localoperator/interface.hh:166
static const bool doPatternVolume
Definition: localoperator/interface.hh:92
void alpha_volume_post_skeleton(const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, R &r) const
get an element's contribution to alpha after the intersections have been handled
Definition: localoperator/interface.hh:304
void lambda_boundary(const IG &ig, const LFSV &lfsv_s, R &r_s) const
get a boundary intersections's contribution to lambda
Definition: localoperator/interface.hh:468
bool skip_entity(const EG &eg) const
whether to assembly methods associated with a given entity
Definition: localoperator/interface.hh:122
void pattern_skeleton(const LFSU &lfsu_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const LFSV &lfsv_n, LocalPattern &pattern_sn, LocalPattern &pattern_ns) const
get an internal intersection's contribution to the sparsity pattern
Definition: localoperator/interface.hh:213
static const bool doAlphaVolumePostSkeleton
Definition: localoperator/interface.hh:97
void alpha_skeleton(const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &x_n, const LFSV &lfsv_n, R &r_s, R &r_n) const
get an internal intersections's contribution to alpha
Definition: localoperator/interface.hh:343
void jacobian_volume(const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, LocalMatrix &mat) const
get an element's jacobian
Definition: localoperator/interface.hh:881
void jacobian_apply_volume_post_skeleton(const EG &eg, const LFSU &lfsu, const X &z, const LFSV &lfsv, Y &y) const
Definition: localoperator/interface.hh:556
void jacobian_apply_boundary(const IG &ig, const LFSU &lfsu_s, const X &z_s, const LFSV &lfsv_s, Y &y_s) const
apply a boundary intersections's jacobian for a linear problem.
Definition: localoperator/interface.hh:653
void jacobian_apply_volume(const EG &eg, const LFSU &lfsu, const X &x, const Z &z, const LFSV &lfsv, Y &y) const
Applies an element's jacobian to a vector for a nonlinear problem.
Definition: localoperator/interface.hh:704
void jacobian_apply_skeleton(const IG &ig, const LFSU &lfsu_s, const X &z_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &z_n, const LFSV &lfsv_n, Y &y_s, Y &y_n) const
Definition: localoperator/interface.hh:609
static const bool doLambdaVolumePostSkeleton
Definition: localoperator/interface.hh:101
void pattern_volume_post_skeleton(const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const
get an element's contribution to the sparsity pattern after the intersections have been handled
Definition: localoperator/interface.hh:186
void alpha_volume(const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, R &r) const
get an element's contribution to alpha
Definition: localoperator/interface.hh:274
void jacobian_apply_boundary(const IG &ig, const LFSU &lfsu_s, const X &x_s, const Z &z_s, const LFSV &lfsv_s, Y &y_s) const
apply a boundary intersections's jacobian for a nonlinear problem.
Definition: localoperator/interface.hh:848
static const bool doPatternBoundary
Definition: localoperator/interface.hh:95
static const bool doAlphaBoundary
Definition: localoperator/interface.hh:99
void lambda_volume_post_skeleton(const EG &eg, const LFSV &lfsv, R &r) const
get an element's contribution to lambda after the intersections have been handled
Definition: localoperator/interface.hh:423
static const bool doPatternSkeleton
Definition: localoperator/interface.hh:94
void jacobian_apply_volume_post_skeleton(const EG &eg, const LFSU &lfsu, const X &x, const Z &z, const LFSV &lfsv, Y &y) const
Definition: localoperator/interface.hh:744
void jacobian_volume_post_skeleton(const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, LocalMatrix &mat) const
get an element's jacobian after the intersections have been handled
Definition: localoperator/interface.hh:905
bool skip_intersection(const IG &ig) const
whether to assembly methods associated with a given intersection
Definition: localoperator/interface.hh:138
static const bool doLambdaVolume
Definition: localoperator/interface.hh:100
static const bool doLambdaSkeleton
Definition: localoperator/interface.hh:102
static const bool doAlphaVolume
Definition: localoperator/interface.hh:96
void jacobian_apply_volume(const EG &eg, const LFSU &lfsu, const X &z, const LFSV &lfsv, Y &y) const
Applies an element's jacobian to a vector for a linear problem.
Definition: localoperator/interface.hh:516
void pattern_boundary(const LFSU &lfsu_s, const LFSV &lfsv_s, LocalPattern &pattern_ss) const
get a boundary intersection's contribution to the sparsity pattern
Definition: localoperator/interface.hh:237
static const bool doSkipEntity
Definition: localoperator/interface.hh:90
static const bool doAlphaSkeleton
Definition: localoperator/interface.hh:98
void jacobian_boundary(const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, LocalMatrix &mat_ss) const
get a boundary intersections's jacobian
Definition: localoperator/interface.hh:976
static const bool doPatternVolumePostSkeleton
Definition: localoperator/interface.hh:93
void lambda_skeleton(const IG &ig, const LFSV &lfsv_s, const LFSV &lfsv_n, R &r_s, R &r_n) const
get an internal intersections's contribution to lambda
Definition: localoperator/interface.hh:446
void jacobian_apply_skeleton(const IG &ig, const LFSU &lfsu_s, const X &x_s, const Z &z_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &x_n, const Z &z_n, const LFSV &lfsv_n, Y &y_s, Y &y_n) const
Definition: localoperator/interface.hh:803
void lambda_volume(const EG &eg, const LFSV &lfsv, R &r) const
get an element's contribution to lambda
Definition: localoperator/interface.hh:403
void jacobian_skeleton(const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &x_n, const LFSV &lfsv_n, LocalMatrix &mat_ss, LocalMatrix &mat_sn, LocalMatrix &mat_ns, LocalMatrix &mat_nn) const
apply an internal intersections's jacobians
Definition: localoperator/interface.hh:946
static const bool doSkipIntersection
Definition: localoperator/interface.hh:91
static const bool doLambdaBoundary
Definition: localoperator/interface.hh:103
void alpha_boundary(const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, R &r_s) const
get a boundary intersections's contribution to alpha
Definition: localoperator/interface.hh:376