I am trying solve the following two coupled PDE equations.

∂f/∂t=(∂^2 f)/(∂x^2 )+(∂^2 f)/(∂y^2 )-1/f^3 [(∂B/∂x)^2+(∂B/∂y)^2 ]-f+f^3

(∂^2 B)/(∂x^2 )+(∂^2 B)/(∂y^2 )-B*f^2+2/f [(∂B/∂x)(∂f/∂x)-(∂B/∂y)(∂f/∂y)]=0

The boundary conditions are



Initial condition

f(0,x,y)=1 and B(0,x,y)=0

In order to solve I set up a square region {x=0,10 and y=0,10}.Left wall we don't know how f behaves.When time ramp up applied B increases so I need to know how B and f changes with time inside the box.

When I try to solve I get following errors:

1.NDSolve::pdord: Some of the functions have zero differential order, so the equations will be solved as a system of differential-algebraic equations.

2.NDSolve::bcart: Warning: an insufficient number of boundary conditions have been specified for the direction of independent variable x. Artificial boundary effects may be present in the solution.

I have following questions:

1.Is it possible to solve this type of coupled pde using ndsolve?

2.Is there any method I can use to over come this error? Please help..I am new to Mathematica.. Code is as follows.here u==f and v==B**

 h = 0; inf = 10; k = 3;
pde = {D[u[t, x, y], t] == 
    D[u[t, x, y], {x, 2}] + 
     D[u[t, x, y], {y, 
       2}] - (k^4/u[t, x, y])^3*(D[v[t, x, y], y]^2 + 
        D[v[t, x, y], x]^2) - u[t, x, y] + u[t, x, y]^3, 
       D[v[t, x, y], {x, 2}] + 
     D[v[t, x, y], {y, 2}] - (v[t, x, y]*u[t, x, y]^2)/k^2 + 
           (2/u[t, x, y])*(D[u[t, x, y], x]*D[v[t, x, y], x] - 
        D[u[t, x, y], y]*D[v[t, x, y], y]) == 0}; 
ic = {u[0, x, y] == 1, v[0, x, y] == 0};
bc = { u[t, inf, y] == 1, v[t, 0, y] == h + 0.1*t, 
   v[t, x, 0] == v[t, x, inf], u[t, x, 0] == u[t, x, inf], 
   v[t, inf, y] == 0}; 
NDSolve[{pde, bc, ic}, {u, v}, {x, 0, inf}, {y, 0, inf}, {t, 0, 15}];
  Evaluate[u[t, x, y] /. First[%]], {x, 0, inf}, {y, 0, inf}, 
  PlotRange -> All, PlotPoints -> 10, Mesh -> False], {t, 14, 15}]
  • $\begingroup$ 1. The equation in the code is slightly different from the one at beginning, for example the +f-f^3 part. BTW it's bad idea to name variables differently in code and text, this makes error checking painful. 2. Boundary at u[t, 0, y] is missing, this is a more serious problem, because we don't know what b.c. is added, for more information, check this post: mathematica.stackexchange.com/q/73961/1871 3. The equation causing pdord warning is indeed troublesome, you can refer to this post as an example: mathematica.stackexchange.com/q/133731/1871 $\endgroup$ – xzczd Nov 8 '17 at 14:29
  • $\begingroup$ Thank you for the comment.Yes I made a mistake with equation. I adjusted it.For the error pdord can be removed if I add D[v[t, x, y], t] to second equation.Then I get error for the insufficient boundary condition and error with NDSolve::ndsz: At t == 0.02421591489423537`, step size is effectively zero; singularity or stiff system suspected..The problem can solve in Matlab but it long process because we need to adjust the equation according to specified model in matlab.That is why I want to try out in Mathematica see that I can solve it with very few lines. $\endgroup$ – Man Nov 8 '17 at 16:08
  • $\begingroup$ As mentioned in my last comment, b.c. for u[t, 0, y] is necessary, or a hidden b.c. will be added (which we don't know what it represents at least for now. You may also want to read this). Also, notice the warning ndsz is easy to explain. If you check the solution of u at 0.0242, you'll see it hits 0, which isn't allowed by the equation. $\endgroup$ – xzczd Nov 9 '17 at 3:07
  • $\begingroup$ Thank you all for the comments.I will read it. $\endgroup$ – Man Nov 9 '17 at 14:43

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.