Lines Matching full:ts

30 PetscErrorCode RHS_NS(TS ts, PetscReal t, Vec Q, Vec G, void *user_data) {  in RHS_NS()  argument
42 PetscCall(TSGetTimeStep(ts, &dt)); in RHS_NS()
116 PetscErrorCode IFunction_NS(TS ts, PetscReal t, Vec Q, Vec Q_dot, Vec G, void *user_data) { in IFunction_NS() argument
130 PetscCall(TSGetTimeStep(ts, &dt)); in IFunction_NS()
169 PetscErrorCode FormIJacobian_NS(TS ts, PetscReal t, Vec Q, Vec Q_dot, PetscReal shift, Mat J, Mat J… in FormIJacobian_NS() argument
254 PetscErrorCode TSMonitor_WallForce(TS ts, PetscInt step_no, PetscReal time, Vec Q, void *ctx) { in TSMonitor_WallForce() argument
294 // User provided TS Monitor
295 PetscErrorCode TSMonitor_NS(TS ts, PetscInt step_no, PetscReal time, Vec Q, void *ctx) { in TSMonitor_NS() argument
309 PetscErrorCode TSPostStep_CheckStep(TS ts) { in TSPostStep_CheckStep() argument
316 PetscCall(TSGetApplicationContext(ts, &honee)); in TSPostStep_CheckStep()
317 PetscCall(TSGetStepNumber(ts, &step)); in TSPostStep_CheckStep()
318 PetscCall(TSGetSolution(ts, &Q)); in TSPostStep_CheckStep()
322 …PetscCall(PetscPrintf(PetscObjectComm((PetscObject)ts), "Solution diverged: Nans found in solution… in TSPostStep_CheckStep()
323 PetscCall(TSSetConvergedReason(ts, TS_DIVERGED_NONLINEAR_SOLVE)); in TSPostStep_CheckStep()
328 PetscErrorCode TSPostStep_MaxWallTime(TS ts) { in TSPostStep_MaxWallTime() argument
336 PetscCall(TSGetApplicationContext(ts, &honee)); in TSPostStep_MaxWallTime()
337 PetscCall(TSGetStepNumber(ts, &step)); in TSPostStep_MaxWallTime()
339 PetscCall(PetscObjectGetComm((PetscObject)ts, &comm)); in TSPostStep_MaxWallTime()
345 …PetscCall(PetscPrintf(PetscObjectComm((PetscObject)ts), "Stopping TSSolve: Set max wall time excee… in TSPostStep_MaxWallTime()
346 PetscCall(TSSetConvergedReason(ts, TS_CONVERGED_USER)); in TSPostStep_MaxWallTime()
357 @param[in] ts TS object
359 PetscErrorCode TSPostStep_Honee(TS ts) { in TSPostStep_Honee() argument
363 PetscCall(TSGetApplicationContext(ts, &honee)); in TSPostStep_Honee()
364 if (honee->max_wall_time > 0) PetscCall(TSPostStep_MaxWallTime(ts)); in TSPostStep_Honee()
365 if (honee->app_ctx->sgs_train_enable) PetscCall(TSPostStep_SGS_DD_Training(ts)); in TSPostStep_Honee()
366 if (honee->app_ctx->check_step_interval > 0) PetscCall(TSPostStep_CheckStep(ts)); in TSPostStep_Honee()
375 @param[in] ts TS object that has the evaluation solutions
377 static PetscErrorCode HoneeTSEvaluationSolutions(TS ts) { in HoneeTSEvaluationSolutions() argument
378 MPI_Comm comm = PetscObjectComm((PetscObject)ts); in HoneeTSEvaluationSolutions()
389 PetscCall(TSGetEvaluationSolutions(ts, &num_sols, &sol_times, &sol_vecs)); in HoneeTSEvaluationSolutions()
391 PetscCall(TSGetDM(ts, &dm)); in HoneeTSEvaluationSolutions()
409 // TS: Create, setup, and solve
410 …nee honee, AppCtx app_ctx, Physics phys, ProblemData problem, Vec Q, PetscScalar *f_time, TS *ts) { in TSSolve_NS() argument
416 PetscCall(TSCreate(comm, ts)); in TSSolve_NS()
417 PetscCall(TSSetDM(*ts, dm)); in TSSolve_NS()
418 PetscCall(TSSetApplicationContext(*ts, honee)); in TSSolve_NS()
420 PetscCall(TSSetType(*ts, TSBDF)); in TSSolve_NS()
422 PetscCall(TSSetIFunction(*ts, NULL, IFunction_NS, &honee)); in TSSolve_NS()
424 PetscCall(TSSetRHSFunction(*ts, NULL, RHS_NS, &honee)); in TSSolve_NS()
431 PetscCall(TSSetType(*ts, TSRK)); in TSSolve_NS()
432 PetscCall(TSRKSetType(*ts, TSRK5F)); in TSSolve_NS()
433 PetscCall(TSSetRHSFunction(*ts, NULL, RHS_NS, &honee)); in TSSolve_NS()
435 PetscCall(TSSetMaxTime(*ts, 500. * honee->units->second)); in TSSolve_NS()
436 PetscCall(TSSetExactFinalTime(*ts, TS_EXACTFINALTIME_STEPOVER)); in TSSolve_NS()
437 if (app_ctx->test_type == TESTTYPE_NONE) PetscCall(TSSetErrorIfStepFails(*ts, PETSC_FALSE)); in TSSolve_NS()
438 PetscCall(TSSetTimeStep(*ts, 1.e-2 * honee->units->second)); in TSSolve_NS()
439 PetscCall(TSGetAdapt(*ts, &adapt)); in TSSolve_NS()
441 PetscCall(TSSetFromOptions(*ts)); in TSSolve_NS()
448 PetscCall(TSGetSNES(*ts, &snes)); in TSSolve_NS()
451 PetscCall(TSSetIJacobian(*ts, honee->mat_ijacobian, Pmat, NULL, NULL)); in TSSolve_NS()
458 PetscCall(TSSetTime(*ts, app_ctx->cont_time * honee->units->second)); in TSSolve_NS()
459 PetscCall(TSSetStepNumber(*ts, app_ctx->cont_steps)); in TSSolve_NS()
468 PetscCall(TSGetSNES(*ts, &snes)); in TSSolve_NS()
473 if (honee->set_poststep) PetscCall(TSSetPostStep(*ts, TSPostStep_Honee)); in TSSolve_NS()
474 if (app_ctx->test_type == TESTTYPE_NONE) PetscCall(TSMonitorSet(*ts, TSMonitor_NS, honee, NULL)); in TSSolve_NS()
475 if (app_ctx->wall_forces.viewer) PetscCall(TSMonitorSet(*ts, TSMonitor_WallForce, honee, NULL)); in TSSolve_NS()
477 PetscOptionsBegin(comm, NULL, "HONEE TS Monitor Options", NULL); in TSSolve_NS()
478 …PetscCall(TSMonitorSetFromOptions(*ts, "-ts_monitor_total_kinetic_energy", "Monitor total kinetic … in TSSolve_NS()
480 …PetscCall(TSMonitorSetFromOptions(*ts, "-ts_monitor_cfl", "Monitor element CFL statistics", NULL, … in TSSolve_NS()
485 …PetscCall(TSMonitorSetFromOptions(*ts, "-ts_monitor_spanstats_turbulence", "Setup spanwise statist… in TSSolve_NS()
487 …PetscCall(TSMonitorSetFromOptions(*ts, "-ts_monitor_spanstats_cflpe", "Setup spanwise statistics c… in TSSolve_NS()
489 …PetscCall(TSMonitorSetFromOptions(*ts, "-diff_filter_monitor", "Run differential filtering for eve… in TSSolve_NS()
491 …PetscCall(TSMonitorSetFromOptions(*ts, "-ts_monitor_smartsim_solution", "Write solution to SmartSi… in TSSolve_NS()
495 …if (app_ctx->sgs_train_enable) PetscCall(TSMonitorSet(*ts, TSMonitor_SGS_DD_Training, honee, NULL)… in TSSolve_NS()
497 …if (app_ctx->test_type == TESTTYPE_NONE) PetscCall(PrintRunInfo(honee, honee->phys, problem, *ts)); in TSSolve_NS()
503 PetscCall(TSGetTime(*ts, &start_time)); in TSSolve_NS()
504 PetscCall(TSGetStepNumber(*ts, &start_step)); in TSSolve_NS()
508 PetscCall(TSSetTime(*ts, start_time)); in TSSolve_NS()
509 PetscCall(TSSetStepNumber(*ts, start_step)); in TSSolve_NS()
518 PetscCall(TSGetSNES(*ts, &snes)); in TSSolve_NS()
524 PetscCall(TSSetSolution(*ts, Q_preload)); in TSSolve_NS()
525 PetscCall(TSStep(*ts)); in TSSolve_NS()
531 PetscCall(PetscBarrier((PetscObject)*ts)); in TSSolve_NS()
532 PetscCall(TSSolve(*ts, Q)); in TSSolve_NS()
536 PetscCall(TSGetSolveTime(*ts, &final_time)); in TSSolve_NS()
544 PetscCall(TSGetStepNumber(*ts, &step_no)); in TSSolve_NS()
548 PetscCall(HoneeTSEvaluationSolutions(*ts)); in TSSolve_NS()