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 16 int main(int argc,char **argv) 17 { 18 TS ts; /* timestepping context */ 19 PetscErrorCode ierr; 20 PetscViewer viewer; 21 22 ierr = PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr; 23 ierr = PetscDLLibraryAppend(PETSC_COMM_WORLD,&PetscDLLibrariesLoaded,"advection-diffusion-reaction/ex1");CHKERRQ(ierr); 24 ierr = TSCreate(PETSC_COMM_WORLD,&ts);CHKERRQ(ierr); 25 ierr = PetscViewerBinaryOpen(PETSC_COMM_WORLD,"advection-diffusion-reaction/binaryoutput",FILE_MODE_READ,&viewer);CHKERRQ(ierr); 26 ierr = TSLoad(ts,viewer);CHKERRQ(ierr); 27 ierr = PetscViewerDestroy(&viewer);CHKERRQ(ierr); 28 /* ierr = PetscFPTView(0);CHKERRQ(ierr); */ 29 ierr = TSSetFromOptions(ts);CHKERRQ(ierr); 30 ierr = TSSetUp(ts);CHKERRQ(ierr); 31 ierr = TSView(ts,PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr); 32 ierr = TSSolve(ts,NULL);CHKERRQ(ierr); 33 ierr = TSDestroy(&ts);CHKERRQ(ierr); 34 ierr = PetscFinalize(); 35 return ierr; 36 } 37