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