Lines Matching refs:eval_times

93   PetscReal              time_step, eval_times[100] = {0};  in TSSetFromOptions()  local
94 PetscInt num_eval_times = PETSC_STATIC_ARRAY_LENGTH(eval_times); in TSSetFromOptions()
117 …PetscCall(PetscOptionsRealArray("-ts_time_span", "Time span", "TSSetTimeSpan", eval_times, &num_ev… in TSSetFromOptions()
118 if (flg) PetscCall(TSSetTimeSpan(ts, num_eval_times, eval_times)); in TSSetFromOptions()
119 num_eval_times = PETSC_STATIC_ARRAY_LENGTH(eval_times); in TSSetFromOptions()
120 …ay("-ts_eval_times", "Evaluation time points", "TSSetEvaluationTimes", eval_times, &num_eval_times… in TSSetFromOptions()
122 if (opt) PetscCall(TSSetEvaluationTimes(ts, num_eval_times, eval_times)); in TSSetFromOptions()
2625 if (ts->eval_times) { in TSReset()
2626 PetscCall(PetscFree(ts->eval_times->time_points)); in TSReset()
2627 PetscCall(PetscFree(ts->eval_times->sol_times)); in TSReset()
2628 PetscCall(VecDestroyVecs(ts->eval_times->num_time_points, &ts->eval_times->sol_vecs)); in TSReset()
2629 PetscCall(PetscFree(ts->eval_times)); in TSReset()
3502 if (ts->eval_times) in TSStep()
3503 …ts->eval_times->worktol = 0; /* In each step of TSSolve() 'eval_times->worktol' will be meaningful… in TSStep()
4075 …PetscCheck(!(ts->eval_times && ts->exact_final_time != TS_EXACTFINALTIME_MATCHSTEP), PetscObjectCo… in TSSolve()
4077 if (ts->eval_times) { in TSSolve()
4078 …if (!ts->eval_times->sol_vecs) PetscCall(VecDuplicateVecs(ts->vec_sol, ts->eval_times->num_time_po… in TSSolve()
4079 for (PetscInt i = 0; i < ts->eval_times->num_time_points; i++) { in TSSolve()
4080 …= PetscIsCloseAtTol(ts->ptime, ts->eval_times->time_points[i], ts->eval_times->reltol * ts->time_s… in TSSolve()
4081 if (ts->ptime <= ts->eval_times->time_points[i] || is_close) { in TSSolve()
4082 ts->eval_times->time_point_idx = i; in TSSolve()
4085eval_times->sol_idx > 0) is_ptime_in_sol_times = PetscIsCloseAtTol(ts->ptime, ts->eval_times->sol_… in TSSolve()
4087 PetscCall(VecCopy(ts->vec_sol, ts->eval_times->sol_vecs[ts->eval_times->sol_idx])); in TSSolve()
4088 ts->eval_times->sol_times[ts->eval_times->sol_idx] = ts->ptime; in TSSolve()
4089 ts->eval_times->sol_idx++; in TSSolve()
4090 ts->eval_times->time_point_idx++; in TSSolve()
4120 …if (ts->eval_times) maxdt = ts->eval_times->time_points[ts->eval_times->time_point_idx] - ts->ptim… in TSSolve()
4212 …if (ts->eval_times && ts->eval_times->time_point_idx < ts->eval_times->num_time_points && ts->reas… in TSSolve()
4213 …PetscCheck(ts->eval_times->worktol > 0, PetscObjectComm((PetscObject)ts), PETSC_ERR_PLIB, "Unexpec… in TSSolve()
4214 …if (PetscIsCloseAtTol(ts->ptime, ts->eval_times->time_points[ts->eval_times->time_point_idx], ts-> in TSSolve()
4215 ts->eval_times->sol_times[ts->eval_times->sol_idx] = ts->ptime; in TSSolve()
4216 PetscCall(VecCopy(ts->vec_sol, ts->eval_times->sol_vecs[ts->eval_times->sol_idx])); in TSSolve()
4217 ts->eval_times->sol_idx++; in TSSolve()
4218 ts->eval_times->time_point_idx++; in TSSolve()
5971 if (ts->eval_times) { // Reset eval_times in TSSetEvaluationTimes()
5972 ts->eval_times->sol_idx = 0; in TSSetEvaluationTimes()
5973 ts->eval_times->time_point_idx = 0; in TSSetEvaluationTimes()
5974 if (n != ts->eval_times->num_time_points) { in TSSetEvaluationTimes()
5975 PetscCall(PetscFree(ts->eval_times->time_points)); in TSSetEvaluationTimes()
5976 PetscCall(PetscFree(ts->eval_times->sol_times)); in TSSetEvaluationTimes()
5977 PetscCall(VecDestroyVecs(ts->eval_times->num_time_points, &ts->eval_times->sol_vecs)); in TSSetEvaluationTimes()
5979 PetscCall(PetscArrayzero(ts->eval_times->sol_times, n)); in TSSetEvaluationTimes()
5980 for (PetscInt i = 0; i < n; i++) PetscCall(VecZeroEntries(ts->eval_times->sol_vecs[i])); in TSSetEvaluationTimes()
5983 TSEvaluationTimes eval_times; in TSSetEvaluationTimes() local
5984 PetscCall(PetscNew(&eval_times)); in TSSetEvaluationTimes()
5985 PetscCall(PetscMalloc1(n, &eval_times->time_points)); in TSSetEvaluationTimes()
5986 PetscCall(PetscMalloc1(n, &eval_times->sol_times)); in TSSetEvaluationTimes()
5987 eval_times->reltol = 1e-6; in TSSetEvaluationTimes()
5988 eval_times->abstol = 10 * PETSC_MACHINE_EPSILON; in TSSetEvaluationTimes()
5989 eval_times->worktol = 0; in TSSetEvaluationTimes()
5990 ts->eval_times = eval_times; in TSSetEvaluationTimes()
5992 ts->eval_times->num_time_points = n; in TSSetEvaluationTimes()
5995 PetscCall(PetscArraycpy(ts->eval_times->time_points, time_points, n)); in TSSetEvaluationTimes()
6029 if (!ts->eval_times) { in TSGetEvaluationTimes()
6033 if (n) *n = ts->eval_times->num_time_points; in TSGetEvaluationTimes()
6034 if (time_points) *time_points = ts->eval_times->time_points; in TSGetEvaluationTimes()
6069 if (!ts->eval_times) { in TSGetEvaluationSolutions()
6074 if (nsol) *nsol = ts->eval_times->sol_idx; in TSGetEvaluationSolutions()
6075 if (sol_times) *sol_times = ts->eval_times->sol_times; in TSGetEvaluationSolutions()
6076 if (Sols) *Sols = ts->eval_times->sol_vecs; in TSGetEvaluationSolutions()