[Dune-devel] New GridView stuff fails test-geogrid
Dr. Olaf Ippisch
olaf.ippisch at iwr.uni-heidelberg.de
Mon Nov 18 08:12:35 CET 2013
Dear Martin,
I do not completely agree with your view. In my opinion it does not make
sense, that the same working code is duplicated for each grid. I thought
the basic idea of default implementations is to just reimplement the
code if the default implementation is to slow or not applicable.
Best regards,
Olaf
Am 16.11.13 15:13, schrieb Martin Nolte:
> Hi Christoph,
>
> this is really yet another unnerving bug that could have been avoided by
> proper testing.
>
> The root of the problem is that GeometryGrid and AlbertaGrid are (to my
> knowledge) the only grid implementations in dune-grid that natively
> implement their grid views. All other grids just use the "default"
> implementation, which was introduced as a compatibility measure. Even
> worse, the methods leafView and levelView on the
> GridDefaultImplementation were introduced (~5 years ago) so that grid
> implementors don't directly have to change their code. Seemingly,
> developers are lazier than I thought ;-).
>
> In order to enforce migration to the "new" 5 year-old interface, I think
> we should deprecate the methods leafView, leafGridView, levelView,
> levelGridView on the GridDefaultImplementation.
>
> Anyway, I'll have a look at the problem as soon as I find the time.
> Could you please post a proper bug report?
>
> Best,
>
> Martin
>
>
> On 11/16/2013 01:52 PM, Christoph Grüninger wrote:
>> Hi guys,
>> test-geogrid currently fails in the new LeafGridView code of
>> the GridDefaultImplementation, see compiler output below.
>>
>> Bye
>> Christoph
>>
>> In file included from test-geogrid.cc:4:
>> In file included from ../../../config.h:354:
>> In file included from ../../../dune/grid/yaspgrid.hh:18:
>> ../../../dune/grid/common/grid.hh:1058:19: error: no matching
>> conversion for
>> functional-style cast from 'const GridImp' (aka 'const
>> GeometryGrid<Dune::YaspGrid<2>,
>> Dune::IdenticalCoordFunction<double, 2>,
>> std::allocator<void>
>>> ') to 'ViewImp' (aka 'GridView<HostGridView,
>> Dune::IdenticalCoordFunction<double, 2>, std::allocator<void>,
>> (Dune::PartitionIteratorType)4U>')
>> return View(ViewImp(asImp()));
>> ^~~~~~~~~~~~~~~
>> ./gridcheck.cc:598:33: note: in instantiation of member function
>> 'Dune::GridDefaultImplementation<2, 2, double,
>> Dune::GeoGrid::GridFamily<Dune::YaspGrid<2>,
>> Dune::IdenticalCoordFunction<double, 2>, std::allocator<void>
>>> >::leafView' requested here
>> LeafGridView leafGridView = g.leafView();
>> ^
>> ./gridcheck.cc:886:3: note: in instantiation of function template
>> specialization
>> 'iteratorEquals<Dune::GeometryGrid<Dune::YaspGrid<2>,
>> Dune::IdenticalCoordFunction<double, 2>, std::allocator<void> > >'
>> requested here
>> iteratorEquals(g);
>> ^
>> test-geogrid.cc:84:3: note: in instantiation of function template
>> specialization
>> 'gridcheck<Dune::GeometryGrid<Dune::YaspGrid<2>,
>> Dune::IdenticalCoordFunction<double, 2>, std::allocator<void> > >'
>> requested here
>> gridcheck( geogrid );
>> ^
>> test-geogrid.cc:131:3: note: in instantiation of function template
>> specialization 'test<Dune::GeometryGrid<Dune::YaspGrid<2>,
>> Dune::IdenticalCoordFunction<double, 2>, std::allocator<void> > >'
>> requested here
>> test<GeometryGrid>(gridfile);
>> ^
>> ../../../dune/grid/geometrygrid/gridview.hh:27:11: note: candidate
>> constructor
>> (the implicit copy constructor) not viable: no known conversion from
>> 'const GridImp' (aka 'const GeometryGrid<Dune::YaspGrid<2>,
>> Dune::IdenticalCoordFunction<double, 2>, std::allocator<void>
>>> ') to 'const
>>
>> Dune::GeoGrid::GridView<Dune::GridView<Dune::DefaultLeafGridViewTraits<const
>>
>> Dune::YaspGrid<2>, 4> >, Dune::IdenticalCoordFunction<double, 2>,
>> std::allocator<void>, 4>' for 1st argument
>> class GridView;
>> ^
>> ../../../dune/grid/geometrygrid/gridview.hh:115:7: note: candidate
>> constructor
>> not viable: requires 2 arguments, but 1 was provided
>> GridView ( const Grid &grid, const HostGridView &hostGridView )
>>
>> _______________________________________________
>> Dune-devel mailing list
>> Dune-devel at dune-project.org
>> http://lists.dune-project.org/mailman/listinfo/dune-devel
>
--
Dr. Olaf Ippisch
Universität Heidelberg
Interdisziplinäres Zentrum für Wissenschaftliches Rechnen
Im Neuenheimer Feld 368, Raum 4.24
Tel: 06221/548252 Fax: 06221/548884
Mail: Im Neuenheimer Feld 368, 69120 Heidelberg
e-mail: <olaf.ippisch at iwr.uni-heidelberg.de>
More information about the Dune-devel
mailing list