Lines Matching refs:Xdot
10 Vec Xdot, update; member
15 static PetscErrorCode TSMimexGetX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSMimexGetX0AndXdot() argument
24 if (Xdot) { in TSMimexGetX0AndXdot()
25 if (dm && dm != ts->dm) PetscCall(DMGetNamedGlobalVector(dm, "TSMimex_Xdot", Xdot)); in TSMimexGetX0AndXdot()
26 else *Xdot = mimex->Xdot; in TSMimexGetX0AndXdot()
31 static PetscErrorCode TSMimexRestoreX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSMimexRestoreX0AndXdot() argument
36 if (Xdot) in TSMimexRestoreX0AndXdot()
37 if (dm && dm != ts->dm) PetscCall(DMRestoreNamedGlobalVector(dm, "TSMimex_Xdot", Xdot)); in TSMimexRestoreX0AndXdot()
65 Vec X0, Xdot; in SNESTSFormFunction_Mimex() local
70 PetscCall(TSMimexGetX0AndXdot(ts, dm, &X0, &Xdot)); in SNESTSFormFunction_Mimex()
71 PetscCall(VecAXPBYPCZ(Xdot, -shift, shift, 0, X0, x)); in SNESTSFormFunction_Mimex()
76 PetscCall(TSComputeIFunction(ts, mimex->stage_time, x, Xdot, y, PETSC_TRUE)); in SNESTSFormFunction_Mimex()
118 PetscCall(TSMimexRestoreX0AndXdot(ts, dm, &X0, &Xdot)); in SNESTSFormFunction_Mimex()
126 Vec Xdot; in SNESTSFormJacobian_Mimex() local
132 PetscCall(TSMimexGetX0AndXdot(ts, dm, NULL, &Xdot)); in SNESTSFormJacobian_Mimex()
137 PetscCall(TSComputeIJacobian(ts, mimex->stage_time, x, Xdot, shift, A, B, PETSC_TRUE)); in SNESTSFormJacobian_Mimex()
139 PetscCall(TSMimexRestoreX0AndXdot(ts, dm, NULL, &Xdot)); in SNESTSFormJacobian_Mimex()
255 PetscCall(VecDuplicate(ts->vec_sol, &mimex->Xdot)); in TSSetUp_Mimex()
265 PetscCall(VecDestroy(&mimex->Xdot)); in TSReset_Mimex()