dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Dune::Fem::ThreadIteratorStorageBase< ThreadIterator > Class Template Reference

Storage of thread iterators using domain decomposition. More...

#include <dune/fem/misc/threads/threaditeratorstorage.hh>

Inheritance diagram for Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >:
Inheritance graph

Public Types

typedef ThreadIterator ThreadIteratorType
 
typedef ThreadIterator::GridPartType GridPartType
 
typedef GridPartType::IndexSetType IndexSetType
 
typedef ThreadIteratorType::FilterType FilterType
 
typedef ThreadIteratorType::IteratorType IteratorType
 
typedef IteratorType::Entity EntityType
 

Public Member Functions

 ThreadIteratorStorageBase (const GridPartType &gridPart)
 contructor creating thread iterators
 
ThreadIteratorTypeiterators () const
 
const FilterTypefilter (const int thread) const
 return filter for given thread
 
void update ()
 update internal list of iterators
 
void setMasterRatio (const double ratio)
 set ratio between master thread and other threads in comp time
 
IteratorType begin () const
 return begin iterator for current thread
 
IteratorType end () const
 return end iterator for current thread
 
int index (const EntityType &entity) const
 return thread number this entity belongs to
 
int thread (const EntityType &entity) const
 return thread number this entity belongs to
 

Static Public Attributes

static const PartitionIteratorType pitype = ThreadIteratorType :: pitype
 

Protected Attributes

std::unique_ptr< ThreadIteratorType, typename IteratorProviderType::Deleteriterators_
 

Detailed Description

template<class ThreadIterator>
class Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >

Storage of thread iterators using domain decomposition.

Member Typedef Documentation

◆ EntityType

template<class ThreadIterator >
typedef IteratorType::Entity Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::EntityType

◆ FilterType

◆ GridPartType

◆ IndexSetType

template<class ThreadIterator >
typedef GridPartType::IndexSetType Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::IndexSetType

◆ IteratorType

◆ ThreadIteratorType

template<class ThreadIterator >
typedef ThreadIterator Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::ThreadIteratorType

Constructor & Destructor Documentation

◆ ThreadIteratorStorageBase()

template<class ThreadIterator >
Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::ThreadIteratorStorageBase ( const GridPartType gridPart)
inlineexplicit

contructor creating thread iterators

Member Function Documentation

◆ begin()

return begin iterator for current thread

◆ end()

return end iterator for current thread

◆ filter()

template<class ThreadIterator >
const FilterType & Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::filter ( const int  thread) const
inline

return filter for given thread

◆ index()

template<class ThreadIterator >
int Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::index ( const EntityType entity) const
inline

return thread number this entity belongs to

◆ iterators()

template<class ThreadIterator >
ThreadIteratorType & Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::iterators ( ) const
inline

◆ setMasterRatio()

template<class ThreadIterator >
void Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::setMasterRatio ( const double  ratio)
inline

set ratio between master thread and other threads in comp time

◆ thread()

template<class ThreadIterator >
int Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::thread ( const EntityType entity) const
inline

return thread number this entity belongs to

◆ update()

template<class ThreadIterator >
void Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::update ( )
inline

update internal list of iterators

Member Data Documentation

◆ iterators_

template<class ThreadIterator >
std::unique_ptr< ThreadIteratorType, typename IteratorProviderType::Deleter> Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::iterators_
protected

◆ pitype

template<class ThreadIterator >
const PartitionIteratorType Dune::Fem::ThreadIteratorStorageBase< ThreadIterator >::pitype = ThreadIteratorType :: pitype
static

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