To be fixed soon with incoming PR.
Essentially, we pass in time_info.time() when we evaluate the residual and jacobian associated with a weak form because functional takes (double t, auto X, auto... inputs). Here t = t0 + dt. Then time_discretized_weak_form wraps around functional_weak_form by reconstructing a time_info from t and dt. This means time_info.time() called in the integrand (eg. time-dependent BCs) will give t0 + dt + dt.
To be fixed soon with incoming PR.
Essentially, we pass in
time_info.time()when we evaluate the residual and jacobian associated with a weak form because functional takes(double t, auto X, auto... inputs). Here t = t0 + dt. Thentime_discretized_weak_formwraps aroundfunctional_weak_formby reconstructing atime_infofromtanddt. This meanstime_info.time()called in the integrand (eg. time-dependent BCs) will givet0 + dt + dt.