Lines Matching refs:tj
52 PetscErrorCode TSTrajectorySet(TSTrajectory tj, TS ts, PetscInt stepnum, PetscReal time, Vec X) in TSTrajectorySet() argument
55 if (!tj) PetscFunctionReturn(PETSC_SUCCESS); in TSTrajectorySet()
56 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySet()
58 PetscValidLogicalCollectiveInt(tj, stepnum, 3); in TSTrajectorySet()
59 PetscValidLogicalCollectiveReal(tj, time, 4); in TSTrajectorySet()
61 …PetscCheck(tj->setupcalled, PetscObjectComm((PetscObject)tj), PETSC_ERR_ORDER, "TSTrajectorySetUp … in TSTrajectorySet()
62 …tj->monitor) PetscCall(PetscViewerASCIIPrintf(tj->monitor, "TSTrajectorySet: stepnum %" PetscInt_F… in TSTrajectorySet()
63 PetscCall(PetscLogEventBegin(TSTrajectory_Set, tj, ts, 0, 0)); in TSTrajectorySet()
64 PetscUseTypeMethod(tj, set, ts, stepnum, time, X); in TSTrajectorySet()
65 PetscCall(PetscLogEventEnd(TSTrajectory_Set, tj, ts, 0, 0)); in TSTrajectorySet()
66 if (tj->usehistory) PetscCall(TSHistoryUpdate(tj->tsh, stepnum, time)); in TSTrajectorySet()
67 if (tj->lag.caching) tj->lag.Udotcached.time = PETSC_MIN_REAL; in TSTrajectorySet()
86 PetscErrorCode TSTrajectoryGetNumSteps(TSTrajectory tj, PetscInt *steps) in TSTrajectoryGetNumSteps() argument
89 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryGetNumSteps()
91 PetscCall(TSHistoryGetNumSteps(tj->tsh, steps)); in TSTrajectoryGetNumSteps()
115 PetscErrorCode TSTrajectoryGet(TSTrajectory tj, TS ts, PetscInt stepnum, PetscReal *time) in TSTrajectoryGet() argument
118 …PetscCheck(tj, PetscObjectComm((PetscObject)ts), PETSC_ERR_ARG_WRONGSTATE, "TS solver did not save… in TSTrajectoryGet()
119 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryGet()
121 PetscValidLogicalCollectiveInt(tj, stepnum, 3); in TSTrajectoryGet()
123 …PetscCheck(tj->setupcalled, PetscObjectComm((PetscObject)tj), PETSC_ERR_ORDER, "TSTrajectorySetUp … in TSTrajectoryGet()
124 …PetscCheck(stepnum >= 0, PetscObjectComm((PetscObject)tj), PETSC_ERR_PLIB, "Requesting negative st… in TSTrajectoryGet()
125 if (tj->monitor) { in TSTrajectoryGet()
126 …etscViewerASCIIPrintf(tj->monitor, "TSTrajectoryGet: stepnum %" PetscInt_FMT ", stages %" PetscInt… in TSTrajectoryGet()
127 PetscCall(PetscViewerFlush(tj->monitor)); in TSTrajectoryGet()
129 PetscCall(PetscLogEventBegin(TSTrajectory_Get, tj, ts, 0, 0)); in TSTrajectoryGet()
130 PetscUseTypeMethod(tj, get, ts, stepnum, time); in TSTrajectoryGet()
131 PetscCall(PetscLogEventEnd(TSTrajectory_Get, tj, ts, 0, 0)); in TSTrajectoryGet()
158 PetscErrorCode TSTrajectoryGetVecs(TSTrajectory tj, TS ts, PetscInt stepnum, PetscReal *time, Vec U… in TSTrajectoryGetVecs() argument
161 …PetscCheck(tj, PetscObjectComm((PetscObject)ts), PETSC_ERR_ARG_WRONGSTATE, "TS solver did not save… in TSTrajectoryGetVecs()
162 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryGetVecs()
164 PetscValidLogicalCollectiveInt(tj, stepnum, 3); in TSTrajectoryGetVecs()
169 …PetscCheck(tj->setupcalled, PetscObjectComm((PetscObject)tj), PETSC_ERR_ORDER, "TSTrajectorySetUp … in TSTrajectoryGetVecs()
170 PetscCall(PetscLogEventBegin(TSTrajectory_GetVecs, tj, ts, 0, 0)); in TSTrajectoryGetVecs()
171 if (tj->monitor) { in TSTrajectoryGetVecs()
175 …PetscCall(PetscViewerASCIIPrintf(tj->monitor, "Requested by GetVecs %" PetscInt_FMT " %" PetscInt_… in TSTrajectoryGetVecs()
176 PetscCall(PetscViewerFlush(tj->monitor)); in TSTrajectoryGetVecs()
178 if (U && tj->lag.caching) { in TSTrajectoryGetVecs()
185 …if (id == tj->lag.Ucached.id && *time == tj->lag.Ucached.time && state == tj->lag.Ucached.state) U… in TSTrajectoryGetVecs()
187 …if (id == tj->lag.Ucached.id && stepnum == tj->lag.Ucached.step && state == tj->lag.Ucached.state)… in TSTrajectoryGetVecs()
189 if (tj->monitor && !U) { in TSTrajectoryGetVecs()
190 PetscCall(PetscViewerASCIIPushTab(tj->monitor)); in TSTrajectoryGetVecs()
191 PetscCall(PetscViewerASCIIPrintf(tj->monitor, "State vector cached\n")); in TSTrajectoryGetVecs()
192 PetscCall(PetscViewerASCIIPopTab(tj->monitor)); in TSTrajectoryGetVecs()
193 PetscCall(PetscViewerFlush(tj->monitor)); in TSTrajectoryGetVecs()
196 if (Udot && tj->lag.caching) { in TSTrajectoryGetVecs()
203 …if (id == tj->lag.Udotcached.id && *time == tj->lag.Udotcached.time && state == tj->lag.Udotcached… in TSTrajectoryGetVecs()
205 …if (id == tj->lag.Udotcached.id && stepnum == tj->lag.Udotcached.step && state == tj->lag.Udotcach… in TSTrajectoryGetVecs()
207 if (tj->monitor && !Udot) { in TSTrajectoryGetVecs()
208 PetscCall(PetscViewerASCIIPushTab(tj->monitor)); in TSTrajectoryGetVecs()
209 PetscCall(PetscViewerASCIIPrintf(tj->monitor, "Derivative vector cached\n")); in TSTrajectoryGetVecs()
210 PetscCall(PetscViewerASCIIPopTab(tj->monitor)); in TSTrajectoryGetVecs()
211 PetscCall(PetscViewerFlush(tj->monitor)); in TSTrajectoryGetVecs()
215 PetscCall(PetscLogEventEnd(TSTrajectory_GetVecs, tj, ts, 0, 0)); in TSTrajectoryGetVecs()
220 if (tj->monitor) PetscCall(PetscViewerASCIIPushTab(tj->monitor)); in TSTrajectoryGetVecs()
222 PetscCall(TSTrajectoryReconstruct_Private(tj, ts, *time, U, Udot)); in TSTrajectoryGetVecs()
223 if (tj->monitor) { in TSTrajectoryGetVecs()
224 PetscCall(PetscViewerASCIIPopTab(tj->monitor)); in TSTrajectoryGetVecs()
225 PetscCall(PetscViewerFlush(tj->monitor)); in TSTrajectoryGetVecs()
233 PetscCall(PetscObjectQuery((PetscObject)tj, "__fake_ts", (PetscObject *)&fakets)); in TSTrajectoryGetVecs()
235 PetscCall(TSCreate(PetscObjectComm((PetscObject)tj), &fakets)); in TSTrajectoryGetVecs()
236 PetscCall(PetscObjectCompose((PetscObject)tj, "__fake_ts", (PetscObject)fakets)); in TSTrajectoryGetVecs()
243 PetscCall(TSTrajectoryGet(tj, fakets, stepnum, time)); in TSTrajectoryGetVecs()
246 PetscCall(PetscObjectStateGet((PetscObject)U, &tj->lag.Ucached.state)); in TSTrajectoryGetVecs()
247 PetscCall(PetscObjectGetId((PetscObject)U, &tj->lag.Ucached.id)); in TSTrajectoryGetVecs()
248 tj->lag.Ucached.time = *time; in TSTrajectoryGetVecs()
249 tj->lag.Ucached.step = stepnum; in TSTrajectoryGetVecs()
251 PetscCall(PetscLogEventEnd(TSTrajectory_GetVecs, tj, ts, 0, 0)); in TSTrajectoryGetVecs()
304 PetscErrorCode TSTrajectoryView(TSTrajectory tj, PetscViewer viewer) in TSTrajectoryView() argument
309 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryView()
310 if (!viewer) PetscCall(PetscViewerASCIIGetStdout(PetscObjectComm((PetscObject)tj), &viewer)); in TSTrajectoryView()
312 PetscCheckSameComm(tj, 1, viewer, 2); in TSTrajectoryView()
316 PetscCall(PetscObjectPrintClassNamePrefixType((PetscObject)tj, viewer)); in TSTrajectoryView()
317 …r, " total number of recomputations for adjoint calculation = %" PetscInt_FMT "\n", tj->recomps)); in TSTrajectoryView()
318 …PetscCall(PetscViewerASCIIPrintf(viewer, " disk checkpoint reads = %" PetscInt_FMT "\n", tj->disk… in TSTrajectoryView()
319 …PetscCall(PetscViewerASCIIPrintf(viewer, " disk checkpoint writes = %" PetscInt_FMT "\n", tj->dis… in TSTrajectoryView()
321 PetscTryTypeMethod(tj, view, viewer); in TSTrajectoryView()
368 PetscErrorCode TSTrajectorySetTransform(TSTrajectory tj, PetscErrorCode (*transform)(void *, Vec, V… in TSTrajectorySetTransform() argument
371 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetTransform()
372 tj->transform = transform; in TSTrajectorySetTransform()
373 tj->transformdestroy = destroy; in TSTrajectorySetTransform()
374 tj->transformctx = tctx; in TSTrajectorySetTransform()
396 PetscErrorCode TSTrajectoryCreate(MPI_Comm comm, TSTrajectory *tj) in TSTrajectoryCreate() argument
401 PetscAssertPointer(tj, 2); in TSTrajectoryCreate()
427 *tj = t; in TSTrajectoryCreate()
452 PetscErrorCode TSTrajectorySetType(TSTrajectory tj, TS ts, TSTrajectoryType type) in TSTrajectorySetType() argument
458 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetType()
459 PetscCall(PetscObjectTypeCompare((PetscObject)tj, type, &match)); in TSTrajectorySetType()
463 …PetscCheck(r, PetscObjectComm((PetscObject)tj), PETSC_ERR_ARG_UNKNOWN_TYPE, "Unknown TSTrajectory … in TSTrajectorySetType()
464 PetscTryTypeMethod(tj, destroy); in TSTrajectorySetType()
465 tj->ops->destroy = NULL; in TSTrajectorySetType()
466 PetscCall(PetscMemzero(tj->ops, sizeof(*tj->ops))); in TSTrajectorySetType()
468 PetscCall(PetscObjectChangeTypeName((PetscObject)tj, type)); in TSTrajectorySetType()
469 PetscCall((*r)(tj, ts)); in TSTrajectorySetType()
489 PetscErrorCode TSTrajectoryGetType(TSTrajectory tj, TS ts, TSTrajectoryType *type) in TSTrajectoryGetType() argument
492 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryGetType()
493 if (type) *type = ((PetscObject)tj)->type_name; in TSTrajectoryGetType()
536 PetscErrorCode TSTrajectoryReset(TSTrajectory tj) in TSTrajectoryReset() argument
539 if (!tj) PetscFunctionReturn(PETSC_SUCCESS); in TSTrajectoryReset()
540 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryReset()
541 PetscTryTypeMethod(tj, reset); in TSTrajectoryReset()
542 PetscCall(PetscFree(tj->dirfiletemplate)); in TSTrajectoryReset()
543 PetscCall(TSHistoryDestroy(&tj->tsh)); in TSTrajectoryReset()
544 PetscCall(TSHistoryCreate(PetscObjectComm((PetscObject)tj), &tj->tsh)); in TSTrajectoryReset()
545 tj->setupcalled = PETSC_FALSE; in TSTrajectoryReset()
561 PetscErrorCode TSTrajectoryDestroy(TSTrajectory *tj) in TSTrajectoryDestroy() argument
564 if (!*tj) PetscFunctionReturn(PETSC_SUCCESS); in TSTrajectoryDestroy()
565 PetscValidHeaderSpecific(*tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryDestroy()
566 if (--((PetscObject)*tj)->refct > 0) { in TSTrajectoryDestroy()
567 *tj = NULL; in TSTrajectoryDestroy()
571 PetscCall(TSTrajectoryReset(*tj)); in TSTrajectoryDestroy()
572 PetscCall(TSHistoryDestroy(&(*tj)->tsh)); in TSTrajectoryDestroy()
573 PetscCall(VecDestroyVecs((*tj)->lag.order + 1, &(*tj)->lag.W)); in TSTrajectoryDestroy()
574 PetscCall(PetscFree5((*tj)->lag.L, (*tj)->lag.T, (*tj)->lag.WW, (*tj)->lag.TT, (*tj)->lag.TW)); in TSTrajectoryDestroy()
575 PetscCall(VecDestroy(&(*tj)->U)); in TSTrajectoryDestroy()
576 PetscCall(VecDestroy(&(*tj)->Udot)); in TSTrajectoryDestroy()
578 if ((*tj)->transformdestroy) PetscCall((*(*tj)->transformdestroy)(&(*tj)->transformctx)); in TSTrajectoryDestroy()
579 PetscTryTypeMethod(*tj, destroy); in TSTrajectoryDestroy()
580 if (!((*tj)->keepfiles)) { in TSTrajectoryDestroy()
584 PetscCall(PetscObjectGetComm((PetscObject)*tj, &comm)); in TSTrajectoryDestroy()
586 if (rank == 0 && (*tj)->dirname) { /* we own the directory, so we run PetscRMTree on it */ in TSTrajectoryDestroy()
587 PetscCall(PetscRMTree((*tj)->dirname)); in TSTrajectoryDestroy()
590 PetscCall(PetscStrArrayDestroy(&(*tj)->names)); in TSTrajectoryDestroy()
591 PetscCall(PetscFree((*tj)->dirname)); in TSTrajectoryDestroy()
592 PetscCall(PetscFree((*tj)->filetemplate)); in TSTrajectoryDestroy()
593 PetscCall(PetscHeaderDestroy(tj)); in TSTrajectoryDestroy()
613 …TSTrajectorySetTypeFromOptions_Private(PetscOptionItems PetscOptionsObject, TSTrajectory tj, TS ts) in TSTrajectorySetTypeFromOptions_Private() argument
620 if (((PetscObject)tj)->type_name) defaultType = ((PetscObject)tj)->type_name; in TSTrajectorySetTypeFromOptions_Private()
626 PetscCall(TSTrajectorySetType(tj, ts, typeName)); in TSTrajectorySetTypeFromOptions_Private()
628 PetscCall(TSTrajectorySetType(tj, ts, defaultType)); in TSTrajectorySetTypeFromOptions_Private()
649 PetscErrorCode TSTrajectorySetUseHistory(TSTrajectory tj, PetscBool flg) in TSTrajectorySetUseHistory() argument
652 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetUseHistory()
653 PetscValidLogicalCollectiveBool(tj, flg, 2); in TSTrajectorySetUseHistory()
654 tj->usehistory = flg; in TSTrajectorySetUseHistory()
674 PetscErrorCode TSTrajectorySetMonitor(TSTrajectory tj, PetscBool flg) in TSTrajectorySetMonitor() argument
677 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetMonitor()
678 PetscValidLogicalCollectiveBool(tj, flg, 2); in TSTrajectorySetMonitor()
679 if (flg) tj->monitor = PETSC_VIEWER_STDOUT_(PetscObjectComm((PetscObject)tj)); in TSTrajectorySetMonitor()
680 else tj->monitor = NULL; in TSTrajectorySetMonitor()
703 PetscErrorCode TSTrajectorySetKeepFiles(TSTrajectory tj, PetscBool flg) in TSTrajectorySetKeepFiles() argument
706 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetKeepFiles()
707 PetscValidLogicalCollectiveBool(tj, flg, 2); in TSTrajectorySetKeepFiles()
708 tj->keepfiles = flg; in TSTrajectorySetKeepFiles()
733 PetscErrorCode TSTrajectorySetDirname(TSTrajectory tj, const char dirname[]) in TSTrajectorySetDirname() argument
738 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetDirname()
739 PetscCall(PetscStrcmp(tj->dirname, dirname, &flg)); in TSTrajectorySetDirname()
740 …PetscCheck(flg || !tj->dirfiletemplate, PetscObjectComm((PetscObject)tj), PETSC_ERR_ARG_WRONGSTATE… in TSTrajectorySetDirname()
741 PetscCall(PetscFree(tj->dirname)); in TSTrajectorySetDirname()
742 PetscCall(PetscStrallocpy(dirname, &tj->dirname)); in TSTrajectorySetDirname()
768 PetscErrorCode TSTrajectorySetFiletemplate(TSTrajectory tj, const char filetemplate[]) in TSTrajectorySetFiletemplate() argument
773 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetFiletemplate()
775 …PetscCheck(!tj->dirfiletemplate, PetscObjectComm((PetscObject)tj), PETSC_ERR_ARG_WRONGSTATE, "Cann… in TSTrajectorySetFiletemplate()
777 …PetscCheck(filetemplate[0], PetscObjectComm((PetscObject)tj), PETSC_ERR_USER, "-ts_trajectory_file… in TSTrajectorySetFiletemplate()
780 …PetscCheck(ptr, PetscObjectComm((PetscObject)tj), PETSC_ERR_USER, "-ts_trajectory_file_template re… in TSTrajectorySetFiletemplate()
783 …PetscCheck(ptr2 || (*ptr >= '0' && *ptr <= '9'), PetscObjectComm((PetscObject)tj), PETSC_ERR_USER,… in TSTrajectorySetFiletemplate()
786 PetscCall(PetscFree(tj->filetemplate)); in TSTrajectorySetFiletemplate()
787 PetscCall(PetscStrallocpy(filetemplate, &tj->filetemplate)); in TSTrajectorySetFiletemplate()
812 PetscErrorCode TSTrajectorySetFromOptions(TSTrajectory tj, TS ts) in TSTrajectorySetFromOptions() argument
818 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetFromOptions()
820 PetscObjectOptionsBegin((PetscObject)tj); in TSTrajectorySetFromOptions()
821 PetscCall(TSTrajectorySetTypeFromOptions_Private(PetscOptionsObject, tj, ts)); in TSTrajectorySetFromOptions()
822 …s_trajectory_use_history", "Turn on/off usage of TSHistory", NULL, tj->usehistory, &tj->usehistory… in TSTrajectorySetFromOptions()
823 …ctory_monitor", "Print checkpointing schedules", "TSTrajectorySetMonitor", tj->monitor ? PETSC_TRU… in TSTrajectorySetFromOptions()
824 if (set) PetscCall(TSTrajectorySetMonitor(tj, flg)); in TSTrajectorySetFromOptions()
825 …nstruction_order", "Interpolation order for reconstruction", NULL, tj->lag.order, &tj->lag.order, … in TSTrajectorySetFromOptions()
826 …ching", "Turn on/off caching of TSTrajectoryGetVecs input", NULL, tj->lag.caching, &tj->lag.cachin… in TSTrajectorySetFromOptions()
827 …the trajectory that will be used in a TSAdjointSolve()", NULL, tj->adjoint_solve_mode, &tj->adjoin… in TSTrajectorySetFromOptions()
828 …nly", "Checkpoint solution only", "TSTrajectorySetSolutionOnly", tj->solution_only, &tj->solution_… in TSTrajectorySetFromOptions()
829 …ny trajectory files generated during the run", "TSTrajectorySetKeepFiles", tj->keepfiles, &flg, &s… in TSTrajectorySetFromOptions()
830 if (set) PetscCall(TSTrajectorySetKeepFiles(tj, flg)); in TSTrajectorySetFromOptions()
833 if (set) PetscCall(TSTrajectorySetDirname(tj, dirname)); in TSTrajectorySetFromOptions()
836 if (set) PetscCall(TSTrajectorySetFiletemplate(tj, filetemplate)); in TSTrajectorySetFromOptions()
839 PetscTryTypeMethod(tj, setfromoptions, PetscOptionsObject); in TSTrajectorySetFromOptions()
858 PetscErrorCode TSTrajectorySetUp(TSTrajectory tj, TS ts) in TSTrajectorySetUp() argument
863 if (!tj) PetscFunctionReturn(PETSC_SUCCESS); in TSTrajectorySetUp()
864 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetUp()
866 if (tj->setupcalled) PetscFunctionReturn(PETSC_SUCCESS); in TSTrajectorySetUp()
868 PetscCall(PetscLogEventBegin(TSTrajectory_SetUp, tj, ts, 0, 0)); in TSTrajectorySetUp()
869 if (!((PetscObject)tj)->type_name) PetscCall(TSTrajectorySetType(tj, ts, TSTRAJECTORYBASIC)); in TSTrajectorySetUp()
870 PetscTryTypeMethod(tj, setup, ts); in TSTrajectorySetUp()
872 tj->setupcalled = PETSC_TRUE; in TSTrajectorySetUp()
875 tj->recomps = 0; in TSTrajectorySetUp()
876 tj->diskreads = 0; in TSTrajectorySetUp()
877 tj->diskwrites = 0; in TSTrajectorySetUp()
878 PetscCall(PetscStrlen(tj->dirname, &s1)); in TSTrajectorySetUp()
879 PetscCall(PetscStrlen(tj->filetemplate, &s2)); in TSTrajectorySetUp()
880 PetscCall(PetscFree(tj->dirfiletemplate)); in TSTrajectorySetUp()
881 PetscCall(PetscMalloc((s1 + s2 + 10) * sizeof(char), &tj->dirfiletemplate)); in TSTrajectorySetUp()
882 …PetscCall(PetscSNPrintf(tj->dirfiletemplate, s1 + s2 + 10, "%s/%s", tj->dirname, tj->filetemplate)… in TSTrajectorySetUp()
883 PetscCall(PetscLogEventEnd(TSTrajectory_SetUp, tj, ts, 0, 0)); in TSTrajectorySetUp()
900 PetscErrorCode TSTrajectorySetSolutionOnly(TSTrajectory tj, PetscBool solution_only) in TSTrajectorySetSolutionOnly() argument
903 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectorySetSolutionOnly()
904 PetscValidLogicalCollectiveBool(tj, solution_only, 2); in TSTrajectorySetSolutionOnly()
905 tj->solution_only = solution_only; in TSTrajectorySetSolutionOnly()
924 PetscErrorCode TSTrajectoryGetSolutionOnly(TSTrajectory tj, PetscBool *solution_only) in TSTrajectoryGetSolutionOnly() argument
927 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryGetSolutionOnly()
929 *solution_only = tj->solution_only; in TSTrajectoryGetSolutionOnly()
957 PetscErrorCode TSTrajectoryGetUpdatedHistoryVecs(TSTrajectory tj, TS ts, PetscReal time, Vec *U, Ve… in TSTrajectoryGetUpdatedHistoryVecs() argument
960 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryGetUpdatedHistoryVecs()
962 PetscValidLogicalCollectiveReal(tj, time, 3); in TSTrajectoryGetUpdatedHistoryVecs()
965 if (U && !tj->U) { in TSTrajectoryGetUpdatedHistoryVecs()
969 PetscCall(DMCreateGlobalVector(dm, &tj->U)); in TSTrajectoryGetUpdatedHistoryVecs()
971 if (Udot && !tj->Udot) { in TSTrajectoryGetUpdatedHistoryVecs()
975 PetscCall(DMCreateGlobalVector(dm, &tj->Udot)); in TSTrajectoryGetUpdatedHistoryVecs()
977 …PetscCall(TSTrajectoryGetVecs(tj, ts, PETSC_DECIDE, &time, U ? tj->U : NULL, Udot ? tj->Udot : NUL… in TSTrajectoryGetUpdatedHistoryVecs()
979 PetscCall(VecLockReadPush(tj->U)); in TSTrajectoryGetUpdatedHistoryVecs()
980 *U = tj->U; in TSTrajectoryGetUpdatedHistoryVecs()
983 PetscCall(VecLockReadPush(tj->Udot)); in TSTrajectoryGetUpdatedHistoryVecs()
984 *Udot = tj->Udot; in TSTrajectoryGetUpdatedHistoryVecs()
1003 PetscErrorCode TSTrajectoryRestoreUpdatedHistoryVecs(TSTrajectory tj, Vec *U, Vec *Udot) in TSTrajectoryRestoreUpdatedHistoryVecs() argument
1006 PetscValidHeaderSpecific(tj, TSTRAJECTORY_CLASSID, 1); in TSTrajectoryRestoreUpdatedHistoryVecs()
1009 …PetscCheck(!U || *U == tj->U, PetscObjectComm((PetscObject)*U), PETSC_ERR_USER, "U was not obtaine… in TSTrajectoryRestoreUpdatedHistoryVecs()
1010 …PetscCheck(!Udot || *Udot == tj->Udot, PetscObjectComm((PetscObject)*Udot), PETSC_ERR_USER, "Udot … in TSTrajectoryRestoreUpdatedHistoryVecs()
1012 PetscCall(VecLockReadPop(tj->U)); in TSTrajectoryRestoreUpdatedHistoryVecs()
1016 PetscCall(VecLockReadPop(tj->Udot)); in TSTrajectoryRestoreUpdatedHistoryVecs()