[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