Lines Matching defs:icntl

126   MUMPS_INT *icntl;
183 outer->icntl = inner->icntl; \
507 #define ICNTL(I) icntl[(I) - 1]
2603 PetscMUMPSInt icntl = 0, size, *listvar_schur;
2606 PetscBool schur = mumps->id.icntl ? (PetscBool)(mumps->id.ICNTL(26) == -1) : (PetscBool)(mumps->ICNTL26 == -1);
2696 for (icntl = 0; icntl < nICNTL_pre; ++icntl) mumps->id.ICNTL(mumps->ICNTL_pre[1 + 2 * icntl]) = mumps->ICNTL_pre[2 + 2 * icntl];
2697 for (icntl = 0; icntl < nCNTL_pre; ++icntl) ID_CNTL_SET(mumps->id, (PetscInt)mumps->CNTL_pre[1 + 2 * icntl], mumps->CNTL_pre[2 + 2 * icntl]);
2727 PetscCallMPI(MPI_Bcast(mumps->id.icntl, 40, MPI_INT, 0, mumps->omp_comm));
2733 PetscCall(PetscOptionsMUMPSInt("-mat_mumps_icntl_1", "ICNTL(1): output stream for error messages", "None", mumps->id.ICNTL(1), &icntl, &flg));
2734 if (flg) mumps->id.ICNTL(1) = icntl;
2735 PetscCall(PetscOptionsMUMPSInt("-mat_mumps_icntl_2", "ICNTL(2): output stream for diagnostic printing, statistics, and warning", "None", mumps->id.ICNTL(2), &icntl, &flg));
2736 if (flg) mumps->id.ICNTL(2) = icntl;
2737 PetscCall(PetscOptionsMUMPSInt("-mat_mumps_icntl_3", "ICNTL(3): output stream for global information, collected on the host", "None", mumps->id.ICNTL(3), &icntl, &flg));
2738 if (flg) mumps->id.ICNTL(3) = icntl;
2740 PetscCall(PetscOptionsMUMPSInt("-mat_mumps_icntl_4", "ICNTL(4): level of printing (0 to 4)", "None", mumps->id.ICNTL(4), &icntl, &flg));
2741 if (flg) mumps->id.ICNTL(4) = icntl;
2744 PetscCall(PetscOptionsMUMPSInt("-mat_mumps_icntl_6", "ICNTL(6): permutes to a zero-free diagonal and/or scale the matrix (0 to 7)", "None", mumps->id.ICNTL(6), &icntl, &flg));
2745 if (flg) mumps->id.ICNTL(6) = icntl;
2747 PetscCall(PetscOptionsMUMPSInt("-mat_mumps_icntl_7", "ICNTL(7): computes a symmetric permutation in sequential analysis. 0=AMD, 2=AMF, 3=Scotch, 4=PORD, 5=Metis, 6=QAMD, and 7=auto(default)", "None", mumps->id.ICNTL(7), &icntl, &flg));
2749 PetscCheck(icntl != 1 && icntl >= 0 && icntl <= 7, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Valid values are 0=AMD, 2=AMF, 3=Scotch, 4=PORD, 5=Metis, 6=QAMD, and 7=auto");
2750 mumps->id.ICNTL(7) = icntl;
3279 if (mumps->id.icntl) mumps->id.ICNTL(26) = -1;
3324 static PetscErrorCode MatMumpsSetIcntl_MUMPS(Mat F, PetscInt icntl, PetscInt ival)
3329 if (mumps->id.job == JOB_NULL) { /* need to cache icntl and ival since PetscMUMPS_c() has never been called */
3332 if (mumps->ICNTL_pre[1 + 2 * i] == icntl) break; /* is this ICNTL already cached? */
3338 mumps->ICNTL_pre[1 + 2 * i] = (PetscMUMPSInt)icntl;
3340 } else PetscCall(PetscMUMPSIntCast(ival, &mumps->id.ICNTL(icntl)));
3344 static PetscErrorCode MatMumpsGetIcntl_MUMPS(Mat F, PetscInt icntl, PetscInt *ival)
3353 if (mumps->ICNTL_pre[1 + 2 * i] == icntl) *ival = mumps->ICNTL_pre[2 + 2 * i];
3355 } else *ival = mumps->id.ICNTL(icntl);
3366 . icntl - index of MUMPS parameter array `ICNTL()`
3367 - ival - value of MUMPS `ICNTL(icntl)`
3370 . -mat_mumps_icntl_<icntl> <ival> - change the option numbered `icntl` to `ival`
3379 PetscErrorCode MatMumpsSetIcntl(Mat F, PetscInt icntl, PetscInt ival)
3384 PetscValidLogicalCollectiveInt(F, icntl, 2);
3386 PetscCheck((icntl >= 1 && icntl <= 38) || icntl == 48 || icntl == 49 || icntl == 56 || icntl == 58, PetscObjectComm((PetscObject)F), PETSC_ERR_ARG_WRONG, "Unsupported ICNTL value %" PetscInt_FMT, icntl);
3387 PetscTryMethod(F, "MatMumpsSetIcntl_C", (Mat, PetscInt, PetscInt), (F, icntl, ival));
3398 - icntl - index of MUMPS parameter array ICNTL()
3401 . ival - value of MUMPS ICNTL(icntl)
3407 PetscErrorCode MatMumpsGetIcntl(Mat F, PetscInt icntl, PetscInt *ival)
3412 PetscValidLogicalCollectiveInt(F, icntl, 2);
3414 PetscCheck((icntl >= 1 && icntl <= 38) || icntl == 48 || icntl == 49 || icntl == 56 || icntl == 58, PetscObjectComm((PetscObject)F), PETSC_ERR_ARG_WRONG, "Unsupported ICNTL value %" PetscInt_FMT, icntl);
3415 PetscUseMethod(F, "MatMumpsGetIcntl_C", (Mat, PetscInt, PetscInt *), (F, icntl, ival));
3419 static PetscErrorCode MatMumpsSetCntl_MUMPS(Mat F, PetscInt icntl, PetscReal val)
3427 if (mumps->CNTL_pre[1 + 2 * i] == icntl) break;
3433 mumps->CNTL_pre[1 + 2 * i] = icntl;
3435 } else ID_CNTL_SET(mumps->id, icntl, val);
3439 static PetscErrorCode MatMumpsGetCntl_MUMPS(Mat F, PetscInt icntl, PetscReal *val)
3448 if (mumps->CNTL_pre[1 + 2 * i] == icntl) *val = mumps->CNTL_pre[2 + 2 * i];
3450 } else *val = ID_CNTL_GET(mumps->id, icntl);
3518 . icntl - index of MUMPS parameter array `CNTL()`
3519 - val - value of MUMPS `CNTL(icntl)`
3522 . -mat_mumps_cntl_<icntl> <val> - change the option numbered icntl to ival
3531 PetscErrorCode MatMumpsSetCntl(Mat F, PetscInt icntl, PetscReal val)
3536 PetscValidLogicalCollectiveInt(F, icntl, 2);
3538 PetscCheck(icntl >= 1 && icntl <= 7, PetscObjectComm((PetscObject)F), PETSC_ERR_ARG_WRONG, "Unsupported CNTL value %" PetscInt_FMT, icntl);
3539 PetscTryMethod(F, "MatMumpsSetCntl_C", (Mat, PetscInt, PetscReal), (F, icntl, val));
3550 - icntl - index of MUMPS parameter array CNTL()
3553 . val - value of MUMPS CNTL(icntl)
3559 PetscErrorCode MatMumpsGetCntl(Mat F, PetscInt icntl, PetscReal *val)
3564 PetscValidLogicalCollectiveInt(F, icntl, 2);
3566 PetscCheck(icntl >= 1 && icntl <= 7, PetscObjectComm((PetscObject)F), PETSC_ERR_ARG_WRONG, "Unsupported CNTL value %" PetscInt_FMT, icntl);
3567 PetscUseMethod(F, "MatMumpsGetCntl_C", (Mat, PetscInt, PetscReal *), (F, icntl, val));
3571 static PetscErrorCode MatMumpsGetInfo_MUMPS(Mat F, PetscInt icntl, PetscInt *info)
3576 *info = mumps->id.INFO(icntl);
3580 static PetscErrorCode MatMumpsGetInfog_MUMPS(Mat F, PetscInt icntl, PetscInt *infog)
3585 *infog = mumps->id.INFOG(icntl);
3589 static PetscErrorCode MatMumpsGetRinfo_MUMPS(Mat F, PetscInt icntl, PetscReal *rinfo)
3594 *rinfo = ID_RINFO_GET(mumps->id, icntl);
3598 static PetscErrorCode MatMumpsGetRinfog_MUMPS(Mat F, PetscInt icntl, PetscReal *rinfog)
3603 *rinfog = ID_RINFOG_GET(mumps->id, icntl);
3757 // mumps->id.icntl[] might have not been allocated, which is done in MatSetFromOptions_MUMPS(). So we don't assign ICNTL(15).
3805 - icntl - index of MUMPS parameter array INFO()
3808 . ival - value of MUMPS INFO(icntl)
3814 PetscErrorCode MatMumpsGetInfo(Mat F, PetscInt icntl, PetscInt *ival)
3820 PetscUseMethod(F, "MatMumpsGetInfo_C", (Mat, PetscInt, PetscInt *), (F, icntl, ival));
3831 - icntl - index of MUMPS parameter array INFOG()
3834 . ival - value of MUMPS INFOG(icntl)
3840 PetscErrorCode MatMumpsGetInfog(Mat F, PetscInt icntl, PetscInt *ival)
3846 PetscUseMethod(F, "MatMumpsGetInfog_C", (Mat, PetscInt, PetscInt *), (F, icntl, ival));
3857 - icntl - index of MUMPS parameter array RINFO()
3860 . val - value of MUMPS RINFO(icntl)
3866 PetscErrorCode MatMumpsGetRinfo(Mat F, PetscInt icntl, PetscReal *val)
3872 PetscUseMethod(F, "MatMumpsGetRinfo_C", (Mat, PetscInt, PetscReal *), (F, icntl, val));
3883 - icntl - index of MUMPS parameter array RINFOG()
3886 . val - value of MUMPS RINFOG(icntl)
3892 PetscErrorCode MatMumpsGetRinfog(Mat F, PetscInt icntl, PetscReal *val)
3898 PetscUseMethod(F, "MatMumpsGetRinfog_C", (Mat, PetscInt, PetscReal *), (F, icntl, val));