Skip to content

the set of permissible complex forms is overly restrictive #5141

@danshapero

Description

@danshapero

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions