dune-istl 2.10
Loading...
Searching...
No Matches
Dune::IteratorDirectionSelector< T1, T2, forward > Struct Template Reference

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

#include <dune/istl/overlappingschwarz.hh>

Inheritance diagram for Dune::IteratorDirectionSelector< T1, T2, forward >:
Inheritance graph

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>
domain_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::begin ( const subdomain_vector & sv)
inlinestatic

◆ begin() [2/2]

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

◆ end() [1/2]

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

◆ end() [2/2]

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

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