Lines Matching refs:levels

31   PetscInt    x_mesh = 15, levels = 3, cycles = 1, use_jacobi = 0;  in main()  local
44 PetscCall(PetscOptionsGetInt(NULL, NULL, "-l", &levels, NULL)); in main()
55 PetscCall(PetscMalloc1(levels, &N)); in main()
57 for (i = 1; i < levels; i++) { in main()
62 PetscCall(Create1dLaplacian(N[levels - 1], &cmat)); in main()
68 PetscCall(PCMGSetLevels(pcmg, levels, NULL)); in main()
78 for (i = 0; i < levels - 1; i++) { in main()
81 PetscCall(PCMGSetResidual(pcmg, levels - 1 - i, residual, NULL)); in main()
85 PetscCall(PCMGSetInterpolation(pcmg, levels - 1 - i, mat[i])); in main()
86 PetscCall(PCMGSetRestriction(pcmg, levels - 1 - i, mat[i])); in main()
87 PetscCall(PCMGSetCycleTypeOnLevel(pcmg, levels - 1 - i, (PCMGCycleType)cycles)); in main()
90 PetscCall(PCMGGetSmoother(pcmg, levels - 1 - i, &ksp[i])); in main()
117 X[levels - 1 - i] = x; in main()
118 if (i > 0) PetscCall(PCMGSetX(pcmg, levels - 1 - i, x)); in main()
121 B[levels - 1 - i] = x; in main()
122 if (i > 0) PetscCall(PCMGSetRhs(pcmg, levels - 1 - i, x)); in main()
125 R[levels - 1 - i] = x; in main()
127 PetscCall(PCMGSetR(pcmg, levels - 1 - i, x)); in main()
130 PetscCall(VecCreateSeq(PETSC_COMM_SELF, N[levels - 1], &x)); in main()
133 PetscCall(VecCreateSeq(PETSC_COMM_SELF, N[levels - 1], &x)); in main()
143 PetscCall(CalculateRhs(B[levels - 1])); in main()
144 PetscCall(VecSet(X[levels - 1], 0.0)); in main()
146 PetscCall(residual((Mat)0, B[levels - 1], X[levels - 1], R[levels - 1])); in main()
147 PetscCall(CalculateError(solution, X[levels - 1], R[levels - 1], e)); in main()
150 PetscCall(KSPSolve(kspmg, B[levels - 1], X[levels - 1])); in main()
152 PetscCall(residual((Mat)0, B[levels - 1], X[levels - 1], R[levels - 1])); in main()
153 PetscCall(CalculateError(solution, X[levels - 1], R[levels - 1], e)); in main()
161 for (i = 0; i < levels; i++) { in main()
166 for (i = 0; i < levels - 1; i++) PetscCall(MatDestroy(&mat[i])); in main()