[Dune] GridInterface Remarks.

Christian Engwer christi at uni-hd.de
Tue Mar 1 15:22:50 CET 2005


> First of all, I think the tempalte parameter GridImp of the class Grid
> should change from template<in,int> GridImp to GridImp, because at this 
> time only Grid with template parameters <int,int> can be derived from 
> the Grid class. There already exists to examples of Grid that don't fit 
> in that parameter list, the DomainGrid of Christoph, which is 
> parametrized by another Grid and the Alu3dGrid(BSGrid) that needs 3 
> template parameters ,dim,dimworld, and GeometryType.

This shouldn't be a problem. The only thing we would have to change is
GridInterface and GridDefault.
> Another thing is, that the method leafbegin need a template parameter 
> PartitionType, just as the lbegin method.


> Furthermore, in my opinion, the default lbegin and leafbegin should be 
> for Interior_Partition and not for All_Partition, because for serial 
> grid just have an interior which is the same as all partition for them, 
> but for parallel grids this matters. From my point of view this means 
> that one always wants to iterate over the interior domain, and thats why 
> this should be the default type.

I'm not sure what would be best. But no matter what the default is, it
is not to likely that a sequential algorithm will do something
meaningful in parallel.

> As i mentioned before, the mark method should get an Entity and not an 
> EntityPointer as parameter.

As I explained you before it is impossible to store or copy Entities
therefor it is impossible to use Entity as a parameter. What we should
try to achieve is a way to subclass The different InteratorWrappers
from the EntityPointer. This would allow us to declare
  mark(EntityPointer &)
and still supply Leaf-, Level-, Hierarchic- or IntersectionIterator as
the parameter.

Cheers Christian

More information about the Dune mailing list