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 PetscInt M = PETSC_DECIDE,N = PETSC_DECIDE; 13c4762a1bSJed Brown DM da; 14c4762a1bSJed Brown Vec global; 15c4762a1bSJed Brown PetscViewer bviewer; 16c4762a1bSJed Brown 17*b122ec5aSJacob Faibussowitsch CHKERRQ(PetscInitialize(&argc,&argv,(char*)0,help)); 185f80ce2aSJacob Faibussowitsch CHKERRQ(PetscOptionsGetInt(NULL,NULL,"-M",&M,NULL)); 195f80ce2aSJacob Faibussowitsch CHKERRQ(PetscOptionsGetInt(NULL,NULL,"-N",&N,NULL)); 20c4762a1bSJed Brown 215f80ce2aSJacob Faibussowitsch CHKERRQ(PetscViewerBinaryOpen(PETSC_COMM_WORLD,"daoutput",FILE_MODE_READ,&bviewer)); 225f80ce2aSJacob Faibussowitsch CHKERRQ(DMCreate(PETSC_COMM_WORLD,&da)); 23c4762a1bSJed Brown 245f80ce2aSJacob Faibussowitsch CHKERRQ(DMLoad(da,bviewer)); 255f80ce2aSJacob Faibussowitsch CHKERRQ(DMCreateGlobalVector(da,&global)); 265f80ce2aSJacob Faibussowitsch CHKERRQ(VecLoad(global,bviewer)); 275f80ce2aSJacob Faibussowitsch CHKERRQ(PetscViewerDestroy(&bviewer)); 28c4762a1bSJed Brown 295f80ce2aSJacob Faibussowitsch CHKERRQ(VecView(global,PETSC_VIEWER_DRAW_WORLD)); 30c4762a1bSJed Brown 31c4762a1bSJed Brown /* Free memory */ 325f80ce2aSJacob Faibussowitsch CHKERRQ(VecDestroy(&global)); 335f80ce2aSJacob Faibussowitsch CHKERRQ(DMDestroy(&da)); 34*b122ec5aSJacob Faibussowitsch CHKERRQ(PetscFinalize()); 35*b122ec5aSJacob Faibussowitsch return 0; 36c4762a1bSJed Brown } 37