Lines Matching refs:tab

78   ARKTableau       tab = ark->tableau;  in TSExtrapolate_ARKIMEX_FastSlowSplit()  local
79 PetscInt s = tab->s, pinterp = tab->pinterp, i, j; in TSExtrapolate_ARKIMEX_FastSlowSplit()
82 const PetscReal *Bt = tab->binterpt, *B = tab->binterp; in TSExtrapolate_ARKIMEX_FastSlowSplit()
123 ARKTableau tab = ark->tableau; in TSEvaluateStep_ARKIMEX_FastSlowSplit() local
127 PetscInt s = tab->s, j; in TSEvaluateStep_ARKIMEX_FastSlowSplit()
143 if (order == tab->order) { in TSEvaluateStep_ARKIMEX_FastSlowSplit()
146 for (j = 0; j < s; j++) w[j] = h * tab->b[j]; in TSEvaluateStep_ARKIMEX_FastSlowSplit()
155 for (j = 0; j < s; j++) w[j] = h * tab->bt[j]; in TSEvaluateStep_ARKIMEX_FastSlowSplit()
162 } else if (order == tab->order - 1) { in TSEvaluateStep_ARKIMEX_FastSlowSplit()
163 if (!tab->bembedt) goto unavailable; in TSEvaluateStep_ARKIMEX_FastSlowSplit()
166 for (j = 0; j < s; j++) w[j] = h * tab->bembed[j]; in TSEvaluateStep_ARKIMEX_FastSlowSplit()
175 for (j = 0; j < s; j++) w[j] = h * tab->bembedt[j]; in TSEvaluateStep_ARKIMEX_FastSlowSplit()
181 for (j = 0; j < s; j++) w[j] = h * (tab->bembed[j] - tab->b[j]); in TSEvaluateStep_ARKIMEX_FastSlowSplit()
189 if (fasthasE) PetscCall(VecMAXPY(Xfast, tab->s, w, ark->YdotRHS_fast)); in TSEvaluateStep_ARKIMEX_FastSlowSplit()
190 for (j = 0; j < s; j++) w[j] = h * (tab->bembedt[j] - tab->bt[j]); in TSEvaluateStep_ARKIMEX_FastSlowSplit()
191 PetscCall(VecMAXPY(Xfast, tab->s, w, ark->YdotI_fast)); in TSEvaluateStep_ARKIMEX_FastSlowSplit()
200 tab->name, tab->order, order); in TSEvaluateStep_ARKIMEX_FastSlowSplit()
217 ARKTableau tab = ark->tableau; in TSStep_ARKIMEX_FastSlowSplit() local
218 const PetscInt s = tab->s; in TSStep_ARKIMEX_FastSlowSplit()
219 const PetscReal *At = tab->At, *A = tab->A, *ct = tab->ct; in TSStep_ARKIMEX_FastSlowSplit()
234 PetscCall(VecDuplicateVecs(Xfast, tab->s, &ark->Y_prev)); in TSStep_ARKIMEX_FastSlowSplit()
235 PetscCall(VecDuplicateVecs(Xfast, tab->s, &ark->YdotI_prev)); in TSStep_ARKIMEX_FastSlowSplit()
236 if (fasthasE) PetscCall(VecDuplicateVecs(Xfast, tab->s, &ark->YdotRHS_prev)); in TSStep_ARKIMEX_FastSlowSplit()
256 if (ts->equation_type >= TS_EQ_IMPLICIT && tab->explicit_first_stage && ts->steprestart) { in TSStep_ARKIMEX_FastSlowSplit()
346 if (i == 0 && tab->explicit_first_stage) { in TSStep_ARKIMEX_FastSlowSplit()
347 …PetscCheck(tab->stiffly_accurate, PetscObjectComm((PetscObject)ts), PETSC_ERR_SUP, "%s %s is not s… in TSStep_ARKIMEX_FastSlowSplit()
356 if (i == 0 && tab->explicit_first_stage) { in TSStep_ARKIMEX_FastSlowSplit()
379 PetscCall(TSEvaluateStep_ARKIMEX_FastSlowSplit(ts, tab->order, ts->vec_sol, NULL)); in TSStep_ARKIMEX_FastSlowSplit()
383 …PetscCall(TSAdaptCandidateAdd(adapt, tab->name, tab->order, 1, tab->ccfl, (PetscReal)tab->s, PETSC… in TSStep_ARKIMEX_FastSlowSplit()
410 ARKTableau tab = ark->tableau; in TSSetUp_ARKIMEX_FastSlowSplit() local
414 PetscCall(PetscMalloc1(2 * tab->s, &ark->work)); in TSSetUp_ARKIMEX_FastSlowSplit()
415 PetscCall(VecDuplicateVecs(ts->vec_sol, tab->s, &ark->Y)); in TSSetUp_ARKIMEX_FastSlowSplit()
423 PetscCall(VecDestroyVecs(tab->s, &ark->YdotI_fast)); in TSSetUp_ARKIMEX_FastSlowSplit()
425 PetscCall(VecDestroyVecs(tab->s, &ark->Y_prev)); in TSSetUp_ARKIMEX_FastSlowSplit()
426 PetscCall(VecDestroyVecs(tab->s, &ark->YdotI_prev)); in TSSetUp_ARKIMEX_FastSlowSplit()
427 PetscCall(VecDestroyVecs(tab->s, &ark->YdotRHS_prev)); in TSSetUp_ARKIMEX_FastSlowSplit()
433 PetscCall(VecDuplicateVecs(Xfast, tab->s, &ark->YdotRHS_fast)); in TSSetUp_ARKIMEX_FastSlowSplit()
434 PetscCall(VecDuplicateVecs(Xfast, tab->s, &ark->YdotI_fast)); in TSSetUp_ARKIMEX_FastSlowSplit()
439 PetscCall(VecDuplicateVecs(Xfast, tab->s, &ark->Y_prev)); in TSSetUp_ARKIMEX_FastSlowSplit()
440 PetscCall(VecDuplicateVecs(Xfast, tab->s, &ark->YdotI_prev)); in TSSetUp_ARKIMEX_FastSlowSplit()
441 PetscCall(VecDuplicateVecs(Xfast, tab->s, &ark->YdotRHS_prev)); in TSSetUp_ARKIMEX_FastSlowSplit()
447 PetscCall(VecDuplicateVecs(Xslow, tab->s, &ark->YdotRHS_slow)); in TSSetUp_ARKIMEX_FastSlowSplit()
470 ARKTableau tab = ark->tableau; in TSReset_ARKIMEX_FastSlowSplit() local
473 if (tab) { in TSReset_ARKIMEX_FastSlowSplit()
475 PetscCall(VecDestroyVecs(tab->s, &ark->Y)); in TSReset_ARKIMEX_FastSlowSplit()
477 PetscCall(VecDestroyVecs(tab->s, &ark->YdotRHS_slow)); in TSReset_ARKIMEX_FastSlowSplit()
478 PetscCall(VecDestroyVecs(tab->s, &ark->YdotRHS_fast)); in TSReset_ARKIMEX_FastSlowSplit()
479 PetscCall(VecDestroyVecs(tab->s, &ark->YdotI_fast)); in TSReset_ARKIMEX_FastSlowSplit()
484 PetscCall(VecDestroyVecs(tab->s, &ark->Y_prev)); in TSReset_ARKIMEX_FastSlowSplit()
485 PetscCall(VecDestroyVecs(tab->s, &ark->YdotI_prev)); in TSReset_ARKIMEX_FastSlowSplit()
486 PetscCall(VecDestroyVecs(tab->s, &ark->YdotRHS_prev)); in TSReset_ARKIMEX_FastSlowSplit()