/branches/slepc-3_2-branch/src/eps/impls/krylov/krylovschur/ks-slice.c
332,6 → 332,8
| } |
| sPres->comp[0] = (count0 >= sPres->nsch[0])?PETSC_TRUE:PETSC_FALSE; |
| sPres->comp[1] = (count1 >= sPres->nsch[1])?PETSC_TRUE:PETSC_FALSE; |
| if(count0 > sPres->nsch[0] || count1 > sPres->nsch[1])SETERRQ(((PetscObject)eps)->comm,1,"Unexpected error in Spectrum Slicing!\nMismatch between number of values found and information from inertia"); |
| |
| ierr = PetscFree(Q);CHKERRQ(ierr); |
| ierr = PetscFree(a);CHKERRQ(ierr); |
| ierr = PetscFree(b);CHKERRQ(ierr); |
/branches/slepc-3_2-branch/src/eps/impls/krylov/krylovschur/krylovschur.c
87,7 → 87,10
| } |
| if (!eps->mpd) eps->mpd = eps->ncv; |
| if (eps->ncv>eps->nev+eps->mpd) SETERRQ(((PetscObject)eps)->comm,1,"The value of ncv must not be larger than nev+mpd"); |
| if (!eps->max_it) eps->max_it = PetscMax(100,2*eps->n/eps->ncv); |
| if (!eps->max_it) { |
| if (eps->which==EPS_ALL) eps->max_it = 100; /* special case for spectrum slicing */ |
| else eps->max_it = PetscMax(100,2*eps->n/eps->ncv); |
| } |
| if (!eps->which) { ierr = EPSDefaultSetWhich(eps);CHKERRQ(ierr); } |
| if (eps->ishermitian && (eps->which==EPS_LARGEST_IMAGINARY || eps->which==EPS_SMALLEST_IMAGINARY)) |
| SETERRQ(((PetscObject)eps)->comm,1,"Wrong value of eps->which"); |