# Solve nonlinear PDE with periodic boundary condition

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?

• Nonlinear coefficients are not allowed, it's not just for periodic boundary conditions. – C. E. Mar 6 '17 at 8:46
• 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 6 '17 at 9: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 6 '17 at 9:10
• so Mathematica cannot solve Nonlinear partial differential equations? – Chuan Chen Mar 6 '17 at 9:32
• 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 6 '17 at 11:11