Praveen,
Mihai makes good suggestions regarding the method to use. If you choose to
stick with the one you have now, here are a couple comments:
> The mass matrix (and its inverse) has block structure. Should I use a
> BlockMatrix (number of blocks would be equal to number of cells, number of
> cells can be large).
No. BlockMatrix is not meant to have that many blocks and will likely be
inefficient.
> I also tried doing
>
> std::vector< FullMatrix<double> > inv_mass_matrix;
>
> inv_mass_matrix.resize( triangulation.n_cells() );
>
> But then I could not allocate memory for the FullMatrix objects.
Why not? What happens when you do
inv_mass_matrix.resize (triangulation.n_cells(),
FullMatrix (dofs_per_cell, dofs_per_cell));
?
You could also think about putting the local mass matrices (or, maybe better,
their inverse) into a regular SparseMatrix or ChunkSparseMatrix.
Best
W.
-------------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
www: http://www.math.tamu.edu/~bangerth/
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii