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.

Reply via email to