1 static char help[] = "Tests PCView() before PCSetup() with -pc_type lu.\n\n"; 2 3 #include <petscmat.h> 4 #include <petscpc.h> 5 6 int main(int argc, char **args) 7 { 8 Mat A; 9 PC pc; 10 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 } 30 31 /*TEST 32 33 test: 34 35 TEST*/ 36