Normal Boundary Velocity

Hi I am trying to implement an acoustic pulsating sphere in Dolfinx. The weak formulation I am working with is the following:

\int_\Omega [\nabla\chi (x)\cdot\nabla p(x) - k^2\chi (x)p(x)]d\Omega -sk\int_{\Gamma}\chi (x)Y(x)p(x)d\Gamma=sk\int_{\Gamma}\chi (x)v_S(x)d\Gamma

where s, k are constants, chi is the test function and p is the function I am trying to solve for. Y(x) is also a constant quantity describing the admittance on boundaries.
The problem with this formulation is that I would like to include a normal boundary velocity condition. v_s in the above formula should be imposed normal to the boundary. My current formulation is the following, which does not include the normal component. I am working in a 2D setting and would like to adopt the formula below:

lhs = (
    (ufl.inner(ufl.grad(p), ufl.grad(xi)) * ufl.dx)
    - (ks * ufl.inner(p, xi) * ufl.dx)
    - (s * k * p * ufl.inner(y_top, xi) * ds(top_boundary))
    - (s * k * p * ufl.inner(y_right, xi) * ds(right_boundary)))
rhs = s * k * ufl.inner(v0,  xi) * ds(excitation_boundary)

where ds = ufl.Measure("ds", mesh, subdomain_data=facet_tags)
Thank you for any help/hint in advance!

Please note that the mathematics is not rendered nicely, try using $ $ encapsulation, so that it renders as:
\int_\Omega [\nabla\chi (x)\cdot\nabla p(x) - k^2\chi (x)p(x)]d\Omega -sk\int_{\Gamma}\chi (x)Y(x)p(x)d\Gamma=sk\int_{\Gamma}\chi (x)v_S(x)d\Gamma

Is your question how to impose v0 in the normal direction? Wouldn’t that simply be using nh = ufl.FacetNormal(mesh), i.e. v_s=, nh)*nh to make a normal projection of v0 to the boundary?