Hello,

I'm solving a 2 by 2 block system on the form
[A  -B' ; B A] * [y ; u] = [c ; d] 
where the matrix B is a stiffness matrix from a Laplace operator,
−∆y=u,
when I set Dirichlet BC on y (or u, or both) the corresponding rows in B 
are set to zero, even the diagonal element. 

So, my question is if this is expected? Since this makes B singular which 
should not be the case for a stiffness matrix? The reason this is an issue 
is that the block B is used in a solver when preconditioning.

I use a constraint matrix with *interpolate_boundary_values* and then use 
*distribute_local_to_global 
*on the whole system to apply the BC.

My guess is that this keeps the diagonal of A and sets the rest of the 
corresponding row to zero, including B. Is there some other way to set the 
BC to avoid making B singular? 

Regards,
Anders   


-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to