dune-pdelab  2.4.1
Public Types | Public Member Functions | Protected Member Functions | List of all members
Dune::PDELab::DataHandleProvider< GFS > Class Template Reference

#include <dune/pdelab/gridfunctionspace/datahandleprovider.hh>

Inheritance diagram for Dune::PDELab::DataHandleProvider< GFS >:
Inheritance graph

Public Types

typedef std::size_t size_type
 

Public Member Functions

bool dataHandleContains (int codim) const
 returns true if data for this codim should be communicated More...
 
bool dataHandleFixedSize (int codim) const
 returns true if size per entity of given dim and codim is a constant More...
 
DUNE_CONSTEXPR bool sendLeafSizes () const
 Returns true if the sizes of the leaf orderings in this tree should be sent as part of the communcation. More...
 
template<typename Entity >
size_type dataHandleSize (const Entity &e) const
 
template<typename V , typename EntityIndex >
void setup_dof_indices (V &v, size_type n, const EntityIndex &ei, std::integral_constant< bool, true >) const
 
template<typename V , typename EntityIndex >
void setup_dof_indices (V &v, size_type n, const EntityIndex &ei, std::integral_constant< bool, false >) const
 
template<typename V >
V::iterator dof_indices_begin (V &v, std::integral_constant< bool, true >) const
 
template<typename V >
DummyDOFIndexIterator dof_indices_begin (V &v, std::integral_constant< bool, false >) const
 
template<typename Entity , typename ContainerIndex , typename DOFIndex , typename OffsetIterator , bool map_dof_indices>
void dataHandleIndices (const Entity &e, std::vector< ContainerIndex > &container_indices, std::vector< DOFIndex > &dof_indices, OffsetIterator oit, std::integral_constant< bool, map_dof_indices > map_dof_indices_value) const
 return vector of global indices associated with the given entity More...
 

Protected Member Functions

const GFS & gfs () const
 

Member Typedef Documentation

template<typename GFS>
typedef std::size_t Dune::PDELab::DataHandleProvider< GFS >::size_type

Member Function Documentation

template<typename GFS>
bool Dune::PDELab::DataHandleProvider< GFS >::dataHandleContains ( int  codim) const
inline

returns true if data for this codim should be communicated

template<typename GFS>
bool Dune::PDELab::DataHandleProvider< GFS >::dataHandleFixedSize ( int  codim) const
inline

returns true if size per entity of given dim and codim is a constant

template<typename GFS>
template<typename Entity , typename ContainerIndex , typename DOFIndex , typename OffsetIterator , bool map_dof_indices>
void Dune::PDELab::DataHandleProvider< GFS >::dataHandleIndices ( const Entity &  e,
std::vector< ContainerIndex > &  container_indices,
std::vector< DOFIndex > &  dof_indices,
OffsetIterator  oit,
std::integral_constant< bool, map_dof_indices >  map_dof_indices_value 
) const
inline

return vector of global indices associated with the given entity

template<typename GFS>
template<typename Entity >
size_type Dune::PDELab::DataHandleProvider< GFS >::dataHandleSize ( const Entity &  e) const
inline

how many objects of type DataType have to be sent for a given entity

Note: Only the sender side needs to know this size.

template<typename GFS>
template<typename V >
V::iterator Dune::PDELab::DataHandleProvider< GFS >::dof_indices_begin ( V &  v,
std::integral_constant< bool, true >   
) const
inline
template<typename GFS>
template<typename V >
DummyDOFIndexIterator Dune::PDELab::DataHandleProvider< GFS >::dof_indices_begin ( V &  v,
std::integral_constant< bool, false >   
) const
inline
template<typename GFS>
const GFS& Dune::PDELab::DataHandleProvider< GFS >::gfs ( ) const
inlineprotected
template<typename GFS>
DUNE_CONSTEXPR bool Dune::PDELab::DataHandleProvider< GFS >::sendLeafSizes ( ) const
inline

Returns true if the sizes of the leaf orderings in this tree should be sent as part of the communcation.

The MultiDomain extensions require knowledge about the size of the individual orderings, which might belong to separate subdomains. Otherwise it is possible to have size mismatches for entities with codim > 0 if there are protruding edges in the parallel mesh partitioning.

By default, this method will always return false. It must be overridden for cases where the data actually needs to be sent.

This flag also modifies the behavior of the generic data handles, which will automatically send, receive and process the additional information. Note that if sendLeafSizes() returns true, the underlying DataHandleIF of the grid will always use the data type char to be able to send different types of data, which will automatically be marshalled to / from a byte stream.

template<typename GFS>
template<typename V , typename EntityIndex >
void Dune::PDELab::DataHandleProvider< GFS >::setup_dof_indices ( V &  v,
size_type  n,
const EntityIndex &  ei,
std::integral_constant< bool, true >   
) const
inline
template<typename GFS>
template<typename V , typename EntityIndex >
void Dune::PDELab::DataHandleProvider< GFS >::setup_dof_indices ( V &  v,
size_type  n,
const EntityIndex &  ei,
std::integral_constant< bool, false >   
) const
inline

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