Open
Description
Some time ago I created persistent FormAssembler
objects to remove processing overhead for repeated assemble
calls. I realise now that I have failed to correctly annotate this for adjoint. To be specific, we decorate assemble
with @annotate_assemble
but do not do anything for FormAssembler.assemble
.
I think the right fix is to emulate what we already do for solve
and NonlinearVariationalSolver.solve
.
This is also relevant for what I'm doing with assign (#2556) since I'm introducing a persistent Assigner
class.