static PetscErrorCode TSView_CN(TS ts,PetscViewer viewer) { PetscErrorCode ierr; PetscFunctionBegin; if (ts->adapt) {ierr = TSAdaptView(ts->adapt,viewer);CHKERRQ(ierr);} if (ts->snes) {ierr = SNESView(ts->snes,viewer);CHKERRQ(ierr);} PetscFunctionReturn(0); }
static PetscErrorCode TSView_Alpha(TS ts,PetscViewer viewer) { TS_Alpha *th = (TS_Alpha*)ts->data; PetscBool iascii; PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscObjectTypeCompare((PetscObject)viewer,PETSCVIEWERASCII,&iascii);CHKERRQ(ierr); if (iascii) { ierr = PetscViewerASCIIPrintf(viewer," Alpha_m=%g, Alpha_f=%g, Gamma=%g, Beta=%g\n",(double)th->Alpha_m,(double)th->Alpha_f,(double)th->Gamma,(double)th->Beta);CHKERRQ(ierr); } if (ts->adapt) {ierr = TSAdaptView(ts->adapt,viewer);CHKERRQ(ierr);} if (ts->snes) {ierr = SNESView(ts->snes,viewer);CHKERRQ(ierr);} PetscFunctionReturn(0); }
static PetscErrorCode TSView_Theta(TS ts,PetscViewer viewer) { TS_Theta *th = (TS_Theta*)ts->data; PetscBool iascii; PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscObjectTypeCompare((PetscObject)viewer,PETSCVIEWERASCII,&iascii);CHKERRQ(ierr); if (iascii) { ierr = PetscViewerASCIIPrintf(viewer," Theta=%g\n",(double)th->Theta);CHKERRQ(ierr); ierr = PetscViewerASCIIPrintf(viewer," Extrapolation=%s\n",th->extrapolate ? "yes" : "no");CHKERRQ(ierr); } if (ts->adapt) {ierr = TSAdaptView(ts->adapt,viewer);CHKERRQ(ierr);} if (ts->snes) {ierr = SNESView(ts->snes,viewer);CHKERRQ(ierr);} PetscFunctionReturn(0); }
static PetscErrorCode TSView_RK(TS ts,PetscViewer viewer) { TS_RK *rk = (TS_RK*)ts->data; PetscBool iascii; PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscObjectTypeCompare((PetscObject)viewer,PETSCVIEWERASCII,&iascii);CHKERRQ(ierr); if (iascii) { RKTableau tab = rk->tableau; TSRKType rktype; char buf[512]; ierr = TSRKGetType(ts,&rktype);CHKERRQ(ierr); ierr = PetscViewerASCIIPrintf(viewer," RK %s\n",rktype);CHKERRQ(ierr); ierr = PetscFormatRealArray(buf,sizeof(buf),"% 8.6f",tab->s,tab->c);CHKERRQ(ierr); ierr = PetscViewerASCIIPrintf(viewer," Abscissa c = %s\n",buf);CHKERRQ(ierr); ierr = PetscViewerASCIIPrintf(viewer,"FSAL: %s\n",tab->FSAL ? "yes" : "no");CHKERRQ(ierr); } if (ts->adapt) {ierr = TSAdaptView(ts->adapt,viewer);CHKERRQ(ierr);} PetscFunctionReturn(0); }