# Solving nonlinear PDE in Mathematica

I want to solve the nonlinear PDE for the anisotropic fluid flow:

$(C_{ijkl}v_{k,l})_{,j}-p_{,i}-v_jv_{i,j}=0$

Mathematica can solve it without last nonlinear term with the following code (using Finite Element Method):

Ui[x, y, z] := {u[x, y, z], v[x, y, z], w[x, y, z]};
coord := {x, y, z};

op = {
Sum[D[Sum[Sum[Cijkl[[1, j, k, l]]*D[Ui[x, y, z][[k]], coord[[l]]], {l,3}], {k, 3}], coord[[j]]], {j, 3}] - D[p[x, y, z], x],
Sum[D[Sum[Sum[Cijkl[[2, j, k, l]]*D[Ui[x, y, z][[k]], coord[[l]]], {l,3}], {k, 3}], coord[[j]]], {j, 3}] - D[p[x, y, z], y],
Sum[D[Sum[Sum[Cijkl[[3, j, k, l]]*D[Ui[x, y, z][[k]], coord[[l]]], {l,3}], {k, 3}], coord[[j]]], {j, 3}] - D[p[x, y, z], z],
Sum[D[Ui[x, y, z][[k]], coord[[k]]], {k, 3}]
};

bcs = {
DirichletCondition[u[x, y, z] == 4 - y^2 - z^2, x == 0],
DirichletCondition[{u[x, y, z] == 0, v[x, y, z] == 0, w[x, y, z] == 0}, 0 < x < 8],
DirichletCondition[p[x, y, z] == 0, x == 8]
};

{xVel, yVel, zVel, pressure} = NDSolveValue[{op == {0, 0, 0, 0}, bcs}, {u, v, w, p}, {x, y, z} \[Element] mesh, Method -> {"FiniteElement", "InterpolationOrder" -> {u->2, v->2, w->2, p->1}}


(The mesh has been generated previously.)

But when I'm trying to add a nonlinear term in the 'op' as follow:

-Sum[Ui[x, y, z][[j]]*D[Ui[x, y, z][[1]], coord[[j]]], {j, 3}]


I get the error message:

Nonlinear coefficients are not supported in this version of NDSolve.

Are there in Mathematica any solvers or other methods for 'NDSolveValue' to solve nonlinear PDEs?

• I'd say that depends on the geometry. If you have a rectangular geometry you may get lucky with the "TensorPruductGrid". You'd need to add the missing data C, etc for people to play with it. – user21 Apr 25 '18 at 7:17
• No, unfortunatly my geometry is not rectangular. Does "TensorProductGrid" work only with the rectangular domains? There is the whole file in the working state: 1drv.ms/u/s!AvmYXV0MDC0Jh4YAI7UiZqUuRtgzAQ Uncomment strings in the 'op' section to add a nonlinear term. – Данил Семёнов Apr 25 '18 at 11:50
• Yes, "TensorProductGrid" only works for rectangular domains. Maybe you can adapt this post for your needs? – user21 Apr 25 '18 at 12:34