1 2 static char help[] ="Loads a previously saved TS."; 3 4 /* 5 It loads a TS saved with TSView() 6 7 */ 8 /* 9 Include "petscts.h" to use the PETSc timestepping routines. Note that 10 this file automatically includes "petscsys.h" and other lower-level 11 PETSc include files. 12 */ 13 #include <petscts.h> 14 15 int main(int argc,char **argv) 16 { 17 TS ts; /* timestepping context */ 18 PetscErrorCode ierr; 19 PetscViewer viewer; 20 21 ierr = PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr; 22 ierr = PetscDLLibraryAppend(PETSC_COMM_WORLD,&PetscDLLibrariesLoaded,"advection-diffusion-reaction/ex1");CHKERRQ(ierr); 23 ierr = TSCreate(PETSC_COMM_WORLD,&ts);CHKERRQ(ierr); 24 ierr = PetscViewerBinaryOpen(PETSC_COMM_WORLD,"advection-diffusion-reaction/binaryoutput",FILE_MODE_READ,&viewer);CHKERRQ(ierr); 25 ierr = TSLoad(ts,viewer);CHKERRQ(ierr); 26 ierr = PetscViewerDestroy(&viewer);CHKERRQ(ierr); 27 /* ierr = PetscFPTView(0);CHKERRQ(ierr); */ 28 ierr = TSSetFromOptions(ts);CHKERRQ(ierr); 29 ierr = TSSetUp(ts);CHKERRQ(ierr); 30 ierr = TSView(ts,PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr); 31 ierr = TSSolve(ts,NULL);CHKERRQ(ierr); 32 ierr = TSDestroy(&ts);CHKERRQ(ierr); 33 ierr = PetscFinalize(); 34 return ierr; 35 } 36