[Dune] Maximal level difference

Carsten Gräser graeser at math.fu-berlin.de
Mon Nov 29 16:19:56 CET 2010


Hi,
Am 29.11.2010 16:04, schrieb Andreas Dedner:
> Independent of the question if you want to have it in utility, it should
> be a method on UG
> I think The details of the adaptation process in UG are already handled
> quite a few methods
> (at least setRefinementType setClosureType).
> Isn't what you are suggestion only a special refinement type (or a
> closure type)?
> So, would you actually need a new method?
Sure you can interpret implicit refinements to ensure level
constraints as some closure type. But for the desired behaviour
you will also need to provide an additional int which is useless
for the other refinement/closure types. Hence you would need
a special method in any case.

Regards,
Carsten

> Best
> Andreas
> 
> On 29/11/10 13:44, Carsten Gräser wrote:
>> Sorry, I forgot another issue regarding this:
>>
>> Am 29.11.2010 14:35, schrieb Carsten Gräser:
>>   
>>> Dear dune,
>>> in dune-subgrid we implemented a simple method to automatically
>>> add refinement marks and remove coarsening marks such that
>>> the level of neighboring elements differs at most by a user
>>> defined number. (ALUGrid e.g. does this internally).
>>>
>>> As someone asked for this functionality in UGGrid I extracted
>>> this using the grid interface only. This might also be helpfull
>>> for other third party grid implementations.
>>>
>>> Are there any objections to add this to dune/grid/utility?
>>>     
>> We could also add a method
>>
>>   setMaxLevelDifference(unsigned int level)
>>
>> to UGGrid and call the utility-function from within
>> UGGrid::preAdapt() internally. On the one hand this
>> would make it a little easier to write portable code,
>> on the other hand it's essentially syntactic candy
>> that blows up the UGGrid interface (by one method).
>>
>> Furthermore I'm not sure if the name is good. Currently
>> the function is called
>>
>>   template<class GridType>
>>   static void enforceNeighborLevelDifference(GridType& grid, int maxLevelDiff);
>>
>> Any opinions?
>>
>> Regards,
>> Carsten
>>
>> PS: You can find the full implementation attached.


-- 
----------------------------------------------------------------------
Carsten Gräser           | phone: +49-30 / 838-75349
Freie Universität Berlin | fax  : +49-30 / 838-54977
Institut für Mathematik  | email: graeser at math.fu-berlin.de
Arnimallee 6             |
14195 Berlin, Germany    | URL  : http://page.mi.fu-berlin.de/graeser
----------------------------------------------------------------------




More information about the Dune mailing list