Hi Timo, thanks for replying. I think I didn't describe my problem correctly. The 4 blocks have sizes: 1815 x 1815, 1815 x 330, 330 x 1815, 330 x 330. Such a division results from having 1815 displacement DoFs and 330 electric potential DoFs in the eigenvalue problem. Only the block 1815 x 1815 of the mass matrix has non-zero entries and there are 330 zeros in the diagonal of the mass matrix. I would like to condense the system to get rid of the zero diagonal entries in the mass matrix using the operations on the blocks.
Since the total number of the DoFs in the system is 2145, all the IndexSets, that are passed to the reinit() function of the PETSc::MPI::BlockSparseMatrix are of size 2145. This results in failed assertion, since: rows[0].size() = 2145, rows[1].size() = 2145, but bdsp.block(0,0).n_rows() = 1815, bdsp.block(1,1).n_rows() = 330 etc... Sorry, I cannot post the screenshots of these values since I am on holidays starting from today, I remember them from previous days as I checked them already at that time. I tried to explicitly set the size of the IndexSets, i.e. for the IndexSet corresponding to electric potential DoFs that would be 330. Then, I cannot add indices higher than 330 to this IndexSet due to its internal structure. Is there a way to overcome that or is the assertion itself wrong? Best regards, Gabriel -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/b7505a7d-f20c-4e20-b4dd-c745b8f1dccdn%40googlegroups.com.
