1

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?

Ogawa Chen
  • 181
  • 5
  • Nonlinear coefficients are not allowed, it's not just for periodic boundary conditions. – C. E. Mar 06 '17 at 08:46
  • 1
    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. – Alexei Boulbitch Mar 06 '17 at 09:06
  • 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. – Alexei Boulbitch Mar 06 '17 at 09:10
  • so Mathematica cannot solve Nonlinear partial differential equations? – Ogawa Chen Mar 06 '17 at 09:32
  • but the thing makes me confused is that when I impose some other type of boundary conditions, for instance, I specify the function value and the derivative at two edges ( 4 different conditions ), mma would do the calculation, although will not give me a good solution at the end of the day... – Ogawa Chen Mar 06 '17 at 09:46
  • 1
    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? … – xzczd Mar 06 '17 at 11:11
  • …These conditions exactly forms an IVP, but it's probably ill-posed, given you don't obtain a good solution. (Not surprising to me, your equation looks like a variant of Laplace equation. ) To learn more about ill-posed problem, read e.g. the first 2 sections of this paper. – xzczd Mar 06 '17 at 11:11
  • @xzczd I see, now I think I have a better understanding about pde in mma. thank you – Ogawa Chen Mar 07 '17 at 01:43

0 Answers0