Dear Firedrakers, This is a somewhat similar query to what Onno asked earlier this week about evaluating a function at a point in Firedrake. It's a bit easier because the point evaluation comes at the boundary of the domain, so we're currently including it through ds(1) integrals. The attached script is a Crank-Nicholson weak form for equations 11-14 in the attached pdf. The point evaluation comes in at equation 28 where the boundary inflow evolution can be combined with the diffusion equation. The current script works when theta = 0, so that the non-linear parts are known so we can use a linear solver. When we choose a non zero theta, we get the following error for a nonlinear solve: h_solver.solve() File "/usr/not-backed-up/firedrake/2017-02-28/firedrake/src/firedrake/firedrake/variational_solver.py", line 223, in solve solving_utils.check_snes_convergence(self.snes) File "/usr/not-backed-up/firedrake/2017-02-28/firedrake/src/firedrake/firedrake/solving_utils.py", line 160, in check_snes_convergence %s""" % (snes.getIterationNumber(), msg)) firedrake.exceptions.ConvergenceError: Nonlinear solve failed to converge after 0 nonlinear iterations. Reason: Inner linear solve failed to converge after 0 iterations with reason: DIVERGED_NANORINF We believe it may be due to having the unknown boundary flux evaluation. What can we do to fix this for a nonzero theta? Thanks Will