Lines Matching refs:tfs
18 PC_TFS *tfs = (PC_TFS *)pc->data; in PCDestroy_TFS() local
22 if (tfs->xxt) PetscCall(XXT_free(tfs->xxt)); in PCDestroy_TFS()
23 if (tfs->xyt) PetscCall(XYT_free(tfs->xyt)); in PCDestroy_TFS()
24 PetscCall(VecDestroy(&tfs->b)); in PCDestroy_TFS()
25 PetscCall(VecDestroy(&tfs->xd)); in PCDestroy_TFS()
26 PetscCall(VecDestroy(&tfs->xo)); in PCDestroy_TFS()
33 PC_TFS *tfs = (PC_TFS *)pc->data; in PCApply_TFS_XXT() local
40 PetscCall(XXT_solve(tfs->xxt, yy, (PetscScalar *)xx)); in PCApply_TFS_XXT()
48 PC_TFS *tfs = (PC_TFS *)pc->data; in PCApply_TFS_XYT() local
55 PetscCall(XYT_solve(tfs->xyt, yy, (PetscScalar *)xx)); in PCApply_TFS_XYT()
63 PC_TFS *tfs = (PC_TFS *)pc->data; in PCTFSLocalMult_TFS() local
68 PetscCall(VecPlaceArray(tfs->b, xout)); in PCTFSLocalMult_TFS()
69 PetscCall(VecPlaceArray(tfs->xd, xin)); in PCTFSLocalMult_TFS()
70 PetscCall(VecPlaceArray(tfs->xo, xin + tfs->nd)); in PCTFSLocalMult_TFS()
71 PetscCall(MatMult(a->A, tfs->xd, tfs->b)); in PCTFSLocalMult_TFS()
72 PetscCall(MatMultAdd(a->B, tfs->xo, tfs->b, tfs->b)); in PCTFSLocalMult_TFS()
73 PetscCall(VecResetArray(tfs->b)); in PCTFSLocalMult_TFS()
74 PetscCall(VecResetArray(tfs->xd)); in PCTFSLocalMult_TFS()
75 PetscCall(VecResetArray(tfs->xo)); in PCTFSLocalMult_TFS()
81 PC_TFS *tfs = (PC_TFS *)pc->data; in PCSetUp_TFS() local
99 PetscCall(VecCreateSeqWithArray(PETSC_COMM_SELF, 1, a->A->rmap->n, NULL, &tfs->b)); in PCSetUp_TFS()
100 PetscCall(VecCreateSeqWithArray(PETSC_COMM_SELF, 1, a->A->cmap->n, NULL, &tfs->xd)); in PCSetUp_TFS()
101 PetscCall(VecCreateSeqWithArray(PETSC_COMM_SELF, 1, a->B->cmap->n, NULL, &tfs->xo)); in PCSetUp_TFS()
102 tfs->nd = a->A->cmap->n; in PCSetUp_TFS()
106 tfs->xxt = XXT_new(); in PCSetUp_TFS()
107 …PetscCall(XXT_factor(tfs->xxt, localtoglobal, A->rmap->n, ncol, (PetscErrorCode (*)(void *, PetscS… in PCSetUp_TFS()
110 tfs->xyt = XYT_new(); in PCSetUp_TFS()
111 …PetscCall(XYT_factor(tfs->xyt, localtoglobal, A->rmap->n, ncol, (PetscErrorCode (*)(void *, PetscS… in PCSetUp_TFS()
139 PC_TFS *tfs; in PCCreate_TFS() local
145 PetscCall(PetscNew(&tfs)); in PCCreate_TFS()
147 tfs->xxt = NULL; in PCCreate_TFS()
148 tfs->xyt = NULL; in PCCreate_TFS()
149 tfs->b = NULL; in PCCreate_TFS()
150 tfs->xd = NULL; in PCCreate_TFS()
151 tfs->xo = NULL; in PCCreate_TFS()
152 tfs->nd = 0; in PCCreate_TFS()
161 pc->data = (void *)tfs; in PCCreate_TFS()