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