Hello, I am trying to solve a problem that enforces some constraints on the system using Lagrange multipliers (LMs). The constraints are sort of on the average behavior of certain quantities (for eg. centre of mass) in the domain which is why the LMs are not field variables. This implies they do not depend on the discretization and thus don't need to be a part of the FiniteElements. This is different from some of the problems already discussed in the tutorials, for eg., implementing incompressibility (step-44) wherein the LMs are taken as finite elements or the obstacle problem (step-42) in which the active-inactive set strategy is used.
Specifically, i have six constraint equations and thus six LMs. Therefore, the total number of unknowns becomes n_dofs+n_lagrange_multiplers(=6). I have attempted to implement this using the naive way of simply augmenting the system_rhs(required size=n_dofs+6) and system_matrix(required size=n_dofs+6) for these "extra dofs". The point where i get stuck is when the function make_sparsity_pattern() checks for the condition: sparsity.n_rows() == n_dofs This condition is of course violated because i initialize my sparsity pattern with rows=dofs + n_lagrange_multiplers(=6), columns=dofs + n_lagrange_multiplers(=6) whereas the dof_handler has no information about the "extra dofs" i.e. the LMs. How can i solve this problem? Is there a better way to approach it? Thanks Vinayak -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/bfdbe11f-9358-421a-89f3-c47976cb6fa5n%40googlegroups.com.