The current implementation of complex forms makes strong assumptions about differentiability w.r.t. the solution u. These assumptions forbid certain problems like the Ginzburg-Landau equation. The Ginzburg-Landau equation is most naturally defined as the Euler-Lagrange equations for the action functional
E = (0.5 * inner(grad(u), grad(u)) + 0.25 * a * (1 - inner(u, u)) ** 2) * dx
The problem here is the inner(u, u) which is really the product of u with its complex conjugate.
I think there's a principled solution you get by taking a page out of the several complex variables textbook. You have to think of u and its complex conjugate as separate, independent variables; see the Dolbeault operators. To get a (k + 1)-form from a k-form, you differentiate w.r.t. either u or conj(u) depending on k. I think this does the right thing for all the interesting variational problems for complex-valued fields that I know of but I don't have a good reference.
If this issue is worth solving, it would be good to come up with a list of other problems where the feature would be useful as candidate demos. The other two that I know of are Gross-Pitaevskii and nonlinear Schrödinger. There's probably something in solid-state physics or semiconductor physics, I just don't know what it is.
@pbrubeck @wence- please correct or add anything I missed from our conversation.
The current implementation of complex forms makes strong assumptions about differentiability w.r.t. the solution
u. These assumptions forbid certain problems like the Ginzburg-Landau equation. The Ginzburg-Landau equation is most naturally defined as the Euler-Lagrange equations for the action functionalThe problem here is the
inner(u, u)which is really the product ofuwith its complex conjugate.I think there's a principled solution you get by taking a page out of the several complex variables textbook. You have to think of
uand its complex conjugate as separate, independent variables; see the Dolbeault operators. To get a (k + 1)-form from a k-form, you differentiate w.r.t. eitheruorconj(u)depending onk. I think this does the right thing for all the interesting variational problems for complex-valued fields that I know of but I don't have a good reference.If this issue is worth solving, it would be good to come up with a list of other problems where the feature would be useful as candidate demos. The other two that I know of are Gross-Pitaevskii and nonlinear Schrödinger. There's probably something in solid-state physics or semiconductor physics, I just don't know what it is.
@pbrubeck @wence- please correct or add anything I missed from our conversation.