I am trying to solve an energy functional equation using Mathematica's NDSolve
function, but the kernel is temperamental. It almost always crashes after a second of trying to execute the code, but sometimes it will complete and return an interpolationfunction, which is what I want.
The minimal working example is:
op = Det[Inactive[Grad][Inactive[Grad][u[x, y], {x, y}], {x, y}]]
Ω = Disk[{0, 0}, 4];
usol =
NDSolve[{op == 0, DirichletCondition[u[x, y] == y, True]}, u, {x, y} ∈ Ω,
Method -> {"TimeIntegration" -> "ExplicitEuler"}]
The differential operator is the determinant of the hessian for U(x,y):
$\big(\partial^2_x u(x,y) \big)\big( \partial^2_y u(x,y)\big) - \big(\partial_x \partial_y u(x,y)\big)^2 = f(x,y)$
Its a purely spatial DiffEq with no affine parameterization. I want the code to be able to solve the equation for almost any (smooth) source function $f(x,y)$ in the NDSolve
expression argument.
When I change $f(x,y)=0$ to any other number, say $f(x,y)=1$, the kernel crashes.
Is this due to the method argument in NDSolve
? I tried using "ExplicitEuler"
as well as "Extrapolation"
, but to no avail. Perhaps the PDE is too complex for Mathematica to handle?
I would expect at least some errors if it wouldn't be able to solve it. I appreciate any help!
(d_x^2 f(x,y))*(d_y^2 f(x,y)) - (d_x d_y f(x,y))^2 = g(x,y)
subject to some dirichlet boundary conditions. In the sample code,g(x,y)=0
. I checked the docs and I tried using PDEDiscretization but still suffering from the same described errors. Is there a better NDsolve method? $\endgroup$