Dear Firedrake, Using firedrake-adjoint provokes the message at the bottom of this email. Is it expected? How can it be avoided? all the best --Colin File "edge_stable.py", line 106, in <module> z_opt = solver.solve()[0] File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/tape.py", line 46, in wrapper return function(*args, **kwargs) File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/optimization/rol_solver.py", line 217, in solve solver.solve() File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/optimization/rol_solver.py", line 24, in gradient g.dat = g.riesz_map(self.deriv) File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/optimization/rol_solver.py", line 52, in riesz_map dat.append(deriv._ad_convert_type(deriv, options=opts)) File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/tape.py", line 46, in wrapper return function(*args, **kwargs) File "/home/cjc1/firedrake/src/pyadjoint/fenics_adjoint/types/function.py", line 131, in _ad_convert_type if not isinstance(value, backend.GenericVector): AttributeError: module 'firedrake' has no attribute 'GenericVector'