compute_eigenvalues_symmetric lapackerror

35 views
Skip to first unread message

David Montiel

unread,
Feb 20, 2025, 4:18:04 PM2/20/25
to deal.II User Group
Hello, 

I am getting the runtime error below in a simulation within a deal.II-based CPFE framework. 

Error message:

----------------------------------------------------

Exception on processing: 

--------------------------------------------------------

An error occurred in line <2204> of file <../source/lac/lapack_full_matrix.cc> in function

    void dealii::LAPACKFullMatrix<number>::compute_eigenvalues_symmetric(number, number, number, dealii::Vector<OtherNumber>&, dealii::FullMatrix<number>&) [with number = double]

The violated condition was: 

    info == 0

Additional information: 

    Lapack error in syevx: 1 eigenvectors failed to converge. (You may

    need to scale the abs_accuracy according to your matrix norm.)


Stacktrace:

-----------

#0  /usr/local/lib/libdeal_II.so.9.5.0: dealii::LAPACKFullMatrix<double>::compute_eigenvalues_symmetric(double, double, double, dealii::Vector<double>&, dealii::FullMatrix<double>&)

#1  ./main: crystalPlasticity<3>::reorient2(dealii::Vector<double>&, dealii::Vector<double>, dealii::FullMatrix<double>, dealii::FullMatrix<double>)

#2  ./main: crystalPlasticity<3>::calculatePlasticity(unsigned int, unsigned int, unsigned int)

#3  ./main: crystalPlasticity<3>::getElementalValues(dealii::FEValues<3, 3>&, unsigned int, unsigned int, dealii::FullMatrix<double>&, dealii::Vector<double>&)

#4  ./main: MultiPhysicsBVP<3, 1>::assemble()

#5  ./main: MultiPhysicsBVP<3, 1>::solveNonLinearSystem()

#6  ./main: MultiPhysicsBVP<3, 1>::solve_cp()

#7  ./main: crystalPlasticity<3>::run()

#8  ./main: main

--------------------------------------------------------


Aborting!

----------------------------------------------------


Some relevant info is I am using a docker container with deal.II version 9.5.0 

If I run on deal.II 9.4.2 with lapack v 3.11.0 installed externally in a cluster, the code throws the error: LAPACK error in syevx, but does not crash.

The function compute_eigenvalues_symmetric is called with the following arguments:

C_old.compute_eigenvalues_symmetric(0.0,200000.0,1e-15,eigenvalues, eigenvectors);

I have also tried the following values for abs_accuracy:
1) 10e-16 
2) 2 x 2.22507e-308 = 4.45014e-308 (twice the underflow threshold) 
3) 0 

In addition, I tried increasing upper_bound ny 3 orders of magnitude:  200000000.0.

But all of these simulations crashed at some point. 

Any ideas for how I can solve this problem?

Thank you,

David

Wolfgang Bangerth

unread,
Feb 20, 2025, 8:27:18 PM2/20/25
to dea...@googlegroups.com

On 2/20/25 14:18, David Montiel wrote:
> /An error occurred in line <2204> of file <../source/lac/
> lapack_full_matrix.cc> in function/
>
> /    void
> dealii::LAPACKFullMatrix<number>::compute_eigenvalues_symmetric(number,
> number, number, dealii::Vector<OtherNumber>&,
> dealii::FullMatrix<number>&) [with number = double]/
>
> /The violated condition was: /
>
> /    info == 0/
>
> /Additional information: /
>
> /    Lapack error in syevx: 1 eigenvectors failed to converge. (You may/
>
> /    need to scale the abs_accuracy according to your matrix norm.)/
>
> //

David:
This is at its core a question about LAPACK and what kinds of matrices
it can compute eigenvalues/eigenvectors of. Have you searched the
internet what that error message means? How big is the matrix, and is it
indeed symmetric?

Best
W.

David Montiel

unread,
Feb 21, 2025, 8:56:01 AM2/21/25
to deal.II User Group
Thank you, Wolfgang

I'll look into it. 

Best,

David
Reply all
Reply to author
Forward
0 new messages