| Line 150... |
Line 150... |
eps->which == EPS_LARGEST_IMAGINARY) {
|
eps->which == EPS_LARGEST_IMAGINARY) {
|
ierr = STSetDefaultShift(eps->OP,3e300);CHKERRQ(ierr);
|
ierr = STSetDefaultShift(eps->OP,3e300);CHKERRQ(ierr);
|
}
|
}
|
|
|
ierr = STSetUp(eps->OP);CHKERRQ(ierr);
|
ierr = STSetUp(eps->OP);CHKERRQ(ierr);
|
ierr = PetscTypeCompare((PetscObject)eps->OP,STPRECOND,&isPrecond);CHKERRQ(ierr);
|
ierr = PetscObjectTypeCompare((PetscObject)eps->OP,STPRECOND,&isPrecond);CHKERRQ(ierr);
|
if (!isPrecond) SETERRQ(((PetscObject)eps)->comm,PETSC_ERR_SUP,"blopex only works with STPRECOND");
|
if (!isPrecond) SETERRQ(((PetscObject)eps)->comm,PETSC_ERR_SUP,"blopex only works with STPRECOND");
|
ierr = STGetKSP(eps->OP,&blopex->ksp);CHKERRQ(ierr);
|
ierr = STGetKSP(eps->OP,&blopex->ksp);CHKERRQ(ierr);
|
|
|
eps->ncv = eps->nev = PetscMin(eps->nev,eps->n);
|
eps->ncv = eps->nev = PetscMin(eps->nev,eps->n);
|
if (eps->mpd) { ierr = PetscInfo(eps,"Warning: parameter mpd ignored\n");CHKERRQ(ierr); }
|
if (eps->mpd) { ierr = PetscInfo(eps,"Warning: parameter mpd ignored\n");CHKERRQ(ierr); }
|