From e3ab40403537097efa6378bd86ab922e3e7f89ca Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Fri, 27 Aug 2010 15:40:07 +0000 Subject: [PATCH] Implement 'keep_constrained_entries' part in add_entries_local_to_global for non-quadratic matrices. git-svn-id: https://svn.dealii.org/trunk@21754 0785d39b-7218-0410-832d-ea1e28bc413d --- .../include/lac/constraint_matrix.templates.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/deal.II/lac/include/lac/constraint_matrix.templates.h b/deal.II/lac/include/lac/constraint_matrix.templates.h index 4717cfa796..f14e65de34 100644 --- a/deal.II/lac/include/lac/constraint_matrix.templates.h +++ b/deal.II/lac/include/lac/constraint_matrix.templates.h @@ -2636,7 +2636,6 @@ add_entries_local_to_global (const std::vector &row_indices, const unsigned int n_local_rows = row_indices.size(); const unsigned int n_local_cols = col_indices.size(); bool dof_mask_is_active = false; - Assert (keep_constrained_entries == false, ExcNotImplemented()); if (dof_mask.n_rows() == n_local_rows && dof_mask.n_cols() == n_local_cols) dof_mask_is_active = true; @@ -2667,6 +2666,23 @@ add_entries_local_to_global (const std::vector &row_indices, return; } + // if constrained entries should be + // kept, need to add rows and columns + // of those to the sparsity pattern + if (keep_constrained_entries == true) + { + for (unsigned int i=0; i