[Fwd: Re: [Dune] ISI final suggestion]
Andreas Dedner
dedner at mathematik.uni-freiburg.de
Wed Jul 5 13:17:57 CEST 2006
Hi
1) I would suggest to keep all the semantics of the ISI as before
only the ++ operator does something new
2) Everywhere in our code we use the GridPart class
grid/common/gridpart.hh
This class allow different views on the grid. The two major
impl. of the interface are LeafGridPart and LevelGridPart.
THey defined IndexSetType (Level/Leaf) and
IteratorTtype (Level/Leaf) and one begin() and end()
method which call leafbegin/levelbegin and leafend/levelend
on the grid. We would now add two new Methods
ibegin(Entity&) and iend(Entity&) which return the
appropriate ISI. The IndexSets (in the newer versions) have
simular functinality but the GridParts are more versatile
since I could use a different IndexSet with a LeafIterator
(for example). Prehaps we could agree on this - or some similar
interface. Writting a code which works for both Level/Leaf is
simple with this approach.
Peter Bastian wrote:
> Dear all,
>
> I have two questions concerning the separation of the intersection
> iterator:
>
> 1) In the parallel case, it would still be such that the iterator stops
> at the processor boundary with neighbor==boundary==false ?
>
> 2) The separation into levelwise/leafwise iterators gives rise to the
> problem how to write code that works for level and leafwise. This
> problem has to be dealt with by the user, I suppose.
>
> Besides that, I vote for doing the change now. The solution with all
> iterators available I consider worse than leaving the iterator as it is
> because we want to present a nice interface in 1.0 and not a clumsy one.
>
> Best,
>
> -- Peter
>
>
> Christian Engwer wrote:
>
>> Dear fellow developers,
>>
>>> after a further discussion of the IntersectionIterator issue in our
>>> local DUNE-meeting, we decided to propose the following solution for
>>> DUNE 1.0:
>>>
>>> There should be all three intersectionIterators, i.e.
>>> IntersectionIterator, LevelIntersectionIterator,
>>> LeafIntersectionIterator, all satisfying the same interface.
>>> Thus the Entity interface provides the methods ibegin, iend,
>>> leafbegin, leafend, and levelbegin, levelend.
>>> ibegin and iend do the same as before and are not deprecated!
>>
>>
>> We also discussed this issue further and thought, that, if the
>> developers of the more complex grid consider the leaf/level version
>> easier, we should switch to this semantic in order to safe unnecessary
>> work.
>>
>> I don't consider it a reasonable solution to introduce both
>> interfaces. We should definitely agree on one option and remove the
>> other. For 1.0 We need clear interfaces. We can tell the people this
>> interface is mature, this interface might change, but we should still
>> try to present dune with a consistent and clear interface -- people
>> will judge dune by the interface they see and by the time it takes
>> them to start playing with dune.
>>
>> my 5 cents :-)
>> Christian
>>
>> _______________________________________________
>> Dune mailing list
>> Dune at dune-project.org
>> http://www.dune-project.org/cgi-bin/mailman/listinfo/dune
>>
>>
>
More information about the Dune
mailing list