Actual source code: ex8.c

  1: static char help[] = "Tests PCView() before PCSetup() with -pc_type lu.\n\n";

  3: #include <petscmat.h>
  4: #include <petscpc.h>

  6: int main(int argc, char **args)
  7: {
  8:   Mat A;
  9:   PC  pc;

 11:   PetscFunctionBeginUser;
 12:   PetscCall(PetscInitialize(&argc, &args, NULL, help));
 13:   PetscCall(MatCreate(PETSC_COMM_WORLD, &A));
 14:   PetscCall(MatSetSizes(A, 1, 1, 1, 1));
 15:   PetscCall(MatSetFromOptions(A));
 16:   PetscCall(MatSetUp(A));
 17:   PetscCall(MatSetValue(A, 0, 0, 1, INSERT_VALUES));
 18:   PetscCall(MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY));
 19:   PetscCall(MatAssemblyEnd(A, MAT_FINAL_ASSEMBLY));
 20:   PetscCall(MatView(A, PETSC_VIEWER_STDOUT_WORLD));
 21:   PetscCall(PCCreate(PETSC_COMM_WORLD, &pc));
 22:   PetscCall(PCSetOperators(pc, A, A));
 23:   PetscCall(PCSetType(pc, PCLU));
 24:   PetscCall(PCView(pc, PETSC_VIEWER_STDOUT_WORLD));
 25:   PetscCall(PCDestroy(&pc));
 26:   PetscCall(MatDestroy(&A));
 27:   PetscCall(PetscFinalize());
 28:   return 0;
 29: }

 31: /*TEST

 33:    test:

 35: TEST*/