[Dune] Change heapsize, StructuredGridFactory, UGGrid

Oliver Sander sander at mi.fu-berlin.de
Wed Jan 26 09:33:12 CET 2011


Well, the static method didn't exist yet in Dune 2.0, hence it is
not in the corresponding class documentation.  In the class doc
for the development branch, UGGrid doesn't appear at all.
That's FS 847.  Any patches that would fix that or improve the
documentation in general are very welcome.
--
Oliver

Am 26.01.2011 09:29, schrieb schauer:
> Thanks, Oliver and Carsten, it works now. Is there by the way a
> documentation of the UGGrid, where I could have found the answer
> myself ? In the class documentation I couldn't find this method.
>
> Thanks again
>
> Volker
>
>
>
> Am Mittwoch, den 26.01.2011, 09:04 +0100 schrieb Oliver Sander:
>    
>> Hi Volker!
>> Sorry for answering without really thinking about your question
>> first.  For grid construction with the StructuredGridFactory,
>> Carsten's second statement is correct.  I updated the faq
>> accordingly.
>> best,
>> Oliver
>>
>> Am 25.01.2011 23:55, schrieb Carsten Gräser:
>>      
>>> Hi,
>>> there are two way to solve this problem:
>>>
>>> * With dune 2.0 you can construct a UGGrid with appropiate heap
>>>     size and hand it to a non-standard constructor of the factory.
>>>
>>> * If you use the trunk you can call the new static method
>>>     UGGrid::setDefaultHeapSize(...) to set the heap size for all
>>>     subsequently constructed UGGrids.
>>>
>>> Best,
>>> Carsten
>>>
>>> Am 25.01.2011 23:09, schrieb schauer at mechbau.uni-stuttgart.de:
>>>
>>>        
>>>> Hi Oliver,
>>>>
>>>> as far as I understand it, I do not directly call the UGGrid-constructor
>>>> myself, but the factory does so -  but I don't know how to make the
>>>> factory do this with the wished heapsize initialization.
>>>>
>>>>          
>>> Th
>>>
>>>
>>>        
>>>> Thanks
>>>>
>>>> Volker
>>>>
>>>>
>>>>
>>>>          
>>>>> Hi Volker!
>>>>> Please see the FAQ for some information on this issue.
>>>>> best,
>>>>> Oliver
>>>>>
>>>>> Am 25.01.2011 17:30, schrieb schauer:
>>>>>
>>>>>            
>>>>>> Dear Dune,
>>>>>>
>>>>>> I created a structured UGGrid with
>>>>>>
>>>>>>     	typedef Dune::UGGrid<dim>    Grid;
>>>>>>     	Dune::FieldVector<double,dim>    lowerLeft(-side_length);
>>>>>>     	Dune::FieldVector<double,dim>    upperRight(side_length);
>>>>>>            Dune::array<unsigned int,dim>    elements;
>>>>>>            std::fill(elements.begin(), elements.end(), 5);
>>>>>>            Dune::StructuredGridFactory<Grid>    factory;
>>>>>>            Dune::shared_ptr<Grid>    grid;
>>>>>>            grid =factory.createSimplexGrid(lowerLeft,upperRight,elements);
>>>>>>
>>>>>>
>>>>>> when I globally refine 4 times
>>>>>>
>>>>>> grid->globalRefine(level)
>>>>>>
>>>>>> and run the program I receive the error message:
>>>>>>
>>>>>> ERROR in low/heaps.c/GetFreelistMemory: not enough memory for 152 bytes.
>>>>>> ERROR in low/heaps.c/GetFreelistMemory: not enough memory for 152 bytes.
>>>>>> dune_ksdft: heaps.c:646: void* UG::GetFreelistMemory(UG::HEAP*,
>>>>>> UG::INT): Assertion `0' failed.
>>>>>>
>>>>>>
>>>>>> What can I do about it ?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Volker
>>>>>>
>>>>>>              
>>> _______________________________________________
>>> Dune mailing list
>>> Dune at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune
>>>
>>>        
>>      
>    





More information about the Dune mailing list