| Line 159... |
Line 159... |
@*/
|
@*/
|
PetscErrorCode EPSGetMonitorContext(EPS eps, void **ctx)
|
PetscErrorCode EPSGetMonitorContext(EPS eps, void **ctx)
|
{
|
{
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
PetscValidHeaderSpecific(eps,EPS_CLASSID,1);
|
PetscValidHeaderSpecific(eps,EPS_CLASSID,1);
|
*ctx = (eps->monitorcontext[0]);
|
*ctx = eps->monitorcontext[0];
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
}
|
}
|
|
|
#undef __FUNCT__
|
#undef __FUNCT__
|
#define __FUNCT__ "EPSMonitorAll"
|
#define __FUNCT__ "EPSMonitorAll"
|
| Line 321... |
Line 321... |
PetscErrorCode ierr;
|
PetscErrorCode ierr;
|
PetscReal x,y,myeigr,p;
|
PetscReal x,y,myeigr,p;
|
PetscScalar er,ei;
|
PetscScalar er,ei;
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
|
|
if (!viewer) { viewer = PETSC_VIEWER_DRAW_(((PetscObject)eps)->comm); }
|
if (!viewer) { viewer = PETSC_VIEWER_DRAW_(((PetscObject)eps)->comm); }
|
|
|
ierr = PetscViewerDrawGetDraw(viewer,0,&draw);CHKERRQ(ierr);
|
ierr = PetscViewerDrawGetDraw(viewer,0,&draw);CHKERRQ(ierr);
|
ierr = PetscViewerDrawGetDrawLG(viewer,0,&lg);CHKERRQ(ierr);
|
ierr = PetscViewerDrawGetDrawLG(viewer,0,&lg);CHKERRQ(ierr);
|
if (!its) {
|
if (!its) {
|
ierr = PetscDrawSetTitle(draw,"Error estimates");CHKERRQ(ierr);
|
ierr = PetscDrawSetTitle(draw,"Error estimates");CHKERRQ(ierr);
|
ierr = PetscDrawSetDoubleBuffer(draw);CHKERRQ(ierr);
|
ierr = PetscDrawSetDoubleBuffer(draw);CHKERRQ(ierr);
|
| Line 363... |
Line 361... |
ierr = PetscDrawSetPause(draw1,p);CHKERRQ(ierr);
|
ierr = PetscDrawSetPause(draw1,p);CHKERRQ(ierr);
|
}
|
}
|
ierr = PetscDrawLGDraw(lg);CHKERRQ(ierr);
|
ierr = PetscDrawLGDraw(lg);CHKERRQ(ierr);
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
}
|
}
|
|
|
|
|
#undef __FUNCT__
|
#undef __FUNCT__
|
#define __FUNCT__ "EPSMonitorLGAll"
|
#define __FUNCT__ "EPSMonitorLGAll"
|
PetscErrorCode EPSMonitorLGAll(EPS eps,PetscInt its,PetscInt nconv,PetscScalar *eigr,PetscScalar *eigi,PetscReal *errest,PetscInt nest,void *monctx)
|
PetscErrorCode EPSMonitorLGAll(EPS eps,PetscInt its,PetscInt nconv,PetscScalar *eigr,PetscScalar *eigi,PetscReal *errest,PetscInt nest,void *monctx)
|
{
|
{
|
| Line 378... |
Line 375... |
PetscReal *x,*y,*myeigr,p;
|
PetscReal *x,*y,*myeigr,p;
|
PetscInt i,n = PetscMin(eps->nev,255);
|
PetscInt i,n = PetscMin(eps->nev,255);
|
PetscScalar er,ei;
|
PetscScalar er,ei;
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
|
|
if (!viewer) { viewer = PETSC_VIEWER_DRAW_(((PetscObject)eps)->comm); }
|
if (!viewer) { viewer = PETSC_VIEWER_DRAW_(((PetscObject)eps)->comm); }
|
|
|
ierr = PetscViewerDrawGetDraw(viewer,0,&draw);CHKERRQ(ierr);
|
ierr = PetscViewerDrawGetDraw(viewer,0,&draw);CHKERRQ(ierr);
|
ierr = PetscViewerDrawGetDrawLG(viewer,0,&lg);CHKERRQ(ierr);
|
ierr = PetscViewerDrawGetDrawLG(viewer,0,&lg);CHKERRQ(ierr);
|
if (!its) {
|
if (!its) {
|
ierr = PetscDrawSetTitle(draw,"Error estimates");CHKERRQ(ierr);
|
ierr = PetscDrawSetTitle(draw,"Error estimates");CHKERRQ(ierr);
|
ierr = PetscDrawSetDoubleBuffer(draw);CHKERRQ(ierr);
|
ierr = PetscDrawSetDoubleBuffer(draw);CHKERRQ(ierr);
|