On the Python modeling API level, URDMEDataFunctions should behave like Parameters, i.e. it should be possible to do something like
self.add_data_function(MeshSize(self.mesh))
And then say:
p = pyurdme.Parameter(name="width",expression="L/h")
(where L is some other parameter and h is the str name of the datafunction). The code generated in the C level would in principle work as is now, but p would get the value None in the C file since it is not evaluable only in the namespace of the parameter list.
Solution: evaluate Parameters in a namespace that is a union of data functions and parameters prior to serializing to file.