Lines Matching refs:parms
40 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCSetUp_PARMS() local
69 if (parms->map) { in PCSetUp_PARMS()
70 parms_MapFree(&parms->map); in PCSetUp_PARMS()
71 parms->map = NULL; in PCSetUp_PARMS()
75 …parms_MapCreateFromPtr(&parms->map, (int)n, maptmp, mapptr, PetscObjectComm((PetscObject)pmat), 1,… in PCSetUp_PARMS()
78 if (parms->A) { in PCSetUp_PARMS()
79 parms_MatFree(&parms->A); in PCSetUp_PARMS()
80 parms->A = NULL; in PCSetUp_PARMS()
84 parms_MatCreate(&parms->A, parms->map); in PCSetUp_PARMS()
123 parms_MatSetValues(parms->A, (int)lsize, im, ia, ja, aa, INSERT); in PCSetUp_PARMS()
134 parms_MatSetup(parms->A); in PCSetUp_PARMS()
137 if (parms->pc) { in PCSetUp_PARMS()
138 parms_PCFree(&parms->pc); in PCSetUp_PARMS()
139 parms->pc = NULL; in PCSetUp_PARMS()
143 parms_PCCreate(&parms->pc, parms->A); in PCSetUp_PARMS()
146 switch (parms->global) { in PCSetUp_PARMS()
148 parms_PCSetType(parms->pc, PCRAS); in PCSetUp_PARMS()
151 parms_PCSetType(parms->pc, PCSCHUR); in PCSetUp_PARMS()
154 parms_PCSetType(parms->pc, PCBJ); in PCSetUp_PARMS()
157 switch (parms->local) { in PCSetUp_PARMS()
159 parms_PCSetILUType(parms->pc, PCILU0); in PCSetUp_PARMS()
162 parms_PCSetILUType(parms->pc, PCILUK); in PCSetUp_PARMS()
165 parms_PCSetILUType(parms->pc, PCILUT); in PCSetUp_PARMS()
168 parms_PCSetILUType(parms->pc, PCARMS); in PCSetUp_PARMS()
171 parms_PCSetInnerEps(parms->pc, parms->solvetol); in PCSetUp_PARMS()
172 parms_PCSetNlevels(parms->pc, parms->levels); in PCSetUp_PARMS()
173 parms_PCSetPermType(parms->pc, parms->nonsymperm ? 1 : 0); in PCSetUp_PARMS()
174 parms_PCSetBsize(parms->pc, parms->blocksize); in PCSetUp_PARMS()
175 parms_PCSetTolInd(parms->pc, parms->indtol); in PCSetUp_PARMS()
176 parms_PCSetInnerKSize(parms->pc, parms->maxdim); in PCSetUp_PARMS()
177 parms_PCSetInnerMaxits(parms->pc, parms->maxits); in PCSetUp_PARMS()
178 for (i = 0; i < 8; i++) meth[i] = parms->meth[i] ? 1 : 0; in PCSetUp_PARMS()
179 parms_PCSetPermScalOptions(parms->pc, &meth[0], 1); in PCSetUp_PARMS()
180 parms_PCSetPermScalOptions(parms->pc, &meth[4], 0); in PCSetUp_PARMS()
181 parms_PCSetFill(parms->pc, parms->lfil); in PCSetUp_PARMS()
182 parms_PCSetTol(parms->pc, parms->droptol); in PCSetUp_PARMS()
184 parms_PCSetup(parms->pc); in PCSetUp_PARMS()
187 if (parms->lvec0) PetscCall(PetscFree(parms->lvec0)); in PCSetUp_PARMS()
188 PetscCall(PetscMalloc1(lsize, &parms->lvec0)); in PCSetUp_PARMS()
189 if (parms->lvec1) PetscCall(PetscFree(parms->lvec1)); in PCSetUp_PARMS()
190 PetscCall(PetscMalloc1(lsize, &parms->lvec1)); in PCSetUp_PARMS()
197 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCView_PARMS() local
204 parms_PCGetName(parms->pc, &str); in PCView_PARMS()
206 parms_PCILUGetName(parms->pc, &str); in PCView_PARMS()
208 parms_PCGetRatio(parms->pc, &fill_fact); in PCView_PARMS()
210 PetscCall(PetscViewerASCIIPrintf(viewer, " Tolerance for local solve: %g\n", parms->solvetol)); in PCView_PARMS()
211 PetscCall(PetscViewerASCIIPrintf(viewer, " Number of levels: %d\n", parms->levels)); in PCView_PARMS()
212 …if (parms->nonsymperm) PetscCall(PetscViewerASCIIPrintf(viewer, " Using nonsymmetric permutation\… in PCView_PARMS()
213 PetscCall(PetscViewerASCIIPrintf(viewer, " Block size: %d\n", parms->blocksize)); in PCView_PARMS()
214 …PetscCall(PetscViewerASCIIPrintf(viewer, " Tolerance for independent sets: %g\n", parms->indtol)); in PCView_PARMS()
215 PetscCall(PetscViewerASCIIPrintf(viewer, " Inner Krylov dimension: %d\n", parms->maxdim)); in PCView_PARMS()
216 …PetscCall(PetscViewerASCIIPrintf(viewer, " Maximum number of inner iterations: %d\n", parms->maxi… in PCView_PARMS()
217 …if (parms->meth[0]) PetscCall(PetscViewerASCIIPrintf(viewer, " Using nonsymmetric permutation for… in PCView_PARMS()
218 …if (parms->meth[1]) PetscCall(PetscViewerASCIIPrintf(viewer, " Using column permutation for inter… in PCView_PARMS()
219 …if (parms->meth[2]) PetscCall(PetscViewerASCIIPrintf(viewer, " Using row scaling for interlevel b… in PCView_PARMS()
220 …if (parms->meth[3]) PetscCall(PetscViewerASCIIPrintf(viewer, " Using column scaling for interleve… in PCView_PARMS()
221 …if (parms->meth[4]) PetscCall(PetscViewerASCIIPrintf(viewer, " Using nonsymmetric permutation for… in PCView_PARMS()
222 …if (parms->meth[5]) PetscCall(PetscViewerASCIIPrintf(viewer, " Using column permutation for last … in PCView_PARMS()
223 …if (parms->meth[6]) PetscCall(PetscViewerASCIIPrintf(viewer, " Using row scaling for last level b… in PCView_PARMS()
224 …if (parms->meth[7]) PetscCall(PetscViewerASCIIPrintf(viewer, " Using column scaling for last leve… in PCView_PARMS()
225 …tscViewerASCIIPrintf(viewer, " amount of fill-in for ilut, iluk and arms: %d\n", parms->lfil[0])); in PCView_PARMS()
226 … PetscCall(PetscViewerASCIIPrintf(viewer, " amount of fill-in for schur: %d\n", parms->lfil[4])); in PCView_PARMS()
227 …PetscCall(PetscViewerASCIIPrintf(viewer, " amount of fill-in for ILUT L and U: %d\n", parms->lfil… in PCView_PARMS()
228 …werASCIIPrintf(viewer, " drop tolerance for L, U, L^{-1}F and EU^{-1}: %g\n", parms->droptol[0])); in PCView_PARMS()
229 …CIIPrintf(viewer, " drop tolerance for schur complement at each level: %g\n", parms->droptol[4])); in PCView_PARMS()
230 …intf(viewer, " drop tolerance for ILUT in last level schur complement: %g\n", parms->droptol[5])); in PCView_PARMS()
237 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCDestroy_PARMS() local
240 if (parms->map) parms_MapFree(&parms->map); in PCDestroy_PARMS()
241 if (parms->A) parms_MatFree(&parms->A); in PCDestroy_PARMS()
242 if (parms->pc) parms_PCFree(&parms->pc); in PCDestroy_PARMS()
243 if (parms->lvec0) PetscCall(PetscFree(parms->lvec0)); in PCDestroy_PARMS()
244 if (parms->lvec1) PetscCall(PetscFree(parms->lvec1)); in PCDestroy_PARMS()
259 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCSetFromOptions_PARMS() local
266 …lobal preconditioner", "PCPARMSSetGlobal", PCPARMSGlobalTypes, (PetscEnum)parms->global, (PetscEnu… in PCSetFromOptions_PARMS()
268 … "Local preconditioner", "PCPARMSSetLocal", PCPARMSLocalTypes, (PetscEnum)parms->local, (PetscEnum… in PCSetFromOptions_PARMS()
270 …_tol", "Tolerance for local solve", "PCPARMSSetSolveTolerances", parms->solvetol, &parms->solvetol… in PCSetFromOptions_PARMS()
271 …PetscCall(PetscOptionsInt("-pc_parms_levels", "Number of levels", "None", parms->levels, &parms->l… in PCSetFromOptions_PARMS()
272 …_perm", "Use nonsymmetric permutation", "PCPARMSSetNonsymPerm", parms->nonsymperm, &parms->nonsymp… in PCSetFromOptions_PARMS()
273 …PetscCall(PetscOptionsInt("-pc_parms_blocksize", "Block size", "None", parms->blocksize, &parms->b… in PCSetFromOptions_PARMS()
274 …al("-pc_parms_ind_tol", "Tolerance for independent sets", "None", parms->indtol, &parms->indtol, N… in PCSetFromOptions_PARMS()
275 …rms_max_dim", "Inner Krylov dimension", "PCPARMSSetSolveRestart", parms->maxdim, &parms->maxdim, N… in PCSetFromOptions_PARMS()
276 …Maximum number of inner iterations", "PCPARMSSetSolveTolerances", parms->maxits, &parms->maxits, N… in PCSetFromOptions_PARMS()
277 …perm", "nonsymmetric permutation for interlevel blocks", "None", parms->meth[0], &parms->meth[0], … in PCSetFromOptions_PARMS()
278 …olumn_perm", "column permutation for interlevel blocks", "None", parms->meth[1], &parms->meth[1], … in PCSetFromOptions_PARMS()
279 …inter_row_scaling", "row scaling for interlevel blocks", "None", parms->meth[2], &parms->meth[2], … in PCSetFromOptions_PARMS()
280 …column_scaling", "column scaling for interlevel blocks", "None", parms->meth[3], &parms->meth[3], … in PCSetFromOptions_PARMS()
281 …perm", "nonsymmetric permutation for last level blocks", "None", parms->meth[4], &parms->meth[4], … in PCSetFromOptions_PARMS()
282 …olumn_perm", "column permutation for last level blocks", "None", parms->meth[5], &parms->meth[5], … in PCSetFromOptions_PARMS()
283 …_last_row_scaling", "row scaling for last level blocks", "None", parms->meth[6], &parms->meth[6], … in PCSetFromOptions_PARMS()
284 …column_scaling", "column scaling for last level blocks", "None", parms->meth[7], &parms->meth[7], … in PCSetFromOptions_PARMS()
285 …, "amount of fill-in for ilut, iluk and arms", "PCPARMSSetFill", parms->lfil[0], &parms->lfil[0], … in PCSetFromOptions_PARMS()
286 if (flag) parms->lfil[1] = parms->lfil[2] = parms->lfil[3] = parms->lfil[0]; in PCSetFromOptions_PARMS()
287 …ms_lfil_schur", "amount of fill-in for schur", "PCPARMSSetFill", parms->lfil[4], &parms->lfil[4], … in PCSetFromOptions_PARMS()
288 …ut_L_U", "amount of fill-in for ILUT L and U", "PCPARMSSetFill", parms->lfil[5], &parms->lfil[5], … in PCSetFromOptions_PARMS()
289 if (flag) parms->lfil[6] = parms->lfil[5]; in PCSetFromOptions_PARMS()
290 …ctors", "drop tolerance for L, U, L^{-1}F and EU^{-1}", "None", parms->droptol[0], &parms->droptol… in PCSetFromOptions_PARMS()
291 …", "drop tolerance for schur complement at each level", "None", parms->droptol[4], &parms->droptol… in PCSetFromOptions_PARMS()
292 if (flag) parms->droptol[1] = parms->droptol[2] = parms->droptol[3] = parms->droptol[0]; in PCSetFromOptions_PARMS()
293 …rop tolerance for ILUT in last level schur complement", "None", parms->droptol[5], &parms->droptol… in PCSetFromOptions_PARMS()
294 if (flag) parms->droptol[6] = parms->droptol[5]; in PCSetFromOptions_PARMS()
301 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCApply_PARMS() local
308 parms_VecPermAux((PetscScalar *)b1, parms->lvec0, parms->map); in PCApply_PARMS()
309 parms_PCApply(parms->pc, parms->lvec0, parms->lvec1); in PCApply_PARMS()
310 parms_VecInvPermAux(parms->lvec1, x1, parms->map); in PCApply_PARMS()
318 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCPARMSSetGlobal_PARMS() local
321 if (type != parms->global) { in PCPARMSSetGlobal_PARMS()
322 parms->global = type; in PCPARMSSetGlobal_PARMS()
363 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCPARMSSetLocal_PARMS() local
366 if (type != parms->local) { in PCPARMSSetLocal_PARMS()
367 parms->local = type; in PCPARMSSetLocal_PARMS()
413 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCPARMSSetSolveTolerances_PARMS() local
416 if (tol != parms->solvetol) { in PCPARMSSetSolveTolerances_PARMS()
417 parms->solvetol = tol; in PCPARMSSetSolveTolerances_PARMS()
420 if (maxits != parms->maxits) { in PCPARMSSetSolveTolerances_PARMS()
421 parms->maxits = maxits; in PCPARMSSetSolveTolerances_PARMS()
459 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCPARMSSetSolveRestart_PARMS() local
462 if (restart != parms->maxdim) { in PCPARMSSetSolveRestart_PARMS()
463 parms->maxdim = restart; in PCPARMSSetSolveRestart_PARMS()
499 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCPARMSSetNonsymPerm_PARMS() local
502 if ((nonsym && !parms->nonsymperm) || (!nonsym && parms->nonsymperm)) { in PCPARMSSetNonsymPerm_PARMS()
503 parms->nonsymperm = nonsym; in PCPARMSSetNonsymPerm_PARMS()
540 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCPARMSSetFill_PARMS() local
543 …if (lfil0 != parms->lfil[0] || lfil0 != parms->lfil[1] || lfil0 != parms->lfil[2] || lfil0 != parm… in PCPARMSSetFill_PARMS()
544 parms->lfil[1] = parms->lfil[2] = parms->lfil[3] = parms->lfil[0] = lfil0; in PCPARMSSetFill_PARMS()
547 if (lfil1 != parms->lfil[4]) { in PCPARMSSetFill_PARMS()
548 parms->lfil[4] = lfil1; in PCPARMSSetFill_PARMS()
551 if (lfil2 != parms->lfil[5] || lfil2 != parms->lfil[6]) { in PCPARMSSetFill_PARMS()
552 parms->lfil[5] = parms->lfil[6] = lfil2; in PCPARMSSetFill_PARMS()
634 PC_PARMS *parms; in PCCreate_PARMS() local
637 PetscCall(PetscNew(&parms)); in PCCreate_PARMS()
639 parms->map = 0; in PCCreate_PARMS()
640 parms->A = 0; in PCCreate_PARMS()
641 parms->pc = 0; in PCCreate_PARMS()
642 parms->global = PC_PARMS_GLOBAL_RAS; in PCCreate_PARMS()
643 parms->local = PC_PARMS_LOCAL_ARMS; in PCCreate_PARMS()
644 parms->levels = 10; in PCCreate_PARMS()
645 parms->nonsymperm = PETSC_TRUE; in PCCreate_PARMS()
646 parms->blocksize = 250; in PCCreate_PARMS()
647 parms->maxdim = 0; in PCCreate_PARMS()
648 parms->maxits = 0; in PCCreate_PARMS()
649 parms->meth[0] = PETSC_FALSE; in PCCreate_PARMS()
650 parms->meth[1] = PETSC_FALSE; in PCCreate_PARMS()
651 parms->meth[2] = PETSC_FALSE; in PCCreate_PARMS()
652 parms->meth[3] = PETSC_FALSE; in PCCreate_PARMS()
653 parms->meth[4] = PETSC_FALSE; in PCCreate_PARMS()
654 parms->meth[5] = PETSC_FALSE; in PCCreate_PARMS()
655 parms->meth[6] = PETSC_FALSE; in PCCreate_PARMS()
656 parms->meth[7] = PETSC_FALSE; in PCCreate_PARMS()
657 parms->solvetol = 0.01; in PCCreate_PARMS()
658 parms->indtol = 0.4; in PCCreate_PARMS()
659 parms->lfil[0] = parms->lfil[1] = parms->lfil[2] = parms->lfil[3] = 20; in PCCreate_PARMS()
660 parms->lfil[4] = parms->lfil[5] = parms->lfil[6] = 20; in PCCreate_PARMS()
661 parms->droptol[0] = parms->droptol[1] = parms->droptol[2] = parms->droptol[3] = 0.00001; in PCCreate_PARMS()
662 parms->droptol[4] = 0.001; in PCCreate_PARMS()
663 parms->droptol[5] = parms->droptol[6] = 0.001; in PCCreate_PARMS()
665 pc->data = parms; in PCCreate_PARMS()