On 08/27/2018 08:36 AM, Loylick wrote:
So I get a singular matrix with zero degrees of freedom inside voids.
For this system to be solved I should eliminate rows corresponding to
zero degrees of freedom
from my system matrix. I need your advise how to implement it in dealii
in an optimal way. I do not know beforehand how many rows are to be
removed so initially I allocate my sparsity pattern as:
|
DynamicSparsityPatterndsp(dof_handler.n_dofs(),dof_handler.n_dofs());
|
Or maybe there are some other techniques to deal with this kind of
problem that I'm not aware of. I would appreciate any suggestion on how
it could be solved.
It is very inconvenient to remove rows and columns from a matrix because
you will then have to renumber all other indices in your program
accordingly.
The better way is to add constraints to your program in the same way as
we add constraints for Dirichlet boundary conditions, or for the mean
value as is done in step-11. The singular matrix plus the constraints
then yield an invertible matrix of the same size.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bange...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/
--
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.
For more options, visit https://groups.google.com/d/optout.