There is a quite similar question here. The simplest solution would be, if you know the directions e^0 and n^0 analytically, to just specify them in terms of spatial coordinates. For instance, if they are (normalized) 2D polar basis vectors (as suggested by the figure), and the origin of your coordinate system is the center of the circle, you could do something like:
# Cartesian coordinates
x = SpatialCoordinate(mesh)
# Unit vector in radial direction
n0 = x/sqrt(dot(x,x))
# 90-degree rotation
e0 = as_vector([n0[1],-n0[0]])
In general, I would argue that trying to determine material directions from the mesh is not best practice, since they are part of the mathematical problem statement, not the discretization, and should be well-defined prior to generating a mesh.