dune-pdelab 2.7-git
|
deprecated specialization of More...
#include <dune/pdelab/localoperator/weightedsum.hh>
Public Member Functions | |
WeightedSumLocalOperator (const Weights &weights_=Weights(1)) | |
construct a WeightedSumLocalOperator More... | |
WeightedSumLocalOperator (const ArgRefs &lops_, const Weights &weights_=Weights(1)) | |
construct a WeightedSumLocalOperator from a tuple of local operators More... | |
Protected Types | |
using | ArgPtrs = typename Base::ArgPtrs |
Protected Member Functions | |
void | getWeights (FieldVector< K, sizeof...(FArgs)> &aweights, std::tuple< FArgs... > fargs) const |
void | setWeights (const FieldVector< K, sizeof...(FArgs)> &aweights, std::tuple< FArgs... > fargs) const |
void | applyLops (F &&f, FArgs &... fargs) const |
void | applyLops (FArgs &... args) const |
Protected Attributes | |
Weights | weights |
ArgPtrs | lops |
Construction and modification | |
void | setWeight (K w, std::size_t i) |
set the weight for the i'th component of the sum More... | |
K | getWeight (std::size_t i) |
get the weight for the i'th component of the sum More... | |
Construction and modification | |
void | setSummand (typename std::tuple_element_t< i, ArgRefs > summand) |
set the i'th component of the sum More... | |
std::tuple_element_t< i, ArgRefs > | getSummand () |
get the i'th component of the sum More... | |
Methods for selective assembly | |
bool | skip_entity (const EG &eg) const |
whether to assembly methods associated with a given entity More... | |
bool | skip_intersection (const IG &ig) const |
whether to assembly methods associated with a given intersection More... | |
Methods for the sparsity pattern | |
void | pattern_volume (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const |
get an element's contribution to the sparsity pattern More... | |
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 More... | |
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 More... | |
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 More... | |
Methods for the residual – non-constant parts | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
Methods for the residual – constant parts | |
void | lambda_volume (const EG &eg, const LFSV &lfsv, R &r) const |
get an element's contribution to lambda More... | |
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 More... | |
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 More... | |
void | lambda_boundary (const IG &ig, const LFSV &lfsv_s, R &r_s) const |
get a boundary intersections's contribution to lambda More... | |
Methods for the application of the jacobian | |
void | jacobian_apply_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, Y &y) const |
apply an element's jacobian More... | |
void | jacobian_apply_volume_post_skeleton (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, Y &y) const |
apply an element's jacobian after the intersections have been handled More... | |
void | jacobian_apply_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, Y &y_s, Y &y_n) const |
apply an internal intersections's jacobians More... | |
void | jacobian_apply_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, Y &y_s) const |
apply a boundary intersections's jacobian More... | |
Methods to extract the jacobian | |
void | jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, LocalMatrix &mat) const |
get an element's jacobian More... | |
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 More... | |
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 More... | |
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 More... | |
Methods for instationary problems | |
void | setTime (RealType t) |
set time for subsequent evaluation More... | |
RealType | getTime () const |
get current time More... | |
void | preStep (RealType time, RealType dt, int stages) |
to be called once before each time step More... | |
void | postStep () |
to be called once at the end of each time step More... | |
void | preStage (RealType time, int r) |
to be called once before each stage More... | |
int | getStage () const |
get current stage More... | |
void | postStage () |
to be called once at the end of each stage More... | |
RealType | suggestTimestep (RealType dt) const |
to be called after stage 1 More... | |
typedef std::tuple_element< 0, std::tuple< Args... > >::type::RealType | RealType |
Export type used for time values. More... | |
Control flags | |
enum | |
Whether to do selective cell assembly, i.e. whether or not skip_entity() should be called. More... | |
enum | |
Whether to do selective intersection assembly, i.e. whether or not skip_intersection() should be called. More... | |
enum | |
Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called. More... | |
enum | |
Whether to assemble the pattern on the elements after the skeleton has been handled, i.e. whether or not pattern_volume_post_skeleton() should be called. More... | |
enum | |
Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called. More... | |
enum | |
Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called. More... | |
enum | |
Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume(). More... | |
enum | |
Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton(). More... | |
enum | |
Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton(). More... | |
enum | |
Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary(). More... | |
enum | |
Whether to call the local operator's lambda_volume(). More... | |
enum | |
Whether to call the local operator's lambda_volume_post_skeleton(). More... | |
enum | |
Whether to call the local operator's lambda_skeleton(). More... | |
enum | |
Whether to call the local operator's lambda_boundary(). More... | |
enum | |
Whether to visit the skeleton methods from both sides. More... | |
enum | |
Whether this is a linear operator. More... | |
deprecated specialization of
If the weight for one summand is zero, calls to that local operators evaluation and pattern methods are eliminated at run-time.
K | Type of the weighting factors. |
Args | Tuple of local operators. Must fulfill tuple_size<Args>::value>=1 . |
|
protectedinherited |
|
inherited |
Export type used for time values.
|
inherited |
Whether to do selective cell assembly, i.e. whether or not skip_entity() should be called.
|
inherited |
Whether to do selective intersection assembly, i.e. whether or not skip_intersection() should be called.
|
inherited |
Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called.
|
inherited |
Whether to assemble the pattern on the elements after the skeleton has been handled, i.e. whether or not pattern_volume_post_skeleton() should be called.
|
inherited |
Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called.
|
inherited |
Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called.
|
inherited |
Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume().
|
inherited |
Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton().
|
inherited |
Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton().
|
inherited |
Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary().
|
inherited |
Whether to call the local operator's lambda_volume().
|
inherited |
Whether to call the local operator's lambda_volume_post_skeleton().
|
inherited |
Whether to call the local operator's lambda_skeleton().
|
inherited |
Whether to call the local operator's lambda_boundary().
|
inherited |
Whether to visit the skeleton methods from both sides.
|
inherited |
Whether this is a linear operator.
|
inlineinherited |
get a boundary intersections's contribution to alpha
|
inlineinherited |
get an internal intersections's contribution to alpha
|
inlineinherited |
get an element's contribution to alpha
|
inlineinherited |
get an element's contribution to alpha after the intersections have been handled
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
get current stage
|
inlineinherited |
get the i'th component of the sum
|
inlineinherited |
get current time
|
inlineinherited |
get the weight for the i'th component of the sum
|
inlineprotectedinherited |
|
inlineinherited |
apply a boundary intersections's jacobian
|
inlineinherited |
apply an internal intersections's jacobians
|
inlineinherited |
apply an element's jacobian
|
inlineinherited |
apply an element's jacobian after the intersections have been handled
|
inlineinherited |
get a boundary intersections's jacobian
|
inlineinherited |
apply an internal intersections's jacobians
|
inlineinherited |
get an element's jacobian
|
inlineinherited |
get an element's jacobian after the intersections have been handled
|
inlineinherited |
get a boundary intersections's contribution to lambda
|
inlineinherited |
get an internal intersections's contribution to lambda
|
inlineinherited |
get an element's contribution to lambda
|
inlineinherited |
get an element's contribution to lambda after the intersections have been handled
|
inlineinherited |
get a boundary intersection's contribution to the sparsity pattern
|
inlineinherited |
get an internal intersection's contribution to the sparsity pattern
|
inlineinherited |
get an element's contribution to the sparsity pattern
|
inlineinherited |
get an element's contribution to the sparsity pattern after the intersections have been handled
|
inlineinherited |
to be called once at the end of each stage
|
inlineinherited |
to be called once at the end of each time step
|
inlineinherited |
to be called once before each stage
|
inlineinherited |
to be called once before each time step
|
inlineinherited |
set the i'th component of the sum
|
inlineinherited |
set time for subsequent evaluation
|
inlineinherited |
set the weight for the i'th component of the sum
|
inlineprotectedinherited |
|
inlineinherited |
whether to assembly methods associated with a given entity
|
inlineinherited |
whether to assembly methods associated with a given intersection
|
inlineinherited |
to be called after stage 1
|
protectedinherited |
|
protectedinherited |