DUNE PDELab (git)

Modules

 LocalOperatorDefaultImp
 

Namespaces

namespace  Dune::PDELab::lop
 Namespace with decorator classes that influence assembler behavior.
 

Classes

class  Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< ScalarLOP >
 Block diagonal extension of scalar local operator. More...
 
class  Dune::PDELab::CombinedOperator< ApplyOp, Args >
 A local operator to take combine different local operators. More...
 
class  Dune::PDELab::Electrodynamic_T< Eps >
 Construct matrix T for the Electrodynamic operator. More...
 
class  Dune::PDELab::Electrodynamic_S< Mu >
 Contruct matrix S for the Electrodynamic operator. More...
 
class  Dune::PDELab::LocalOperatorDefaultFlags
 Default flags for all local operators. More...
 
class  Dune::PDELab::InstationaryLocalOperatorDefaultMethods< R >
 Default class for additional methods in instationary local operators. More...
 
class  Dune::PDELab::LocalOperatorInterface
 Class to document the stationary local operator interface. More...
 
class  Dune::PDELab::L2
 
class  Dune::PDELab::L2VolumeFunctional< F >
 A local operator that tests a function against a test function space defined on the entire grid. More...
 
class  Dune::PDELab::LinearElasticity< T >
 
struct  Dune::PDELab::NonLinearConvectionDiffusionParameterTraits< GV, RF >
 traits class for two phase parameter class More...
 
class  Dune::PDELab::NonLinearConvectionDiffusionParameterInterface< T, Imp >
 base class for parameter class More...
 
class  Dune::PDELab::BCTypeParam_CD< T >
 
class  Dune::PDELab::DirichletBoundaryCondition_CD< T >
 
class  Dune::PDELab::NonLinearConvectionDiffusionFEM< T >
 
class  Dune::PDELab::ScaledLocalOperator< Backend, Factor, Time >
 A local operator that scales the result of another local operator. More...
 
class  Dune::PDELab::InstationarySumLocalOperator< Args >
 A local operator to take the sum of other local operators. More...
 
class  Dune::PDELab::InstationarySumLocalOperator< std::tuple< Args... > >
 deprecated specialization of More...
 
class  Dune::PDELab::TaylorHoodNavierStokes< P >
 A local operator for the Navier-Stokes equations. More...
 
class  Dune::PDELab::WeightedSumLocalOperator< K, Args >
 A local operator to take the weighted sum of other local operators. More...
 
class  Dune::PDELab::WeightedSumLocalOperator< K, std::tuple< Args... > >
 deprecated specialization of More...
 
class  Dune::PDELab::ZeroLocalOperator< Time >
 Do-nothing local operator. More...
 

Functions

template<class Eps >
Electrodynamic_T< std::decay_t< Eps > > Dune::PDELab::makeLocalOperatorEdynT (Eps &&eps, int qorder=2)
 construct an Electrodynamic_T operator More...
 
template<class Mu >
Electrodynamic_S< std::decay_t< Mu > > Dune::PDELab::makeLocalOperatorEdynS (Mu &&mu, int qorder=2)
 construct an Electrodynamic_S operator More...
 
 Dune::PDELab::InstationarySumLocalOperator< Args >::InstationarySumLocalOperator ()
 Default-construct an InstationarySumLocalOperator. Expects the operators to be added later through the setSummand method.
 
 Dune::PDELab::InstationarySumLocalOperator< Args >::InstationarySumLocalOperator (Args &... lops)
 construct a InstationarySumLocalOperator from a set of local operators
 
 Dune::PDELab::InstationarySumLocalOperator< Args >::InstationarySumLocalOperator (Args &&... lops)
 construct a InstationarySumLocalOperator from a set of local operators (rvalue reference)
 
 Dune::PDELab::InstationarySumLocalOperator< std::tuple< Args... > >::InstationarySumLocalOperator ()
 Default-construct an InstationarySumLocalOperator. Expects the operators to be added later through the setSummand method.
 
 Dune::PDELab::InstationarySumLocalOperator< std::tuple< Args... > >::InstationarySumLocalOperator (const ArgRefs &lops)
 construct a InstationarySumLocalOperator from a tuple of local operators
 
 Dune::PDELab::WeightedSumLocalOperator< K, std::tuple< Args... > >::WeightedSumLocalOperator (const Weights &weights_=Weights(1))
 construct a WeightedSumLocalOperator More...
 
 Dune::PDELab::WeightedSumLocalOperator< K, std::tuple< Args... > >::WeightedSumLocalOperator (const ArgRefs &lops_, const Weights &weights_=Weights(1))
 construct a WeightedSumLocalOperator from a tuple of local operators
 

Control flags

enum  
 Whether to do selective cell assembly, i.e. whether or not skip_entity() should be called.
 
enum  
 Whether to do selective intersection assembly, i.e. whether or not skip_intersection() should be called.
 
enum  
 Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called.
 
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.
 
enum  
 Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called.
 
enum  
 Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called.
 
enum  
 Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume().
 
enum  
 Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton().
 
enum  
 Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton().
 
enum  
 Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary().
 
enum  
 Whether to call the local operator's lambda_volume().
 
enum  
 Whether to call the local operator's lambda_volume_post_skeleton().
 
enum  
 Whether to call the local operator's lambda_skeleton().
 
enum  
 Whether to call the local operator's lambda_boundary().
 
enum  
 Whether to visit the skeleton methods from both sides.
 
enum  
 Whether this is a linear operator.
 

Methods for instationary problems

typedef std::tuple_element< 0, std::tuple< Args... > >::type::RealType Dune::PDELab::CombinedOperator< ApplyOp, Args >::RealType
 Export type used for time values.
 
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::setTime (RealType t)
 set time for subsequent evaluation
 
RealType Dune::PDELab::CombinedOperator< ApplyOp, Args >::getTime () const
 get current time
 
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::preStep (RealType time, RealType dt, int stages)
 to be called once before each time step
 
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::postStep ()
 to be called once at the end of each time step
 
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::preStage (RealType time, int r)
 to be called once before each stage
 
int Dune::PDELab::CombinedOperator< ApplyOp, Args >::getStage () const
 get current stage
 
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::postStage ()
 to be called once at the end of each stage
 
RealType Dune::PDELab::CombinedOperator< ApplyOp, Args >::suggestTimestep (RealType dt) const
 to be called after stage 1 More...
 

Construction and modification

 Dune::PDELab::CombinedOperator< ApplyOp, Args >::CombinedOperator ()
 
 Dune::PDELab::CombinedOperator< ApplyOp, Args >::CombinedOperator (Args &... args)
 
 Dune::PDELab::CombinedOperator< ApplyOp, Args >::CombinedOperator (Args &&... args)
 
 Dune::PDELab::CombinedOperator< ApplyOp, Args >::CombinedOperator (ArgPtrs &&l)
 
template<std::size_t i>
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::setSummand (typename std::tuple_element_t< i, ArgRefs > summand)
 set the i'th component of the sum
 
template<std::size_t i>
std::tuple_element_t< i, ArgRefs > Dune::PDELab::CombinedOperator< ApplyOp, Args >::getSummand ()
 get the i'th component of the sum
 

Methods for selective assembly

template<typename EG >
bool Dune::PDELab::CombinedOperator< ApplyOp, Args >::skip_entity (const EG &eg) const
 whether to assembly methods associated with a given entity
 
template<typename IG >
bool Dune::PDELab::CombinedOperator< ApplyOp, Args >::skip_intersection (const IG &ig) const
 whether to assembly methods associated with a given intersection
 

Methods for the sparsity pattern

template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, 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
 get an internal intersection's contribution to the sparsity pattern More...
 
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, 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
 get an internal intersections's contribution to alpha More...
 
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, 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
 apply an internal intersections's jacobians More...
 
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y >
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, Args >::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 Dune::PDELab::CombinedOperator< ApplyOp, 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
 apply an internal intersections's jacobians More...
 
template<typename IG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::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...
 

Construction and modification

 Dune::PDELab::WeightedSumLocalOperator< K, Args >::WeightedSumLocalOperator (const Weights &weights_=Weights(1))
 construct a WeightedSumLocalOperator More...
 
 Dune::PDELab::WeightedSumLocalOperator< K, Args >::WeightedSumLocalOperator (Args &... lops_, const Weights &weights_=Weights(1))
 
 Dune::PDELab::WeightedSumLocalOperator< K, Args >::WeightedSumLocalOperator (Args &&... lops_, const Weights &weights_=Weights(1))
 
 Dune::PDELab::WeightedSumLocalOperator< K, Args >::WeightedSumLocalOperator (ArgPtrs &&lops, const Weights &weights_)
 
void Dune::PDELab::WeightedSumLocalOperator< K, Args >::setWeight (K w, std::size_t i)
 set the weight for the i'th component of the sum
 
Dune::PDELab::WeightedSumLocalOperator< K, Args >::getWeight (std::size_t i)
 get the weight for the i'th component of the sum
 

Detailed Description

Function Documentation

◆ alpha_boundary()

template<typename ApplyOp , typename... Args>
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::alpha_boundary ( const IG &  ig,
const LFSU &  lfsu_s,
const X &  x_s,
const LFSV &  lfsv_s,
R &  r_s 
) const
inline

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 ApplyOp , typename... Args>
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::CombinedOperator< ApplyOp, 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 ApplyOp , typename... Args>
template<typename EG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ alpha_volume_post_skeleton()

template<typename ApplyOp , typename... Args>
template<typename EG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ jacobian_apply_boundary()

template<typename ApplyOp , typename... Args>
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y >
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::jacobian_apply_boundary ( const IG &  ig,
const LFSU &  lfsu_s,
const X &  x_s,
const LFSV &  lfsv_s,
Y &  y_s 
) const
inline

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 ApplyOp , typename... Args>
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y >
void Dune::PDELab::CombinedOperator< ApplyOp, 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 ApplyOp , typename... Args>
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ jacobian_apply_volume_post_skeleton()

template<typename ApplyOp , typename... Args>
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ jacobian_boundary()

template<typename ApplyOp , typename... Args>
template<typename IG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ jacobian_skeleton()

template<typename ApplyOp , typename... Args>
template<typename IG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
void Dune::PDELab::CombinedOperator< ApplyOp, 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 ApplyOp , typename... Args>
template<typename EG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ jacobian_volume_post_skeleton()

template<typename ApplyOp , typename... Args>
template<typename EG , typename LFSU , typename X , typename LFSV , typename LocalMatrix >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ lambda_boundary()

template<typename ApplyOp , typename... Args>
template<typename IG , typename LFSV , typename R >
void Dune::PDELab::CombinedOperator< ApplyOp, Args >::lambda_boundary ( const IG &  ig,
const LFSV &  lfsv_s,
R &  r_s 
) const
inline

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 ApplyOp , typename... Args>
template<typename IG , typename LFSV , typename R >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ lambda_volume()

template<typename ApplyOp , typename... Args>
template<typename EG , typename LFSV , typename R >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ lambda_volume_post_skeleton()

template<typename ApplyOp , typename... Args>
template<typename EG , typename LFSV , typename R >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ makeLocalOperatorEdynS()

template<class Mu >
Electrodynamic_S< std::decay_t< Mu > > Dune::PDELab::makeLocalOperatorEdynS ( Mu &&  mu,
int  qorder = 2 
)

construct an Electrodynamic_S operator

This relieves the user from the need to construct the type of mu.

◆ makeLocalOperatorEdynT()

template<class Eps >
Electrodynamic_T< std::decay_t< Eps > > Dune::PDELab::makeLocalOperatorEdynT ( Eps &&  eps,
int  qorder = 2 
)

construct an Electrodynamic_T operator

This relieves the user from the need to construct the type of eps.

◆ pattern_boundary()

template<typename ApplyOp , typename... Args>
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ pattern_skeleton()

template<typename ApplyOp , typename... Args>
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::CombinedOperator< ApplyOp, 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 ApplyOp , typename... Args>
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ pattern_volume_post_skeleton()

template<typename ApplyOp , typename... Args>
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ suggestTimestep()

template<typename ApplyOp , typename... Args>
RealType Dune::PDELab::CombinedOperator< ApplyOp, 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.

◆ WeightedSumLocalOperator() [1/4]

template<typename K , typename... Args>
Dune::PDELab::WeightedSumLocalOperator< K, Args >::WeightedSumLocalOperator ( Args &&...  lops_,
const Weights weights_ = Weights(1) 
)
inline

construct a WeightedSumLocalOperator from a set of local operators (rvalue reference)

◆ WeightedSumLocalOperator() [2/4]

template<typename K , typename... Args>
Dune::PDELab::WeightedSumLocalOperator< K, Args >::WeightedSumLocalOperator ( Args &...  lops_,
const Weights weights_ = Weights(1) 
)
inline

construct a WeightedSumLocalOperator from a set of local operators

◆ WeightedSumLocalOperator() [3/4]

template<typename K , typename... Args>
Dune::PDELab::WeightedSumLocalOperator< K, Args >::WeightedSumLocalOperator ( const Weights weights_ = Weights(1))
inline

construct a WeightedSumLocalOperator

No summand local operators are set. They must be initialized with setSummand() before the constructed object is used.

◆ WeightedSumLocalOperator() [4/4]

template<typename K , typename... Args>
Dune::PDELab::WeightedSumLocalOperator< K, std::tuple< Args... > >::WeightedSumLocalOperator ( const Weights &  weights_ = Weights(1))
inline

construct a WeightedSumLocalOperator

No summand local operators are set. They must be initialized with setSummand() before the constructed object is used.

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 23, 23:29, 2024)