Class template Dune::GDT::DiscreteFunctionDataHandle

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

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

bool Dune::GDT::DiscreteFunctionDataHandle::contains(int, int codim) const

returns true if data for this codim should be communicated

bool Dune::GDT::DiscreteFunctionDataHandle::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

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

No documentation provided.

DiscreteFunctionType &Dune::GDT::DiscreteFunctionDataHandle::discrete_function_

No documentation provided.

const typename DiscreteFunctionType::SpaceType::MapperType &Dune::GDT::DiscreteFunctionDataHandle::mapper_

No documentation provided.

typename DiscreteFunctionType::VectorType &Dune::GDT::DiscreteFunctionDataHandle::vector_

No documentation provided.

const bool Dune::GDT::DiscreteFunctionDataHandle::fixed_size_

No documentation provided.

type Dune::GDT::DiscreteFunctionDataHandle::DataType

export type of data for message buffer

template<class EntityType>
int Dune::GDT::DiscreteFunctionDataHandle::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.

template<class MessageBuffer, class EntityType>
int Dune::GDT::DiscreteFunctionDataHandle::gather(MessageBuffer&, const EntityType&) const

pack data from user to message buffer

template<class MessageBuffer, class EntityType>
int Dune::GDT::DiscreteFunctionDataHandle::scatter(MessageBuffer&, const EntityType&, size_t)

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