Actual source code: ex8.c
2: static char help[] = "Tests PCView() before PCSetup() with -pc_type lu.\n\n";
4: #include <petscmat.h>
5: #include <petscpc.h>
7: int main(int argc, char **args)
8: {
9: Mat A;
10: PC pc;
12: PetscFunctionBeginUser;
13: PetscCall(PetscInitialize(&argc, &args, (char *)0, help));
14: PetscCall(MatCreate(PETSC_COMM_WORLD, &A));
15: PetscCall(MatSetSizes(A, 1, 1, 1, 1));
16: PetscCall(MatSetFromOptions(A));
17: PetscCall(MatSetUp(A));
18: PetscCall(MatSetValue(A, 0, 0, 1, INSERT_VALUES));
19: PetscCall(MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY));
20: PetscCall(MatAssemblyEnd(A, MAT_FINAL_ASSEMBLY));
21: PetscCall(MatView(A, PETSC_VIEWER_STDOUT_WORLD));
22: PetscCall(PCCreate(PETSC_COMM_WORLD, &pc));
23: PetscCall(PCSetOperators(pc, A, A));
24: PetscCall(PCSetType(pc, PCLU));
25: PetscCall(PCView(pc, PETSC_VIEWER_STDOUT_WORLD));
26: PetscCall(PCDestroy(&pc));
27: PetscCall(MatDestroy(&A));
28: PetscCall(PetscFinalize());
29: return 0;
30: }
32: /*TEST
34: test:
36: TEST*/