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 10*d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv) 11*d71ae5a4SJacob Faibussowitsch { 12c4762a1bSJed Brown PetscInt M = PETSC_DECIDE, N = PETSC_DECIDE; 13c4762a1bSJed Brown DM da; 14c4762a1bSJed Brown Vec global; 15c4762a1bSJed Brown PetscViewer bviewer; 16c4762a1bSJed Brown 17327415f7SBarry Smith PetscFunctionBeginUser; 189566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc, &argv, (char *)0, help)); 199566063dSJacob Faibussowitsch PetscCall(PetscOptionsGetInt(NULL, NULL, "-M", &M, NULL)); 209566063dSJacob Faibussowitsch PetscCall(PetscOptionsGetInt(NULL, NULL, "-N", &N, NULL)); 21c4762a1bSJed Brown 229566063dSJacob Faibussowitsch PetscCall(PetscViewerBinaryOpen(PETSC_COMM_WORLD, "daoutput", FILE_MODE_READ, &bviewer)); 239566063dSJacob Faibussowitsch PetscCall(DMCreate(PETSC_COMM_WORLD, &da)); 24c4762a1bSJed Brown 259566063dSJacob Faibussowitsch PetscCall(DMLoad(da, bviewer)); 269566063dSJacob Faibussowitsch PetscCall(DMCreateGlobalVector(da, &global)); 279566063dSJacob Faibussowitsch PetscCall(VecLoad(global, bviewer)); 289566063dSJacob Faibussowitsch PetscCall(PetscViewerDestroy(&bviewer)); 29c4762a1bSJed Brown 309566063dSJacob Faibussowitsch PetscCall(VecView(global, PETSC_VIEWER_DRAW_WORLD)); 31c4762a1bSJed Brown 32c4762a1bSJed Brown /* Free memory */ 339566063dSJacob Faibussowitsch PetscCall(VecDestroy(&global)); 349566063dSJacob Faibussowitsch PetscCall(DMDestroy(&da)); 359566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 36b122ec5aSJacob Faibussowitsch return 0; 37c4762a1bSJed Brown } 38