[Dune] Change heapsize, StructuredGridFactory, UGGrid

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


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