Home
last modified time | relevance | path

Searched refs:ts (Results 1 – 25 of 279) sorted by relevance

12345678910>>...12

/petsc/src/ts/interface/sensitivity/
H A Dtssen.c28 PetscErrorCode TSSetRHSJacobianP(TS ts, Mat Amat, TSRHSJacobianPFn *func, PetscCtx ctx) in TSSetRHSJacobianP() argument
31 PetscValidHeaderSpecific(ts, TS_CLASSID, 1); in TSSetRHSJacobianP()
34 ts->rhsjacobianp = func; in TSSetRHSJacobianP()
35 ts->rhsjacobianpctx = ctx; in TSSetRHSJacobianP()
38 PetscCall(MatDestroy(&ts->Jacprhs)); in TSSetRHSJacobianP()
39 ts->Jacprhs = Amat; in TSSetRHSJacobianP()
64 PetscErrorCode TSGetRHSJacobianP(TS ts, Mat *Amat, TSRHSJacobianPFn **func, PetscCtxRt ctx) in TSGetRHSJacobianP() argument
67 if (func) *func = ts->rhsjacobianp; in TSGetRHSJacobianP()
68 if (ctx) *(void **)ctx = ts->rhsjacobianpctx; in TSGetRHSJacobianP()
69 if (Amat) *Amat = ts->Jacprhs; in TSGetRHSJacobianP()
[all …]
/petsc/src/ts/interface/
H A Dts.c89 PetscErrorCode TSSetFromOptions(TS ts) in TSSetFromOptions() argument
102 PetscValidHeaderSpecific(ts, TS_CLASSID, 1); in TSSetFromOptions()
105 PetscCall(TSGetIFunction(ts, NULL, &ifun, NULL)); in TSSetFromOptions()
107 PetscObjectOptionsBegin((PetscObject)ts); in TSSetFromOptions()
108 if (((PetscObject)ts)->type_name) defaultType = ((PetscObject)ts)->type_name; in TSSetFromOptions()
111 if (opt) PetscCall(TSSetType(ts, typeName)); in TSSetFromOptions()
112 else PetscCall(TSSetType(ts, defaultType)); in TSSetFromOptions()
116 …tionsReal("-ts_max_time", "Maximum time to run to", "TSSetMaxTime", ts->max_time, &ts->max_time, N… in TSSetFromOptions()
118 if (flg) PetscCall(TSSetTimeSpan(ts, num_eval_times, eval_times)); in TSSetFromOptions()
121 …PetscCheck(flg != opt || (!flg && !opt), PetscObjectComm((PetscObject)ts), PETSC_ERR_ARG_WRONG, "M… in TSSetFromOptions()
[all …]
H A Dtsrhssplit.c3 static PetscErrorCode TSRHSSplitGetRHSSplit(TS ts, const char splitname[], TS_RHSSplitLink *isplit) in TSRHSSplitGetRHSSplit() argument
8 *isplit = ts->tsrhssplit; in TSRHSSplitGetRHSSplit()
32 PetscErrorCode TSRHSSplitSetIS(TS ts, const char splitname[], IS is) in TSRHSSplitSetIS() argument
34 TS_RHSSplitLink newsplit, next = ts->tsrhssplit; in TSRHSSplitSetIS()
38 PetscValidHeaderSpecific(ts, TS_CLASSID, 1); in TSRHSSplitSetIS()
46 PetscCall(PetscSNPrintf(newsplit->splitname, 7, "%" PetscInt_FMT, ts->num_rhs_splits)); in TSRHSSplitSetIS()
50 PetscCall(TSCreate(PetscObjectComm((PetscObject)ts), &newsplit->ts)); in TSRHSSplitSetIS()
52 PetscCall(PetscObjectIncrementTabLevel((PetscObject)newsplit->ts, (PetscObject)ts, 1)); in TSRHSSplitSetIS()
53 …rintf(prefix, sizeof(prefix), "%srhsplit_%s_", ((PetscObject)ts)->prefix ? ((PetscObject)ts)->pref… in TSRHSSplitSetIS()
54 PetscCall(TSSetOptionsPrefix(newsplit->ts, prefix)); in TSRHSSplitSetIS()
[all …]
/petsc/src/ts/impls/implicit/theta/
H A Dtheta.c45 static PetscErrorCode TSThetaGetX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSThetaGetX0AndXdot() argument
47 TS_Theta *th = (TS_Theta *)ts->data; in TSThetaGetX0AndXdot()
51 if (dm && dm != ts->dm) PetscCall(DMGetNamedGlobalVector(dm, "TSTheta_X0", X0)); in TSThetaGetX0AndXdot()
52 else *X0 = ts->vec_sol; in TSThetaGetX0AndXdot()
55 if (dm && dm != ts->dm) PetscCall(DMGetNamedGlobalVector(dm, "TSTheta_Xdot", Xdot)); in TSThetaGetX0AndXdot()
61 static PetscErrorCode TSThetaRestoreX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSThetaRestoreX0AndXdot() argument
65 if (dm && dm != ts->dm) PetscCall(DMRestoreNamedGlobalVector(dm, "TSTheta_X0", X0)); in TSThetaRestoreX0AndXdot()
68 if (dm && dm != ts->dm) PetscCall(DMRestoreNamedGlobalVector(dm, "TSTheta_Xdot", Xdot)); in TSThetaRestoreX0AndXdot()
81 TS ts = (TS)ctx; in DMRestrictHook_TSTheta() local
85 PetscCall(TSThetaGetX0AndXdot(ts, fine, &X0, &Xdot)); in DMRestrictHook_TSTheta()
[all …]
/petsc/src/ts/impls/explicit/euler/
H A Deuler.c10 static PetscErrorCode TSStep_Euler(TS ts) in TSStep_Euler() argument
12 TS_Euler *euler = (TS_Euler *)ts->data; in TSStep_Euler()
13 Vec solution = ts->vec_sol, update = euler->update; in TSStep_Euler()
15 PetscReal next_time_step = ts->time_step; in TSStep_Euler()
18 PetscCall(TSPreStage(ts, ts->ptime)); in TSStep_Euler()
19 PetscCall(TSComputeRHSFunction(ts, ts->ptime, solution, update)); in TSStep_Euler()
20 PetscCall(VecAYPX(update, ts->time_step, solution)); in TSStep_Euler()
21 PetscCall(TSPostStage(ts, ts->ptime, 0, &solution)); in TSStep_Euler()
22 PetscCall(TSAdaptCheckStage(ts->adapt, ts, ts->ptime, solution, &stageok)); in TSStep_Euler()
24 ts->reason = TS_DIVERGED_STEP_REJECTED; in TSStep_Euler()
[all …]
/petsc/src/binding/petsc4py/test/
H A Dtest_ts.py23 def rhsfunction(self, ts, t, u, F): argument
29 def rhsjacobian(self, ts, t, u, J, P): argument
40 def ifunction(self, ts, t, u, du, F): argument
46 def ijacobian(self, ts, t, u, du, a, J, P): argument
57 def monitor(self, ts, s, t, u): argument
69 self.ts = PETSc.TS().create(PETSc.COMM_SELF)
71 self.ts.setExactFinalTime(eft)
73 self.ts.setProblemType(ptype)
74 self.ts.setType(self.TYPE)
76 snes = self.ts.getSNES()
[all …]
H A Dtest_ts_py.py18 def function(self, ts, t, u, du, F): argument
24 def jacobian(self, ts, t, u, du, a, J, P): argument
44 def create(self, ts, *args): argument
48 def destroy(self, ts, *args): argument
52 def setFromOptions(self, ts, *args): argument
55 def setUp(self, ts, *args): argument
56 self._log('setUp', ts, *args)
57 self.vec_update = ts.getSolution().duplicate()
59 def reset(self, ts, *args): argument
60 self._log('reset', ts, *args)
[all …]
/petsc/src/ts/impls/pseudo/
H A Dposindep.c59 PetscErrorCode TSPseudoComputeFunction(TS ts, Vec solution, Vec *residual, PetscReal *fnorm) in TSPseudoComputeFunction() argument
61 TS_Pseudo *pseudo = (TS_Pseudo *)ts->data; in TSPseudoComputeFunction()
65 PetscValidHeaderSpecific(ts, TS_CLASSID, 1); in TSPseudoComputeFunction()
73 PetscCall(TSComputeIFunction(ts, ts->ptime, solution, pseudo->xdot, pseudo->func, PETSC_FALSE)); in TSPseudoComputeFunction()
82 static PetscErrorCode TSStep_Pseudo(TS ts) in TSStep_Pseudo() argument
84 TS_Pseudo *pseudo = (TS_Pseudo *)ts->data; in TSStep_Pseudo()
87 PetscReal next_time_step = ts->time_step, fnorm; in TSStep_Pseudo()
91 if (ts->steps == 0) pseudo->dt_initial = ts->time_step; in TSStep_Pseudo()
94 while (!ts->reason && pseudo->status != TS_STEP_COMPLETE) { in TSStep_Pseudo()
95 PetscCall(TSPreStage(ts, ts->ptime + ts->time_step)); in TSStep_Pseudo()
[all …]
/petsc/src/ts/impls/implicit/alpha/
H A Dalpha1.c37 static PetscErrorCode TSResizeRegister_Alpha(TS ts, PetscBool reg) in TSResizeRegister_Alpha() argument
39 TS_Alpha *th = (TS_Alpha *)ts->data; in TSResizeRegister_Alpha()
43 PetscCall(TSResizeRegisterVec(ts, "ts:theta:sol_prev", th->vec_sol_prev)); in TSResizeRegister_Alpha()
44 PetscCall(TSResizeRegisterVec(ts, "ts:theta:X0", th->X0)); in TSResizeRegister_Alpha()
46 PetscCall(TSResizeRetrieveVec(ts, "ts:theta:sol_prev", &th->vec_sol_prev)); in TSResizeRegister_Alpha()
48 PetscCall(TSResizeRetrieveVec(ts, "ts:theta:X0", &th->X0)); in TSResizeRegister_Alpha()
54 static PetscErrorCode TSAlpha_StageTime(TS ts) in TSAlpha_StageTime() argument
56 TS_Alpha *th = (TS_Alpha *)ts->data; in TSAlpha_StageTime()
57 PetscReal t = ts->ptime; in TSAlpha_StageTime()
58 PetscReal dt = ts->time_step; in TSAlpha_StageTime()
[all …]
H A Dalpha2.c65 PetscErrorCode TSAlpha2SetPredictor(TS ts, TSAlpha2PredictorFn *predictor, PetscCtx ctx) in TSAlpha2SetPredictor() argument
67 TS_Alpha *th = (TS_Alpha *)ts->data; in TSAlpha2SetPredictor()
75 static PetscErrorCode TSAlpha_ApplyPredictor(TS ts, Vec X1) in TSAlpha_ApplyPredictor() argument
78 TS_Alpha *th = (TS_Alpha *)ts->data; in TSAlpha_ApplyPredictor()
81 if (th->predictor) PetscCall(th->predictor(ts, th->X0, th->V0, th->A0, X1, th->predictor_ctx)); in TSAlpha_ApplyPredictor()
86 static PetscErrorCode TSAlpha_StageTime(TS ts) in TSAlpha_StageTime() argument
88 TS_Alpha *th = (TS_Alpha *)ts->data; in TSAlpha_StageTime()
89 PetscReal t = ts->ptime; in TSAlpha_StageTime()
90 PetscReal dt = ts->time_step; in TSAlpha_StageTime()
104 static PetscErrorCode TSAlpha_StageVecs(TS ts, Vec X) in TSAlpha_StageVecs() argument
[all …]
/petsc/src/ts/impls/bdf/
H A Dbdf.c55 static PetscErrorCode TSBDF_GetVecs(TS ts, DM dm, Vec *Xdot, Vec *Ydot) in TSBDF_GetVecs() argument
57 TS_BDF *bdf = (TS_BDF *)ts->data; in TSBDF_GetVecs()
60 if (dm && dm != ts->dm) { in TSBDF_GetVecs()
70 static PetscErrorCode TSBDF_RestoreVecs(TS ts, DM dm, Vec *Xdot, Vec *Ydot) in TSBDF_RestoreVecs() argument
72 TS_BDF *bdf = (TS_BDF *)ts->data; in TSBDF_RestoreVecs()
75 if (dm && dm != ts->dm) { in TSBDF_RestoreVecs()
79 …PetscCheck(*Xdot == bdf->vec_dot, PetscObjectComm((PetscObject)ts), PETSC_ERR_ARG_INCOMP, "Vec doe… in TSBDF_RestoreVecs()
80 …PetscCheck(*Ydot == bdf->vec_wrk, PetscObjectComm((PetscObject)ts), PETSC_ERR_ARG_INCOMP, "Vec doe… in TSBDF_RestoreVecs()
95 TS ts = (TS)ctx; in DMRestrictHook_TSBDF() local
100 PetscCall(TSBDF_GetVecs(ts, fine, &Xdot, &Ydot)); in DMRestrictHook_TSBDF()
[all …]
/petsc/src/ts/impls/explicit/ssp/
H A Dssp.c18 static PetscErrorCode TSSSPGetWorkVectors(TS ts, PetscInt n, Vec **work) in TSSSPGetWorkVectors() argument
20 TS_SSP *ssp = (TS_SSP *)ts->data; in TSSSPGetWorkVectors()
26 PetscCall(VecDuplicateVecs(ts->vec_sol, n, &ssp->work)); in TSSSPGetWorkVectors()
34 static PetscErrorCode TSSSPRestoreWorkVectors(TS ts, PetscInt n, Vec **work) in TSSSPRestoreWorkVectors() argument
36 TS_SSP *ssp = (TS_SSP *)ts->data; in TSSSPRestoreWorkVectors()
53 static PetscErrorCode TSSSPStep_RK_2(TS ts, PetscReal t0, PetscReal dt, Vec sol) in TSSSPStep_RK_2() argument
55 TS_SSP *ssp = (TS_SSP *)ts->data; in TSSSPStep_RK_2()
61 PetscCall(TSSSPGetWorkVectors(ts, 2, &work)); in TSSSPStep_RK_2()
66 PetscCall(TSPreStage(ts, stage_time)); in TSSSPStep_RK_2()
67 PetscCall(TSComputeRHSFunction(ts, stage_time, work[0], F)); in TSSSPStep_RK_2()
[all …]
/petsc/src/ts/impls/mimex/
H A Dmimex.c15 static PetscErrorCode TSMimexGetX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSMimexGetX0AndXdot() argument
17 TS_Mimex *mimex = (TS_Mimex *)ts->data; in TSMimexGetX0AndXdot()
21 if (dm && dm != ts->dm) PetscCall(DMGetNamedGlobalVector(dm, "TSMimex_X0", X0)); in TSMimexGetX0AndXdot()
22 else *X0 = ts->vec_sol; in TSMimexGetX0AndXdot()
25 if (dm && dm != ts->dm) PetscCall(DMGetNamedGlobalVector(dm, "TSMimex_Xdot", Xdot)); in TSMimexGetX0AndXdot()
31 static PetscErrorCode TSMimexRestoreX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSMimexRestoreX0AndXdot() argument
35 if (dm && dm != ts->dm) PetscCall(DMRestoreNamedGlobalVector(dm, "TSMimex_X0", X0)); in TSMimexRestoreX0AndXdot()
37 if (dm && dm != ts->dm) PetscCall(DMRestoreNamedGlobalVector(dm, "TSMimex_Xdot", Xdot)); in TSMimexRestoreX0AndXdot()
41 static PetscErrorCode TSMimexGetXstarAndG(TS ts, DM dm, Vec *Xstar, Vec *G) in TSMimexGetXstarAndG() argument
49 static PetscErrorCode TSMimexRestoreXstarAndG(TS ts, DM dm, Vec *Xstar, Vec *G) in TSMimexRestoreXstarAndG() argument
[all …]
/petsc/src/ts/impls/eimex/
H A Deimex.c32 static PetscErrorCode TSEvaluateStep_EIMEX(TS ts, PetscInt order, Vec X, PetscBool *done) in TSEvaluateStep_EIMEX() argument
34 TS_EIMEX *ext = (TS_EIMEX *)ts->data; in TSEvaluateStep_EIMEX()
42 static PetscErrorCode TSStage_EIMEX(TS ts, PetscInt istage) in TSStage_EIMEX() argument
44 TS_EIMEX *ext = (TS_EIMEX *)ts->data; in TSStage_EIMEX()
53 PetscCall(TSGetSNES(ts, &snes)); in TSStage_EIMEX()
54 h = ts->time_step / ext->N[istage]; /* step size for the istage-th stage */ in TSStage_EIMEX()
60 ext->ctime = ts->ptime + h * i; in TSStage_EIMEX()
65 ts->snes_its += its; in TSStage_EIMEX()
66 ts->ksp_its += lits; in TSStage_EIMEX()
67 PetscCall(TSGetAdapt(ts, &adapt)); in TSStage_EIMEX()
[all …]
/petsc/src/ts/impls/implicit/discgrad/
H A Dtsdiscgrad.c29 static PetscErrorCode TSDiscGradGetX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSDiscGradGetX0AndXdot() argument
31 TS_DiscGrad *dg = (TS_DiscGrad *)ts->data; in TSDiscGradGetX0AndXdot()
35 if (dm && dm != ts->dm) PetscCall(DMGetNamedGlobalVector(dm, "TSDiscGrad_X0", X0)); in TSDiscGradGetX0AndXdot()
36 else *X0 = ts->vec_sol; in TSDiscGradGetX0AndXdot()
39 if (dm && dm != ts->dm) PetscCall(DMGetNamedGlobalVector(dm, "TSDiscGrad_Xdot", Xdot)); in TSDiscGradGetX0AndXdot()
45 static PetscErrorCode TSDiscGradRestoreX0AndXdot(TS ts, DM dm, Vec *X0, Vec *Xdot) in TSDiscGradRestoreX0AndXdot() argument
49 if (dm && dm != ts->dm) PetscCall(DMRestoreNamedGlobalVector(dm, "TSDiscGrad_X0", X0)); in TSDiscGradRestoreX0AndXdot()
52 if (dm && dm != ts->dm) PetscCall(DMRestoreNamedGlobalVector(dm, "TSDiscGrad_Xdot", Xdot)); in TSDiscGradRestoreX0AndXdot()
65 TS ts = (TS)ctx; in DMRestrictHook_TSDiscGrad() local
69 PetscCall(TSDiscGradGetX0AndXdot(ts, fine, &X0, &Xdot)); in DMRestrictHook_TSDiscGrad()
[all …]
/petsc/src/ts/tests/
H A Dex14.c5 static PetscErrorCode RHSFunction(TS ts, PetscReal t, Vec X, Vec F, PetscCtx ctx) in RHSFunction() argument
24 PetscErrorCode TestCheckStage(TSAdapt adapt, TS ts, PetscReal t, Vec X, PetscBool *accept) in TestCheckStage() argument
29 PetscCall(TSGetStepNumber(ts, &step)); in TestCheckStage()
34 static PetscErrorCode TestExplicitTS(TS ts, PetscInt order, const char subtype[]) in TestExplicitTS() argument
51 PetscCall(TSGetType(ts, &type)); in TestExplicitTS()
52 PetscCall(TSGetSolution(ts, &U)); in TestExplicitTS()
54 PetscCall(TSSetStepNumber(ts, 0)); in TestExplicitTS()
55 PetscCall(TSSetTime(ts, 0)); in TestExplicitTS()
56 PetscCall(TSSetTimeStep(ts, dt)); in TestExplicitTS()
57 PetscCall(TSSetMaxTime(ts, Tf)); in TestExplicitTS()
[all …]
/petsc/src/ts/impls/implicit/irk/
H A Dirk.c67 PetscErrorCode TSIRKTableauCreate(TS ts, PetscInt nstages, const PetscReal *A, const PetscReal *b, … in TSIRKTableauCreate() argument
69 TS_IRK *irk = (TS_IRK *)ts->data; in TSIRKTableauCreate()
88 static PetscErrorCode TSIRKCreate_Gauss(TS ts) in TSIRKCreate_Gauss() argument
98 PetscCall(TSIRKGetNumStages(ts, &nstages)); in TSIRKCreate_Gauss()
153 …PetscCall(TSIRKTableauCreate(ts, nstages, gauss_A_real, gauss_b, gauss_c, NULL, gauss_A_inv, gauss… in TSIRKCreate_Gauss()
269 static PetscErrorCode TSEvaluateStep_IRK(TS ts, PetscInt order, Vec U, PetscBool *done) in TSEvaluateStep_IRK() argument
271 TS_IRK *irk = (TS_IRK *)ts->data; in TSEvaluateStep_IRK()
282 h = ts->time_step; in TSEvaluateStep_IRK()
285 h = ts->ptime - ts->ptime_prev; in TSEvaluateStep_IRK()
288 SETERRQ(PetscObjectComm((PetscObject)ts), PETSC_ERR_PLIB, "Invalid TSStepStatus"); in TSEvaluateStep_IRK()
[all …]
/petsc/src/ts/event/tests/
H A Dex1.c19 TS ts; in main() local
31 PetscCall(TSCreate(PETSC_COMM_WORLD, &ts)); in main()
37 PetscCall(TSSetRHSFunction(ts, f, RHSFunction, NULL)); in main()
49 PetscCall(TSSetRHSJacobian(ts, A, A, RHSJacobian, NULL)); in main()
56 PetscCall(TSSetSolution(ts, x)); in main()
59 PetscCall(TSMonitorSet(ts, Monitor, NULL, NULL)); in main()
60 PetscCall(TSSetPreStep(ts, PreStep)); in main()
61 PetscCall(TSSetPostStep(ts, PostStep)); in main()
65 PetscCall(TSGetAdapt(ts, &adapt)); in main()
77 PetscCall(TSSetTimeStep(ts, 1)); in main()
[all …]
/petsc/src/ts/impls/implicit/sundials/
H A Dsundials.c16 TS ts = (TS)P_data; in TSPrecond_Sundials_Petsc() local
17 TS_Sundials *cvode = (TS_Sundials *)ts->data; in TSPrecond_Sundials_Petsc()
25 PetscCall(TSGetIJacobian(ts, &J, &P, NULL, NULL)); in TSPrecond_Sundials_Petsc()
30 PetscCall(TSComputeIJacobian(ts, ts->ptime, yy, yydot, 1 / gm, J, P, PETSC_FALSE)); in TSPrecond_Sundials_Petsc()
34 PetscCall(TSSundialsGetPC(ts, &pc)); in TSPrecond_Sundials_Petsc()
51 TS ts = (TS)P_data; in TSPSolve_Sundials_Petsc() local
52 TS_Sundials *cvode = (TS_Sundials *)ts->data; in TSPSolve_Sundials_Petsc()
65 PetscCall(TSSundialsGetPC(ts, &pc)); in TSPSolve_Sundials_Petsc()
83 TS ts = (TS)ctx; in TSFunction_Sundials() local
88 TS_Sundials *cvode = (TS_Sundials *)ts->data; in TSFunction_Sundials()
[all …]
/petsc/src/ts/impls/explicit/rk/
H A Drk.c485 static PetscErrorCode TSRKGetTableau_RK(TS ts, PetscInt *s, const PetscReal **A, const PetscReal **… in TSRKGetTableau_RK() argument
487 TS_RK *rk = (TS_RK *)ts->data; in TSRKGetTableau_RK()
524 PetscErrorCode TSRKGetTableau(TS ts, PetscInt *s, const PetscReal **A, const PetscReal **b, const P… in TSRKGetTableau() argument
527 PetscValidHeaderSpecific(ts, TS_CLASSID, 1); in TSRKGetTableau()
528ts, "TSRKGetTableau_C", (TS, PetscInt *, const PetscReal **, const PetscReal **, const PetscReal *… in TSRKGetTableau()
548 static PetscErrorCode TSEvaluateStep_RK(TS ts, PetscInt order, Vec X, PetscBool *done) in TSEvaluateStep_RK() argument
550 TS_RK *rk = (TS_RK *)ts->data; in TSEvaluateStep_RK()
560 h = ts->time_step; in TSEvaluateStep_RK()
563 h = ts->ptime - ts->ptime_prev; in TSEvaluateStep_RK()
566 SETERRQ(PetscObjectComm((PetscObject)ts), PETSC_ERR_PLIB, "Invalid TSStepStatus"); in TSEvaluateStep_RK()
[all …]
H A Dmrk.c19 static PetscErrorCode TSReset_RK_MultirateNonsplit(TS ts) in TSReset_RK_MultirateNonsplit() argument
21 TS_RK *rk = (TS_RK *)ts->data; in TSReset_RK_MultirateNonsplit()
30 static PetscErrorCode TSInterpolate_RK_MultirateNonsplit(TS ts, PetscReal itime, Vec X) in TSInterpolate_RK_MultirateNonsplit() argument
32 TS_RK *rk = (TS_RK *)ts->data; in TSInterpolate_RK_MultirateNonsplit()
34 PetscReal h = ts->time_step; in TSInterpolate_RK_MultirateNonsplit()
40 …PetscCheck(B, PetscObjectComm((PetscObject)ts), PETSC_ERR_SUP, "TSRK %s does not have an interpola… in TSInterpolate_RK_MultirateNonsplit()
53 static PetscErrorCode TSStepRefine_RK_MultirateNonsplit(TS ts) in TSStepRefine_RK_MultirateNonsplit() argument
56 TS_RK *rk = (TS_RK *)ts->data; in TSStepRefine_RK_MultirateNonsplit()
64 PetscReal t = ts->ptime, h = ts->time_step; in TSStepRefine_RK_MultirateNonsplit()
67 PetscCall(VecDuplicate(ts->vec_sol, &vec_fast)); in TSStepRefine_RK_MultirateNonsplit()
[all …]
/petsc/src/ts/interface/ftn-custom/
H A Dztsf.c68 static PetscErrorCode ourprestep(TS ts) in ourprestep() argument
72 …PetscCall(PetscObjectGetFortranCallback((PetscObject)ts, PETSC_FORTRAN_CALLBACK_CLASS, _cb.functio… in ourprestep()
74 …PetscObjectUseFortranCallback(ts, _cb.prestep, (TS *, PetscErrorCode * /* PETSC_F90_2PTR_PROTO_NOV… in ourprestep()
76 static PetscErrorCode ourpoststep(TS ts) in ourpoststep() argument
80 …PetscCall(PetscObjectGetFortranCallback((PetscObject)ts, PETSC_FORTRAN_CALLBACK_CLASS, _cb.functio… in ourpoststep()
82 …PetscObjectUseFortranCallback(ts, _cb.poststep, (TS *, PetscErrorCode * /* PETSC_F90_2PTR_PROTO_NO… in ourpoststep()
84 static PetscErrorCode ourrhsfunction(TS ts, PetscReal d, Vec x, Vec f, PetscCtx ctx) in ourrhsfunction() argument
88 …PetscCall(PetscObjectGetFortranCallback((PetscObject)ts, PETSC_FORTRAN_CALLBACK_CLASS, _cb.functio… in ourrhsfunction()
90 …eFortranCallback(ts, _cb.rhsfunction, (TS *, PetscReal *, Vec *, Vec *, void *, PetscErrorCode * /… in ourrhsfunction()
92 static PetscErrorCode ourifunction(TS ts, PetscReal d, Vec x, Vec xdot, Vec f, PetscCtx ctx) in ourifunction() argument
[all …]
/petsc/src/ts/impls/symplectic/basicsymplectic/
H A Dbasicsymplectic.c203 static PetscErrorCode TSStep_BasicSymplectic(TS ts) in TSStep_BasicSymplectic() argument
205 TS_BasicSymplectic *bsymp = (TS_BasicSymplectic *)ts->data; in TSStep_BasicSymplectic()
207 Vec solution = ts->vec_sol, update = bsymp->update, q, p, q_update, p_update; in TSStep_BasicSymplectic()
211 PetscReal ptime, next_time_step = ts->time_step; in TSStep_BasicSymplectic()
215 PetscCall(TSGetStepNumber(ts, &n)); in TSStep_BasicSymplectic()
218 PetscCall(TSGetTime(ts, &ptime)); in TSStep_BasicSymplectic()
224 PetscCall(TSPreStage(ts, ptime)); in TSStep_BasicSymplectic()
230 PetscCall(VecAXPY(q, scheme->c[iter] * ts->time_step, q_update)); in TSStep_BasicSymplectic()
234 ptime = ptime + scheme->d[iter] * ts->time_step; in TSStep_BasicSymplectic()
236 PetscCall(VecAXPY(p, scheme->d[iter] * ts->time_step, p_update)); in TSStep_BasicSymplectic()
[all …]
/petsc/src/ts/impls/glee/
H A Dglee.c433 static PetscErrorCode TSEvaluateStep_GLEE(TS ts, PetscInt order, Vec X, PetscBool *done) in TSEvaluateStep_GLEE() argument
435 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSEvaluateStep_GLEE()
446 h = ts->time_step; in TSEvaluateStep_GLEE()
449 h = ts->ptime - ts->ptime_prev; in TSEvaluateStep_GLEE()
452 SETERRQ(PetscObjectComm((PetscObject)ts), PETSC_ERR_PLIB, "Invalid TSStepStatus"); in TSEvaluateStep_GLEE()
471 } else PetscCall(VecCopy(ts->vec_sol, X)); in TSEvaluateStep_GLEE()
490 …PetscCheck(done, PetscObjectComm((PetscObject)ts), PETSC_ERR_SUP, "GLEE '%s' of order %" PetscInt_… in TSEvaluateStep_GLEE()
495 static PetscErrorCode TSStep_GLEE(TS ts) in TSStep_GLEE() argument
497 TS_GLEE *glee = (TS_GLEE *)ts->data; in TSStep_GLEE()
515 PetscCall(TSGetSNES(ts, &snes)); in TSStep_GLEE()
[all …]
/petsc/src/ts/impls/arkimex/
H A Dfsarkimex.c6 static PetscErrorCode TSARKIMEXSetSplits(TS ts) in TSARKIMEXSetSplits() argument
8 TS_ARKIMEX *ark = (TS_ARKIMEX *)ts->data; in TSARKIMEXSetSplits()
12 PetscCall(TSRHSSplitGetSubTS(ts, "slow", &ark->subts_slow)); in TSARKIMEXSetSplits()
13 PetscCall(TSRHSSplitGetSubTS(ts, "fast", &ark->subts_fast)); in TSARKIMEXSetSplits()
15 PetscCall(TSGetDM(ts, &dm)); in TSARKIMEXSetSplits()
33 static PetscErrorCode SNESTSFormFunction_ARKIMEX_FastSlowSplit(SNES snes, Vec X, Vec F, TS ts) in SNESTSFormFunction_ARKIMEX_FastSlowSplit() argument
35 TS_ARKIMEX *ark = (TS_ARKIMEX *)ts->data; in SNESTSFormFunction_ARKIMEX_FastSlowSplit()
41 dmsave = ts->dm; in SNESTSFormFunction_ARKIMEX_FastSlowSplit()
42 ts->dm = dm; // Use the SNES DM to compute IFunction in SNESTSFormFunction_ARKIMEX_FastSlowSplit()
44 PetscReal shift = ark->scoeff / ts->time_step; in SNESTSFormFunction_ARKIMEX_FastSlowSplit()
[all …]

12345678910>>...12