Lines Matching refs:head
72 PC_FieldSplitLink head; member
113 PC_FieldSplitLink ilink = jac->head; in PCView_FieldSplit()
171 PC_FieldSplitLink ilink = jac->head; in PCView_FieldSplit_Schur()
229 if (jac->head) PetscCall(KSPView(jac->head->ksp, viewer)); in PCView_FieldSplit_Schur()
232 if (jac->head && jac->kspupper != jac->head->ksp) { in PCView_FieldSplit_Schur()
248 } else if (isdraw && jac->head) { in PCView_FieldSplit_Schur()
256 if (jac->kspupper != jac->head->ksp) cnt++; in PCView_FieldSplit_Schur()
273 PetscCall(KSPView(jac->head->ksp, viewer)); in PCView_FieldSplit_Schur()
275 if (jac->kspupper != jac->head->ksp) { in PCView_FieldSplit_Schur()
294 PC_FieldSplitLink ilink = jac->head; in PCView_FieldSplit_GKB()
397 PC_FieldSplitLink ilink = jac->head; in PCFieldSplitSetDefaults()
458 for (ilink = jac->head, i = 0; ilink; ilink = ilink->next, ++i) { in PCFieldSplitSetDefaults()
588 ilink = jac->head; in PCSetUp_FieldSplit()
688 ilink = jac->head; in PCSetUp_FieldSplit()
751 ilink = jac->head; in PCSetUp_FieldSplit()
779 ilink = jac->head; in PCSetUp_FieldSplit()
791 ilink = jac->head; in PCSetUp_FieldSplit()
860 KSP kspA = jac->head->ksp, kspInner = NULL, kspUpper = jac->kspupper; in PCSetUp_FieldSplit()
870 ilink = jac->head; in PCSetUp_FieldSplit()
883 } else if (jac->schurpre == PC_FIELDSPLIT_SCHUR_PRE_FULL && jac->kspupper != jac->head->ksp) { in PCSetUp_FieldSplit()
898 ilink = jac->head; in PCSetUp_FieldSplit()
937 PetscCall(KSPGetDM(jac->head->ksp, &dmInner)); in PCSetUp_FieldSplit()
944 PetscCall(PCKSPSetKSP(pcInner, jac->head->ksp)); in PCSetUp_FieldSplit()
952 PetscCall(KSPSetType(jac->head->ksp, KSPGMRES)); in PCSetUp_FieldSplit()
953 PetscCall(MatSchurComplementSetKSP(jac->schur, jac->head->ksp)); in PCSetUp_FieldSplit()
955 PetscCall(KSPSetOperators(jac->head->ksp, jac->mat[0], jac->pmat[0])); in PCSetUp_FieldSplit()
956 PetscCall(KSPSetFromOptions(jac->head->ksp)); in PCSetUp_FieldSplit()
971 if (ksp == jac->head->ksp) PetscCall(PCSetUseAmat(pcInner, PETSC_TRUE)); in PCSetUp_FieldSplit()
986 PetscCall(KSPGetDM(jac->head->ksp, &dmInner)); in PCSetUp_FieldSplit()
991 PetscCall(VecDuplicate(jac->head->x, &jac->head->z)); in PCSetUp_FieldSplit()
993 jac->kspupper = jac->head->ksp; in PCSetUp_FieldSplit()
994 PetscCall(PetscObjectReference((PetscObject)jac->head->ksp)); in PCSetUp_FieldSplit()
1008 …if (jac->schurfactorization != PC_FIELDSPLIT_SCHUR_FACT_FULL || jac->kspupper != jac->head->ksp) P… in PCSetUp_FieldSplit()
1011 PetscCall(KSPGetOptionsPrefix(jac->head->next->ksp, &Dprefix)); in PCSetUp_FieldSplit()
1016 PetscCall(KSPGetDM(jac->head->next->ksp, &sdm)); in PCSetUp_FieldSplit()
1042 ilink = jac->head; in PCSetUp_FieldSplit()
1057 ilink = jac->head; in PCSetUp_FieldSplit()
1072 ilink = jac->head; in PCSetUp_FieldSplit()
1087 PetscCall(KSPGetPC(jac->head->ksp, &pc_coords)); in PCSetUp_FieldSplit()
1088 PetscCall(PCSetCoordinates(pc_coords, jac->head->dim, jac->head->ndofs, jac->head->coords)); in PCSetUp_FieldSplit()
1091 …PetscCall(PCSetCoordinates(pc_coords, jac->head->next->dim, jac->head->next->ndofs, jac->head->nex… in PCSetUp_FieldSplit()
1095 ilink = jac->head; in PCSetUp_FieldSplit()
1111 PC_FieldSplitLink ilinkA = jac->head; in PCSetUpOnBlocks_FieldSplit_Schur()
1165 PC_FieldSplitLink ilink = jac->head; in PCSetUpOnBlocks_FieldSplit()
1179 PC_FieldSplitLink ilinkA = jac->head; in PCSetUpOnBlocks_FieldSplit_GKB()
1191 PC_FieldSplitLink ilinkA = jac->head, ilinkD = ilinkA->next; in PCApply_FieldSplit_Schur()
1359 PC_FieldSplitLink ilink = jac->head; in PCFieldSplitCreateWorkMats_Private()
1395 PC_FieldSplitLink ilinkA = jac->head, ilinkD = ilinkA->next; in PCMatApply_FieldSplit_Schur()
1558 PC_FieldSplitLink ilinkA = jac->head, ilinkD = ilinkA->next; in PCApplyTranspose_FieldSplit_Schur()
1682 PC_FieldSplitLink ilink = jac->head; in PCApply_FieldSplit()
1783 PC_FieldSplitLink ilink = jac->head; in PCMatApply_FieldSplit()
1862 PC_FieldSplitLink ilinkA = jac->head, ilinkD = ilinkA->next; in PCApply_FieldSplit_GKB()
1990 PC_FieldSplitLink ilink = jac->head; in PCApplyTranspose_FieldSplit()
2058 PC_FieldSplitLink ilink = jac->head, next; in PCReset_FieldSplit()
2079 jac->head = NULL; in PCReset_FieldSplit()
2188 PC_FieldSplitLink ilink = jac->head; in PCSetFromOptions_FieldSplit()
2205 PC_FieldSplitLink ilink, next = jac->head; in PCFieldSplitSetFields_FieldSplit()
2242 jac->head = ilink; in PCFieldSplitSetFields_FieldSplit()
2265 nn = jac->nsplits + (jac->kspupper != jac->head->ksp ? 1 : 0); in PCFieldSplitSchurGetSubKSP_FieldSplit()
2267 (*subksp)[0] = jac->head->ksp; in PCFieldSplitSchurGetSubKSP_FieldSplit()
2269 if (jac->kspupper != jac->head->ksp) (*subksp)[2] = jac->kspupper; in PCFieldSplitSchurGetSubKSP_FieldSplit()
2293 PC_FieldSplitLink ilink = jac->head; in PCFieldSplitGetSubKSP_FieldSplit()
2333 PC_FieldSplitLink ilink = jac->head, next; in PCFieldSplitRestrictIS_FieldSplit()
2393 PC_FieldSplitLink ilink, next = jac->head; in PCFieldSplitSetIS_FieldSplit()
2428 jac->head = ilink; in PCFieldSplitSetIS_FieldSplit()
2667 PC_FieldSplitLink ilink = jac->head; in PCFieldSplitGetIS()
2708 PC_FieldSplitLink ilink = jac->head; in PCFieldSplitGetISByIndex()
3369 PC_FieldSplitLink ilink_current = jac->head; in PCSetCoordinates_FieldSplit()