def Jhat(ic): time = Constant(0.0) form = model.rhs(ic, time, params)*dP (u, xs, ys) = main(ic, form, time, Scheme, dt=dt) return assemble(Jform(u))
def Jhat(ic): time = Constant(0.0) form = model.rhs(ic, time, params) * dP (u, xs, ys) = main(ic, form, time, Scheme, dt=dt) return assemble(Jform(u))
for i in range(5): solver.step(dt) xs.append(float(time)) ys.append(u.vector().array()[15]) return (u, xs, ys) if __name__ == "__main__": u0 = interpolate(state_init, V, name="InitialValue") Scheme = BackwardEuler u = Function(V, name="Solution") v = TestFunction(V) time = Constant(0.0) form = model.rhs(u, time, params)*dP ## Step 0. Check forward order-of-convergence (nothing to do with adjoints) check = False plot = False dt = 0.5 u.assign(u0) fwd_timer = Timer("Forward run") (u, xs, ys) = main(u, form, time, Scheme, dt=dt) fwd_time = fwd_timer.stop() info_red("Forward time: %s" % fwd_time) replay = False if replay:
for i in range(4): solver.step(dt) xs.append(float(time)) ys.append(u.vector().array()[15]) return (u, xs, ys) if __name__ == "__main__": u0 = interpolate(state_init, V, name="InitialValue") Scheme = BackwardEuler u = Function(V, name="Solution") v = TestFunction(V) time = Constant(0.0) form = model.rhs(u, time, params) * dP ## Step 0. Check forward order-of-convergence (nothing to do with adjoints) check = False plot = False dt = 0.01 u.assign(u0) fwd_timer = Timer("Forward run") (u, xs, ys) = main(u, form, time, Scheme, dt=dt) fwd_time = fwd_timer.stop() info_red("Forward time: %s" % fwd_time) replay = True if replay: replay_timer = Timer("Replay")