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*/