Lines Matching refs:glee

435   TS_GLEE     *glee = (TS_GLEE *)ts->data;  in TSEvaluateStep_GLEE()  local
436 GLEETableau tab = glee->tableau; in TSEvaluateStep_GLEE()
439 Vec *Y = glee->Y, *YdotStage = glee->YdotStage; in TSEvaluateStep_GLEE()
440 PetscScalar *ws = glee->swork, *wr = glee->rwork; in TSEvaluateStep_GLEE()
443 switch (glee->status) { in TSEvaluateStep_GLEE()
460 if (glee->status == TS_STEP_INCOMPLETE) { in TSEvaluateStep_GLEE()
464 PetscCall(VecMAXPY(Y[i], r, wr, glee->X)); in TSEvaluateStep_GLEE()
479 PetscCall(VecMAXPY(Y[i], r, wr, glee->X)); in TSEvaluateStep_GLEE()
497 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSStep_GLEE() local
498 GLEETableau tab = glee->tableau; in TSStep_GLEE()
501 …Vec *Y = glee->Y, *X = glee->X, *YStage = glee->YStage, *YdotStage = glee->YdotStage, W … in TSStep_GLEE()
503 PetscScalar *ws = glee->swork, *wr = glee->rwork; in TSStep_GLEE()
519 glee->status = TS_STEP_INCOMPLETE; in TSStep_GLEE()
526 glee->stage_time = t + h * c[i]; in TSStep_GLEE()
527 PetscCall(TSPreStage(ts, glee->stage_time)); in TSStep_GLEE()
536 glee->scoeff = 1.0 / A[i * s + i]; in TSStep_GLEE()
543 PetscCall(VecScale(W, glee->scoeff / h)); in TSStep_GLEE()
554 PetscCall(TSAdaptCheckStage(adapt, ts, glee->stage_time, YStage[i], &accept)); in TSStep_GLEE()
556 PetscCall(TSPostStage(ts, glee->stage_time, i, YStage)); in TSStep_GLEE()
560 glee->status = TS_STEP_PENDING; in TSStep_GLEE()
571 glee->status = TS_STEP_COMPLETE; in TSStep_GLEE()
574 PetscCall(TSGetTimeError(ts, 0, &glee->yGErr)); in TSStep_GLEE()
581 glee->status = TS_STEP_INCOMPLETE; in TSStep_GLEE()
586 if (glee->status != TS_STEP_COMPLETE && !ts->reason) ts->reason = TS_DIVERGED_STEP_REJECTED; in TSStep_GLEE()
592 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSInterpolate_GLEE() local
593 PetscInt s = glee->tableau->s, pinterp = glee->tableau->pinterp, i, j; in TSInterpolate_GLEE()
596 const PetscReal *B = glee->tableau->binterp; in TSInterpolate_GLEE()
599 …bject)ts), PETSC_ERR_SUP, "TSGLEE %s does not have an interpolation formula", glee->tableau->name); in TSInterpolate_GLEE()
600 switch (glee->status) { in TSInterpolate_GLEE()
618 PetscCall(VecCopy(glee->YStage[0], X)); in TSInterpolate_GLEE()
619 PetscCall(VecMAXPY(X, s, b, glee->YdotStage)); in TSInterpolate_GLEE()
626 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSReset_GLEE() local
630 if (!glee->tableau) PetscFunctionReturn(PETSC_SUCCESS); in TSReset_GLEE()
631 s = glee->tableau->s; in TSReset_GLEE()
632 r = glee->tableau->r; in TSReset_GLEE()
633 PetscCall(VecDestroyVecs(r, &glee->Y)); in TSReset_GLEE()
634 PetscCall(VecDestroyVecs(r, &glee->X)); in TSReset_GLEE()
635 PetscCall(VecDestroyVecs(s, &glee->YStage)); in TSReset_GLEE()
636 PetscCall(VecDestroyVecs(s, &glee->YdotStage)); in TSReset_GLEE()
637 PetscCall(VecDestroy(&glee->Ydot)); in TSReset_GLEE()
638 PetscCall(VecDestroy(&glee->yGErr)); in TSReset_GLEE()
639 PetscCall(VecDestroy(&glee->W)); in TSReset_GLEE()
640 PetscCall(PetscFree2(glee->swork, glee->rwork)); in TSReset_GLEE()
646 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSGLEEGetVecs() local
651 else *Ydot = glee->Ydot; in TSGLEEGetVecs()
670 TS_GLEE *glee = (TS_GLEE *)ts->data; in SNESTSFormFunction_GLEE() local
673 PetscReal shift = glee->scoeff / ts->time_step; in SNESTSFormFunction_GLEE()
684 PetscCall(TSComputeIFunction(ts, glee->stage_time, X, Ydot, F, PETSC_FALSE)); in SNESTSFormFunction_GLEE()
693 TS_GLEE *glee = (TS_GLEE *)ts->data; in SNESTSFormJacobian_GLEE() local
696 PetscReal shift = glee->scoeff / ts->time_step; in SNESTSFormJacobian_GLEE()
705 PetscCall(TSComputeIJacobian(ts, glee->stage_time, X, Ydot, shift, A, B, PETSC_FALSE)); in SNESTSFormJacobian_GLEE()
738 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSSetUp_GLEE() local
744 if (!glee->tableau) PetscCall(TSGLEESetType(ts, TSGLEEDefaultType)); in TSSetUp_GLEE()
745 tab = glee->tableau; in TSSetUp_GLEE()
748 PetscCall(VecDuplicateVecs(ts->vec_sol, r, &glee->Y)); in TSSetUp_GLEE()
749 PetscCall(VecDuplicateVecs(ts->vec_sol, r, &glee->X)); in TSSetUp_GLEE()
750 PetscCall(VecDuplicateVecs(ts->vec_sol, s, &glee->YStage)); in TSSetUp_GLEE()
751 PetscCall(VecDuplicateVecs(ts->vec_sol, s, &glee->YdotStage)); in TSSetUp_GLEE()
752 PetscCall(VecDuplicate(ts->vec_sol, &glee->Ydot)); in TSSetUp_GLEE()
753 PetscCall(VecDuplicate(ts->vec_sol, &glee->yGErr)); in TSSetUp_GLEE()
754 PetscCall(VecZeroEntries(glee->yGErr)); in TSSetUp_GLEE()
755 PetscCall(VecDuplicate(ts->vec_sol, &glee->W)); in TSSetUp_GLEE()
756 PetscCall(PetscMalloc2(s, &glee->swork, r, &glee->rwork)); in TSSetUp_GLEE()
765 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSStartingMethod_GLEE() local
766 GLEETableau tab = glee->tableau; in TSStartingMethod_GLEE()
772 PetscCall(VecZeroEntries(glee->Y[i])); in TSStartingMethod_GLEE()
773 PetscCall(VecAXPY(glee->Y[i], S[i], ts->vec_sol)); in TSStartingMethod_GLEE()
804 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSView_GLEE() local
805 GLEETableau tab = glee->tableau; in TSView_GLEE()
885 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSGLEEGetType_GLEE() local
888 if (!glee->tableau) PetscCall(TSGLEESetType(ts, TSGLEEDefaultType)); in TSGLEEGetType_GLEE()
889 *gleetype = glee->tableau->name; in TSGLEEGetType_GLEE()
894 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSGLEESetType_GLEE() local
899 if (glee->tableau) { in TSGLEESetType_GLEE()
900 PetscCall(PetscStrcmp(glee->tableau->name, gleetype, &match)); in TSGLEESetType_GLEE()
907 glee->tableau = &link->tab; in TSGLEESetType_GLEE()
916 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSGetStages_GLEE() local
919 if (ns) *ns = glee->tableau->s; in TSGetStages_GLEE()
920 if (Y) *Y = glee->YStage; in TSGetStages_GLEE()
926 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSGetSolutionComponents_GLEE() local
927 GLEETableau tab = glee->tableau; in TSGetSolutionComponents_GLEE()
933 PetscCall(VecCopy(glee->Y[*n], *Y)); in TSGetSolutionComponents_GLEE()
940 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSGetAuxSolution_GLEE() local
941 GLEETableau tab = glee->tableau; in TSGetAuxSolution_GLEE()
944 Vec *Y = glee->Y; in TSGetAuxSolution_GLEE()
945 PetscScalar *wr = glee->rwork; in TSGetAuxSolution_GLEE()
957 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSGetTimeError_GLEE() local
958 GLEETableau tab = glee->tableau; in TSGetTimeError_GLEE()
961 Vec *Y = glee->Y; in TSGetTimeError_GLEE()
962 PetscScalar *wr = glee->rwork; in TSGetTimeError_GLEE()
971 *X = glee->yGErr; in TSGetTimeError_GLEE()
978 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSSetTimeError_GLEE() local
979 GLEETableau tab = glee->tableau; in TSSetTimeError_GLEE()
982 Vec *Y = glee->Y; in TSSetTimeError_GLEE()
989 PetscCall(VecCopy(X, glee->yGErr)); in TSSetTimeError_GLEE()