I wonder if there was any follow up replies about this. 

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).

On Monday, February 28, 2022 at 11:16:50 a.m. UTC-6 Wolfgang Bangerth wrote:

>
> Leonhard,
>
> > I find that if FE_Q is replaced by FESystem in step-36 it reports that 
> > error.
> > I printed all diagonal element of two matrices and they are all 
> > non-zero, so the matrices are invertable.
>
> That is not the right criterion. The following matrix also has all 
> nonzero diagonal entries and it still isn't invertible:
> [1 1]
> [1 1]
>
> > My problem is a 3-dim beam eigenvalue calculation and I use FESystem 
> > just like step-18.
> > And if I use FE_Q rather than FESystem, the function 
> > shape_grad_component will report error.
> > I use that function to calculate stiffness_matrix, called by 
> > get_strain() like step-18.
> > And the theoretical formulae are as follows:
> > 
> > \begin{array}{l}
> > K = \int {{D^{\rm{T}}}ED{\rm{d}}{V_e}} \\
> > \varepsilon  = Du\\
> > \sigma  = \varepsilon E
> > \end{array}%
> > 
> > I guess that here exits conflict between FESystem and SolverKrylovSchur 
> > or just because it is a vector-value problem?
> > Is it a vector-value the 3-dim eigenvalue calculation?
>
> There are many things that can go wrong, of course. You need to start 
> with a simple problem and make incremental changes to find out where the 
> problem is. I would start with using a bilinear form for the stiffness 
> matrix that matches what step-36 does, so
> (grad u, grad v)
> where now u,v are vector valued. Make sure you have zero Dirichlet 
> boundary conditions for all components. That should work. If it does, 
> move on to more complicated bilinear forms; with each modification, make 
> sure that it continues to work, and if it doesn't, you know what 
> modification was the problem.
>
> 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/9e159e96-d2f9-4c5b-af21-88677e1c7da5n%40googlegroups.com.

Reply via email to