[petsc-users] eigensolution error with slepc
Jose E. Roman
jroman at dsic.upv.es
Sun Apr 3 14:39:33 CDT 2016
> El 3 abr 2016, a las 20:47, Manav Bhatia <bhatiamanav at gmail.com> escribió:
>
> Hi,
>
> I am using slepc to solve for the natural frequencies of a small-disturbance modal eigensolution of a plate with compressive stresses.
>
> M x = (1/omega^2) K(lambda) x
>
> lambda is the loading parameter. I first solve for the nonlinear static solution for a given load, which gives K (after linearization), which is used here.
>
> Note that I am solving for 1/omega^2, instead of omega^2, since the mass matrix may have zero entries related to some dofs, while the stiffness matrix of the constrained structure has no zero eigenvalues (except, perhaps in the nonlinear region at the bifurcation point).
>
> As lambda increases, the structure crosses into the post-buckled region, so a bifurcation point is crossed at some lambda. The fundamental natural frequency with this tangent stiffness matrix is expected to reduce to zero, and then increase after the bifurcation point.
>
> I am calling slepc without any command line options, except that I specify LU-decomposition as the linear solver.
>
> The challenge that I am facing is that I am able to get eigensolutions till the lowest natural frequency drops to 0, and then the solver quits with the following error message:
>
> [0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
> [0]PETSC ERROR: Error in external library
> [0]PETSC ERROR: Error in Lapack xHSEQR 100
> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
> [0]PETSC ERROR: Petsc Release Version 3.6.3, Dec, 03, 2015
> [0]PETSC ERROR: /Users/manav/Documents/codes/MAST/build/opt/example_driver on a arch-darwin-cxx-opt named Dhcp-90-243.HPC.MsState.Edu by manav Sun Apr 3 13:31:08 2016
> [0]PETSC ERROR: Configure options --prefix=/Users/manav/Documents/codes/numerical_lib/petsc/petsc-3.6.3/../ --CC=mpicc --CXX=mpicxx --FC=mpif90 --with-clanguage=c++ --with-fortran=0 --with-mpiexec=/opt/
> local/bin/mpiexec --with-shared-libraries=1 --with-x=1 --with-x-dir=/opt/X11 --with-debugging=0 --with-lapack-lib=/usr/lib/liblapack.dylib --with-blas-lib=/usr/lib/libblas.dylib --download-superlu=yes -
> -download-superlu_dist=yes --download-suitesparse=yes --download-mumps=yes --download-scalapack=yes --download-parmetis=yes --download-parmetis-shared=1 --download-metis=yes --download-metis-shared=1 --
> download-hypre=yes --download-hypre-shared=1 --download-ml=yes --download-ml-shared=1 --download-sundials=yes --download-sundials-shared=1
> [0]PETSC ERROR: #1 DSSolve_NHEP() line 622 in /Users/manav/Documents/codes/numerical_lib/slepc/slepc-3.6.2/src/sys/classes/ds/impls/nhep/dsnhep.c
> [0]PETSC ERROR: #2 DSSolve() line 543 in /Users/manav/Documents/codes/numerical_lib/slepc/slepc-3.6.2/src/sys/classes/ds/interface/dsops.c
> [0]PETSC ERROR: #3 EPSSolve_Arnoldi() line 124 in /Users/manav/Documents/codes/numerical_lib/slepc/slepc-3.6.2/src/eps/impls/krylov/arnoldi/arnoldi.c
> [0]PETSC ERROR: #4 EPSSolve() line 101 in /Users/manav/Documents/codes/numerical_lib/slepc/slepc-3.6.2/src/eps/interface/epssolve.c
>
>
> Is this related to the loss of positive-definite nature of the stiffness matrix? Is there a way I can still get solution form slepc?
>
> I would greatly appreciate any advice.
>
> Regards,
> Manav
>
You are using the Arnoldi solver, I would strongly recommend the default solver (Krylov-Schur) - although it may not be relevant for this problem.
I assume you are using MUMPS for the linear solves.
For a better diagnostic I would need to have access to your matrices. Is it possible? Send an email to slepc-maint.
Jose
More information about the petsc-users
mailing list