I'm using the c++ interface and trying to solve a vector Laplace equation equation where my boundary condition is a vector that depends on the normal vector. How can I create this kind of boundary condition?
The class DirichletBC will only take a GenericFunction as an argument, and GenericFunctions will only operate on points, not facets, so I can't just call facet.normal(). Any advice would be appreciated
Here is the problem I'm trying to solve:
let u in C. I want to find
laplacian(u) = 0
u = g(u) on boundary
where g(u) is the complex number obtained by multiplying the boundary normal (represented as a complex number on s^1) by e^{i4theta} where theta is the angle that the boundary normal makes with the real axis.