1c4762a1bSJed Brown static char help[] = "Tests loading DM vector from file.\n\n"; 2c4762a1bSJed Brown 3c4762a1bSJed Brown /* 4c4762a1bSJed Brown ex14.c writes out the DMDA and vector read by this program. 5c4762a1bSJed Brown */ 6c4762a1bSJed Brown 7c4762a1bSJed Brown #include <petscdmda.h> 8c4762a1bSJed Brown 9d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv) 10d71ae5a4SJacob Faibussowitsch { 11c4762a1bSJed Brown PetscInt M = PETSC_DECIDE, N = PETSC_DECIDE; 12c4762a1bSJed Brown DM da; 13c4762a1bSJed Brown Vec global; 14c4762a1bSJed Brown PetscViewer bviewer; 15c4762a1bSJed Brown 16327415f7SBarry Smith PetscFunctionBeginUser; 17*c8025a54SPierre Jolivet PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 189566063dSJacob Faibussowitsch PetscCall(PetscOptionsGetInt(NULL, NULL, "-M", &M, NULL)); 199566063dSJacob Faibussowitsch PetscCall(PetscOptionsGetInt(NULL, NULL, "-N", &N, NULL)); 20c4762a1bSJed Brown 219566063dSJacob Faibussowitsch PetscCall(PetscViewerBinaryOpen(PETSC_COMM_WORLD, "daoutput", FILE_MODE_READ, &bviewer)); 229566063dSJacob Faibussowitsch PetscCall(DMCreate(PETSC_COMM_WORLD, &da)); 23c4762a1bSJed Brown 249566063dSJacob Faibussowitsch PetscCall(DMLoad(da, bviewer)); 259566063dSJacob Faibussowitsch PetscCall(DMCreateGlobalVector(da, &global)); 269566063dSJacob Faibussowitsch PetscCall(VecLoad(global, bviewer)); 279566063dSJacob Faibussowitsch PetscCall(PetscViewerDestroy(&bviewer)); 28c4762a1bSJed Brown 299566063dSJacob Faibussowitsch PetscCall(VecView(global, PETSC_VIEWER_DRAW_WORLD)); 30c4762a1bSJed Brown 31c4762a1bSJed Brown /* Free memory */ 329566063dSJacob Faibussowitsch PetscCall(VecDestroy(&global)); 339566063dSJacob Faibussowitsch PetscCall(DMDestroy(&da)); 349566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 35b122ec5aSJacob Faibussowitsch return 0; 36c4762a1bSJed Brown } 37