Right. v is a ufl tensor whereas u is a dolfin function. In order to compute the norm, you could just use the definition of norm(?):
sqrt(abs(assemble(inner(v, v)*dx)))
Another way that should be equivalent (I cannot test this as of now) could be to use ufl.perp, namely
from ufl import perp
v = perp(u)
I have used FunctionAssigner like explained here to do subfunction assignment, never for Nedelec, or RT elements. My guess is that it shouldn’t work for these…