Hi Bruno,

2016-05-20 9:12 GMT-04:00 Ehsan <rabizadeh.eh...@gmail.com>:
#2  0x00007ffff5cb614b in dealii::SparsityPattern::reinit
(this=this@entry=0x7fffffffb498, m=829992, n=829992, max_per_row=8032)
     at /deal_II/dealii-8.3.0/source/lac/sparsity_pattern.cc:251
It could be a memory problem. You try to create a matrix with 829,992
rows and up to 8,032 elements per row. This means 829,992*8,032 =
6,666,495,744 elements or 6,666,495,744 * 8 = 53,331,965,952 bytes =
53 Gb If you are only using one processor, you won't have enough
memory. However max_per_row seems excessively large, you can probably
find a sharper bound.

If I look at the current source code of SparsityPattern, I think there is indeed a bug: We define the variable max_vec_len to be of type size_type (= types::global_dof_index) whereas it actually should be std::size_t. We can have 32 bit integers but still more than 4G entries. I think that could be a problem here. Do you have time to have a look (I think one needs to check all the functions in SparsityPattern and the interface to SparseMatrix whether all types are correct)?

Best,
Martin

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to