dune-pdelab  2.4.1
Classes | List of all members
Dune::PDELab::InstationarySumLocalOperator< Args > Class Template Reference

A local operator to take the sum of other local operators. More...

#include <dune/pdelab/localoperator/sum.hh>

Construction and modification

 InstationarySumLocalOperator (const ArgRefs &lops_)
 construct a InstationarySumLocalOperator from a tuple of local operators More...
 
template<std::size_t i>
void setSummand (typename tuple_element< i, Args >::type &summand)
 set the i'th component of the sum More...
 
template<std::size_t i>
tuple_element< i, Args >::type & getSummand ()
 get the i'th component of the sum More...
 

Control flags

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...
 

Methods for the sparsity pattern

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...
 

Methods for the residual -- non-constant parts

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...
 

Methods for the residual -- constant parts

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...
 

Methods for the application of the jacobian

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...
 

Methods to extract the jacobian

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...
 

Methods for instationary problems

typedef tuple_element< 0, Args >::type::RealType RealType
 Export type used for time values. More...
 
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...
 

Detailed Description

template<typename Args>
class Dune::PDELab::InstationarySumLocalOperator< Args >

A local operator to take the sum of other local operators.

Template Parameters
ArgsTuple of local operators. Must fulfill tuple_size<Args>::value>=1.

Member Typedef Documentation

template<typename Args >
typedef tuple_element<0, Args>::type::RealType Dune::PDELab::InstationarySumLocalOperator< Args >::RealType

Export type used for time values.

Member Enumeration Documentation

template<typename Args >
anonymous enum

Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called.

Enumerator
doPatternVolume 
template<typename Args >
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 
template<typename Args >
anonymous enum

Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called.

Enumerator
doPatternSkeleton 
template<typename Args >
anonymous enum

Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called.

Enumerator
doPatternBoundary 
template<typename Args >
anonymous enum

Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume().

Enumerator
doAlphaVolume 
template<typename Args >
anonymous enum

Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton().

Enumerator
doAlphaVolumePostSkeleton 
template<typename Args >
anonymous enum

Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton().

Enumerator
doAlphaSkeleton 
template<typename Args >
anonymous enum

Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary().

Enumerator
doAlphaBoundary 
template<typename Args >
anonymous enum

Whether to call the local operator's lambda_volume().

Enumerator
doLambdaVolume 
template<typename Args >
anonymous enum

Whether to call the local operator's lambda_volume_post_skeleton().

Enumerator
doLambdaVolumePostSkeleton 
template<typename Args >
anonymous enum

Whether to call the local operator's lambda_skeleton().

Enumerator
doLambdaSkeleton 
template<typename Args >
anonymous enum

Whether to call the local operator's lambda_boundary().

Enumerator
doLambdaBoundary 
template<typename Args >
anonymous enum

Whether to visit the skeleton methods from both sides.

Enumerator
doSkeletonTwoSided 

Constructor & Destructor Documentation

template<typename Args >
Dune::PDELab::InstationarySumLocalOperator< Args >::InstationarySumLocalOperator ( const ArgRefs &  lops_)
inline

construct a InstationarySumLocalOperator from a tuple of local operators

Member Function Documentation

template<typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_boundary ( const IG &  ig,
const LFSU &  lfsu_s,
const X &  x_s,
const LFSV &  lfsv_s,
R &  r_s 
) const
inline
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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_boundary().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_volume_post_skeleton(), and Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_boundary().

template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_volume ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
R &  r 
) const
inline

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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_volume_post_skeleton().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_boundary().

template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_volume_post_skeleton ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
R &  r 
) const
inline

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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_skeleton().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_volume(), and Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_boundary().

template<typename Args >
int Dune::PDELab::InstationarySumLocalOperator< Args >::getStage ( ) const
inline

get current stage

template<typename Args >
template<std::size_t i>
tuple_element<i,Args>::type& Dune::PDELab::InstationarySumLocalOperator< Args >::getSummand ( )
inline

get the i'th component of the sum

template<typename Args >
RealType Dune::PDELab::InstationarySumLocalOperator< Args >::getTime ( ) const
inline

get current time

template<typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y >
void Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_boundary ( const IG &  ig,
const LFSU &  lfsu_s,
const X &  x_s,
const LFSV &  lfsv_s,
Y &  y_s 
) const
inline
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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_boundary().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_volume_post_skeleton(), and Dune::PDELab::InstationarySumLocalOperator< Args >::lambda_boundary().

template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y >
void Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_volume ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
Y &  y 
) const
inline

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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_volume_post_skeleton().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::lambda_boundary().

template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y >
void Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_volume_post_skeleton ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
Y &  y 
) const
inline

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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_skeleton().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_volume(), and Dune::PDELab::InstationarySumLocalOperator< Args >::lambda_boundary().

template<typename Args >
template<typename IG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
void Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_boundary ( const IG &  ig,
const LFSU &  lfsu_s,
const X &  x_s,
const LFSV &  lfsv_s,
LocalMatrix mat_ss 
) const
inline

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.

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_boundary(), and Dune::PDELab::InstationarySumLocalOperator< Args >::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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_boundary().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_boundary(), and Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_volume_post_skeleton().

template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
void Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_volume ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
LocalMatrix mat 
) const
inline

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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_volume_post_skeleton().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_boundary().

template<typename Args >
template<typename EG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
void Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_volume_post_skeleton ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
LocalMatrix mat 
) const
inline

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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_skeleton().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_apply_boundary(), and Dune::PDELab::InstationarySumLocalOperator< Args >::jacobian_volume().

template<typename Args >
template<typename IG , typename LFSV , typename R >
void Dune::PDELab::InstationarySumLocalOperator< Args >::lambda_boundary ( const IG &  ig,
const LFSV &  lfsv_s,
R &  r_s 
) const
inline
template<typename Args >
template<typename IG , typename LFSV , typename R >
void Dune::PDELab::InstationarySumLocalOperator< Args >::lambda_skeleton ( const IG &  ig,
const LFSV &  lfsv_s,
const LFSV &  lfsv_n,
R &  r_s,
R &  r_n 
) const
inline

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.

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_boundary().

template<typename Args >
template<typename EG , typename LFSV , typename R >
void Dune::PDELab::InstationarySumLocalOperator< Args >::lambda_volume ( const EG &  eg,
const LFSV &  lfsv,
R &  r 
) const
inline

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.

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_boundary().

template<typename Args >
template<typename EG , typename LFSV , typename R >
void Dune::PDELab::InstationarySumLocalOperator< Args >::lambda_volume_post_skeleton ( const EG &  eg,
const LFSV &  lfsv,
R &  r 
) const
inline

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.

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_boundary().

template<typename Args >
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_boundary ( const LFSU &  lfsu_s,
const LFSV &  lfsv_s,
LocalPattern &  pattern_ss 
) const
inline

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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_boundary(), Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_skeleton(), Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_volume(), Dune::PDELab::InstationarySumLocalOperator< Args >::alpha_volume_post_skeleton(), and ig.

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_boundary().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_volume_post_skeleton().

template<typename Args >
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_volume ( const LFSU &  lfsu,
const LFSV &  lfsv,
LocalPattern &  pattern 
) const
inline

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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_volume_post_skeleton().

template<typename Args >
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_volume_post_skeleton ( const LFSU &  lfsu,
const LFSV &  lfsv,
LocalPattern &  pattern 
) const
inline

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.

References Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_skeleton().

Referenced by Dune::PDELab::InstationarySumLocalOperator< Args >::pattern_volume().

template<typename Args >
void Dune::PDELab::InstationarySumLocalOperator< Args >::postStage ( )
inline

to be called once at the end of each stage

template<typename Args >
void Dune::PDELab::InstationarySumLocalOperator< Args >::postStep ( )
inline

to be called once at the end of each time step

template<typename Args >
void Dune::PDELab::InstationarySumLocalOperator< Args >::preStage ( RealType  time,
int  r 
)
inline

to be called once before each stage

template<typename Args >
void Dune::PDELab::InstationarySumLocalOperator< Args >::preStep ( RealType  time,
RealType  dt,
int  stages 
)
inline

to be called once before each time step

template<typename Args >
template<std::size_t i>
void Dune::PDELab::InstationarySumLocalOperator< Args >::setSummand ( typename tuple_element< i, Args >::type &  summand)
inline

set the i'th component of the sum

template<typename Args >
void Dune::PDELab::InstationarySumLocalOperator< Args >::setTime ( RealType  t)
inline

set time for subsequent evaluation

template<typename Args >
RealType Dune::PDELab::InstationarySumLocalOperator< Args >::suggestTimestep ( RealType  dt) const
inline

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: