Lines Matching refs:adapt

43 static PetscErrorCode TSAdaptRestart_DSP(TSAdapt adapt)  in TSAdaptRestart_DSP()  argument
45 TSAdapt_DSP *dsp = (TSAdapt_DSP *)adapt->data; in TSAdaptRestart_DSP()
54 static PetscErrorCode TSAdaptRollBack_DSP(TSAdapt adapt) in TSAdaptRollBack_DSP() argument
56 TSAdapt_DSP *dsp = (TSAdapt_DSP *)adapt->data; in TSAdaptRollBack_DSP()
68 static PetscErrorCode TSAdaptChoose_DSP(TSAdapt adapt, TS ts, PetscReal h, PetscInt *next_sc, Petsc… in TSAdaptChoose_DSP() argument
70 TSAdapt_DSP *dsp = (TSAdapt_DSP *)adapt->data; in TSAdaptChoose_DSP()
74 PetscReal safety = adapt->safety * (PetscReal)0.9; in TSAdaptChoose_DSP()
76 PetscReal hmin = adapt->dt_min * (1 + PETSC_SQRT_MACHINE_EPSILON); in TSAdaptChoose_DSP()
84 PetscCall(TSEvaluateWLTE(ts, adapt->wnormtype, &order, &enorm)); in TSAdaptChoose_DSP()
85 …PetscCheck(enorm < 0 || order >= 1, PetscObjectComm((PetscObject)adapt), PETSC_ERR_ARG_OUTOFRANGE,… in TSAdaptChoose_DSP()
90 …PetscCheck(adapt->candidates.n >= 1, PetscObjectComm((PetscObject)adapt), PETSC_ERR_ARG_WRONGSTATE… in TSAdaptChoose_DSP()
91adapt->candidates.inuse_set, PetscObjectComm((PetscObject)adapt), PETSC_ERR_ARG_WRONGSTATE, "The c… in TSAdaptChoose_DSP()
92 order = adapt->candidates.order[0]; in TSAdaptChoose_DSP()
96 PetscCall(TSErrorWeightedNorm(ts, ts->vec_sol, Y, adapt->wnormtype, &enorm, &enorma, &enormr)); in TSAdaptChoose_DSP()
100 PetscCall(TSAdaptRestart_DSP(adapt)); in TSAdaptChoose_DSP()
114 PetscCall(TSAdaptRollBack_DSP(adapt)); in TSAdaptChoose_DSP()
117 if (ts->steprestart) PetscCall(TSAdaptRestart_DSP(adapt)); in TSAdaptChoose_DSP()
146 else if (adapt->always_accept) *accept = PETSC_TRUE; in TSAdaptChoose_DSP()
164 hnew = h * PetscClipInterval(hfac, adapt->clip[0], adapt->clip[1]); in TSAdaptChoose_DSP()
165 *next_h = PetscClipInterval(hnew, adapt->dt_min, adapt->dt_max); in TSAdaptChoose_DSP()
170 static PetscErrorCode TSAdaptDestroy_DSP(TSAdapt adapt) in TSAdaptDestroy_DSP() argument
173 PetscCall(PetscObjectComposeFunction((PetscObject)adapt, "TSAdaptDSPSetFilter_C", NULL)); in TSAdaptDestroy_DSP()
174 PetscCall(PetscObjectComposeFunction((PetscObject)adapt, "TSAdaptDSPSetPID_C", NULL)); in TSAdaptDestroy_DSP()
175 PetscCall(PetscFree(adapt->data)); in TSAdaptDestroy_DSP()
179 static PetscErrorCode TSAdaptView_DSP(TSAdapt adapt, PetscViewer viewer) in TSAdaptView_DSP() argument
181 TSAdapt_DSP *dsp = (TSAdapt_DSP *)adapt->data; in TSAdaptView_DSP()
225 static PetscErrorCode TSAdaptDSPSetFilter_DSP(TSAdapt adapt, const char *name) in TSAdaptDSPSetFilter_DSP() argument
227 TSAdapt_DSP *dsp = (TSAdapt_DSP *)adapt->data; in TSAdaptDSPSetFilter_DSP()
240 …PetscCheck(tab, PetscObjectComm((PetscObject)adapt), PETSC_ERR_ARG_UNKNOWN_TYPE, "Filter name %s n… in TSAdaptDSPSetFilter_DSP()
249 static PetscErrorCode TSAdaptDSPSetPID_DSP(TSAdapt adapt, PetscReal kkI, PetscReal kkP, PetscReal k… in TSAdaptDSPSetPID_DSP() argument
251 TSAdapt_DSP *dsp = (TSAdapt_DSP *)adapt->data; in TSAdaptDSPSetPID_DSP()
262 static PetscErrorCode TSAdaptSetFromOptions_DSP(TSAdapt adapt, PetscOptionItems PetscOptionsObject) in TSAdaptSetFromOptions_DSP() argument
264 TSAdapt_DSP *dsp = (TSAdapt_DSP *)adapt->data; in TSAdaptSetFromOptions_DSP()
277 if (set) PetscCall(TSAdaptDSPSetFilter(adapt, names[index])); in TSAdaptSetFromOptions_DSP()
280 …PetscCheck(!set || n, PetscObjectComm((PetscObject)adapt), PETSC_ERR_ARG_WRONG, "Must provide at l… in TSAdaptSetFromOptions_DSP()
281 if (set) PetscCall(TSAdaptDSPSetPID(adapt, pid[0], pid[1], pid[2])); in TSAdaptSetFromOptions_DSP()
284 …PetscCheck(!set || n, PetscObjectComm((PetscObject)adapt), PETSC_ERR_ARG_WRONG, "Must provide at l… in TSAdaptSetFromOptions_DSP()
289 …PetscCheck(!set || n, PetscObjectComm((PetscObject)adapt), PETSC_ERR_ARG_WRONG, "Must provide at l… in TSAdaptSetFromOptions_DSP()
321 PetscErrorCode TSAdaptDSPSetFilter(TSAdapt adapt, const char name[]) in TSAdaptDSPSetFilter() argument
324 PetscValidHeaderSpecific(adapt, TSADAPT_CLASSID, 1); in TSAdaptDSPSetFilter()
326 PetscTryMethod(adapt, "TSAdaptDSPSetFilter_C", (TSAdapt, const char *), (adapt, name)); in TSAdaptDSPSetFilter()
346 PetscErrorCode TSAdaptDSPSetPID(TSAdapt adapt, PetscReal kkI, PetscReal kkP, PetscReal kkD) in TSAdaptDSPSetPID() argument
349 PetscValidHeaderSpecific(adapt, TSADAPT_CLASSID, 1); in TSAdaptDSPSetPID()
350 PetscValidLogicalCollectiveReal(adapt, kkI, 2); in TSAdaptDSPSetPID()
351 PetscValidLogicalCollectiveReal(adapt, kkP, 3); in TSAdaptDSPSetPID()
352 PetscValidLogicalCollectiveReal(adapt, kkD, 4); in TSAdaptDSPSetPID()
353 …PetscTryMethod(adapt, "TSAdaptDSPSetPID_C", (TSAdapt, PetscReal, PetscReal, PetscReal), (adapt, kk… in TSAdaptDSPSetPID()
371 PETSC_EXTERN PetscErrorCode TSAdaptCreate_DSP(TSAdapt adapt) in TSAdaptCreate_DSP() argument
377 adapt->reject_safety = 1.0; /* unused */ in TSAdaptCreate_DSP()
379 adapt->data = (void *)dsp; in TSAdaptCreate_DSP()
380 adapt->ops->choose = TSAdaptChoose_DSP; in TSAdaptCreate_DSP()
381 adapt->ops->setfromoptions = TSAdaptSetFromOptions_DSP; in TSAdaptCreate_DSP()
382 adapt->ops->destroy = TSAdaptDestroy_DSP; in TSAdaptCreate_DSP()
383 adapt->ops->view = TSAdaptView_DSP; in TSAdaptCreate_DSP()
385 …PetscCall(PetscObjectComposeFunction((PetscObject)adapt, "TSAdaptDSPSetFilter_C", TSAdaptDSPSetFil… in TSAdaptCreate_DSP()
386 …PetscCall(PetscObjectComposeFunction((PetscObject)adapt, "TSAdaptDSPSetPID_C", TSAdaptDSPSetPID_DS… in TSAdaptCreate_DSP()
388 PetscCall(TSAdaptDSPSetFilter_DSP(adapt, "PI42")); in TSAdaptCreate_DSP()
389 PetscCall(TSAdaptRestart_DSP(adapt)); in TSAdaptCreate_DSP()