A local operator to take the sum of other local operators.
More...
#include <dune/pdelab/localoperator/sum.hh>
|
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 R > |
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...
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename R > |
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...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename R > |
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...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename R > |
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...
|
|
|
template<typename EG , typename LFSV , typename R > |
void | lambda_volume (const EG &eg, const LFSV &lfsv, R &r) const |
| get an element's contribution to lambda More...
|
|
template<typename EG , typename LFSV , typename R > |
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...
|
|
template<typename IG , typename LFSV , typename R > |
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...
|
|
template<typename IG , typename LFSV , typename R > |
void | lambda_boundary (const IG &ig, const LFSV &lfsv_s, R &r_s) const |
| get a boundary intersections's contribution to lambda More...
|
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y > |
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...
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y > |
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...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y > |
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...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y > |
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...
|
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename LocalMatrix > |
void | jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, LocalMatrix &mat) const |
| get an element's jacobian More...
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename LocalMatrix > |
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...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename LocalMatrix > |
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...
|
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename LocalMatrix > |
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...
|
|
template<typename Args>
class Dune::PDELab::InstationarySumLocalOperator< Args >
A local operator to take the sum of other local operators.
- Template Parameters
-
Args | Tuple of local operators. Must fulfill tuple_size<Args>::value>=1 . |
§ RealType
Export type used for time values.
§ anonymous enum
Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called.
Enumerator |
---|
doPatternVolume | |
§ anonymous 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.
Enumerator |
---|
doPatternVolumePostSkeleton | |
§ anonymous enum
Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called.
Enumerator |
---|
doPatternSkeleton | |
§ anonymous enum
Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called.
Enumerator |
---|
doPatternBoundary | |
§ anonymous enum
§ anonymous enum
§ anonymous enum
§ anonymous enum
§ anonymous enum
§ anonymous enum
§ anonymous enum
§ anonymous enum
§ anonymous enum
Whether to visit the skeleton methods from both sides.
Enumerator |
---|
doSkeletonTwoSided | |
§ InstationarySumLocalOperator()
§ alpha_boundary()
template<typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
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.
§ alpha_skeleton()
template<typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::InstationarySumLocalOperator< 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, |
|
|
R & |
r_s, |
|
|
R & |
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.
§ alpha_volume()
template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename R >
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.
§ alpha_volume_post_skeleton()
template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename R >
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.
§ getStage()
§ getSummand()
template<typename Args >
template<std::size_t i>
get the i'th component of the sum
§ getTime()
§ jacobian_apply_boundary()
template<typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y >
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.
§ jacobian_apply_skeleton()
template<typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y >
void Dune::PDELab::InstationarySumLocalOperator< 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, |
|
|
Y & |
y_s, |
|
|
Y & |
y_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.
§ jacobian_apply_volume()
template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y >
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.
§ jacobian_apply_volume_post_skeleton()
template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y >
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.
§ jacobian_boundary()
template<typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
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.
§ jacobian_skeleton()
template<typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
void Dune::PDELab::InstationarySumLocalOperator< 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, |
|
|
LocalMatrix & |
mat_ss, |
|
|
LocalMatrix & |
mat_sn, |
|
|
LocalMatrix & |
mat_ns, |
|
|
LocalMatrix & |
mat_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.
§ jacobian_volume()
template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
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.
§ jacobian_volume_post_skeleton()
template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
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.
§ lambda_boundary()
template<typename Args >
template<typename IG , typename LFSV , typename R >
get a boundary intersections's contribution to lambda
- Note
- Summands with zero weight don't contribute to the residual, and the calls to the evaluation methods are eliminated at run-time.
§ lambda_skeleton()
template<typename Args >
template<typename IG , typename LFSV , typename R >
get an internal intersections's contribution to lambda
- Note
- Summands with zero weight don't contribute to the residual, and the calls to the evaluation methods are eliminated at run-time.
§ lambda_volume()
template<typename Args >
template<typename EG , typename LFSV , typename R >
get an element's contribution to lambda
- Note
- Summands with zero weight don't contribute to the residual, and the calls to the evaluation methods are eliminated at run-time.
§ lambda_volume_post_skeleton()
template<typename Args >
template<typename EG , typename LFSV , typename R >
get an element's contribution to lambda 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.
§ pattern_boundary()
template<typename Args >
template<typename LFSU , typename LFSV , typename LocalPattern >
get a boundary intersection's contribution to the sparsity pattern
- Note
- Summands with zero weight don't contribute to the sparsity pattern, and the calls to the pattern methods are eliminated at run-time.
§ pattern_skeleton()
template<typename Args >
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::InstationarySumLocalOperator< Args >::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 |
|
inline |
get an internal intersection's contribution to the sparsity pattern
- Note
- Summands with zero weight don't contribute to the sparsity pattern, and the calls to the pattern methods are eliminated at run-time.
§ pattern_volume()
template<typename Args >
template<typename LFSU , typename LFSV , typename LocalPattern >
get an element's contribution to the sparsity pattern
- Note
- Summands with zero weight don't contribute to the sparsity pattern, and the calls to the pattern methods are eliminated at run-time.
§ pattern_volume_post_skeleton()
template<typename Args >
template<typename LFSU , typename LFSV , typename LocalPattern >
get an element's contribution to the sparsity pattern after the intersections have been handled
- Note
- Summands with zero weight don't contribute to the sparsity pattern, and the calls to the pattern methods are eliminated at run-time.
§ postStage()
to be called once at the end of each stage
§ postStep()
to be called once at the end of each time step
§ preStage()
to be called once before each stage
§ preStep()
to be called once before each time step
§ setSummand()
template<typename Args >
template<std::size_t i>
set the i'th component of the sum
§ setTime()
set time for subsequent evaluation
§ suggestTimestep()
to be called after stage 1
- Note
- This operator simply chains suggestTimestep() methods of all the component local operators together and hopes that the result will be meaningful.
The documentation for this class was generated from the following file: