|
enum | { doPatternVolume
} |
| Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called. More...
|
|
enum | { doPatternVolumePostSkeleton
} |
| 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 | { doPatternSkeleton
} |
| Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called. More...
|
|
enum | { doPatternBoundary
} |
| Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called. More...
|
|
enum | { doAlphaVolume
} |
| Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume(). More...
|
|
enum | { doAlphaVolumePostSkeleton
} |
| Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton(). More...
|
|
enum | { doAlphaSkeleton
} |
| Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton(). More...
|
|
enum | { doAlphaBoundary
} |
| Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary(). More...
|
|
enum | { doLambdaVolume
} |
| Whether to call the local operator's lambda_volume(). More...
|
|
enum | { doLambdaVolumePostSkeleton
} |
| Whether to call the local operator's lambda_volume_post_skeleton(). More...
|
|
enum | { doLambdaSkeleton
} |
| Whether to call the local operator's lambda_skeleton(). More...
|
|
enum | { doLambdaBoundary
} |
| Whether to call the local operator's lambda_boundary(). More...
|
|
enum | { doSkeletonTwoSided
} |
| Whether to visit the skeleton methods from both sides. More...
|
|
| dune_static_assert (!(AccFlag< OneSidedSkeletonRequiredValue >::value &&AccFlag< TwoSidedSkeletonRequiredValue >::value),"Some summands require a one-sided skelton, others a ""two-sided skeleton. This is not supported.") |
|
|
template<typename LFSU , typename LFSV , typename LocalPattern > |
void | pattern_volume (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const |
| get an element's contribution to the sparsity pattern More...
|
|
template<typename LFSU , typename LFSV , typename LocalPattern > |
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...
|
|
template<typename LFSU , typename LFSV , typename LocalPattern > |
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...
|
|
template<typename LFSU , typename LFSV , typename LocalPattern > |
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...
|
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename C > |
void | alpha_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, C &r) const |
| get an element's contribution to alpha More...
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename C > |
void | alpha_volume_post_skeleton (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, C &r) const |
| get an element's contribution to alpha after the intersections have been handled More...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename C > |
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, C &r_s, C &r_n) const |
| get an internal intersections's contribution to alpha More...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename C > |
void | alpha_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, C &r_s) const |
| get a boundary intersections's contribution to alpha More...
|
|
|
template<typename EG , typename LFSV , typename C > |
void | lambda_volume (const EG &eg, const LFSV &lfsv, C &r) const |
| get an element's contribution to lambda More...
|
|
template<typename EG , typename LFSV , typename C > |
void | lambda_volume_post_skeleton (const EG &eg, const LFSV &lfsv, C &r) const |
| get an element's contribution to lambda after the intersections have been handled More...
|
|
template<typename IG , typename LFSV , typename C > |
void | lambda_skeleton (const IG &ig, const LFSV &lfsv_s, const LFSV &lfsv_n, C &r_s, C &r_n) const |
| get an internal intersections's contribution to lambda More...
|
|
template<typename IG , typename LFSV , typename C > |
void | lambda_boundary (const IG &ig, const LFSV &lfsv_s, C &r_s) const |
| get a boundary intersections's contribution to lambda More...
|
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename C > |
void | jacobian_apply_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, C &r) const |
| apply an element's jacobian More...
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename C > |
void | jacobian_apply_volume_post_skeleton (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, C &r) const |
| apply an element's jacobian after the intersections have been handled More...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename C > |
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, C &r_s, C &r_n) const |
| apply an internal intersections's jacobians More...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename C > |
void | jacobian_apply_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, C &r_s) const |
| apply a boundary intersections's jacobian More...
|
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename C > |
void | jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, C &m) const |
| get an element's jacobian More...
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename C > |
void | jacobian_volume_post_skeleton (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, C &m) const |
| get an element's jacobian after the intersections have been handled More...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename C > |
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, C &m_ss, C &m_sn, C &m_ns, C &m_nn) const |
| apply an internal intersections's jacobians More...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename C > |
void | jacobian_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, C &m_ss) const |
| get a boundary intersections's jacobian More...
|
|
template<typename K, typename Args>
class Dune::PDELab::WeightedSumLocalOperator< K, Args >
A local operator to take the weighted sum of other local operators.
If the weight for one summand is zero, calls to that local operators evaluation and pattern methods are eliminated at run-time.
- Template Parameters
-
K | Type of the scaling factors. |
Args | Tuple of local operators. Must fulfill tuple_size<Args>::value>=1 . |
template<typename K , typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename C >
get a boundary intersections's contribution to alpha
- Note
- Summands with zero weight don't contribute to the residual, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename C >
void Dune::PDELab::WeightedSumLocalOperator< K, Args >::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, |
|
|
C & |
r_s, |
|
|
C & |
r_n |
|
) |
| const |
|
inline |
get an internal intersections's contribution to alpha
- Note
- Summands with zero weight don't contribute to the residual, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename C >
get an element's contribution to alpha
- Note
- Summands with zero weight don't contribute to the residual, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename C >
get an element's contribution to alpha after the intersections have been handled
- Note
- Summands with zero weight don't contribute to the residual, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename C >
apply a boundary intersections's jacobian
- Note
- Summands with zero weight don't contribute to the jacobian, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename C >
void Dune::PDELab::WeightedSumLocalOperator< K, Args >::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, |
|
|
C & |
r_s, |
|
|
C & |
r_n |
|
) |
| const |
|
inline |
apply an internal intersections's jacobians
- Note
- Summands with zero weight don't contribute to the jacobian, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename C >
apply an element's jacobian
- Note
- Summands with zero weight don't contribute to the jacobian, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename C >
apply an element's jacobian after the intersections have been handled
- Note
- Summands with zero weight don't contribute to the jacobian, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename C >
get a boundary intersections's jacobian
- Note
- Summands with zero weight don't contribute to the jacobian, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename C >
void Dune::PDELab::WeightedSumLocalOperator< K, Args >::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, |
|
|
C & |
m_ss, |
|
|
C & |
m_sn, |
|
|
C & |
m_ns, |
|
|
C & |
m_nn |
|
) |
| const |
|
inline |
apply an internal intersections's jacobians
- Note
- Summands with zero weight don't contribute to the jacobian, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename C >
get an element's jacobian
- Note
- Summands with zero weight don't contribute to the jacobian, and the calls to the evaluation methods are eliminated at run-time.
template<typename K , typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename C >
get an element's jacobian after the intersections have been handled
- Note
- Summands with zero weight don't contribute to the jacobian, and the calls to the evaluation methods are eliminated at run-time.