Daniel,
To verify my MatrixFree implementation, I compared its application to
the classical matrix-vector multiplication (call it matrix *A*).
This is done by computing the matrix *M* of the operator *MF* by
applying it to all unit-vectors.
However, when I compute the diagonal in the same way as LaplaceOperator
does it (copied it), I get values different from the assembled diagonal
once I have hanging nodes.
The rows and columns corresponding to hanging nodes are empty with the
exception of the diagonal entry -- for which we use a value that has the
correct order of magnitude, but that is otherwise unspecified. In other
words, what diagonal value you have there is unimportant as long as it
is nonzero because these degrees of freedom don't couple with all of the
other degrees of freedom, and as long as you overwrite the values of the
computed solution through ConstraintMatrix::distribute().
It is not surprising to me that you get different diagonal entries when
you use two different methods. The question is whether you get a
different *solution* vector after distributing to hanging nodes.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.