Lines Matching refs:next

10   PC_CompositeLink next;  member
26 PC_CompositeLink next = jac->head; in PCApply_Composite_Multiplicative() local
30 …PetscCheck(next, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGSTATE, "No composite precond… in PCApply_Composite_Multiplicative()
33 while (next) { in PCApply_Composite_Multiplicative()
34 PetscCall(PCSetReusePreconditioner(next->pc, pc->reusepreconditioner)); in PCApply_Composite_Multiplicative()
35 next = next->next; in PCApply_Composite_Multiplicative()
37 next = jac->head; in PCApply_Composite_Multiplicative()
39 if (next->next && !jac->work2) { /* allocate second work vector */ in PCApply_Composite_Multiplicative()
43 PetscCall(PCApply(next->pc, x, y)); /* y <- B x */ in PCApply_Composite_Multiplicative()
44 while (next->next) { in PCApply_Composite_Multiplicative()
45 next = next->next; in PCApply_Composite_Multiplicative()
48 PetscCall(PCApply(next->pc, jac->work2, jac->work1)); /* work1 <- C work2 */ in PCApply_Composite_Multiplicative()
52 while (next->previous) { in PCApply_Composite_Multiplicative()
53 next = next->previous; in PCApply_Composite_Multiplicative()
56 PetscCall(PCApply(next->pc, jac->work2, jac->work1)); in PCApply_Composite_Multiplicative()
66 PC_CompositeLink next = jac->head; in PCApplyTranspose_Composite_Multiplicative() local
70 …PetscCheck(next, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGSTATE, "No composite precond… in PCApplyTranspose_Composite_Multiplicative()
71 if (next->next && !jac->work2) { /* allocate second work vector */ in PCApplyTranspose_Composite_Multiplicative()
76 while (next->next) next = next->next; in PCApplyTranspose_Composite_Multiplicative()
77 PetscCall(PCApplyTranspose(next->pc, x, y)); in PCApplyTranspose_Composite_Multiplicative()
78 while (next->previous) { in PCApplyTranspose_Composite_Multiplicative()
79 next = next->previous; in PCApplyTranspose_Composite_Multiplicative()
82 PetscCall(PCApplyTranspose(next->pc, jac->work2, jac->work1)); in PCApplyTranspose_Composite_Multiplicative()
86 next = jac->head; in PCApplyTranspose_Composite_Multiplicative()
87 while (next->next) { in PCApplyTranspose_Composite_Multiplicative()
88 next = next->next; in PCApplyTranspose_Composite_Multiplicative()
91 PetscCall(PCApplyTranspose(next->pc, jac->work2, jac->work1)); in PCApplyTranspose_Composite_Multiplicative()
106 PC_CompositeLink next = jac->head; in PCApply_Composite_Special() local
109 …PetscCheck(next, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGSTATE, "No composite precond… in PCApply_Composite_Special()
110 …PetscCheck(next->next && !next->next->next, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGS… in PCApply_Composite_Special()
113 PetscCall(PCSetReusePreconditioner(next->pc, pc->reusepreconditioner)); in PCApply_Composite_Special()
114 PetscCall(PCSetReusePreconditioner(next->next->pc, pc->reusepreconditioner)); in PCApply_Composite_Special()
116 PetscCall(PCApply(next->pc, x, jac->work1)); in PCApply_Composite_Special()
120 PetscCall(PCApply(next->next->pc, jac->work2, y)); in PCApply_Composite_Special()
121 } else PetscCall(PCApply(next->next->pc, jac->work1, y)); in PCApply_Composite_Special()
128 PC_CompositeLink next = jac->head; in PCApply_Composite_Additive() local
131 …PetscCheck(next, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGSTATE, "No composite precond… in PCApply_Composite_Additive()
134 while (next) { in PCApply_Composite_Additive()
135 PetscCall(PCSetReusePreconditioner(next->pc, pc->reusepreconditioner)); in PCApply_Composite_Additive()
136 next = next->next; in PCApply_Composite_Additive()
138 next = jac->head; in PCApply_Composite_Additive()
140 PetscCall(PCApply(next->pc, x, y)); in PCApply_Composite_Additive()
141 while (next->next) { in PCApply_Composite_Additive()
142 next = next->next; in PCApply_Composite_Additive()
143 PetscCall(PCApply(next->pc, x, jac->work1)); in PCApply_Composite_Additive()
152 PC_CompositeLink next = jac->head; in PCApplyTranspose_Composite_Additive() local
155 …PetscCheck(next, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGSTATE, "No composite precond… in PCApplyTranspose_Composite_Additive()
156 PetscCall(PCApplyTranspose(next->pc, x, y)); in PCApplyTranspose_Composite_Additive()
157 while (next->next) { in PCApplyTranspose_Composite_Additive()
158 next = next->next; in PCApplyTranspose_Composite_Additive()
159 PetscCall(PCApplyTranspose(next->pc, x, jac->work1)); in PCApplyTranspose_Composite_Additive()
168 PC_CompositeLink next = jac->head; in PCSetUp_Composite() local
174 while (next) { in PCSetUp_Composite()
175 if (!next->pc->dm) PetscCall(PCSetDM(next->pc, dm)); in PCSetUp_Composite()
176 if (!next->pc->mat) PetscCall(PCSetOperators(next->pc, pc->mat, pc->pmat)); in PCSetUp_Composite()
177 next = next->next; in PCSetUp_Composite()
185 PC_CompositeLink next = jac->head; in PCSetUpOnBlocks_Composite() local
189 while (next) { in PCSetUpOnBlocks_Composite()
190 PetscCall(PCSetUp(next->pc)); in PCSetUpOnBlocks_Composite()
191 PetscCall(PCGetFailedReason(next->pc, &reason)); in PCSetUpOnBlocks_Composite()
193 next = next->next; in PCSetUpOnBlocks_Composite()
201 PC_CompositeLink next = jac->head; in PCReset_Composite() local
204 while (next) { in PCReset_Composite()
205 PetscCall(PCReset(next->pc)); in PCReset_Composite()
206 next = next->next; in PCReset_Composite()
217 PC_CompositeLink next = jac->head, next_tmp; in PCDestroy_Composite() local
221 while (next) { in PCDestroy_Composite()
222 PetscCall(PCDestroy(&next->pc)); in PCDestroy_Composite()
223 next_tmp = next; in PCDestroy_Composite()
224 next = next->next; in PCDestroy_Composite()
243 PC_CompositeLink next; in PCSetFromOptions_Composite() local
261 next = jac->head; in PCSetFromOptions_Composite()
262 while (next) { in PCSetFromOptions_Composite()
263 PetscCall(PCSetFromOptions(next->pc)); in PCSetFromOptions_Composite()
264 next = next->next; in PCSetFromOptions_Composite()
272 PC_CompositeLink next = jac->head; in PCView_Composite() local
283 while (next) { in PCView_Composite()
284 PetscCall(PCView(next->pc, viewer)); in PCView_Composite()
285 next = next->next; in PCView_Composite()
348 PC_CompositeLink next, ilink; in PCCompositeAddPC_Composite() local
355 ilink->next = NULL; in PCCompositeAddPC_Composite()
359 next = jac->head; in PCCompositeAddPC_Composite()
360 if (!next) { in PCCompositeAddPC_Composite()
365 while (next->next) { in PCCompositeAddPC_Composite()
366 next = next->next; in PCCompositeAddPC_Composite()
369 next->next = ilink; in PCCompositeAddPC_Composite()
370 ilink->previous = next; in PCCompositeAddPC_Composite()
397 PC_CompositeLink next; in PCCompositeGetNumberPC_Composite() local
401 next = jac->head; in PCCompositeGetNumberPC_Composite()
403 while (next) { in PCCompositeGetNumberPC_Composite()
404 next = next->next; in PCCompositeGetNumberPC_Composite()
413 PC_CompositeLink next; in PCCompositeGetPC_Composite() local
418 next = jac->head; in PCCompositeGetPC_Composite()
420 …PetscCheck(next->next, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_INCOMP, "Not enough PCs in … in PCCompositeGetPC_Composite()
421 next = next->next; in PCCompositeGetPC_Composite()
423 *subpc = next->pc; in PCCompositeGetPC_Composite()