From: John P. <jwp...@gm...> - 2014-05-13 15:22:41
|
On Tue, May 13, 2014 at 8:05 AM, Lorenzo Zanon <za...@ai...>wrote: > Hi, > > Sorry for the very late response... > > I attached the slepc_variables and slepcconf files, I couldn't find > slepc_common_variables. Where exactly should that be? > It might not exist in recent versions of SLEPc. Anyway, the needed information is available in the slepcconf file: #ifndef SLEPC_HAVE_ARPACK #define SLEPC_HAVE_ARPACK 1 #define SLEPC_ARPACK_HAVE_UNDERSCORE 1 #endif so in theory we can configure for the availability of Arpack in SLEPc, though as Roy pointed out it might not matter if SLEPc already handles this issue gracefully itself. Even using Arpack, I still have issues. I have a generalized condensed > eigenvalue problem, and I'm interested in the smallest eigenvalue(s) and > -vector(s). It's a 3D 3-variable problem with n_nodes()=576, even though I > would like to refine the mesh further. The eigensolver is not converging or > converging very slowly, depending on the parameters, for example: > > equation_systems.parameters.set <unsigned int> ("eigenpairs") = 3; > equation_systems.parameters.set <unsigned int> ("basis vectors") = 200; > equation_systems.parameters.set<unsigned int> ("linear solver maximum > iterations") = 400; > > On the other hand, if I print_matlab the matrices and solve there the > problem using eigs, I get the correct solution in a few seconds. But > shouldn't the solver be the same? > Well it might be called "arpack" in both cases but who knows how the slepc and matlab implementations might differ? > Unfortunately this configuration is not something I use very often, so I can't really help debug it effectively. You might have to delve down into the guts of SlepcEigenSolver to see if there's something obvious that is missing... -- John |