I am currently trying to solve the Monge-Ampère equation in FEniCS by implementing a non-standard boundary condition.
The boundary condition requires that the gradient of the solution must map the boundary of the source domain to another specified region.
When a single circle is prescribed to the target domain, the implementation is quite simple, and I solved it by putting the following into my system:
+(dot(grad(uh),grad(uh))-1)*vh*ds\ (1)
where uh is the test function and vh is the test function.
When considering a more complex target space, such as the square [-1,1] × [-1,1], it becomes more difficult, since it is not so easy to solve manually, so my idea is to use the distance function.
To do this, I decided on a stabilized version of the Eikonal equation, the solution of which is a sign function of distance, then I decided to replace (1) with:
+E(grad(uh))*vh*ds
Where E is the solution to the Eikonal equation, but when I try to implement this, I get an error stating that the function expects scalar arguments,
Is there a way to program a solution to accept grad (uh) as an input in a second differential form?
Thank you all for your time!