I am trying to solve a second order nonlinear partial differential equation in Mathematica:

a0 = 1; b0 = 10; c0 = 1; 
pde = {
       b0*Laplacian[\[CapitalDelta][x, y], {x, y}] - a0*\[CapitalDelta][x, y] - 2*c0*\[CapitalDelta][x, y]^3 == 0,
       \[CapitalDelta][-35, y] == 0, 
       (D[\[CapitalDelta][x, y], x] /. x -> -35) == 0.1, 
      PeriodicBoundaryCondition[\[CapitalDelta][x, y], y == 35, Function[x, x - {0, 35}]]

here I want to impose a periodic boundary condition along the y-direction, but when I solve it, I always got this type of warning message:

NDSolve::femnonlinear: Nonlinear coefficients are not supported in this version of NDSolve.

so I wonder if the periodic boundary condition is not allowed for $\textbf{nonlinear}$ partial differential equations?

  • $\begingroup$ Nonlinear coefficients are not allowed, it's not just for periodic boundary conditions. $\endgroup$ – C. E. Mar 6 '17 at 8:46
  • 1
    $\begingroup$ On the one hand nonlinear equations like yours are not supported by Mma as yet. On the other hand, your case may admit a solution. Namely, you can extend the equation to be time-dependent as follows: 10*Laplacian[\[CapitalDelta][x, y, t], {x, y}] - \[CapitalDelta][x, y, t] - 2*\[CapitalDelta][x, y, t]^3 == D[\[CapitalDelta][x, y, t], t], add a reasonable initial condition and solve it using the MethodOfLines A description you can find in Help. Then the solution of your desired static equation will represent the fixed point of the dynamic one. $\endgroup$ – Alexei Boulbitch Mar 6 '17 at 9:06
  • $\begingroup$ Continuation: You will, thus, only need to integrate the equation till a time moment that is great enough, such that all time variations become negligible. I tried this approach at your equation, and it appeared that your boundary conditions are not enough. So you might add boundary conditions and try. $\endgroup$ – Alexei Boulbitch Mar 6 '17 at 9:10
  • $\begingroup$ so Mathematica cannot solve Nonlinear partial differential equations? $\endgroup$ – Chuan Chen Mar 6 '17 at 9:32
  • 1
    $\begingroup$ To be precise, currently "FiniteElement" method can't deal with nonlinear coefficient. As far as I can tell, when dealing with a boundary value problem (BVP) "FiniteElement" is the default method at the moment. "MethodOfLines" can deal with nonlinearity, but it only handles well-posed initial value problem (IVP). By "I specify the function value and the derivative at two edges (4 different conditions)", you mean something like {Δ[-35, y] == 0, (D[Δ[x, y], x] /. x -> -35) == 0.1, Δ[35, y] == 0, (D[Δ[x, y], y] /. y -> 35) == 0.1}, right? … $\endgroup$ – xzczd Mar 6 '17 at 11:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.