1 static char help[] = "Tests DMDACreate3d() memory usage\n\n"; 2 3 #include <petscdmda.h> 4 5 int main(int argc, char **argv) { 6 DM dm; 7 Vec X, Y; 8 PetscInt dof = 10; 9 10 PetscFunctionBeginUser; 11 PetscCall(PetscInitialize(&argc, &argv, (char *)0, help)); 12 PetscCall(PetscOptionsGetInt(NULL, NULL, "-dof", &dof, NULL)); 13 PetscCall(DMDACreate3d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, DM_BOUNDARY_NONE, DM_BOUNDARY_NONE, DMDA_STENCIL_STAR, -128, -128, -128, PETSC_DECIDE, PETSC_DECIDE, PETSC_DECIDE, dof, 1, NULL, NULL, NULL, &dm)); 14 PetscCall(DMSetFromOptions(dm)); 15 PetscCall(DMSetUp(dm)); 16 PetscCall(PetscMemoryTrace("DMDACreate3d ")); 17 18 PetscCall(DMCreateGlobalVector(dm, &X)); 19 PetscCall(PetscMemoryTrace("DMCreateGlobalVector")); 20 PetscCall(DMCreateGlobalVector(dm, &Y)); 21 PetscCall(PetscMemoryTrace("DMCreateGlobalVector")); 22 23 PetscCall(VecDestroy(&X)); 24 PetscCall(VecDestroy(&Y)); 25 PetscCall(DMDestroy(&dm)); 26 PetscCall(PetscFinalize()); 27 return 0; 28 } 29