From: guido Date: Fri, 5 Dec 2003 10:13:31 +0000 (+0000) Subject: new SparseMatrix storage X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7d6eae58d63114d4b6bcaab1df236aadf126fca;p=dealii-svn.git new SparseMatrix storage git-svn-id: https://svn.dealii.org/trunk@8233 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/numerics/matrices.all_dimensions.cc b/deal.II/deal.II/source/numerics/matrices.all_dimensions.cc index 91d9cb475d..6e45e34ce3 100644 --- a/deal.II/deal.II/source/numerics/matrices.all_dimensions.cc +++ b/deal.II/deal.II/source/numerics/matrices.all_dimensions.cc @@ -21,7 +21,7 @@ #include - +//TODO:[WB] I don't think that the optimized storage of diagonals is needed (GK) template void MatrixTools::apply_boundary_values (const std::map &boundary_values, @@ -30,8 +30,8 @@ MatrixTools::apply_boundary_values (const std::map &boundar Vector &right_hand_side, const bool preserve_symmetry) { - Assert (matrix.n() == matrix.m(), - ExcDimensionMismatch(matrix.n(), matrix.m())); + Assert (matrix.get_sparsity_pattern().optimize_diagonal(), + typename SparsityPattern::ExcDiagonalNotOptimized()); Assert (matrix.n() == right_hand_side.size(), ExcDimensionMismatch(matrix.n(), right_hand_side.size())); Assert (matrix.n() == solution.size(), @@ -195,8 +195,6 @@ MatrixTools::apply_boundary_values (const std::map &boundar { const unsigned int blocks = matrix.n_block_rows(); - Assert (matrix.n() == matrix.m(), - ExcDimensionMismatch(matrix.n(), matrix.m())); Assert (matrix.n() == right_hand_side.size(), ExcDimensionMismatch(matrix.n(), right_hand_side.size())); Assert (matrix.n() == solution.size(), @@ -212,7 +210,11 @@ MatrixTools::apply_boundary_values (const std::map &boundar Assert (matrix.get_sparsity_pattern().get_row_indices() == right_hand_side.get_block_indices (), ExcBlocksDontMatch ()); - + + for (unsigned int i=0;i