Lines Matching refs:L
7 Mat L; member
45 Mat L, Lp, Qscale; in PCSetUp_LSC() local
51 PetscCall(PetscObjectQuery((PetscObject)pc->mat, "LSC_L", (PetscObject *)&L)); in PCSetUp_LSC()
52 if (!L) PetscCall(PetscObjectQuery((PetscObject)pc->pmat, "LSC_L", (PetscObject *)&L)); in PCSetUp_LSC()
61 …PetscCheck(L || Lp, PetscObjectComm((PetscObject)pc), PETSC_ERR_USER, "The user must provide an L … in PCSetUp_LSC()
62 if (!L && Lp) L = Lp; in PCSetUp_LSC()
63 else if (L && !Lp) Lp = L; in PCSetUp_LSC()
72 if (!L) { in PCSetUp_LSC()
79 … if (!lsc->L) PetscCall(MatMatMult(CAdiaginv, B, MAT_INITIAL_MATRIX, PETSC_CURRENT, &lsc->L)); in PCSetUp_LSC()
80 else PetscCall(MatMatMult(CAdiaginv, B, MAT_REUSE_MATRIX, PETSC_CURRENT, &lsc->L)); in PCSetUp_LSC()
83 if (!lsc->L) { in PCSetUp_LSC()
84 PetscCall(MatProductCreate(C, B, NULL, &lsc->L)); in PCSetUp_LSC()
85 PetscCall(MatProductSetType(lsc->L, MATPRODUCT_AB)); in PCSetUp_LSC()
86 PetscCall(MatProductSetFromOptions(lsc->L)); in PCSetUp_LSC()
87 PetscCall(MatProductSymbolic(lsc->L)); in PCSetUp_LSC()
89 PetscCall(MatProductNumeric(lsc->L)); in PCSetUp_LSC()
91 Lp = L = lsc->L; in PCSetUp_LSC()
95 PetscCall(KSPSetOperators(lsc->kspL, L, Lp)); in PCSetUp_LSC()
147 if (lsc->L) PetscCall(MatDestroy(&lsc->L)); in PCReset_LSC()