For nev=10 you are using a subspace of size 20. This may be too small. Check 
convergence with a monitor and increase ncv if necessary. 

Jose

> El 13 feb 2020, a las 21:25, baikadi pranay <[email protected]> 
> escribió:
> 
> 
> Hello PETSc Users,
> 
> I am trying to find the lowest 'n' eigenvalues of a hermitian eigenvalue 
> problem. The size of the operator matrix (hamiltonian in my case) is 
> dependent on the mesh spacing provided by the user (which is expected). 
> However I have the following issue:
> 
> The number of eigenvalues given by the solver is not consistent with what is 
> given as input in the EPSSetDimensions routine. For example, for a 
> 12000x12000 matrix, the solver gives 20 correct eigenvalues if nev=20, but 
> fails to give any eigenvalue if nev=10.
> 
> I am using the following lines of code to solve the problem:
> 
> call EPSCreate(PETSC_COMM_WORLD,eps,ierr)
> call EPSSetOperators(eps,ham,PETSC_NULL_MAT,ierr)
> call EPSSetProblemType(eps,EPS_HEP,ierr)
> call EPSSetWhichEigenpairs(eps,EPS_SMALLEST_MAGNITUDE,ierr)
> call EPSSetDimensions(eps,n_sub,n_sub*2,PETSC_DEFAULT_INTEGER,ierr)
> call EPSSetTolerances(eps,1D-10,5000,ierr)
> call EPSSolve(eps,ierr)
> 
> After the EPSSolve, I am calling EPSGetEigenPair and other relevant routines 
> to get the eigenvector and eigenvalues.
> 
> Any lead as to how to solve this problem would be greatly helpful to us. 
> Please let me know if I need to provide any further information.
> 
> Thank you for your time.
> 
> Sincerely,
> Pranay.
> 

Reply via email to