With latest dolfin-adjoint, there's a bug in functional_partial_derivative, stacktrace:
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/dolfin_adjoint/optimization.py", line 155, in minimize
opt = algorithm(reduced_func.eval_array, dj, [p.data() for p in reduced_func.parameter], H = reduced_func.hessian_array, **kwargs)
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/dolfin_adjoint/optimization.py", line 68, in minimize_scipy_generic
res = scipy_minimize(J, m_global, method = method, **kwargs)
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/scipy/optimize/_minimize.py", line 351, in minimize
return _minimize_lbfgsb(fun, x0, args, jac, bounds, **options)
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/scipy/optimize/lbfgsb.py", line 294, in _minimize_lbfgsb
f, g = func_and_grad(x)
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/scipy/optimize/lbfgsb.py", line 250, in func_and_grad
g = jac(x, *args)
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/dolfin_adjoint/optimization.py", line 153, in <lambda>
seed = dolfin.parameters["optimization"]["test_gradient_seed"])
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/dolfin_adjoint/reduced_functional.py", line 266, in derivative_array
dJdm = self.derivative(forget=forget)
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/dolfin_adjoint/reduced_functional.py", line 205, in derivative
dfunc_value = drivers.compute_gradient(self.functional, self.parameter, forget=forget)
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/dolfin_adjoint/drivers.py", line 144, in compute_gradient
out = lparam[j].functional_partial_derivative(adjglobals.adjointer, J, adj_var.timestep)
File "/home/martinal/opt/fenics/dorsal-hpc-unstable-27022013/lib/python2.7/site-packages/dolfin_adjoint/parameter.py", line 229, in functional_partial_derivative
dparam = dolfin.Function(fn_space)
UnboundLocalError: local variable 'fn_space' referenced before assignment
I overlooked the first error (below) though. Between callbacks to replay_cb and eval_cb I get a missing cell problem. Probably fixable through attaching the mesh somewhere, I'll let you know.
/// Replay#0 at 0 of up0:0:1:Forward, ||up0:0:1:Forward|| = 8.28722 callbacks. c", line 314, in 'calling callback function' martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ libadjoint/ libadjoint. py", line 544, in cfunc martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ dolfin_ adjoint/ functional. py", line 84, in __call__ assemble( functional_ value) martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ dolfin/ fem/assembling. py", line 169, in assemble cell=common_ cell) martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ dolfin/ fem/form. py", line 56, in __init__ martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ dolfin/ compilemodules/ jit.py" , line 66, in mpi_jit martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ dolfin/ compilemodules/ jit.py" , line 154, in jit cell=common_ cell) martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ ffc/jitcompiler .py", line 77, in jit ufl_object, parameters, common_cell) martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ ffc/jitcompiler .py", line 155, in jit_form element_ mapping( form, common_cell) martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ ffc/jitcompiler .py", line 106, in _compute_ element_ mapping common_ cell(form, common_cell) martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ ufl/algorithms/ preprocess. py", line 416, in extract_common_cell martinal/ opt/fenics/ dorsal- hpc-unstable- 27022013/ lib/python2. 7/site- packages/ ufl/log. py", line 154, in error _type(self. _format_ raw(*message) ) UFLException: Unable to extract common cell; missing cell definition in form or expression.
Unable to extract common cell; missing cell definition in form or expression.
Traceback (most recent call last):
File "_ctypes/
File "/home/
output_c[0] = self(adjointer, timestep, dependencies, values)
File "/home/
return dolfin.
File "/home/
common_
File "/home/
common_cell)
File "/home/
return local_jit(*args, **kwargs)
File "/home/
return jit_compile(form, parameters=p, common_
File "/home/
return jit_form(
File "/home/
element_mapping = _compute_
File "/home/
common_cell = extract_
File "/home/
error("Unable to extract common cell; "\
File "/home/
raise self._exception
ufl.log.
/// J evaluated #0: 0