Lines Matching refs:ros

1090   TS_RosW     *ros = (TS_RosW *)ts->data;  in TSEvaluateStep_RosW()  local
1091 RosWTableau tab = ros->tableau; in TSEvaluateStep_RosW()
1092 PetscScalar *w = ros->work; in TSEvaluateStep_RosW()
1097 if (ros->status == TS_STEP_INCOMPLETE) { /* Use standard completion formula */ in TSEvaluateStep_RosW()
1100 PetscCall(VecMAXPY(U, tab->s, w, ros->Y)); in TSEvaluateStep_RosW()
1106 if (ros->status == TS_STEP_INCOMPLETE) { /* Use embedded completion formula */ in TSEvaluateStep_RosW()
1109 PetscCall(VecMAXPY(U, tab->s, w, ros->Y)); in TSEvaluateStep_RosW()
1113 PetscCall(VecMAXPY(U, tab->s, w, ros->Y)); in TSEvaluateStep_RosW()
1127 TS_RosW *ros = (TS_RosW *)ts->data; in TSStep_RosW() local
1128 RosWTableau tab = ros->tableau; in TSStep_RosW()
1133 PetscScalar *w = ros->work; in TSStep_RosW()
1134 Vec *Y = ros->Y, Ydot = ros->Ydot, Zdot = ros->Zdot, Zstage = ros->Zstage; in TSStep_RosW()
1144 if (!ts->steprollback) PetscCall(VecCopy(ts->vec_sol, ros->vec_sol_prev)); in TSStep_RosW()
1146 ros->status = TS_STEP_INCOMPLETE; in TSStep_RosW()
1147 while (!ts->reason && ros->status != TS_STEP_COMPLETE) { in TSStep_RosW()
1150 ros->stage_time = ts->ptime + h * ASum[i]; in TSStep_RosW()
1151 PetscCall(TSPreStage(ts, ros->stage_time)); in TSStep_RosW()
1153 ros->stage_explicit = PETSC_TRUE; in TSStep_RosW()
1154 ros->scoeff = 1.; in TSStep_RosW()
1156 ros->stage_explicit = PETSC_FALSE; in TSStep_RosW()
1157 ros->scoeff = 1. / Gamma[i * s + i]; in TSStep_RosW()
1171 if (!ros->stage_explicit) { in TSStep_RosW()
1173 if (!ros->recompute_jacobian && !i) { in TSStep_RosW()
1180 …if (!ros->recompute_jacobian && i == s - 1 && lag == 1) PetscCall(SNESSetLagJacobian(snes, lag)); … in TSStep_RosW()
1188 PetscCall(TSComputeIFunction(ts, ros->stage_time, Zstage, Ydot, Y[i], PETSC_FALSE)); in TSStep_RosW()
1198 … PetscCall(TSComputeIJacobian(ts, ros->stage_time, ts->vec_sol, Ydot, 0, J, Jp, PETSC_FALSE)); in TSStep_RosW()
1205 PetscCall(TSPostStage(ts, ros->stage_time, i, Y)); in TSStep_RosW()
1207 PetscCall(TSAdaptCheckStage(adapt, ts, ros->stage_time, Y[i], &stageok)); in TSStep_RosW()
1211 ros->status = TS_STEP_INCOMPLETE; in TSStep_RosW()
1213 ros->status = TS_STEP_PENDING; in TSStep_RosW()
1218 ros->status = accept ? TS_STEP_COMPLETE : TS_STEP_INCOMPLETE; in TSStep_RosW()
1242 TS_RosW *ros = (TS_RosW *)ts->data; in TSInterpolate_RosW() local
1243 PetscInt s = ros->tableau->s, pinterp = ros->tableau->pinterp, i, j; in TSInterpolate_RosW()
1247 const PetscReal *Bt = ros->tableau->binterpt; in TSInterpolate_RosW()
1248 const PetscReal *GammaInv = ros->tableau->GammaInv; in TSInterpolate_RosW()
1249 PetscScalar *w = ros->work; in TSInterpolate_RosW()
1250 Vec *Y = ros->Y; in TSInterpolate_RosW()
1253 …Object)ts), PETSC_ERR_SUP, "TSRosW %s does not have an interpolation formula", ros->tableau->name); in TSInterpolate_RosW()
1255 switch (ros->status) { in TSInterpolate_RosW()
1284 PetscCall(VecAXPY(U, 1, ros->vec_sol_prev)); in TSInterpolate_RosW()
1292 TS_RosW *ros = (TS_RosW *)ts->data; in TSRosWTableauReset() local
1293 RosWTableau tab = ros->tableau; in TSRosWTableauReset()
1297 PetscCall(VecDestroyVecs(tab->s, &ros->Y)); in TSRosWTableauReset()
1298 PetscCall(PetscFree(ros->work)); in TSRosWTableauReset()
1304 TS_RosW *ros = (TS_RosW *)ts->data; in TSReset_RosW() local
1308 PetscCall(VecDestroy(&ros->Ydot)); in TSReset_RosW()
1309 PetscCall(VecDestroy(&ros->Ystage)); in TSReset_RosW()
1310 PetscCall(VecDestroy(&ros->Zdot)); in TSReset_RosW()
1311 PetscCall(VecDestroy(&ros->Zstage)); in TSReset_RosW()
1312 PetscCall(VecDestroy(&ros->vec_sol_prev)); in TSReset_RosW()
1421 TS_RosW *ros = (TS_RosW *)ts->data; in SNESTSFormFunction_RosW() local
1423 PetscReal shift = ros->scoeff / ts->time_step; in SNESTSFormFunction_RosW()
1433 PetscCall(TSComputeIFunction(ts, ros->stage_time, Ystage, Ydot, F, PETSC_FALSE)); in SNESTSFormFunction_RosW()
1441 TS_RosW *ros = (TS_RosW *)ts->data; in SNESTSFormJacobian_RosW() local
1443 PetscReal shift = ros->scoeff / ts->time_step; in SNESTSFormJacobian_RosW()
1452 PetscCall(TSComputeIJacobian(ts, ros->stage_time, Ystage, Ydot, shift, A, B, PETSC_TRUE)); in SNESTSFormJacobian_RosW()
1460 TS_RosW *ros = (TS_RosW *)ts->data; in TSRosWTableauSetUp() local
1461 RosWTableau tab = ros->tableau; in TSRosWTableauSetUp()
1464 PetscCall(VecDuplicateVecs(ts->vec_sol, tab->s, &ros->Y)); in TSRosWTableauSetUp()
1465 PetscCall(PetscMalloc1(tab->s, &ros->work)); in TSRosWTableauSetUp()
1471 TS_RosW *ros = (TS_RosW *)ts->data; in TSSetUp_RosW() local
1478 PetscCall(VecDuplicate(ts->vec_sol, &ros->Ydot)); in TSSetUp_RosW()
1479 PetscCall(VecDuplicate(ts->vec_sol, &ros->Ystage)); in TSSetUp_RosW()
1480 PetscCall(VecDuplicate(ts->vec_sol, &ros->Zdot)); in TSSetUp_RosW()
1481 PetscCall(VecDuplicate(ts->vec_sol, &ros->Zstage)); in TSSetUp_RosW()
1482 PetscCall(VecDuplicate(ts->vec_sol, &ros->vec_sol_prev)); in TSSetUp_RosW()
1516 TS_RosW *ros = (TS_RosW *)ts->data; in TSSetFromOptions_RosW() local
1530 …senbrock-W method", "TSRosWSetType", (const char *const *)namelist, count, ros->tableau->name, &ch… in TSSetFromOptions_RosW()
1534 …te the Jacobian at each stage", "TSRosWSetRecomputeJacobian", ros->recompute_jacobian, &ros->recom… in TSSetFromOptions_RosW()
1545 TS_RosW *ros = (TS_RosW *)ts->data; in TSView_RosW() local
1551 RosWTableau tab = ros->tableau; in TSView_RosW()
1651 TS_RosW *ros = (TS_RosW *)ts->data; in TSRosWGetType_RosW() local
1654 *rostype = ros->tableau->name; in TSRosWGetType_RosW()
1660 TS_RosW *ros = (TS_RosW *)ts->data; in TSRosWSetType_RosW() local
1665 if (ros->tableau) { in TSRosWSetType_RosW()
1666 PetscCall(PetscStrcmp(ros->tableau->name, rostype, &match)); in TSRosWSetType_RosW()
1673 ros->tableau = &link->tab; in TSRosWSetType_RosW()
1675 ts->default_adapt_type = ros->tableau->bembed ? TSADAPTBASIC : TSADAPTNONE; in TSRosWSetType_RosW()
1684 TS_RosW *ros = (TS_RosW *)ts->data; in TSRosWSetRecomputeJacobian_RosW() local
1687 ros->recompute_jacobian = flg; in TSRosWSetRecomputeJacobian_RosW()
1775 TS_RosW *ros; in TSCreate_RosW() local
1794 PetscCall(PetscNew(&ros)); in TSCreate_RosW()
1795 ts->data = (void *)ros; in TSCreate_RosW()