Lines Matching refs:Afield
46 Mat *Afield; /* The rows of the matrix associated with each split */ member
794 if (!jac->Afield) { in PCSetUp_FieldSplit()
795 PetscCall(PetscCalloc1(nsplit, &jac->Afield)); in PCSetUp_FieldSplit()
797 …Call(MatCreateSubMatrix(pc->mat, ilink->next->is, ilink->is, MAT_INITIAL_MATRIX, &jac->Afield[1])); in PCSetUp_FieldSplit()
799 …all(MatCreateSubMatrix(pc->pmat, ilink->next->is, ilink->is, MAT_INITIAL_MATRIX, &jac->Afield[1])); in PCSetUp_FieldSplit()
805 PetscCall(MatDestroy(&jac->Afield[1])); in PCSetUp_FieldSplit()
810 … PetscCall(MatCreateSubMatrix(pc->mat, ilink->next->is, ilink->is, scall, &jac->Afield[1])); in PCSetUp_FieldSplit()
812 … PetscCall(MatCreateSubMatrix(pc->pmat, ilink->next->is, ilink->is, scall, &jac->Afield[1])); in PCSetUp_FieldSplit()
816 if (!jac->Afield) { in PCSetUp_FieldSplit()
817 PetscCall(PetscMalloc1(nsplit, &jac->Afield)); in PCSetUp_FieldSplit()
820 … PetscCall(MatCreateSubMatrix(pc->mat, ilink->is, NULL, MAT_INITIAL_MATRIX, &jac->Afield[i])); in PCSetUp_FieldSplit()
822 … PetscCall(MatCreateSubMatrix(pc->pmat, ilink->is, NULL, MAT_INITIAL_MATRIX, &jac->Afield[i])); in PCSetUp_FieldSplit()
829 for (i = 0; i < nsplit; i++) PetscCall(MatDestroy(&jac->Afield[i])); in PCSetUp_FieldSplit()
835 PetscCall(MatCreateSubMatrix(pc->mat, ilink->is, NULL, scall, &jac->Afield[i])); in PCSetUp_FieldSplit()
837 PetscCall(MatCreateSubMatrix(pc->pmat, ilink->is, NULL, scall, &jac->Afield[i])); in PCSetUp_FieldSplit()
1724 PetscCall(MatMult(jac->Afield[1], ilink->y, ilink->next->x)); in PCApply_FieldSplit()
1748 PetscCall(MatMult(jac->Afield[cnt++], y, ilink->x)); in PCApply_FieldSplit()
1764 PetscCall(MatMult(jac->Afield[cnt--], y, ilink->x)); in PCApply_FieldSplit()
1808 …PetscCall(MatMatMult(jac->Afield[1], ilink->Y, MAT_REUSE_MATRIX, PETSC_DETERMINE, &ilink->next->X)… in PCMatApply_FieldSplit()
1832 PetscCall(MatMatMult(jac->Afield[cnt++], Y, MAT_REUSE_MATRIX, PETSC_DETERMINE, &ilink->X)); in PCMatApply_FieldSplit()
1846 PetscCall(MatMatMult(jac->Afield[cnt--], Y, MAT_REUSE_MATRIX, PETSC_DETERMINE, &ilink->X)); in PCMatApply_FieldSplit()
2087 if (jac->Afield) PetscCall(MatDestroyMatrices(jac->nsplits, &jac->Afield)); in PCReset_FieldSplit()