From 42f3a4ae7dd80e4e5a09bcb5381cf5d46bce6579 Mon Sep 17 00:00:00 2001 From: bangerth Date: Fri, 1 Jun 2012 09:53:43 +0000 Subject: [PATCH] Minor doc update. git-svn-id: https://svn.dealii.org/trunk@25590 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/doxygen/headers/constraints.h | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/deal.II/doc/doxygen/headers/constraints.h b/deal.II/doc/doxygen/headers/constraints.h index 3e29400978..eaa7fdc5f6 100644 --- a/deal.II/doc/doxygen/headers/constraints.h +++ b/deal.II/doc/doxygen/headers/constraints.h @@ -299,28 +299,30 @@ * There are two ways to apply inhomogeneous constraints after creating the * ConstraintMatrix: * - * First: + * First approach: + * - Apply the ConstraintMatrix::distribute_local_to_global() function to the + * system matrix and the right-hand-side with the parameter + * use_inhomogeneities_for_rhs = false (default) * - Set the solution to zero in the inhomogeneous constrained components * using the ConstraintMatrix::set_zero() function (or start with a solution * vector equal to zero) - * - Apply the ConstraintMatrix::distribute_local_to_global() function to the - * system matrix and the right-hand-side with the parameter - * use_inhomogeneities_for_rhs = false (default) * - solve() the linear system * - Apply ConstraintMatrix::distribute() to the solution * - * Second: - * - Set the concerning components of the solution to the inhomogeneous - * constrained values + * Second approach: * - Use the ConstraintMatrix::distribute_local_to_global() function with the parameter * use_inhomogeneities_for_rhs = true and apply it to * the system matrix and the right-hand-side + * - Set the concerning components of the solution to the inhomogeneous + * constrained values * - solve() the linear system * - Depending on the solver now you have to apply the ConstraintMatrix::distribute() * function to the solution, because the solver could change the constrained - * values in the solution. For a krylov based solver this should not be the - * case, but it is still possible that there is a difference between the - * inhomogeneous value and the solution value in the order of machine precision. + * values in the solution. For a Krylov based solver this should not be strictly + * necessary, but it is still possible that there is a difference between the + * inhomogeneous value and the solution value in the order of machine precision, + * and you may want to call ConstraintMatrix::distribute() anyway if you have + * additional constraints such as from hanging nodes. * * *

Dealing with conflicting constraints

-- 2.39.5