Class template Dune::XT::Grid::Walker

template<class Gl>
class Dune::XT::Grid::Walker<Gl>

Walks a grid view and applies appended (filtered) element and intersection functors, optionally in parallel.

Method Dune::XT::Grid::Walker::reinitialize_thread_storage

template<class Gl>
void Dune::XT::Grid::Walker<Gl>::reinitialize_thread_storage()

No documentation provided.

Method Dune::XT::Grid::Walker::grid_view

template<class Gl>
const GridViewType &Dune::XT::Grid::Walker<Gl>::grid_view() const

No documentation provided.

Method Dune::XT::Grid::Walker::grid_view

template<class Gl>
GridViewType &Dune::XT::Grid::Walker<Gl>::grid_view()

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(ElementFunctor<GV> &functor, const ElementFilter<GV> &filter = ApplyOn::AllElements<GV>())

\ {

These methods can be used to append an \sa ElementFunctor.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(ElementFunctor<GV> *&&functor, const ElementFilter<GV> &filter = ApplyOn::AllElements<GV>())

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(ElementFunctor<GV> &functor, GenericElementFilterFunctionType filter)

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(ElementFunctor<GV> *&&functor, GenericElementFilterFunctionType filter)

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(const VoidFunctionType &prepare_func, GenericElementApplyFunctionType apply_func, const VoidFunctionType &finalize_func, const ElementFilter<GV> &filter = ApplyOn::AllElements<GV>())

\ }

These methods can be used to append an element lambda expression.

\ {

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(const VoidFunctionType &prepare_func, GenericElementApplyFunctionType apply_func, const VoidFunctionType &finalize_func, GenericElementFilterFunctionType filter)

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(IntersectionFunctor<GV> &functor, const IntersectionFilter<GV> &filter = ApplyOn::AllIntersections<GV>())

\ }

These methods can be used to append an \sa IntersectionFunctor.

\ {

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(IntersectionFunctor<GV> *&&functor, const IntersectionFilter<GV> &filter = ApplyOn::AllIntersections<GV>())

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(IntersectionFunctor<GV> &functor, GenericIntersectionFilterFunctionType filter)

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(IntersectionFunctor<GV> *&&functor, GenericIntersectionFilterFunctionType filter)

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(const VoidFunctionType &prepare_func, GenericIntersectionApplyFunctionType apply_func, const VoidFunctionType &finalize_func, const IntersectionFilter<GV> &filter = ApplyOn::AllIntersections<GV>())

\ }

These methods can be used to append an intersection lambda expression.

\ {

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(const VoidFunctionType &prepare_func, GenericIntersectionApplyFunctionType apply_func, const VoidFunctionType &finalize_func, GenericIntersectionFilterFunctionType filter)

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(ElementAndIntersectionFunctor<GV> &functor, const IntersectionFilter<GV> &intersection_filter = ApplyOn::AllIntersections<GV>(), const ElementFilter<GV> &element_filter = ApplyOn::AllElements<GV>())

\ }

These methods can be used to append an \sa ElementAndIntersectionFunctor.

\ {

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(ElementAndIntersectionFunctor<GV> *&&functor, const IntersectionFilter<GV> &intersection_filter = ApplyOn::AllIntersections<GV>(), const ElementFilter<GV> &element_filter = ApplyOn::AllElements<GV>())

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(ElementAndIntersectionFunctor<GV> &functor, GenericElementFilterFunctionType element_filter, GenericIntersectionFilterFunctionType intersection_filter)

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(ElementAndIntersectionFunctor<GV> *&&functor, GenericElementFilterFunctionType element_filter, GenericIntersectionFilterFunctionType intersection_filter)

No documentation provided.

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(const VoidFunctionType &prepare_func, GenericElementApplyFunctionType element_apply_on, GenericIntersectionApplyFunctionType intersection_apply_on, const VoidFunctionType &finalize_func, const ElementFilter<GV> &element_filter = ApplyOn::AllElements<GV>(), const IntersectionFilter<GV> &intersection_filter = ApplyOn::AllIntersections<GV>())

\ }

These methods can be used to append element and intersection lambda expressions.

\ {

Method Dune::XT::Grid::Walker::append

template<class Gl>
ThisType &Dune::XT::Grid::Walker<Gl>::append(const VoidFunctionType &prepare_func, GenericElementApplyFunctionType element_apply_on, GenericIntersectionApplyFunctionType intersection_apply_on, const VoidFunctionType &finalize_func, GenericElementFilterFunctionType element_filter, GenericIntersectionFilterFunctionType intersection_filter)

No documentation provided.

Method Dune::XT::Grid::Walker::prepare

template<class Gl>
void Dune::XT::Grid::Walker<Gl>::prepare() override

\ }

These methods are required by ElementAndIntersectionFunctor.

\ {

Method Dune::XT::Grid::Walker::prepare_thread

template<class Gl>
void Dune::XT::Grid::Walker<Gl>::prepare_thread()

No documentation provided.

Method Dune::XT::Grid::Walker::apply_local

template<class Gl>
void Dune::XT::Grid::Walker<Gl>::apply_local(const ElementType &element) override

No documentation provided.

Method Dune::XT::Grid::Walker::apply_local

template<class Gl>
void Dune::XT::Grid::Walker<Gl>::apply_local(const ElementType &element, int &element_functor_wrappers, int &element_and_intersection_functor_wrappers)

No documentation provided.

Method Dune::XT::Grid::Walker::apply_local

template<class Gl>
void Dune::XT::Grid::Walker<Gl>::apply_local(const IntersectionType &intersection, const ElementType &inside_element, const ElementType &outside_element) override

No documentation provided.

Method Dune::XT::Grid::Walker::apply_local

template<class Gl>
virtual void Dune::XT::Grid::Walker<Gl>::apply_local(const IntersectionType &intersection, const ElementType &inside_element, const ElementType &outside_element, int &intersection_functor_wrappers, int &element_and_intersection_functor_wrappers)

No documentation provided.

Method Dune::XT::Grid::Walker::finalize

template<class Gl>
void Dune::XT::Grid::Walker<Gl>::finalize() override

No documentation provided.

Method Dune::XT::Grid::Walker::walk

template<class Gl>
void Dune::XT::Grid::Walker<Gl>::walk(const bool use_tbb = false, const bool clear_functors = true)

\ }

Method Dune::XT::Grid::Walker::clear

template<class Gl>
void Dune::XT::Grid::Walker<Gl>::clear()

No documentation provided.

Method Dune::XT::Grid::Walker::copy

template<class Gl>
BaseType *Dune::XT::Grid::Walker<Gl>::copy() override

No documentation provided.

Constructor Dune::XT::Grid::Walker::Walker<Gl>

template<>
template<class Gl>
explicit Dune::XT::Grid::Walker<Gl>::Walker<Gl>(GridViewType grd_vw)

No documentation provided.

Constructor Dune::XT::Grid::Walker::Walker<Gl>

template<>
template<class Gl>
Dune::XT::Grid::Walker<Gl>::Walker<Gl>(const ThisType &other)

No documentation provided.

Constructor Dune::XT::Grid::Walker::Walker<Gl>

template<>
template<class Gl>
Dune::XT::Grid::Walker<Gl>::Walker<Gl>(ThisType &&source) noexcept = default

No documentation provided.

Destructor Dune::XT::Grid::Walker::~Walker<Gl>

template<>
~Walker<GV>() override = default

No documentation provided.

Field Dune::XT::Grid::Walker::grid_view_

GridViewType Dune::XT::Grid::Walker::grid_view_

No documentation provided.

Field Dune::XT::Grid::Walker::stored_element_functor_wrappers_

int Dune::XT::Grid::Walker::stored_element_functor_wrappers_

No documentation provided.

Field Dune::XT::Grid::Walker::stored_intersection_functor_wrappers_

int Dune::XT::Grid::Walker::stored_intersection_functor_wrappers_

No documentation provided.

Field Dune::XT::Grid::Walker::stored_element_and_intersection_functor_wrappers_

int Dune::XT::Grid::Walker::stored_element_and_intersection_functor_wrappers_

No documentation provided.

Field Dune::XT::Grid::Walker::element_functor_wrappers_

int Dune::XT::Grid::Walker::element_functor_wrappers_

No documentation provided.

Field Dune::XT::Grid::Walker::intersection_functor_wrappers_

int Dune::XT::Grid::Walker::intersection_functor_wrappers_

No documentation provided.

Field Dune::XT::Grid::Walker::element_and_intersection_functor_wrappers_

int Dune::XT::Grid::Walker::element_and_intersection_functor_wrappers_

No documentation provided.

Type alias Dune::XT::Grid::Walker::BaseType

type Dune::XT::Grid::Walker::BaseType

No documentation provided.

Type alias Dune::XT::Grid::Walker::ThisType

type Dune::XT::Grid::Walker::ThisType

No documentation provided.

Type alias Dune::XT::Grid::Walker::GenericElementApplyFunctionType

type Dune::XT::Grid::Walker::GenericElementApplyFunctionType

No documentation provided.

Type alias Dune::XT::Grid::Walker::GenericIntersectionApplyFunctionType

type Dune::XT::Grid::Walker::GenericIntersectionApplyFunctionType

No documentation provided.

Type alias Dune::XT::Grid::Walker::GenericElementFilterFunctionType

type Dune::XT::Grid::Walker::GenericElementFilterFunctionType

No documentation provided.

Type alias Dune::XT::Grid::Walker::GenericIntersectionFilterFunctionType

type Dune::XT::Grid::Walker::GenericIntersectionFilterFunctionType

No documentation provided.

Type alias Dune::XT::Grid::Walker::VoidFunctionType

type Dune::XT::Grid::Walker::VoidFunctionType

No documentation provided.

Function template Dune::XT::Grid::Walker::emplace_all

template<class Gl>
template<typename WrapperType, class ...Args>
void Dune::XT::Grid::Walker<Gl>::emplace_all(int &storage, int &thread_storage, Args&&... args)

No documentation provided.

Function template Dune::XT::Grid::Walker::walk

template<class Gl>
template<class PartioningType>
void Dune::XT::Grid::Walker<Gl>::walk(PartioningType &partitioning, const bool clear_functors = true)

No documentation provided.

Function template Dune::XT::Grid::Walker::walk_range

template<class Gl>
template<class ElementRange>
void Dune::XT::Grid::Walker<Gl>::walk_range(const ElementRange &element_range)

No documentation provided.

Class template Dune::XT::Grid::Walker::Body

template<class PartioningType, class WalkerType>
class Dune::XT::Grid::Walker::Body<PartioningType, WalkerType>

No documentation provided.

Method Dune::XT::Grid::Walker::Body::operator()

template<class PartioningType, class WalkerType>
void Dune::XT::Grid::Walker::Body<PartioningType, WalkerType>::operator()(const tbb::blocked_range<std::size_t> &range) const

No documentation provided.

Constructor Dune::XT::Grid::Walker::Body::Body<PartioningType, WalkerType>

template<>
template<class PartioningType, class WalkerType>
Dune::XT::Grid::Walker::Body<PartioningType, WalkerType>::Body<PartioningType, WalkerType>(WalkerType &walker, const PartioningType &partitioning)

No documentation provided.

Constructor Dune::XT::Grid::Walker::Body::Body<PartioningType, WalkerType>

template<>
template<class PartioningType, class WalkerType>
Dune::XT::Grid::Walker::Body<PartioningType, WalkerType>::Body<PartioningType, WalkerType>(const Body<PartioningType, WalkerType> &other)

No documentation provided.

Field Dune::XT::Grid::Walker::Body::walker_

WalkerType &Dune::XT::Grid::Walker::Body::walker_

No documentation provided.

Field Dune::XT::Grid::Walker::Body::partitioning_

const PartioningType &Dune::XT::Grid::Walker::Body::partitioning_

No documentation provided.