[Dune] [Fwd: Re: [Fwd: [Dune-Commit] dune-grid r5686 - trunk/grid]]
Martin Nolte
nolte at mathematik.uni-freiburg.de
Tue Sep 29 14:12:08 CEST 2009
Hi Christian, hi Oliver,
I understand. In this case I will not declare the capability at all. A default
implementation is great, but only useful if I know where to include it from.
And I don't think that geogrid.hh would be a good place for this one (I
wouldn't want ALUGrid or AlbertaGrid to depend on geogrid.hh).
Martin
Christian Engwer wrote:
> Hi Martin, Hi Oliver,
>
> I do understand that there is a need for additional coapabilities, if
> you want to implement new features. Still I have some questions/remarks:
>
> 1) If you need a new capabiity you can do the following:
>
> - add the complete capability to the new module
>
> geogrid.hh contains
>
> template<class T>
> struct HasHierarchicIndexSet
> {
> enum { value = false };
> };
>
> #if HAVE_ALUGRID
> #include <dune/grid/alugrid.hh>
> template<...>
> struct HasHierarchicIndexSet<Alugrid>
> {
> enum { value = true };
> };
> #endif
>
> This way it will work for all grids in dune-grid, without the need
> to change all implementations. The only inconvience is that the
> user has alugrid.hh is automatically included.
>
> 2) The HierarchicIndexSets are something _very_ far from being part
> of the interface, thus I must agree with Oliver that it is more
> than ugly to have these capabilities in all headers.
>
> I think that the solution proposed in point 1 is a good compromise.
>
> What do you two think?
> Christian
>
> On Tue, Sep 29, 2009 at 01:31:47PM +0200, Martin Nolte wrote:
>> Ok, yet another reply gone wrong. ;-)
>>
>> -------- Original Message --------
>> Subject: Re: [Dune] [Fwd: [Dune-Commit] dune-grid r5686 - trunk/grid]
>> Date: Tue, 29 Sep 2009 13:30:27 +0200
>> From: Martin Nolte <nolte at mathematik.uni-freiburg.de>
>> To: Oliver Sander <sander at mi.fu-berlin.de>
>> References: <4AC1EE24.8030108 at mi.fu-berlin.de>
>>
>> Hi Oliver,
>>
>> we never did. And that's why they are _not_ part of the interface (i.e.
>> dune/grid/common/capabilities.hh). Yet, Geogrid tries to take advantage of
>> them and therefore needs this capability to work on that grid. So, if you want
>> GeometryGrid< YaspGrid >, you need this capability, otherwise not.
>>
>> Of course, we can decide not to add this capability and leave it up the user
>> to declare it. I would leave that decision up to the grid implementor...
>>
>> I hope this course of action was not an offense against good style - I just
>> needed this capability to make it work.
>>
>> Yours,
>>
>> Martin
>>
>> Oliver Sander wrote:
>>> Hi Martin!
>>> I am getting old and my memory is weak: when did we decide
>>> that hierarchic index sets become part of the interface?
>>>
>>> Thanks,
>>> Oliver
>>>
>>> -------- Original-Nachricht --------
>>> Betreff: [Dune-Commit] dune-grid r5686 - trunk/grid
>>> Datum: Tue, 29 Sep 2009 12:48:14 +0200
>>> Von: mnolte at dune-project.org
>>> An: dune-commit at dune-project.org
>>>
>>>
>>>
>>> Author: mnolte
>>> Date: 2009-09-29 12:48:14 +0200 (Tue, 29 Sep 2009)
>>> New Revision: 5686
>>>
>>> Modified:
>>> trunk/grid/yaspgrid.hh
>>> Log:
>>> add Capability hasHierarchicIndexSet (so that it works with geogrid)
>>>
>>>
>>> Modified: trunk/grid/yaspgrid.hh
>>> ===================================================================
>>> --- trunk/grid/yaspgrid.hh 2009-09-29 10:47:35 UTC (rev 5685)
>>> +++ trunk/grid/yaspgrid.hh 2009-09-29 10:48:14 UTC (rev 5686)
>>> @@ -3191,6 +3191,20 @@
>>> static const bool v = false;
>>> };
>>>
>>> +
>>> +
>>> + // non-standard capabilities
>>> + // -------------------------
>>> +
>>> + template< class Grid >
>>> + struct hasHierarchicIndexSet;
>>> +
>>> + template< int dim >
>>> + struct hasHierarchicIndexSet< YaspGrid< dim > >
>>> + {
>>> + static const bool v = false;
>>> + };
>>> +
>>> }
>>>
>>> } // end namespace
>>>
>>>
>>> _______________________________________________
>>> Dune-Commit mailing list
>>> Dune-Commit at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune-commit
>>>
>>>
--
Martin Nolte <nolte at mathematik.uni-freiburg.de>
Universität Freiburg phone: +49-761-203-5642
Abteilung für angewandte Mathematik fax: +49-761-203-5632
Hermann-Herder-Straße 10
79104 Freiburg, Germany
More information about the Dune
mailing list