On 10/31/22 22:12, Sebastian D.-R. wrote:
I started to work a few days ago on an eigensolver for linear elasticity
with the use of the SLEPc wrappers in deal.II (based on step-8 and
step-36), and I came across the same issue Leonhard described above.
After some debugging I realised the issue was in the fact that I was not
assembling the mass matrix correctly. Essentially, if following step-8,
then you need to only add terms to the local mass matrix whenever
comp(i) == comp(j) (following the notation in step-8 documentation), as
it is done for the \nabla\phi_i\dot\nabla\phi_j term.
Another way to go around this issue is to use
"FEValuesExtractors::Vector" for the displacement (the only unknown in
the system). With this way the assemble looks a lot more closer to how
one would write a primal formulation for linear elasticity. So far, both
ways give the same eigenvalues, which also make sense (in 2 and 3D, and
on different domains).
Yes, and that makes sense.
The observation about having to have a check of the form
comp(i)==comp(j), in any form, is correct. If you don't have this, then
the matrix you build is of the form
[M M]
[M M]
which is rank deficient because rows (columns) in the first block of
rows (columns) are identical to rows (columns) in the second block of
rows (columns). So it makes sense that you get a zero pivot: the matrix
really is singular.
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.
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/9f421281-a1ee-5e65-80b9-62050fbfa5d4%40colostate.edu.