dune-pdelab  2.7-git
Public Types | Public Member Functions | List of all members
Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS > Class Template Reference

Wrapper for LocalOperators restricting their action to areas overlapping with other subdomains Any entity not covered by multiple subdomains will be ignored by not evaluating the underlying LocalOperator. This wrapper can be used to generate the overlap matrix needed for the GenEO coarse space. More...

#include <dune/pdelab/backend/istl/geneo/localoperator_ovlp_region.hh>

Public Types

enum  { doSkipEntity = LocalOperatorBase::doSkipEntity }
 
enum  { doSkipIntersection = LocalOperatorBase::doSkipIntersection }
 
enum  { doPatternVolume = LocalOperatorBase::doPatternVolume }
 
enum  { doPatternSkeleton = LocalOperatorBase::doPatternSkeleton }
 
enum  { doPatternVolumePostSkeleton = LocalOperatorBase::doPatternVolumePostSkeleton }
 
enum  { doPatternBoundary = LocalOperatorBase::doPatternBoundary }
 
enum  { doAlphaVolume = true }
 
enum  { doAlphaVolumePostSkeleton = LocalOperatorBase::doAlphaVolumePostSkeleton }
 
enum  { doAlphaBoundary = true }
 
enum  { doAlphaSkeleton = LocalOperatorBase::doAlphaSkeleton }
 
enum  { doLambdaVolume = LocalOperatorBase::doLambdaVolume }
 
enum  { doLambdaBoundary = LocalOperatorBase::doLambdaBoundary }
 
enum  { doLambdaSkeleton = LocalOperatorBase::doLambdaSkeleton }
 
enum  { doSkeletonTwoSided = LocalOperatorBase::doSkeletonTwoSided }
 
enum  { isLinear = LocalOperatorBase::isLinear }
 

Public Member Functions

 LocalOperatorOvlpRegion (LocalOperatorBase &base_, const GFS &gfs)
 
template<typename EG >
bool skip_entity (const EG &eg) const
 
template<typename IG >
bool skip_intersection (const IG &ig) const
 
template<typename LFSU , typename LFSV , typename LocalPattern >
void pattern_volume (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const
 
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
 
template<typename LFSU , typename LFSV , typename LocalPattern >
void pattern_volume_post_skeleton (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const
 
template<typename LFSU , typename LFSV , typename LocalPattern >
void pattern_boundary (const LFSU &lfsu_s, const LFSV &lfsv_s, LocalPattern &pattern_ss) const
 
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
 
template<typename EG , typename LFSU , typename X , typename LFSV , typename M >
void jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, M &mat) const
 
template<typename EG , typename LFSV , typename R >
void lambda_volume (const EG &eg, const LFSV &lfsv, R &r) const
 
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
 
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
 
template<typename IG , typename LFSU , typename X , typename LFSV , typename M >
void jacobian_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, M &mat_s) const
 
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
 
template<typename IG , typename LFSU , typename X , typename LFSV , typename M >
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, M &mat_ss, M &mat_sn, M &mat_ns, M &mat_nn) const
 
void setTime (double t)
 

Detailed Description

template<typename LocalOperatorBase, typename GFS>
class Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >

Wrapper for LocalOperators restricting their action to areas overlapping with other subdomains Any entity not covered by multiple subdomains will be ignored by not evaluating the underlying LocalOperator. This wrapper can be used to generate the overlap matrix needed for the GenEO coarse space.

Template Parameters
LocalOperatorBaseThe LocalOperator to be wrapped
GFSThe corresponding grid function space

Member Enumeration Documentation

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doAlphaVolumePostSkeleton 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doAlphaBoundary 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doAlphaSkeleton 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doLambdaVolume 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doLambdaBoundary 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doLambdaSkeleton 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doSkeletonTwoSided 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
isLinear 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doSkipEntity 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doSkipIntersection 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doPatternVolume 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doPatternSkeleton 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doPatternVolumePostSkeleton 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doPatternBoundary 

◆ anonymous enum

template<typename LocalOperatorBase , typename GFS >
anonymous enum
Enumerator
doAlphaVolume 

Constructor & Destructor Documentation

◆ LocalOperatorOvlpRegion()

template<typename LocalOperatorBase , typename GFS >
Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::LocalOperatorOvlpRegion ( LocalOperatorBase &  base_,
const GFS &  gfs 
)
inline

Member Function Documentation

◆ alpha_boundary()

template<typename LocalOperatorBase , typename GFS >
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::alpha_boundary ( const IG &  ig,
const LFSU &  lfsu_s,
const X &  x_s,
const LFSV &  lfsv_s,
R &  r_s 
) const
inline

◆ alpha_skeleton()

template<typename LocalOperatorBase , typename GFS >
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::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

◆ alpha_volume()

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

◆ alpha_volume_post_skeleton()

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

◆ jacobian_boundary()

template<typename LocalOperatorBase , typename GFS >
template<typename IG , typename LFSU , typename X , typename LFSV , typename M >
void Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::jacobian_boundary ( const IG &  ig,
const LFSU &  lfsu_s,
const X &  x_s,
const LFSV &  lfsv_s,
M &  mat_s 
) const
inline

◆ jacobian_skeleton()

template<typename LocalOperatorBase , typename GFS >
template<typename IG , typename LFSU , typename X , typename LFSV , typename M >
void Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::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,
M &  mat_ss,
M &  mat_sn,
M &  mat_ns,
M &  mat_nn 
) const
inline

◆ jacobian_volume()

template<typename LocalOperatorBase , typename GFS >
template<typename EG , typename LFSU , typename X , typename LFSV , typename M >
void Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::jacobian_volume ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
M &  mat 
) const
inline

◆ lambda_volume()

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

◆ pattern_boundary()

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

◆ pattern_skeleton()

template<typename LocalOperatorBase , typename GFS >
template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::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

◆ pattern_volume()

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

◆ pattern_volume_post_skeleton()

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

◆ setTime()

template<typename LocalOperatorBase , typename GFS >
void Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::setTime ( double  t)
inline

◆ skip_entity()

template<typename LocalOperatorBase , typename GFS >
template<typename EG >
bool Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::skip_entity ( const EG &  eg) const
inline

◆ skip_intersection()

template<typename LocalOperatorBase , typename GFS >
template<typename IG >
bool Dune::PDELab::LocalOperatorOvlpRegion< LocalOperatorBase, GFS >::skip_intersection ( const IG &  ig) const
inline

The documentation for this class was generated from the following file: