Class template Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>

Inherits from Dune::CommDataHandleIF<DiscreteFunctionDataHandle<DiscreteFunctionType>, typename DiscreteFunctionType::SpaceType::R>.

template<class DiscreteFunctionType>
class Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType> : public Dune::CommDataHandleIF<DiscreteFunctionDataHandle<DiscreteFunctionType>, typename DiscreteFunctionType::SpaceType::R>

Communication data handle to exchange the DoFs of a discrete function across process boundaries.

Method Dune::GDT::DiscreteFunctionDataHandle::contains

template<class DiscreteFunctionType>
bool Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::contains(int, int codim) const

returns true if data for this codim should be communicated

Method Dune::GDT::DiscreteFunctionDataHandle::fixedSize

template<class DiscreteFunctionType>
bool Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::fixedSize(int, int) const

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

Note

has to be spelled fixedSize: CommDataHandleIF dispatches via CRTP and its default implementation calls asImp().fixedSize(…), so a misspelled override recurses infinitely (stack overflow) when communicating

Constructor Dune::GDT::DiscreteFunctionDataHandle::DiscreteFunctionDataHandle

template<class DiscreteFunctionType>
explicit Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::DiscreteFunctionDataHandle(DiscreteFunctionType &discrete_function, bool fixed_size = true)

No documentation provided.

Field Dune::GDT::DiscreteFunctionDataHandle::discrete_function_

template<class DiscreteFunctionType>
DiscreteFunctionType &Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::discrete_function_

No documentation provided.

Field Dune::GDT::DiscreteFunctionDataHandle::mapper_

template<class DiscreteFunctionType>
const typename DiscreteFunctionType::SpaceType::MapperType &Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::mapper_

No documentation provided.

Field Dune::GDT::DiscreteFunctionDataHandle::vector_

template<class DiscreteFunctionType>
typename DiscreteFunctionType::VectorType &Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::vector_

No documentation provided.

Field Dune::GDT::DiscreteFunctionDataHandle::fixed_size_

template<class DiscreteFunctionType>
const bool Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::fixed_size_

No documentation provided.

Type alias Dune::GDT::DiscreteFunctionDataHandle::DataType

template<class DiscreteFunctionType>
using Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::DataType = typename DiscreteFunctionType::SpaceType::D

export type of data for message buffer

Function template Dune::GDT::DiscreteFunctionDataHandle::size

template<class DiscreteFunctionType>
template<class EntityType>
std::enable_if_t<EntityType::codimension != 0, size_t> Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::size(const EntityType&) const

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

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

Function template Dune::GDT::DiscreteFunctionDataHandle::size

template<class DiscreteFunctionType>
template<class EntityType>
std::enable_if_t<EntityType::codimension == 0, size_t> Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::size(const EntityType &entity) const

how many objects of type DataType have to be sent for a given entity Note: Only the sender side needs to know this size.

Function template Dune::GDT::DiscreteFunctionDataHandle::gather

template<class DiscreteFunctionType>
template<class MessageBuffer, class EntityType>
std::enable_if_t<EntityType::codimension != 0> Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::gather(MessageBuffer&, const EntityType&) const

pack data from user to message buffer

Function template Dune::GDT::DiscreteFunctionDataHandle::gather

template<class DiscreteFunctionType>
template<class MessageBuffer, class EntityType>
std::enable_if_t<EntityType::codimension == 0> Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::gather(MessageBuffer &buff, const EntityType &entity) const

No documentation provided.

Function template Dune::GDT::DiscreteFunctionDataHandle::scatter

template<class DiscreteFunctionType>
template<class MessageBuffer, class EntityType>
std::enable_if_t<EntityType::codimension != 0> Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::scatter(MessageBuffer&, const EntityType&, size_t)

unpack data from message buffer to user n is the number of objects sent by the sender

Function template Dune::GDT::DiscreteFunctionDataHandle::scatter

template<class DiscreteFunctionType>
template<class MessageBuffer, class EntityType>
std::enable_if_t<EntityType::codimension == 0> Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::scatter(MessageBuffer &buff, const EntityType &entity, size_t n)

No documentation provided.