The example clearly illustrated a NS problem with inlet velocity normal to y axis.

Is it possible to set the inlet with arbitrary plane that is not normal to any axis? e.g. inlet normal velocity = (u1, u2, u3)

I see that in this example the inlet and outlet boundaries are defined by the cinc functions:
cinc_name = 'cinc_' + op.splitext(op.basename(filename_mesh))[0]
cinc = getattr(utils, cinc_name)

functions = {
    'cinc0' : (lambda coors, domain=None: cinc(coors, 0),),
    'cinc1' : (lambda coors, domain=None: cinc(coors, 1),),

how would this utility work with my arbitrary inlet/outlet boundaries?