dune-istl 2.9.0
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
Dune::IteratorDirectionSelector< T1, T2, forward > Struct Template Reference

Helper template meta program for application of overlapping Schwarz. More...

#include <dune/istl/overlappingschwarz.hh>

Public Types

typedef T1 solver_vector
 
typedef solver_vector::iterator solver_iterator
 
typedef T2 subdomain_vector
 
typedef subdomain_vector::const_iterator domain_iterator
 

Static Public Member Functions

static solver_iterator begin (solver_vector &sv)
 
static solver_iterator end (solver_vector &sv)
 
static domain_iterator begin (const subdomain_vector &sv)
 
static domain_iterator end (const subdomain_vector &sv)
 

Detailed Description

template<typename T1, typename T2, bool forward>
struct Dune::IteratorDirectionSelector< T1, T2, forward >

Helper template meta program for application of overlapping Schwarz.

The is needed because when using the multiplicative Schwarz version one might still want to make multigrid symmetric, i.e. forward sweep when pre- and backward sweep when post-smoothing.

Template Parameters
T1type of the vector with the subdomain solvers.
T2type of the vector with the subdomain vector fields.
forwardIf true apply in a forward sweep.

Member Typedef Documentation

◆ domain_iterator

template<typename T1 , typename T2 , bool forward>
typedef subdomain_vector::const_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::domain_iterator

◆ solver_iterator

template<typename T1 , typename T2 , bool forward>
typedef solver_vector::iterator Dune::IteratorDirectionSelector< T1, T2, forward >::solver_iterator

◆ solver_vector

template<typename T1 , typename T2 , bool forward>
typedef T1 Dune::IteratorDirectionSelector< T1, T2, forward >::solver_vector

◆ subdomain_vector

template<typename T1 , typename T2 , bool forward>
typedef T2 Dune::IteratorDirectionSelector< T1, T2, forward >::subdomain_vector

Member Function Documentation

◆ begin() [1/2]

template<typename T1 , typename T2 , bool forward>
static domain_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::begin ( const subdomain_vector sv)
inlinestatic

◆ begin() [2/2]

template<typename T1 , typename T2 , bool forward>
static solver_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::begin ( solver_vector sv)
inlinestatic

◆ end() [1/2]

template<typename T1 , typename T2 , bool forward>
static domain_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::end ( const subdomain_vector sv)
inlinestatic

◆ end() [2/2]

template<typename T1 , typename T2 , bool forward>
static solver_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::end ( solver_vector sv)
inlinestatic

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