Hi,

I'm trying to solve a non-linear Poisson type equation where the diffusion coefficient/conductivity depends on the field variable.  Logically, I've tried basing this part of my code on the poisson_field_dependent_material.py case and, of course, it works nicely in "simple" mode but I can't figure out how to pass the value to my material variable "cond" in interactive mode (I require interactive mode for reasons stated in this post).  I define the same get_conductivity function as per poisson_field_dependent_material.py, then declare the function as
conductivity_fun = Function('conductivity_fun', get_conductivity)

get_conductivity returns a dictionary key/value pair {'val' : val} so I figured to call the function as per
cond = Material('cond', conductivity_fun)

should work, but it results in this error:
Traceback (most recent call last):
 
File "examples/diffusion/myPoisson/myPoissonInteractive.py", line 185, in <module>
    main
()
 
File "examples/diffusion/myPoisson/myPoissonInteractive.py", line 116, in main
    cond
= Material('cond', conductivity_fun,) #val=  2.0)
 
File "/usr/local/lib/python2.7/dist-packages/sfepy-2016.3_git_94dff5a051dbd2bf6bd56fce936d75878edef9e8-py2.7-linux-x86_64.egg/sfepy/discrete/materials.py", line 148, in __init__
   
% self.name
TypeError: not enough arguments for format string

I've also tried passing a function handle to cond ('conductivity_fun'), and all the possible combinations of function names that I can think of, but this error persists.  I've looked at the function documentation but unfortunately this hasn't clarified things for me as this issue pertains specifically to the interactive problem specification.

Thank you for your help.
Regards,
David