[Dune] Change heapsize, StructuredGridFactory, UGGrid

Carsten Gräser graeser at math.fu-berlin.de
Tue Jan 25 23:55:06 CET 2011


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




More information about the Dune mailing list