Core Modules issueshttps://gitlab.dune-project.org/groups/core/-/issues2017-04-07T14:32:03Zhttps://gitlab.dune-project.org/core/dune-grid/-/issues/57Remove AlbertaGridEntityPointer2017-04-07T14:32:03ZOliver Sanderoliver.sander@tu-dresden.deRemove AlbertaGridEntityPointerIt is obsolete.It is obsolete.https://gitlab.dune-project.org/core/dune-grid/-/issues/56grid/io/file/dgfparser/dgfparser.cc does not compile with gcc 4.9.12017-04-07T14:32:03ZFelix Schindlergrid/io/file/dgfparser/dgfparser.cc does not compile with gcc 4.9.1Dear all,
I am trying to build the core modules, releses/2.5 branch with gcc 4.9.1 and get the error below. Please let me know if you need any further information:
```
--- calling make for dune-grid ---
cmake --build . --
Scanning dep...Dear all,
I am trying to build the core modules, releses/2.5 branch with gcc 4.9.1 and get the error below. Please let me know if you need any further information:
```
--- calling make for dune-grid ---
cmake --build . --
Scanning dependencies of target dunegrid
[ 5%] Building CXX object lib/CMakeFiles/dunegrid.dir/__/dune/grid/onedgrid/onedgrid.cc.o
[ 11%] Building CXX object lib/CMakeFiles/dunegrid.dir/__/dune/grid/onedgrid/onedgridfactory.cc.o
[ 17%] Building CXX object lib/CMakeFiles/dunegrid.dir/__/dune/grid/onedgrid/nulliteratorfactory.cc.o
[ 17%] Building CXX object lib/CMakeFiles/dunegrid.dir/__/dune/grid/io/file/dgfparser/dgfparser.cc.o
In file included from BASEDIR/dune-common/dune/common/streamoperators.hh:14:0,
from BASEDIR/dune-common/dune/common/array.hh:13,
from BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:14,
from BASEDIR/dune-grid/dune/grid/io/file/dgfparser/dgfparser.cc:12:
BASEDIR/dune-common/dune/common/hybridutilities.hh: In instantiation of ‘constexpr decltype(auto) Dune::Hybrid::Impl::elementAt(Container&&, Index&&, Dune::PriorityTag<0ul>) [with Container = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul>&; Index = std::integral_constant<long unsigned int, 0ul>]’:
BASEDIR/dune-common/dune/common/hybridutilities.hh:140:95: required from ‘constexpr decltype(auto) Dune::Hybrid::elementAt(Container&&, Index&&) [with Container = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul>&; Index = std::integral_constant<long unsigned int, 0ul>]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:95: required from ‘constexpr void Dune::Hybrid::Impl::forEachIndex(Range&&, F&&, std::integer_sequence<Index, i ...>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 3>&, std::tuple<std::vector<Dune::AffineGeometry<double, 3, 3>, std::allocator<Dune::AffineGeometry<double, 3, 3> > >, std::vector<Dune::AffineGeometry<double, 2, 3>, std::allocator<Dune::AffineGeometry<double, 2, 3> > >, std::vector<Dune::AffineGeometry<double, 1, 3>, std::allocator<Dune::AffineGeometry<double, 1, 3> > >, std::vector<Dune::AffineGeometry<double, 0, 3>, std::allocator<Dune::AffineGeometry<double, 0, 3> > > >&}; Operation = Dune::ReferenceElement<double, 3>::CreateGeometries; int first = 0; int last = 3]::<lambda(auto:11)>; Index = long unsigned int; Index ...i = 0ul, 1ul, 2ul, 3ul]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:278:73: required from ‘constexpr void Dune::Hybrid::Impl::forEach(Range&&, F&&, Dune::PriorityTag<1ul>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 3>&, std::tuple<std::vector<Dune::AffineGeometry<double, 3, 3>, std::allocator<Dune::AffineGeometry<double, 3, 3> > >, std::vector<Dune::AffineGeometry<double, 2, 3>, std::allocator<Dune::AffineGeometry<double, 2, 3> > >, std::vector<Dune::AffineGeometry<double, 1, 3>, std::allocator<Dune::AffineGeometry<double, 1, 3> > >, std::vector<Dune::AffineGeometry<double, 0, 3>, std::allocator<Dune::AffineGeometry<double, 0, 3> > > >&}; Operation = Dune::ReferenceElement<double, 3>::CreateGeometries; int first = 0; int last = 3]::<lambda(auto:11)>; typename std::enable_if<Dune::IsIntegralConstant<decltype (Dune::Hybrid::size(declval<Range>()))>::value, int>::type <anonymous> = 0]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:316:82: required from ‘constexpr void Dune::Hybrid::forEach(Range&&, F&&) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 3>&, std::tuple<std::vector<Dune::AffineGeometry<double, 3, 3>, std::allocator<Dune::AffineGeometry<double, 3, 3> > >, std::vector<Dune::AffineGeometry<double, 2, 3>, std::allocator<Dune::AffineGeometry<double, 2, 3> > >, std::vector<Dune::AffineGeometry<double, 1, 3>, std::allocator<Dune::AffineGeometry<double, 1, 3> > >, std::vector<Dune::AffineGeometry<double, 0, 3>, std::allocator<Dune::AffineGeometry<double, 0, 3> > > >&}; Operation = Dune::ReferenceElement<double, 3>::CreateGeometries; int first = 0; int last = 3]::<lambda(auto:11)>]’
BASEDIR/dune-common/dune/common/forloop.hh:74:57: required from ‘static void Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 3>&, std::tuple<std::vector<Dune::AffineGeometry<double, 3, 3>, std::allocator<Dune::AffineGeometry<double, 3, 3> > >, std::vector<Dune::AffineGeometry<double, 2, 3>, std::allocator<Dune::AffineGeometry<double, 2, 3> > >, std::vector<Dune::AffineGeometry<double, 1, 3>, std::allocator<Dune::AffineGeometry<double, 1, 3> > >, std::vector<Dune::AffineGeometry<double, 0, 3>, std::allocator<Dune::AffineGeometry<double, 0, 3> > > >&}; Operation = Dune::ReferenceElement<double, 3>::CreateGeometries; int first = 0; int last = 3]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:548:76: required from ‘void Dune::ReferenceElement<ctype, dim>::initialize(unsigned int) [with ctype = double; int dim = 3]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:699:9: required from ‘Dune::ReferenceElementContainer<ctype, dim>::ReferenceElementContainer() [with ctype = double; int dim = 3]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:780:54: required from ‘static const Dune::ReferenceElementContainer<ctype, dim>& Dune::ReferenceElements<ctype, dim>::container() [with ctype = double; int dim = 3]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:765:24: required from ‘static const Dune::ReferenceElement<ctype, dim>& Dune::ReferenceElements<ctype, dim>::simplex() [with ctype = double; int dim = 3]’
BASEDIR/dune-grid/dune/grid/io/file/dgfparser/dgfparser.cc:934:43: required from here
BASEDIR/dune-common/dune/common/hybridutilities.hh:110:13: error: no match for ‘operator[]’ (operand types are ‘Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul>’ and ‘std::integral_constant<long unsigned int, 0ul>’)
return c[i];
^
BASEDIR/dune-common/dune/common/hybridutilities.hh: In instantiation of ‘constexpr void Dune::Hybrid::Impl::forEachIndex(Range&&, F&&, std::integer_sequence<Index, i ...>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 3>&, std::tuple<std::vector<Dune::AffineGeometry<double, 3, 3>, std::allocator<Dune::AffineGeometry<double, 3, 3> > >, std::vector<Dune::AffineGeometry<double, 2, 3>, std::allocator<Dune::AffineGeometry<double, 2, 3> > >, std::vector<Dune::AffineGeometry<double, 1, 3>, std::allocator<Dune::AffineGeometry<double, 1, 3> > >, std::vector<Dune::AffineGeometry<double, 0, 3>, std::allocator<Dune::AffineGeometry<double, 0, 3> > > >&}; Operation = Dune::ReferenceElement<double, 3>::CreateGeometries; int first = 0; int last = 3]::<lambda(auto:11)>; Index = long unsigned int; Index ...i = 0ul, 1ul, 2ul, 3ul]’:
BASEDIR/dune-common/dune/common/hybridutilities.hh:278:73: required from ‘constexpr void Dune::Hybrid::Impl::forEach(Range&&, F&&, Dune::PriorityTag<1ul>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 3>&, std::tuple<std::vector<Dune::AffineGeometry<double, 3, 3>, std::allocator<Dune::AffineGeometry<double, 3, 3> > >, std::vector<Dune::AffineGeometry<double, 2, 3>, std::allocator<Dune::AffineGeometry<double, 2, 3> > >, std::vector<Dune::AffineGeometry<double, 1, 3>, std::allocator<Dune::AffineGeometry<double, 1, 3> > >, std::vector<Dune::AffineGeometry<double, 0, 3>, std::allocator<Dune::AffineGeometry<double, 0, 3> > > >&}; Operation = Dune::ReferenceElement<double, 3>::CreateGeometries; int first = 0; int last = 3]::<lambda(auto:11)>; typename std::enable_if<Dune::IsIntegralConstant<decltype (Dune::Hybrid::size(declval<Range>()))>::value, int>::type <anonymous> = 0]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:316:82: required from ‘constexpr void Dune::Hybrid::forEach(Range&&, F&&) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 3>&, std::tuple<std::vector<Dune::AffineGeometry<double, 3, 3>, std::allocator<Dune::AffineGeometry<double, 3, 3> > >, std::vector<Dune::AffineGeometry<double, 2, 3>, std::allocator<Dune::AffineGeometry<double, 2, 3> > >, std::vector<Dune::AffineGeometry<double, 1, 3>, std::allocator<Dune::AffineGeometry<double, 1, 3> > >, std::vector<Dune::AffineGeometry<double, 0, 3>, std::allocator<Dune::AffineGeometry<double, 0, 3> > > >&}; Operation = Dune::ReferenceElement<double, 3>::CreateGeometries; int first = 0; int last = 3]::<lambda(auto:11)>]’
BASEDIR/dune-common/dune/common/forloop.hh:74:57: required from ‘static void Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 3>&, std::tuple<std::vector<Dune::AffineGeometry<double, 3, 3>, std::allocator<Dune::AffineGeometry<double, 3, 3> > >, std::vector<Dune::AffineGeometry<double, 2, 3>, std::allocator<Dune::AffineGeometry<double, 2, 3> > >, std::vector<Dune::AffineGeometry<double, 1, 3>, std::allocator<Dune::AffineGeometry<double, 1, 3> > >, std::vector<Dune::AffineGeometry<double, 0, 3>, std::allocator<Dune::AffineGeometry<double, 0, 3> > > >&}; Operation = Dune::ReferenceElement<double, 3>::CreateGeometries; int first = 0; int last = 3]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:548:76: required from ‘void Dune::ReferenceElement<ctype, dim>::initialize(unsigned int) [with ctype = double; int dim = 3]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:699:9: required from ‘Dune::ReferenceElementContainer<ctype, dim>::ReferenceElementContainer() [with ctype = double; int dim = 3]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:780:54: required from ‘static const Dune::ReferenceElementContainer<ctype, dim>& Dune::ReferenceElements<ctype, dim>::container() [with ctype = double; int dim = 3]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:765:24: required from ‘static const Dune::ReferenceElement<ctype, dim>& Dune::ReferenceElements<ctype, dim>::simplex() [with ctype = double; int dim = 3]’
BASEDIR/dune-grid/dune/grid/io/file/dgfparser/dgfparser.cc:934:43: required from here
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:96: error: invalid use of void expression
evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
^
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:105: error: no matching function for call to ‘evaluateFoldExpression(<brace-enclosed initializer list>)’
evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
^
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:105: note: candidate is:
BASEDIR/dune-common/dune/common/hybridutilities.hh:256:8: note: template<class T> void Dune::Hybrid::Impl::evaluateFoldExpression(std::initializer_list<_Tp>&&)
void evaluateFoldExpression(std::initializer_list<T>&&)
^
BASEDIR/dune-common/dune/common/hybridutilities.hh:256:8: note: template argument deduction/substitution failed:
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:105: note: cannot convert ‘{<expression error>}’ (type ‘<brace-enclosed initializer list>’) to type ‘std::initializer_list<int>&&’
evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
^
BASEDIR/dune-common/dune/common/hybridutilities.hh: In instantiation of ‘constexpr decltype(auto) Dune::Hybrid::Impl::elementAt(Container&&, Index&&, Dune::PriorityTag<0ul>) [with Container = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul>&; Index = std::integral_constant<long unsigned int, 0ul>]’:
BASEDIR/dune-common/dune/common/hybridutilities.hh:140:95: required from ‘constexpr decltype(auto) Dune::Hybrid::elementAt(Container&&, Index&&) [with Container = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul>&; Index = std::integral_constant<long unsigned int, 0ul>]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:95: required from ‘constexpr void Dune::Hybrid::Impl::forEachIndex(Range&&, F&&, std::integer_sequence<Index, i ...>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 2>&, std::tuple<std::vector<Dune::AffineGeometry<double, 2, 2>, std::allocator<Dune::AffineGeometry<double, 2, 2> > >, std::vector<Dune::AffineGeometry<double, 1, 2>, std::allocator<Dune::AffineGeometry<double, 1, 2> > >, std::vector<Dune::AffineGeometry<double, 0, 2>, std::allocator<Dune::AffineGeometry<double, 0, 2> > > >&}; Operation = Dune::ReferenceElement<double, 2>::CreateGeometries; int first = 0; int last = 2]::<lambda(auto:11)>; Index = long unsigned int; Index ...i = 0ul, 1ul, 2ul]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:278:73: required from ‘constexpr void Dune::Hybrid::Impl::forEach(Range&&, F&&, Dune::PriorityTag<1ul>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 2>&, std::tuple<std::vector<Dune::AffineGeometry<double, 2, 2>, std::allocator<Dune::AffineGeometry<double, 2, 2> > >, std::vector<Dune::AffineGeometry<double, 1, 2>, std::allocator<Dune::AffineGeometry<double, 1, 2> > >, std::vector<Dune::AffineGeometry<double, 0, 2>, std::allocator<Dune::AffineGeometry<double, 0, 2> > > >&}; Operation = Dune::ReferenceElement<double, 2>::CreateGeometries; int first = 0; int last = 2]::<lambda(auto:11)>; typename std::enable_if<Dune::IsIntegralConstant<decltype (Dune::Hybrid::size(declval<Range>()))>::value, int>::type <anonymous> = 0]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:316:82: required from ‘constexpr void Dune::Hybrid::forEach(Range&&, F&&) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 2>&, std::tuple<std::vector<Dune::AffineGeometry<double, 2, 2>, std::allocator<Dune::AffineGeometry<double, 2, 2> > >, std::vector<Dune::AffineGeometry<double, 1, 2>, std::allocator<Dune::AffineGeometry<double, 1, 2> > >, std::vector<Dune::AffineGeometry<double, 0, 2>, std::allocator<Dune::AffineGeometry<double, 0, 2> > > >&}; Operation = Dune::ReferenceElement<double, 2>::CreateGeometries; int first = 0; int last = 2]::<lambda(auto:11)>]’
BASEDIR/dune-common/dune/common/forloop.hh:74:57: required from ‘static void Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 2>&, std::tuple<std::vector<Dune::AffineGeometry<double, 2, 2>, std::allocator<Dune::AffineGeometry<double, 2, 2> > >, std::vector<Dune::AffineGeometry<double, 1, 2>, std::allocator<Dune::AffineGeometry<double, 1, 2> > >, std::vector<Dune::AffineGeometry<double, 0, 2>, std::allocator<Dune::AffineGeometry<double, 0, 2> > > >&}; Operation = Dune::ReferenceElement<double, 2>::CreateGeometries; int first = 0; int last = 2]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:548:76: required from ‘void Dune::ReferenceElement<ctype, dim>::initialize(unsigned int) [with ctype = double; int dim = 2]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:699:9: required from ‘Dune::ReferenceElementContainer<ctype, dim>::ReferenceElementContainer() [with ctype = double; int dim = 2]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:780:54: required from ‘static const Dune::ReferenceElementContainer<ctype, dim>& Dune::ReferenceElements<ctype, dim>::container() [with ctype = double; int dim = 2]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:765:24: required from ‘static const Dune::ReferenceElement<ctype, dim>& Dune::ReferenceElements<ctype, dim>::simplex() [with ctype = double; int dim = 2]’
BASEDIR/dune-grid/dune/grid/io/file/dgfparser/entitykey_inline.hh:135:51: required from ‘static Dune::DGFEntityKey<unsigned int> Dune::ElementFaceUtil::generateSimplexFace(const std::vector<unsigned int>&, int) [with int dim = 2]’
BASEDIR/dune-grid/dune/grid/io/file/dgfparser/entitykey_inline.hh:155:53: required from here
BASEDIR/dune-common/dune/common/hybridutilities.hh:110:13: error: no match for ‘operator[]’ (operand types are ‘Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul>’ and ‘std::integral_constant<long unsigned int, 0ul>’)
return c[i];
^
BASEDIR/dune-common/dune/common/hybridutilities.hh: In instantiation of ‘constexpr void Dune::Hybrid::Impl::forEachIndex(Range&&, F&&, std::integer_sequence<Index, i ...>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 2>&, std::tuple<std::vector<Dune::AffineGeometry<double, 2, 2>, std::allocator<Dune::AffineGeometry<double, 2, 2> > >, std::vector<Dune::AffineGeometry<double, 1, 2>, std::allocator<Dune::AffineGeometry<double, 1, 2> > >, std::vector<Dune::AffineGeometry<double, 0, 2>, std::allocator<Dune::AffineGeometry<double, 0, 2> > > >&}; Operation = Dune::ReferenceElement<double, 2>::CreateGeometries; int first = 0; int last = 2]::<lambda(auto:11)>; Index = long unsigned int; Index ...i = 0ul, 1ul, 2ul]’:
BASEDIR/dune-common/dune/common/hybridutilities.hh:278:73: required from ‘constexpr void Dune::Hybrid::Impl::forEach(Range&&, F&&, Dune::PriorityTag<1ul>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 2>&, std::tuple<std::vector<Dune::AffineGeometry<double, 2, 2>, std::allocator<Dune::AffineGeometry<double, 2, 2> > >, std::vector<Dune::AffineGeometry<double, 1, 2>, std::allocator<Dune::AffineGeometry<double, 1, 2> > >, std::vector<Dune::AffineGeometry<double, 0, 2>, std::allocator<Dune::AffineGeometry<double, 0, 2> > > >&}; Operation = Dune::ReferenceElement<double, 2>::CreateGeometries; int first = 0; int last = 2]::<lambda(auto:11)>; typename std::enable_if<Dune::IsIntegralConstant<decltype (Dune::Hybrid::size(declval<Range>()))>::value, int>::type <anonymous> = 0]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:316:82: required from ‘constexpr void Dune::Hybrid::forEach(Range&&, F&&) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 2>&, std::tuple<std::vector<Dune::AffineGeometry<double, 2, 2>, std::allocator<Dune::AffineGeometry<double, 2, 2> > >, std::vector<Dune::AffineGeometry<double, 1, 2>, std::allocator<Dune::AffineGeometry<double, 1, 2> > >, std::vector<Dune::AffineGeometry<double, 0, 2>, std::allocator<Dune::AffineGeometry<double, 0, 2> > > >&}; Operation = Dune::ReferenceElement<double, 2>::CreateGeometries; int first = 0; int last = 2]::<lambda(auto:11)>]’
BASEDIR/dune-common/dune/common/forloop.hh:74:57: required from ‘static void Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 2>&, std::tuple<std::vector<Dune::AffineGeometry<double, 2, 2>, std::allocator<Dune::AffineGeometry<double, 2, 2> > >, std::vector<Dune::AffineGeometry<double, 1, 2>, std::allocator<Dune::AffineGeometry<double, 1, 2> > >, std::vector<Dune::AffineGeometry<double, 0, 2>, std::allocator<Dune::AffineGeometry<double, 0, 2> > > >&}; Operation = Dune::ReferenceElement<double, 2>::CreateGeometries; int first = 0; int last = 2]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:548:76: required from ‘void Dune::ReferenceElement<ctype, dim>::initialize(unsigned int) [with ctype = double; int dim = 2]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:699:9: required from ‘Dune::ReferenceElementContainer<ctype, dim>::ReferenceElementContainer() [with ctype = double; int dim = 2]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:780:54: required from ‘static const Dune::ReferenceElementContainer<ctype, dim>& Dune::ReferenceElements<ctype, dim>::container() [with ctype = double; int dim = 2]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:765:24: required from ‘static const Dune::ReferenceElement<ctype, dim>& Dune::ReferenceElements<ctype, dim>::simplex() [with ctype = double; int dim = 2]’
BASEDIR/dune-grid/dune/gid/io/file/dgfparser/entitykey_inline.hh:135:51: required from ‘static Dune::DGFEntityKey<unsigned int> Dune::ElementFaceUtil::generateSimplexFace(const std::vector<unsigned int>&, int) [with int dim = 2]’
BASEDIR/dune-grid/dune/grid/io/file/dgfparser/entitykey_inline.hh:155:53: required from here
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:96: error: invalid use of void expression
evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
^
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:105: error: no matching function for call to ‘evaluateFoldExpression(<brace-enclosed initializer list>)’
evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
^
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:105: note: candidate is:
BASEDIR/dune-common/dune/common/hybridutilities.hh:256:8: note: template<class T> void Dune::Hybrid::Impl::evaluateFoldExpression(std::initializer_list<_Tp>&&)
void evaluateFoldExpression(std::initializer_list<T>&&)
^
BASEDIR/dune-common/dune/common/hybridutilities.hh:256:8: note: template argument deduction/substitution failed:
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:105: note: cannot convert ‘{<expression error>}’ (type ‘<brace-enclosed initializer list>’) to type ‘std::initializer_list<int>&&’
evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
^
BASEDIR/dune-common/dune/common/hybridutilities.hh: In instantiation of ‘constexpr decltype(auto) Dune::Hybrid::Impl::elementAt(Container&&, Index&&, Dune::PriorityTag<0ul>) [with Container = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul>&; Index = std::integral_constant<long unsigned int, 0ul>]’:
BASEDIR/dune-common/dune/common/hybridutilities.hh:140:95: required from ‘constexpr decltype(auto) Dune::Hybrid::elementAt(Container&&, Index&&) [with Container = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul>&; Index = std::integral_constant<long unsigned int, 0ul>]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:95: required from ‘constexpr void Dune::Hybrid::Impl::forEachIndex(Range&&, F&&, std::integer_sequence<Index, i ...>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 1>&, std::tuple<std::vector<Dune::AffineGeometry<double, 1, 1>, std::allocator<Dune::AffineGeometry<double, 1, 1> > >, std::vector<Dune::AffineGeometry<double, 0, 1>, std::allocator<Dune::AffineGeometry<double, 0, 1> > > >&}; Operation = Dune::ReferenceElement<double, 1>::CreateGeometries; int first = 0; int last = 1]::<lambda(auto:11)>; Index = long unsigned int; Index ...i = 0ul, 1ul]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:278:73: required from ‘constexpr void Dune::Hybrid::Impl::forEach(Range&&, F&&, Dune::PriorityTag<1ul>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 1>&, std::tuple<std::vector<Dune::AffineGeometry<double, 1, 1>, std::allocator<Dune::AffineGeometry<double, 1, 1> > >, std::vector<Dune::AffineGeometry<double, 0, 1>, std::allocator<Dune::AffineGeometry<double, 0, 1> > > >&}; Operation = Dune::ReferenceElement<double, 1>::CreateGeometries; int first = 0; int last = 1]::<lambda(auto:11)>; typename std::enable_if<Dune::IsIntegralConstant<decltype (Dune::Hybrid::size(declval<Range>()))>::value, int>::type <anonymous> = 0]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:316:82: required from ‘constexpr void Dune::Hybrid::forEach(Range&&, F&&) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 1>&, std::tuple<std::vector<Dune::AffineGeometry<double, 1, 1>, std::allocator<Dune::AffineGeometry<double, 1, 1> > >, std::vector<Dune::AffineGeometry<double, 0, 1>, std::allocator<Dune::AffineGeometry<double, 0, 1> > > >&}; Operation = Dune::ReferenceElement<double, 1>::CreateGeometries; int first = 0; int last = 1]::<lambda(auto:11)>]’
BASEDIR/dune-common/dune/common/forloop.hh:74:57: required from ‘static void Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 1>&, std::tuple<std::vector<Dune::AffineGeometry<double, 1, 1>, std::allocator<Dune::AffineGeometry<double, 1, 1> > >, std::vector<Dune::AffineGeometry<double, 0, 1>, std::allocator<Dune::AffineGeometry<double, 0, 1> > > >&}; Operation = Dune::ReferenceElement<double, 1>::CreateGeometries; int first = 0; int last = 1]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:548:76: required from ‘void Dune::ReferenceElement<ctype, dim>::initialize(unsigned int) [with ctype = double; int dim = 1]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:699:9: required from ‘Dune::ReferenceElementContainer<ctype, dim>::ReferenceElementContainer() [with ctype = double; int dim = 1]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:780:54: required from ‘static const Dune::ReferenceElementContainer<ctype, dim>& Dune::ReferenceElements<ctype, dim>::container() [with ctype = double; int dim = 1]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:765:24: required from ‘static const Dune::ReferenceElement<ctype, dim>& Dune::ReferenceElements<ctype, dim>::simplex() [with ctype = double; int dim = 1]’
BASEDIR/dune-grid/dune/grid/io/file/dgfparser/entitykey_inline.hh:135:51: required from ‘static Dune::DGFEntityKey<unsigned int> Dune::ElementFaceUtil::generateSimplexFace(const std::vector<unsigned int>&, int) [with int dim = 1]’
BASEDIR/dune-grid/dune/grid/io/file/dgfparser/entitykey_inline.hh:157:53: required from here
BASEDIR/dune-common/dune/common/hybridutilities.hh:110:13: error: no match for ‘operator[]’ (operand types are ‘Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul>’ and ‘std::integral_constant<long unsigned int, 0ul>’)
return c[i];
^
BASEDIR/dune-common/dune/common/hybridutilities.hh: In instantiation of ‘constexpr void Dune::Hybrid::Impl::forEachIndex(Range&&, F&&, std::integer_sequence<Index, i ...>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 1>&, std::tuple<std::vector<Dune::AffineGeometry<double, 1, 1>, std::allocator<Dune::AffineGeometry<double, 1, 1> > >, std::vector<Dune::AffineGeometry<double, 0, 1>, std::allocator<Dune::AffineGeometry<double, 0, 1> > > >&}; Operation = Dune::ReferenceElement<double, 1>::CreateGeometries; int first = 0; int last = 1]::<lambda(auto:11)>; Index = long unsigned int; Index ...i = 0ul, 1ul]’:
BASEDIR/dune-common/dune/common/hybridutilities.hh:278:73: required from ‘constexpr void Dune::Hybrid::Impl::forEach(Range&&, F&&, Dune::PriorityTag<1ul>) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 1>&, std::tuple<std::vector<Dune::AffineGeometry<double, 1, 1>, std::allocator<Dune::AffineGeometry<double, 1, 1> > >, std::vector<Dune::AffineGeometry<double, 0, 1>, std::allocator<Dune::AffineGeometry<double, 0, 1> > > >&}; Operation = Dune::ReferenceElement<double, 1>::CreateGeometries; int first = 0; int last = 1]::<lambda(auto:11)>; typename std::enable_if<Dune::IsIntegralConstant<decltype (Dune::Hybrid::size(declval<Range>()))>::value, int>::type <anonymous> = 0]’
BASEDIR/dune-common/dune/common/hybridutilities.hh:316:82: required from ‘constexpr void Dune::Hybrid::forEach(Range&&, F&&) [with Range = Dune::Std::integer_sequence<long unsigned int, 0ul, 1ul>; F = Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 1>&, std::tuple<std::vector<Dune::AffineGeometry<double, 1, 1>, std::allocator<Dune::AffineGeometry<double, 1, 1> > >, std::vector<Dune::AffineGeometry<double, 0, 1>, std::allocator<Dune::AffineGeometry<double, 0, 1> > > >&}; Operation = Dune::ReferenceElement<double, 1>::CreateGeometries; int first = 0; int last = 1]::<lambda(auto:11)>]’
BASEDIR/dune-common/dune/common/forloop.hh:74:57: required from ‘static void Dune::ForLoop<Operation, first, last>::apply(Args&& ...) [with Args = {Dune::ReferenceElement<double, 1>&, std::tuple<std::vector<Dune::AffineGeometry<double, 1, 1>, std::allocator<Dune::AffineGeometry<double, 1, 1> > >, std::vector<Dune::AffineGeometry<double, 0, 1>, std::allocator<Dune::AffineGeometry<double, 0, 1> > > >&}; Operation = Dune::ReferenceElement<double, 1>::CreateGeometries; int first = 0; int last = 1]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:548:76: required from ‘void Dune::ReferenceElement<ctype, dim>::initialize(unsigned int) [with ctype = double; int dim = 1]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:699:9: required from ‘Dune::ReferenceElementContainer<ctype, dim>::ReferenceElementContainer() [with ctype = double; int dim = 1]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:780:54: required from ‘static const Dune::ReferenceElementContainer<ctype, dim>& Dune::ReferenceElements<ctype, dim>::container() [with ctype = double; int dim = 1]’
BASEDIR/dune-geometry/dune/geometry/referenceelements.hh:765:24: required from ‘static const Dune::ReferenceElement<ctype, dim>& Dune::ReferenceElements<ctype, dim>::simplex() [with ctype = double; int dim = 1]’
BASEDIR/dune-grid/dune/grid/io/file/dgfparser/entitykey_inline.hh:135:51: required from ‘static Dune::DGFEntityKey<unsigned int> Dune::ElementFaceUtil::generateSimplexFace(const std::vector<unsigned int>&, int) [with int dim = 1]’
BASEDIR/dune-grid/dune/grid/io/file/dgfparser/entitykey_inline.hh:157:53: required from here
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:96: error: invalid use of void expression
evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
^
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:105: error: no matching function for call to ‘evaluateFoldExpression(<brace-enclosed initializer list>)’
evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
^
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:105: note: candidate is:
BASEDIR/dune-common/dune/common/hybridutilities.hh:256:8: note: template<class T> void Dune::Hybrid::Impl::evaluateFoldExpression(std::initializer_list<_Tp>&&)
void evaluateFoldExpression(std::initializer_list<T>&&)
^
BASEDIR/dune-common/dune/common/hybridutilities.hh:256:8: note: template argument deduction/substitution failed:
BASEDIR/dune-common/dune/common/hybridutilities.hh:262:105: note: cannot convert ‘{<expression error>}’ (type ‘<brace-enclosed initializer list>’) to type ‘std::initializer_list<int>&&’
evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
^
gmake[2]: *** [lib/CMakeFiles/dunegrid.dir/__/dune/grid/io/file/dgfparser/dgfparser.cc.o] Error 1
gmake[1]: *** [lib/CMakeFiles/dunegrid.dir/all] Error 2
gmake: *** [all] Error 2
--- Failed to build dune-grid ---
Terminating dunecontrol due to previous errors!
```https://gitlab.dune-project.org/core/dune-grid/-/issues/54gmshtest-uggrid: fails since !145 was merged2017-04-07T14:32:03ZAnsgar Burchardtansgar.burchardt@tu-dresden.degmshtest-uggrid: fails since !145 was mergedThe gmshtest-uggrid test fails with a segmentation fault since !145 was merged. Reverting the merge makes the test pass again.The gmshtest-uggrid test fails with a segmentation fault since !145 was merged. Reverting the merge makes the test pass again.DUNE 2.6.0Ansgar Burchardtansgar.burchardt@tu-dresden.deAnsgar Burchardtansgar.burchardt@tu-dresden.dehttps://gitlab.dune-project.org/core/dune-grid/-/issues/53UGGrid: Wrong geometry for nonconforming intersections2017-04-07T14:32:03ZLasse Hinrichsen-Bischofflh1887@mi.fu-berlin.deUGGrid: Wrong geometry for nonconforming intersectionsIf I refine a cube UG grid locally in an nonconforming way (i.e. `ClosureType::NONE`), I observed that after some refinements the intersection geometry doesn't seem to work properly in all cases. More specifically, it seems to be larger ...If I refine a cube UG grid locally in an nonconforming way (i.e. `ClosureType::NONE`), I observed that after some refinements the intersection geometry doesn't seem to work properly in all cases. More specifically, it seems to be larger than the smaller of two edges in some cases, which in my understanding should not happen. In contrast, e.g. ALUGrid doesn't show this behaviour.
I can not tell if the problem is in the wrapper or in UGGrid itself.
I'll attach a test case that triggers the problem.[dune-uggrid-bug.cc](/uploads/3f686eae26404ca2fb783728f2c68cc7/dune-uggrid-bug.cc)DUNE 2.6.0Ansgar Burchardtansgar.burchardt@tu-dresden.deAnsgar Burchardtansgar.burchardt@tu-dresden.dehttps://gitlab.dune-project.org/core/dune-grid/-/issues/51External grid modules in the DUNE module tree.2017-04-07T14:32:03ZRobert KExternal grid modules in the DUNE module tree.We have a number of external grid modules and the way they are inserted in the DUNE module tree differs, e.g. some like dune-alugrid or dune-spgrid depend on dune-grid and are then suggested by other modules and others, such as dune-uggr...We have a number of external grid modules and the way they are inserted in the DUNE module tree differs, e.g. some like dune-alugrid or dune-spgrid depend on dune-grid and are then suggested by other modules and others, such as dune-uggrid, are a suggestion to dune-grid and thereby explicitly assuming the existence of dune-grid. While the first approach is clear in terms of the dependency of the grid implementations on the dune-grid module the second approach somehow has the hen-egg problem but avoids the necessity to add suggestions in various downstream modules.
Question: How should we deal with this in the future?https://gitlab.dune-project.org/core/dune-grid/-/issues/49Remove the file entitypointer.hh2017-04-07T14:32:03ZOliver Sanderoliver.sander@tu-dresden.deRemove the file entitypointer.hhThe EntityPointer class has been removed from the grid interface and from most implementations. However, the file entitypointer.hh is still there, and needs to be removed.The EntityPointer class has been removed from the grid interface and from most implementations. However, the file entitypointer.hh is still there, and needs to be removed.https://gitlab.dune-project.org/core/dune-grid/-/issues/44CI on Ubuntu fails with `API error (404): No such container` after merging !1302017-04-07T14:32:03ZJö Fahlkejorrit@jorrit.deCI on Ubuntu fails with `API error (404): No such container` after merging !130See https://gitlab.dune-project.org/core/dune-grid/builds/4219 and https://gitlab.dune-project.org/core/dune-grid/builds/4218See https://gitlab.dune-project.org/core/dune-grid/builds/4219 and https://gitlab.dune-project.org/core/dune-grid/builds/4218https://gitlab.dune-project.org/core/dune-grid/-/issues/43Deprecation of ForLoop causes deprecation warnings in grid tests2017-04-07T14:32:03ZMartin NolteDeprecation of ForLoop causes deprecation warnings in grid testsThe grid tests still make use of the (now deprecated) ForLoop. This causes annoying deprecation warnings. Example:
```
Scanning dependencies of target test-spgrid-2
[ 50%] Building CXX object dune/grid/test/CMakeFiles/test-spgrid-2.di...The grid tests still make use of the (now deprecated) ForLoop. This causes annoying deprecation warnings. Example:
```
Scanning dependencies of target test-spgrid-2
[ 50%] Building CXX object dune/grid/test/CMakeFiles/test-spgrid-2.dir/test-spgrid.cc.o
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainermap.hh:10:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainer.hh:8,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid/persistentcontainer.hh:6,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid.hh:7,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:12:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:4:2: warning: #warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh. [-Wcpp]
#warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh.
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkgeometry.hh:9:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/gridcheck.hh:24,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:15:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:4:2: warning: #warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh. [-Wcpp]
#warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh.
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkentityseed.hh:11:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/gridcheck.hh:25,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:15:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:4:2: warning: #warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh. [-Wcpp]
#warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh.
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkiterators.hh:8:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkintersectionit.hh:14,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:16:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:4:2: warning: #warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh. [-Wcpp]
#warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh.
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkpartition.hh:13:0,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:19:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:4:2: warning: #warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh. [-Wcpp]
#warning The header dune/common/forloop.hh is deprecated. Use directly "Hybrid::forEach" and include dune/common/hybridutilities.hh.
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainer.hh:8:0,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid/persistentcontainer.hh:6,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid.hh:7,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:12:
/home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainermap.hh: In member function ‘void Dune::PersistentContainerMap<G, IdSet, Map>::resize(const Value&)’:
/home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainermap.hh:88:14: warning: ‘template<template<int <anonymous> > class Operation, int first, int last> struct Dune::ForLoop’ is deprecated [-Wdeprecated-declarations]
return ForLoop< Resize, 0, Grid::dimension >::apply( *this, value );
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainermap.hh:10:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainer.hh:8,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid/persistentcontainer.hh:6,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid.hh:7,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:12:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:19:62: note: declared here
struct DUNE_DEPRECATED_MSG("Use Hybrid::forEach instead!") ForLoop
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/gridcheck.hh:24:0,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:15:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkgeometry.hh: In member function ‘void Dune::GeometryChecker<Grid>::checkGeometry(const Dune::GridView<VT>&)’:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkgeometry.hh:137:11: warning: ‘template<template<int <anonymous> > class Operation, int first, int last> struct Dune::ForLoop’ is deprecated [-Wdeprecated-declarations]
ForLoop<SubEntityGeometryChecker,0,GridView<VT>::dimension>
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainermap.hh:10:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainer.hh:8,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid/persistentcontainer.hh:6,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid.hh:7,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:12:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:19:62: note: declared here
struct DUNE_DEPRECATED_MSG("Use Hybrid::forEach instead!") ForLoop
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/gridcheck.hh:25:0,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:15:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkentityseed.hh: In function ‘void Dune::checkEntitySeed(const Dune::GridView<VT>&, std::ostream&)’:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkentityseed.hh:212:5: warning: ‘template<template<int <anonymous> > class Operation, int first, int last> struct Dune::ForLoop’ is deprecated [-Wdeprecated-declarations]
ForLoop< CheckEntitySeed::IfHasEntitySeed, 0, dimension >::apply( gridView, output );
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainermap.hh:10:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainer.hh:8,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid/persistentcontainer.hh:6,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid.hh:7,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:12:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:19:62: note: declared here
struct DUNE_DEPRECATED_MSG("Use Hybrid::forEach instead!") ForLoop
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkintersectionit.hh:14:0,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:16:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkiterators.hh: In static member function ‘static void CheckIterators<GridView>::apply(const GridView&)’:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkiterators.hh:58:11: warning: ‘template<template<int <anonymous> > class Operation, int first, int last> struct Dune::ForLoop’ is deprecated [-Wdeprecated-declarations]
Dune::ForLoop< CheckCodim, 1, GridView::dimension >::apply( gridView );
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainermap.hh:10:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainer.hh:8,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid/persistentcontainer.hh:6,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid.hh:7,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:12:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:19:62: note: declared here
struct DUNE_DEPRECATED_MSG("Use Hybrid::forEach instead!") ForLoop
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:19:0:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkpartition.hh: In static member function ‘static void CheckPartitionType<GridView, pitype>::apply(const GridView&)’:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkpartition.hh:110:11: warning: ‘template<template<int <anonymous> > class Operation, int first, int last> struct Dune::ForLoop’ is deprecated [-Wdeprecated-declarations]
Dune::ForLoop< CheckCodim, 0, GridView::dimension >::apply( gridView );
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainermap.hh:10:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainer.hh:8,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid/persistentcontainer.hh:6,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid.hh:7,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:12:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:19:62: note: declared here
struct DUNE_DEPRECATED_MSG("Use Hybrid::forEach instead!") ForLoop
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:19:0:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkpartition.hh: In constructor ‘CheckPartitionDataHandle<GridView, iftype>::CheckPartitionDataHandle(const GridView&)’:
/home/nolte/numerics/master-py/dune-grid/dune/grid/test/checkpartition.hh:242:11: warning: ‘template<template<int <anonymous> > class Operation, int first, int last> struct Dune::ForLoop’ is deprecated [-Wdeprecated-declarations]
Dune::ForLoop< Contains, 0, dimension >::apply( contains_ );
^~~~~~~
In file included from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainermap.hh:10:0,
from /home/nolte/numerics/master-py/dune-grid/dune/grid/utility/persistentcontainer.hh:8,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid/persistentcontainer.hh:6,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/spgrid.hh:7,
from /home/nolte/numerics/master-py/dune-spgrid/dune/grid/test/test-spgrid.cc:12:
/home/nolte/numerics/master-py/dune-common/dune/common/forloop.hh:19:62: note: declared here
struct DUNE_DEPRECATED_MSG("Use Hybrid::forEach instead!") ForLoop
^~~~~~~
[100%] Linking CXX executable test-spgrid-2
[100%] Built target test-spgrid-2
```https://gitlab.dune-project.org/core/dune-grid/-/issues/41Version in release branches is still 3.0-git.2017-04-07T14:32:03ZRobert KVersion in release branches is still 3.0-git.The dune.module file still contains 3.0-git as version information in all core modules in the release branch. This is needs to be fixed.
I can do that but I did not want to interfere with the release managers.The dune.module file still contains 3.0-git as version information in all core modules in the release branch. This is needs to be fixed.
I can do that but I did not want to interfere with the release managers.DUNE 2.5.0Ansgar Burchardtansgar.burchardt@tu-dresden.deAnsgar Burchardtansgar.burchardt@tu-dresden.dehttps://gitlab.dune-project.org/core/dune-grid/-/issues/40How to prevent geometry checks for certain co-dimensions?2017-04-07T14:32:03ZMarkus BlattHow to prevent geometry checks for certain co-dimensions?For the cornerpoint grids we only have a geometry for the cells (full specialization for cells, empty classes for the rest). Unfortunately, the current grid test seems to test all geometries. Do we really have to implement full fake geo...For the cornerpoint grids we only have a geometry for the cells (full specialization for cells, empty classes for the rest). Unfortunately, the current grid test seems to test all geometries. Do we really have to implement full fake geometries or is there a way to tell the grid that certain geometries are not available?DUNE 2.5.0https://gitlab.dune-project.org/core/dune-grid/-/issues/39Semantics of IndexSet::subIndex still not clear2017-04-07T14:32:03ZMarkus BlattSemantics of IndexSet::subIndex still not clearI still need some enlightenment here. Now the documentation states that cc<=codim<=dimension must hold. What happens or should happen if `cc==dimension` and I asked for subindex 0 of codim=dimension? Does that really make sense?I still need some enlightenment here. Now the documentation states that cc<=codim<=dimension must hold. What happens or should happen if `cc==dimension` and I asked for subindex 0 of codim=dimension? Does that really make sense?https://gitlab.dune-project.org/core/dune-grid/-/issues/36CheckSubEntityGeometry forces grid implementors to sublass Entity2017-04-07T14:32:03ZMarkus BlattCheckSubEntityGeometry forces grid implementors to sublass EntityIs that on purpose?
Previously it was possible for grids to use their own implementation without inheriting from Dune::Entity. That seemed a lot more convenient.Is that on purpose?
Previously it was possible for grids to use their own implementation without inheriting from Dune::Entity. That seemed a lot more convenient.https://gitlab.dune-project.org/core/dune-grid/-/issues/35headercheck does not compile anymore.2017-04-07T14:32:03ZRobert Kheadercheck does not compile anymore.There have been some recent changes in dune/grid/test and dune/grid/identitygrid that make the headercheck fail.
@linus.seelinger : Please fix the test/yasp things
@oliver.sander : Please fix the identitygrid things
or use cmake macro...There have been some recent changes in dune/grid/test and dune/grid/identitygrid that make the headercheck fail.
@linus.seelinger : Please fix the test/yasp things
@oliver.sander : Please fix the identitygrid things
or use cmake macro
exclude_from_headercheck( header-name )
to remove failing headers from the list of headers to be tested.DUNE 2.5.0https://gitlab.dune-project.org/core/dune-grid/-/issues/34cmake doesn't inform whether UG is seq. or parallel2017-04-07T14:32:03ZChristian Engwercmake doesn't inform whether UG is seq. or parallelIn former times configure told us, whether UG was compiled with or without MPI. cmake doesn't tell this anymore, which is a bit annoying.In former times configure told us, whether UG was compiled with or without MPI. cmake doesn't tell this anymore, which is a bit annoying.DUNE 2.5.0https://gitlab.dune-project.org/core/dune-grid/-/issues/33test-parallel-ug-mpi-2 fails with clang2017-04-07T14:32:03ZCarsten Gräsergraeser@math.fau.detest-parallel-ug-mpi-2 fails with clangWhen compiled with clang-3.8 and libstdc++-6.2 (Ubuntu 16.10) the test `test-parallel-ug` fails for 2 mpi ranks with the error
```
--------------------------------------------------------------------------
mpirun noticed that proces...When compiled with clang-3.8 and libstdc++-6.2 (Ubuntu 16.10) the test `test-parallel-ug` fails for 2 mpi ranks with the error
```
--------------------------------------------------------------------------
mpirun noticed that process rank 1 with PID 12585 on node patton exited on signal 4 (Illegal instruction).
--------------------------------------------------------------------------
```
Notice that this is not for master but for !101 because UG does not work with clang otherwise.https://gitlab.dune-project.org/core/dune-grid/-/issues/32Some tests suddenly very slow (factor 10)2017-04-07T14:32:03ZAnsgar Burchardtansgar.burchardt@tu-dresden.deSome tests suddenly very slow (factor 10)Some tests in `dune-grid` are suddenly quite a bit slower and `tensorgridfactorytest` even exceeds its timeout.
As an example, from https://gitlab.dune-project.org/core/dune-grid/builds/2255:
```
25/36 Test #25: test-yaspgrid .............Some tests in `dune-grid` are suddenly quite a bit slower and `tensorgridfactorytest` even exceeds its timeout.
As an example, from https://gitlab.dune-project.org/core/dune-grid/builds/2255:
```
25/36 Test #25: test-yaspgrid ................................ Passed 267.93 sec
35/36 Test #35: tensorgridfactorytest ........................***Timeout 300.00 sec
```
versus a week ago from https://gitlab.dune-project.org/core/dune-grid/builds/1995:
```
25/36 Test #25: test-yaspgrid ................................ Passed 36.89 sec
35/36 Test #35: tensorgridfactorytest ........................ Passed 41.79 sec
```
These aren't the only tests that are affected.https://gitlab.dune-project.org/core/dune-grid/-/issues/30test-ug does not build with clang, due to Hybrid::ifElse weirdness2017-04-07T14:32:04ZOliver Sanderoliver.sander@tu-dresden.detest-ug does not build with clang, due to Hybrid::ifElse weirdnesstest-ug builds fine with gcc. However, if fails to build with both clang-3.6 and clang-3.8.
Here's how far I got: in uggridindexsets.hh:75 there is a code block
Hybrid::ifElse(Std::bool_constant<cc==0>(), [&](auto id)
...test-ug builds fine with gcc. However, if fails to build with both clang-3.6 and clang-3.8.
Here's how far I got: in uggridindexsets.hh:75 there is a code block
Hybrid::ifElse(Std::bool_constant<cc==0>(), [&](auto id)
{
[...]
result = UG_NS<dim>::levelIndex(UG_NS<dim>::GetEdge(UG_NS<dim>::Corner(grid_->getRealImplementation(e).getTarget(), // ***
UGGridRenumberer<dim>::verticesDUNEtoUG(a,e.type())),
UG_NS<dim>::Corner(grid_->getRealImplementation(e).getTarget(),
UGGridRenumberer<dim>::verticesDUNEtoUG(b,e.type()))));
}
});
The cc==0 condition is static, therefore this code should really only be instantiated when cc==0. However, clang barfs at the line *** when the case cc==1 is tested. I attach the error message below.
@carsten.graeser , as you wrote the Hybrid::ifElse, could you please have a look? Thanks!
In file included from /home/sander/dune/dune-grid/dune/grid/test/test-ug.cc:14:
In file included from /home/sander/dune/dune-grid/dune/grid/uggrid.hh:125:
/home/sander/dune/dune-grid/dune/grid/uggrid/uggridindexsets.hh:86:84: error: cannot initialize a parameter of
type 'const UG_NS<2>::Element *' (aka 'const UG::D2::element *') with an rvalue of type 'typename
UG_NS<2>::Entity<codim>::T *' (aka 'UG::D2::edge *')
...grid_->getRealImplementation(e).getTarget(),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sander/dune/dune-grid/dune/grid/common/indexidset.hh:178:31: note: in instantiation of function template
specialization 'Dune::UGGridLevelIndexSet<const Dune::UGGrid<2> >::subIndex<1>' requested here
return asImp().template subIndex< cc >( e, i, codim );
The error by itself is okay when cc==1, that is why a static if is used.DUNE 2.5.0https://gitlab.dune-project.org/core/dune-grid/-/issues/22In UGGrid: EntitySeed of Entities with codim=1 not possible2017-04-07T14:32:14ZSimon PraetoriusIn UGGrid: EntitySeed of Entities with codim=1 not possibleUsing UGGrid, a simple code that attempts to extract entity-seeds for sub-entities of elements, fails to compile:
```c++
UGGrid<2> grid(...); // initialize grid
for (auto const& e : edges(grid.leafGridView())) {
auto s = e.seed();
...Using UGGrid, a simple code that attempts to extract entity-seeds for sub-entities of elements, fails to compile:
```c++
UGGrid<2> grid(...); // initialize grid
for (auto const& e : edges(grid.leafGridView())) {
auto s = e.seed();
}
```
Error message (in g++-5.4):
```
uggridentity.hh:301:57: error: no matching function for call to 'EntitySeed<const UGGrid<2>, UGGridEntitySeed<1, const UGGrid<2> > >::EntitySeed(const UGEdgeEntity<2, const UGGrid<2> >&)
```
The problem lies in the class hierarchy of `UGGridEntity` and `UGEdgeEntity`, i.e.
```c++
template<class GridImp>
class UGGridEntity<1,2,GridImp> : public UGEdgeEntity<2,GridImp> {...}
```
and an `UGGridEntitySeed` that expects an `UGGridEntity`:
```c++
template<int codim, class GridImp>
class UGGridEntitySeed
{
UGGridEntitySeed(const UGGridEntity<codim, GridImp::dimension, GridImp>& entity) {...}
};
```
Maybe a solution could be to replace the class hierarchy by something like a typedef:
```c++
template<int codim, int dim, class GridImp>
class UGGridEntityDefault {...};
template<int dim, class GridImp>
class UGEdgeEntity {...};
namespace aux {
template<int codim, int dim, class GridImp>
struct UGGridEntity {
using type = UGGridEntityDefault<codim,dim,GridImp>;
};
template<class GridImp>
struct UGGridEntity<1,2,GridImp> {
using type = UGEdgeEntity<2,GridImp>;
};
} // end namespace aux
template<int codim, int dim, class GridImp>
using UGGridEntity = typename aux::UGGridEntity<codim, dim, GridImp>::type;
```
(but I do not seed possible implications of such a change)https://gitlab.dune-project.org/core/dune-grid/-/issues/20`test-parallel-ug` should be run in parallel2017-04-07T14:32:14ZAnsgar Burchardtansgar.burchardt@tu-dresden.de`test-parallel-ug` should be run in parallel`test-parallel-ug` should eventually be run in parallel, however it currently fails with more than two processes. This probably happens due to bugs in dune-uggrid.
What needs to happen before the test can run in parallel:
- [ ] Buid ...`test-parallel-ug` should eventually be run in parallel, however it currently fails with more than two processes. This probably happens due to bugs in dune-uggrid.
What needs to happen before the test can run in parallel:
- [ ] Buid dune-uggrid with MPI support (ideally by default, otherwise at least for the CI system)
- [ ] Fix the bugs in dune-uggrid that make this test fail.
- [ ] As it passes with 2 processes, `test-parallel-ug` should also be run with >2 processes, but by default we limit the number of MPI ranks to 2, see core/dune-common#38
DUNE 3.0.0Ansgar Burchardtansgar.burchardt@tu-dresden.deAnsgar Burchardtansgar.burchardt@tu-dresden.dehttps://gitlab.dune-project.org/core/dune-grid/-/issues/19`#ifdef PARMETIS_MAJOR_VERSION` used before defined2017-04-07T14:32:14ZAnsgar Burchardtansgar.burchardt@tu-dresden.de`#ifdef PARMETIS_MAJOR_VERSION` used before definedFrom `dune/grid/utility/parmetisgridpartitioner.hh`:
```c++
#if HAVE_PARMETIS
// only enable for ParMETIS because the implementation uses functions that
// are not emulated by scotch
#ifdef PARMETIS_MAJOR_VERSION
#include <pa...From `dune/grid/utility/parmetisgridpartitioner.hh`:
```c++
#if HAVE_PARMETIS
// only enable for ParMETIS because the implementation uses functions that
// are not emulated by scotch
#ifdef PARMETIS_MAJOR_VERSION
#include <parmetis.h>
```
But `PARMETIS_MAJOR_VERSION` is only provided by the `#include <parmetis.h>` (and this file is the only place in `dune-grid` where `parmetis.h` is included).
Does scotch also provide `parmetis.h`? Then the order could just be changed.