Lines Matching refs:Xdot

21   Vec       X0, X, Xdot;  member
29 static PetscErrorCode TSDiscGradGetX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSDiscGradGetX0AndXdot() argument
38 if (Xdot) { in TSDiscGradGetX0AndXdot()
39 if (dm && dm != ts->dm) PetscCall(DMGetNamedGlobalVector(dm, "TSDiscGrad_Xdot", Xdot)); in TSDiscGradGetX0AndXdot()
40 else *Xdot = dg->Xdot; in TSDiscGradGetX0AndXdot()
45 static PetscErrorCode TSDiscGradRestoreX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSDiscGradRestoreX0AndXdot() argument
51 if (Xdot) { in TSDiscGradRestoreX0AndXdot()
52 if (dm && dm != ts->dm) PetscCall(DMRestoreNamedGlobalVector(dm, "TSDiscGrad_Xdot", Xdot)); in TSDiscGradRestoreX0AndXdot()
66 Vec X0, Xdot, X0_c, Xdot_c; in DMRestrictHook_TSDiscGrad() local
69 PetscCall(TSDiscGradGetX0AndXdot(ts, fine, &X0, &Xdot)); in DMRestrictHook_TSDiscGrad()
72 PetscCall(MatRestrict(restrct, Xdot, Xdot_c)); in DMRestrictHook_TSDiscGrad()
75 PetscCall(TSDiscGradRestoreX0AndXdot(ts, fine, &X0, &Xdot)); in DMRestrictHook_TSDiscGrad()
89 Vec X0, Xdot, X0_sub, Xdot_sub; in DMSubDomainRestrictHook_TSDiscGrad() local
92 PetscCall(TSDiscGradGetX0AndXdot(ts, dm, &X0, &Xdot)); in DMSubDomainRestrictHook_TSDiscGrad()
98 PetscCall(VecScatterBegin(gscat, Xdot, Xdot_sub, INSERT_VALUES, SCATTER_FORWARD)); in DMSubDomainRestrictHook_TSDiscGrad()
99 PetscCall(VecScatterEnd(gscat, Xdot, Xdot_sub, INSERT_VALUES, SCATTER_FORWARD)); in DMSubDomainRestrictHook_TSDiscGrad()
101 PetscCall(TSDiscGradRestoreX0AndXdot(ts, dm, &X0, &Xdot)); in DMSubDomainRestrictHook_TSDiscGrad()
114 if (!dg->Xdot) PetscCall(VecDuplicate(ts->vec_sol, &dg->Xdot)); in TSSetUp_DiscGrad()
170 PetscCall(VecDestroy(&dg->Xdot)); in TSReset_DiscGrad()
200 PetscCall(VecWAXPY(X, dt, dg->Xdot, dg->X)); in TSInterpolate_DiscGrad()
245 PetscCall(VecAXPBYPCZ(dg->Xdot, -shift, shift, 0, dg->X0, dg->X)); in TSStep_DiscGrad()
246 PetscCall(VecAXPY(ts->vec_sol, ts->time_step, dg->Xdot)); in TSStep_DiscGrad()
291 Vec X0, Xdot, Xp, Xdiff; in SNESTSFormFunction_DiscGrad() local
322 PetscCall(TSDiscGradGetX0AndXdot(ts, dm, &X0, &Xdot)); in SNESTSFormFunction_DiscGrad()
323 PetscCall(VecAXPBYPCZ(Xdot, -shift, shift, 0, X0, x)); /* Xdot = shift (x - X0) */ in SNESTSFormFunction_DiscGrad()
390 PetscCall(VecAXPBYPCZ(y, 1, -1, 0, Xdot, SgF)); in SNESTSFormFunction_DiscGrad()
393 PetscCall(TSDiscGradRestoreX0AndXdot(ts, dm, &X0, &Xdot)); in SNESTSFormFunction_DiscGrad()
407 Vec Xdot; in SNESTSFormJacobian_DiscGrad() local
413 PetscCall(TSDiscGradGetX0AndXdot(ts, dm, NULL, &Xdot)); in SNESTSFormJacobian_DiscGrad()
417 PetscCall(TSComputeIJacobian(ts, dg->stage_time, x, Xdot, shift, A, B, PETSC_FALSE)); in SNESTSFormJacobian_DiscGrad()
419 PetscCall(TSDiscGradRestoreX0AndXdot(ts, dm, NULL, &Xdot)); in SNESTSFormJacobian_DiscGrad()