Lines Matching refs:isplit
3 static PetscErrorCode TSRHSSplitGetRHSSplit(TS ts, const char splitname[], TS_RHSSplitLink *isplit) in TSRHSSplitGetRHSSplit() argument
8 *isplit = ts->tsrhssplit; in TSRHSSplitGetRHSSplit()
10 while (*isplit) { in TSRHSSplitGetRHSSplit()
11 PetscCall(PetscStrcmp((*isplit)->splitname, splitname, &found)); in TSRHSSplitGetRHSSplit()
13 *isplit = (*isplit)->next; in TSRHSSplitGetRHSSplit()
82 TS_RHSSplitLink isplit; in TSRHSSplitGetIS() local
88 PetscCall(TSRHSSplitGetRHSSplit(ts, splitname, &isplit)); in TSRHSSplitGetIS()
89 if (isplit) *is = isplit->is; in TSRHSSplitGetIS()
111 TS_RHSSplitLink isplit; in TSRHSSplitSetRHSFunction() local
120 PetscCall(TSRHSSplitGetRHSSplit(ts, splitname, &isplit)); in TSRHSSplitSetRHSFunction()
121 …PetscCheck(isplit, PETSC_COMM_SELF, PETSC_ERR_USER, "The split %s is not created, check the split … in TSRHSSplitSetRHSFunction()
124 PetscCall(VecGetSubVector(ts->vec_sol, isplit->is, &subvec)); in TSRHSSplitSetRHSFunction()
127 PetscCall(VecRestoreSubVector(ts->vec_sol, isplit->is, &subvec)); in TSRHSSplitSetRHSFunction()
136 PetscCall(TSSetDM(isplit->ts, dmc)); in TSRHSSplitSetRHSFunction()
141 PetscCall(TSSetRHSFunction(isplit->ts, r, rhsfunc, ctx)); in TSRHSSplitSetRHSFunction()
164 TS_RHSSplitLink isplit; in TSRHSSplitSetIFunction() local
173 PetscCall(TSRHSSplitGetRHSSplit(ts, splitname, &isplit)); in TSRHSSplitSetIFunction()
174 …PetscCheck(isplit, PETSC_COMM_SELF, PETSC_ERR_USER, "The split %s is not created, check the split … in TSRHSSplitSetIFunction()
177 PetscCall(VecGetSubVector(ts->vec_sol, isplit->is, &subvec)); in TSRHSSplitSetIFunction()
180 PetscCall(VecRestoreSubVector(ts->vec_sol, isplit->is, &subvec)); in TSRHSSplitSetIFunction()
189 PetscCall(TSSetDM(isplit->ts, dmc)); in TSRHSSplitSetIFunction()
194 PetscCall(TSSetIFunction(isplit->ts, r, ifunc, ctx)); in TSRHSSplitSetIFunction()
218 TS_RHSSplitLink isplit; in TSRHSSplitSetIJacobian() local
229 PetscCall(TSRHSSplitGetRHSSplit(ts, splitname, &isplit)); in TSRHSSplitSetIJacobian()
230 …PetscCheck(isplit, PETSC_COMM_SELF, PETSC_ERR_USER, "The split %s is not created, check the split … in TSRHSSplitSetIJacobian()
238 PetscCall(TSSetDM(isplit->ts, dmc)); in TSRHSSplitSetIJacobian()
243 PetscCall(TSSetIJacobian(isplit->ts, Amat, Pmat, ijac, ctx)); in TSRHSSplitSetIJacobian()
265 TS_RHSSplitLink isplit; in TSRHSSplitGetSubTS() local
272 PetscCall(TSRHSSplitGetRHSSplit(ts, splitname, &isplit)); in TSRHSSplitGetSubTS()
273 if (isplit) *subts = isplit->ts; in TSRHSSplitGetSubTS()