12#include <dune/grid/spgrid.hh>
17 template <
class Gr
idView>
19 :
public StructuredDataCollectorInterface<GridView, SPDataCollector<GridView>>
21 using Self = SPDataCollector;
22 using Super = StructuredDataCollectorInterface<GridView, Self>;
23 using ctype =
typename GridView::ctype;
27 using Super::partition;
28 using Super::gridView;
31 SPDataCollector (GridView
const& gridView)
49 auto const& originImpl ()
const
54 auto const& spacingImpl ()
const
63 auto const& localMesh = gridView().impl().gridLevel().localMesh();
64 auto const&
begin = gridView().impl().gridLevel().globalMesh().begin();
65 auto const&
end = gridView().impl().gridLevel().globalMesh().end();
66 auto const& cube = gridView().grid().domain().cube();
68 for (
int i = 0; i <
dim; ++i) {
69 wholeExtent_[2*i] =
begin[i];
70 wholeExtent_[2*i+1] =
end[i];
71 extent_[2*i] = localMesh.begin()[i];
72 extent_[2*i+1] = localMesh.end()[i];
73 spacing_[i] = cube.width()[i] / (
end[i] -
begin[i]);
74 origin_[i] = cube.origin()[i];
81 FieldVector<ctype,3> origin_;
82 FieldVector<ctype,3> spacing_;
88 template <
class Gr
idView,
class ct,
int dim,
template<
int >
class Ref,
class Comm>
89 struct StructuredDataCollectorImpl<
GridView, SPGrid<ct,
dim,Ref,Comm>>
91 using type = SPDataCollector<GridView>;
constexpr std::array< T, n > filledArray(const T &t)
GridView(const Implementation &imp)