| Line 63... |
Line 63... |
if (eps->nev<500) eps->ncv = PetscMin(eps->n,PetscMax(2*eps->nev,eps->nev+15));
|
if (eps->nev<500) eps->ncv = PetscMin(eps->n,PetscMax(2*eps->nev,eps->nev+15));
|
else { eps->mpd = 500; eps->ncv = PetscMin(eps->n,eps->nev+eps->mpd); }
|
else { eps->mpd = 500; eps->ncv = PetscMin(eps->n,eps->nev+eps->mpd); }
|
}
|
}
|
if (!eps->mpd) eps->mpd = eps->ncv;
|
if (!eps->mpd) eps->mpd = eps->ncv;
|
if (!eps->max_it) eps->max_it = PetscMax(100,2*eps->n/eps->ncv);
|
if (!eps->max_it) eps->max_it = PetscMax(100,2*eps->n/eps->ncv);
|
if (!eps->which) eps->which = EPS_LARGEST_MAGNITUDE;
|
if (!eps->which) { ierr = EPSDefaultSetWhich(eps);CHKERRQ(ierr); }
|
if (eps->which!=EPS_LARGEST_MAGNITUDE)
|
if (eps->which!=EPS_LARGEST_MAGNITUDE && eps->which!=EPS_TARGET_MAGNITUDE)
|
SETERRQ(((PetscObject)eps)->comm,1,"Wrong value of eps->which");
|
SETERRQ(((PetscObject)eps)->comm,1,"Wrong value of eps->which");
|
if (!eps->extraction) {
|
if (!eps->extraction) {
|
ierr = EPSSetExtraction(eps,EPS_RITZ);CHKERRQ(ierr);
|
ierr = EPSSetExtraction(eps,EPS_RITZ);CHKERRQ(ierr);
|
} else if (eps->extraction!=EPS_RITZ) {
|
} else if (eps->extraction!=EPS_RITZ) {
|
SETERRQ(((PetscObject)eps)->comm,PETSC_ERR_SUP,"Unsupported extraction type\n");
|
SETERRQ(((PetscObject)eps)->comm,PETSC_ERR_SUP,"Unsupported extraction type\n");
|