From: Wolfgang Bangerth Date: Wed, 17 May 2000 14:30:14 +0000 (+0000) Subject: Add apply_boundary_values for block matrices and vectors. X-Git-Tag: v8.0.0~20526 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=91cffb27bb87301638026316e24c8ac61116f966;p=dealii.git Add apply_boundary_values for block matrices and vectors. git-svn-id: https://svn.dealii.org/trunk@2879 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/numerics/matrices.h b/deal.II/deal.II/include/numerics/matrices.h index 786a733324..14aa6cdb3f 100644 --- a/deal.II/deal.II/include/numerics/matrices.h +++ b/deal.II/deal.II/include/numerics/matrices.h @@ -436,7 +436,7 @@ class MatrixCreator * seems to be too expensive. * * - * @author Wolfgang Bangerth, 1998 + * @author Wolfgang Bangerth, 1998, 2000 */ template class MatrixTools : public MatrixCreator @@ -448,12 +448,30 @@ class MatrixTools : public MatrixCreator * as described in the general * documentation. */ - static void apply_boundary_values (const map &boundary_values, - SparseMatrix &matrix, - Vector &solution, - Vector &right_hand_side, - const bool eliminate_columns = true); + static void + apply_boundary_values (const map &boundary_values, + SparseMatrix &matrix, + Vector &solution, + Vector &right_hand_side, + const bool eliminate_columns = true); + /** + * Apply dirichlet boundary + * conditions to the system + * matrix and vectors as + * described in the general + * documentation. This function + * works for block sparse + * matrices and block vectors + */ + template + static void + apply_boundary_values (const map &boundary_values, + BlockSparseMatrix &matrix, + BlockVector &solution, + BlockVector &right_hand_side, + const bool eliminate_columns = true); + /** * Exception */ @@ -461,6 +479,10 @@ class MatrixTools : public MatrixCreator int, int, << "The dimensions " << arg1 << " and " << arg2 << " don't match."); + /** + * Exception + */ + DeclException0 (ExcMatrixNotBlockSquare); };