5
$\begingroup$

I was in the impression that V12 can now handle higher order PDES but for this particular case it fails to produce any solution.

pde1 = D[F[x, y], {x, 3}] + F[x, y]*D[F[x, y], {x, 2}] == 
   y*(D[F[x, y], {x, 1}]*D[D[F[x, y], {x, 1}], y] - 
      D[F[x, y], {x, 2}]*D[F[x, y], {y, 1}]);

pde2[Pr_, L1_] = 
  1/Pr*D[T[x, y], {x, 2}] + F[x, y]*D[T[x, y], {x, 1}] - 
    2*L1*D[F[x, y], {x, 1}]*T[x, y] == 
   y*(D[F[x, y], {x, 1}]*D[T[x, y], {y, 1}] - 
      D[T[x, y], {x, 1}]*D[F[x, y], {y, 1}]);

With[{lb = 5}, bcs = {{F[0, y] + y == -y*Derivative[0, 1][F][0, y], 
    Derivative[1, 0][F][0, y] == 0, T[0, y] == 1}, 
    {Derivative[1, 0][F][lb, y] == 1, T[lb, y] == 0}}];

Clear@solfunc
With[{lb = 5}, 
 solfunc[Pr_, L1_: 0.5] :=NDSolve[{pde1, pde2[Pr, L1], bcs}, {F, T}, {x, 0, lb}, {y, 0, 1}]]

(sollst[#] = solfunc[#]) & /@ {0.7, 3}

The above system has been solved using truncation method getting a series solution in this paper. The approach suggested by the authors is long and a tedious one. I was wondering whether it is possible to solve this system directly or there is some other efficient way to get the solution.

Any suggestion on how to solve such system?

$\endgroup$
  • $\begingroup$ How did you get this system? $\endgroup$ – Alex Trounev Jan 4 at 21:57
  • $\begingroup$ The system has five boundary conditions in x, as expected. But, what are the two boundary conditions in y? $\endgroup$ – bbgodfrey Jan 5 at 3:05
  • 1
    $\begingroup$ With those initial conditions, it becomes an initial-value problem. Try specifying that NDSolve use the numerical method of lines. If that does not work either, descritize the PDEs in x by hand to create a large system of ODEs in y which almost certainly can be solved numerically. $\endgroup$ – bbgodfrey Jan 5 at 3:15
  • 1
    $\begingroup$ Too bad. It appears you need to discretize in x by hand and then solve the resulting system of ODEs. Although tedious, it should work, I think. (The cross-derivatives in the first PDE could be an issue.) $\endgroup$ – bbgodfrey Jan 5 at 3:22
  • 1
    $\begingroup$ Have a look at the message ref page ref/message/NDSolve/femcmsd. $\endgroup$ – user21 Jan 6 at 7:45
6
$\begingroup$

Here is a partial solution. Begin by noting that

  • pde1 does not involve T and so can be solved for F and the solution then inserted into pde2 to solve for T.
  • The boundary condition F[0, y] + y == -y*Derivative[0, 1][F][0, y] should be integrated to yield -y/2.
  • The boundary condition Derivative[1, 0][F][lb, y] == 1 is inconsistent with the initial condition F[x,0] == 0 at x = lb, y = 0 but can be made consistent with the standard trick, Derivative[1, 0][F][lb, y] == 1 - Exp[-10 y],
  • The error message cited in the question is associated with FEM and can be avoided by using Method -> "MethodOfLines".

With these changes, pde1 can be solved as follows:

lb = 5;
pde1 = D[F[x, y], {x, 3}] + F[x, y]*D[F[x, y], {x, 2}] == 
    y*(D[F[x, y], {x, 1}]*D[D[F[x, y], {x, 1}], y] - D[F[x, y], {x, 2}]*D[F[x, y], {y, 1}]);
bcs = {F[0, y] == -y/2, Derivative[1, 0][F][0, y] == 0, 
    Derivative[1, 0][F][lb, y] == 1 - Exp[-10 y], F[x, 0] == 0};
sol = NDSolveValue[{pde1, bcs}, F[x, y], {x, 0, lb}, {y, 0, 1}, Method -> "MethodOfLines"];
Plot3D[sol, {x, 0, lb}, {y, 0, 1}, ImageSize -> Large, 
    AxesLabel -> {x, y, F}, LabelStyle -> {15, Black, Bold}]

enter image description here

| improve this answer | |
$\endgroup$
  • $\begingroup$ Now it is working like a charm. Thx as always for your valuable answers. $\endgroup$ – zhk Jan 8 at 1:08

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.