1c4762a1bSJed Brown 2c4762a1bSJed Brown static char help[] = "Tests loading DM vector from file.\n\n"; 3c4762a1bSJed Brown 4c4762a1bSJed Brown /* 5c4762a1bSJed Brown ex14.c writes out the DMDA and vector read by this program. 6c4762a1bSJed Brown */ 7c4762a1bSJed Brown 8c4762a1bSJed Brown #include <petscdmda.h> 9c4762a1bSJed Brown 10c4762a1bSJed Brown int main(int argc,char **argv) 11c4762a1bSJed Brown { 12c4762a1bSJed Brown PetscErrorCode ierr; 13c4762a1bSJed Brown PetscInt M = PETSC_DECIDE,N = PETSC_DECIDE; 14c4762a1bSJed Brown DM da; 15c4762a1bSJed Brown Vec global; 16c4762a1bSJed Brown PetscViewer bviewer; 17c4762a1bSJed Brown 18c4762a1bSJed Brown ierr = PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr; 19*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscOptionsGetInt(NULL,NULL,"-M",&M,NULL)); 20*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscOptionsGetInt(NULL,NULL,"-N",&N,NULL)); 21c4762a1bSJed Brown 22*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscViewerBinaryOpen(PETSC_COMM_WORLD,"daoutput",FILE_MODE_READ,&bviewer)); 23*5f80ce2aSJacob Faibussowitsch CHKERRQ(DMCreate(PETSC_COMM_WORLD,&da)); 24c4762a1bSJed Brown 25*5f80ce2aSJacob Faibussowitsch CHKERRQ(DMLoad(da,bviewer)); 26*5f80ce2aSJacob Faibussowitsch CHKERRQ(DMCreateGlobalVector(da,&global)); 27*5f80ce2aSJacob Faibussowitsch CHKERRQ(VecLoad(global,bviewer)); 28*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscViewerDestroy(&bviewer)); 29c4762a1bSJed Brown 30*5f80ce2aSJacob Faibussowitsch CHKERRQ(VecView(global,PETSC_VIEWER_DRAW_WORLD)); 31c4762a1bSJed Brown 32c4762a1bSJed Brown /* Free memory */ 33*5f80ce2aSJacob Faibussowitsch CHKERRQ(VecDestroy(&global)); 34*5f80ce2aSJacob Faibussowitsch CHKERRQ(DMDestroy(&da)); 35c4762a1bSJed Brown ierr = PetscFinalize(); 36c4762a1bSJed Brown return ierr; 37c4762a1bSJed Brown } 38