Items tagged with pdsolve


I am trying to solve system linear partial differential equations using command "pdsolve". I am surprised to see that the solution given by this command is not satisfying the system, instead, an additional constraint is obtained for an arbitrary function, is there something about "pdsolve" I am missing? 



DepVars := [f(x, y, t, u)]

[f(x, y, t, u)]


Sys := {diff(f(x, y, t, u), u, t)-(diff(f(x, y, t, u), x, y)) = 0, diff(f(x, y, t, u), u, u) = 0, diff(f(x, y, t, u), u, y) = 0, diff(f(x, y, t, u), x, u) = 0, diff(f(x, y, t, u), x, x) = 0, diff(f(x, y, t, u), y, y, y) = 0}

{diff(diff(f(x, y, t, u), t), u)-(diff(diff(f(x, y, t, u), x), y)) = 0, diff(diff(diff(f(x, y, t, u), y), y), y) = 0, diff(diff(f(x, y, t, u), u), u) = 0, diff(diff(f(x, y, t, u), u), x) = 0, diff(diff(f(x, y, t, u), u), y) = 0, diff(diff(f(x, y, t, u), x), x) = 0}



{f(x, y, t, u) = (_F3(t)*y+_F4(t))*x+(_F3(t)+_C1)*u+(1/2)*_F7(t)*y^2+_F8(t)*y+_F9(t)}


f := proc (x, y, t, u) options operator, arrow; (_F3(t)*y+_F4(t))*x+(_F3(t)+_C1)*u+(1/2)*_F7(t)*y^2+_F8(t)*y+_F9(t) end proc

proc (x, y, t, u) options operator, arrow; (_F3(t)*y+_F4(t))*x+(_F3(t)+_C1)*u+(1/2)*_F7(t)*y^2+_F8(t)*y+_F9(t) end proc



{0 = 0, diff(_F3(t), t)-_F3(t) = 0}





Hi I am new to Maple. I have 2 question:

1)I tried to run the following but I get this error as shown.pde1 is the PDE system. IBC, or you can refer bc1 to bc5 are the boundary condition given.

2)My bc4 & bc5 is suppose to be approaching 0 when y approch infinity  which is why I just put y to be equal to a large value while bc4 and bc5 equal 0. Do Maple have a function to use the approach method?


restart; with(PDEtools):

pde1 := [(x*y+1)*(diff(f(x, y), y, y, y))+(x+f(x, y))*(diff(f(x, y), y, y))-(diff(f(x, y), y))^2+g(x, y) = 0, (x*y+1)*(diff(g(x, y), y, y))+(x+f(x, y))*(diff(g(x, y), y))-(diff(f(x, y), y))*g(x, y) = 0];

IBC := [eval(f(x, y), y = 0) = 0, eval((D[2](f))(x, y), y = 0) = 0, eval(g(x, y), y = 0) = 0, eval((D[2](f))(x, y), y = 10000000000) = 0, eval(g(x, y), y = 10000000000) = 0];

bc1 := eval(f(x, y), y = 0) = 0

bc2 := eval((D[2](f))(x, y), y = 0) = 0

bc3 := eval(g(x, y), y = 0) = 0

bc4 := eval((D[2](f))(x, y), y = 10^10) = 0

bc5 := eval(g(x, y), y = 10^10) = 0

sol1 := pdsolve(pde1, [IBC], numeric, [f(x, y), g(x, y)], 'spacestep' = 0.1e-2, 'indepvars' = [x, y])

Error, (in pdsolve/numeric/process_IBCs) invalid initial/boundary condition: [f(x, 0) = 0, (D[2](f))(x, 0) = 0, g(x, 0) = 0, (D[2](f))(x, 1000000000000) = 0, g(x, 1000000000000) = 0]

Thanks you in advance.


Why pdsolve is not correctly solving the following

where I get    

but it is correctly solving the next one

where I get ???


I see that it is due to the fact that the variable x is multiplied by a constant, but why is not maple able to manage that?


Thanks for your help,








I want to solve a pde equation:

equa1 := diff(u(x,y), x, x)-y(1+x) = 0;

# with codition:

con:=u(0,y) = 0, (D(u[x]))(0,y) = 0;

the anwer must be :    u(x,y)= y(x2/2  + x3/6)
How can i solve that with maple?

Please excuse my bad English

I am looking for a numerical solver for a parabolic PDE (up to 2nd order derivatives but no mixed ones) on the spatio-temporal domain [X x Y x T], either as an external package or as MAPLE code.  

I have coded the method of lines on the domain [X x T] and indeed also used pdsolve as a check for that case. However, pdsolve (numerical) cannot solve the PDEs on the domain [X x Y x T].  The run times and memory requirements for the latter case would of course be significantly greater.  

I am about to code up the method of lines (in MAPLE) on the domain [X x Y x T], but am wondering whether there exist external FORTRAN or C code packages that would be faster if called up in MAPLE and whose results would then be post-pocessed in MAPLE.

Does anyone have any suggestions?



hi--how i can solve following equation?


Maple Worksheet - Error

Failed to load the worksheet /maplenet/convert/ .



Please help me on this :

restart; with(PDETools), with(plots)

n := .3:

Eq1 := (1-n)*(diff(f(x, y), `$`(y, 3)))+(1+x*cot(x))*f(x, y)*(diff(f(x, y), `$`(y, 2)))-(diff(f(x, y), y))/Da+(diff(f(x, y), y))^2+n*We*(diff(f(x, y), `$`(y, 2)))*(diff(f(x, y), `$`(y, 3)))+sin(x)*(theta(x, y)+phi(x, y))/x = x*((diff(f(x, y), y))*(diff(f(x, y), y, x))+(diff(f(x, y), `$`(y, 2)))*(diff(f(x, y), x))):

Eq2 := (diff(theta(x, y), `$`(y, 2)))/Pr+Nt*(diff(theta(x, y), y))^2/Pr+Nb*(diff(phi(x, y), y))*(diff(theta(x, y), y))/Pr+(1+x*cot(x))*f(x, y)*(diff(theta(x, y), y)) = x*((diff(f(x, y), y))*(diff(theta(x, y), x))+(diff(theta(x, y), y))*(diff(f(x, y), x))):

Eq3 := Nb*(diff(phi(x, y), `$`(y, 2)))/(tau*Pr)+Nt*(diff(theta(x, y), `$`(y, 2)))/(tau*Pr)+(1+x*cot(x))*f(x, y)*(diff(phi(x, y), y)) = x*((diff(f(x, y), y))*(diff(phi(x, y), x))+(diff(phi(x, y), y))*(diff(f(x, y), x))):

ValWe := [0, 5, 10]:

bcs := {Nb*(D[2](phi))(x, 0)+Nt*(D[2](theta))(x, 0) = 0, f(0, y) = ((1/12)*y)^2*(6-8*((1/12)*y)+3*((1/12)*y)^2), f(x, 0) = 0, phi(0, y) = -.5*y, phi(x, 12) = 0, theta(0, y) = (1-(1/12)*y)^2, theta(x, 0) = 1, theta(x, 12) = 0, (D[2](f))(x, 0) = Da^(1/2)*(D[2, 2](f))(x, 0)+Da*(D[2, 2, 2](f))(x, 0), (D[2](f))(x, 12) = 0}:

pdsys := {Eq1, Eq2, Eq3}:

p1 := ans[1]:-plot(theta(x, y), x = 1, color = blue):

plots[display]({p1, p2, p3})




Download untitle_2_(1).mw


Hope you would be fine. I want to solve the following PDEs by numerically for v[nf]=alpha[nf]=Ec=mu[nf]=C=1 and Pr=6.2

Eq1 := diff(u(x, t), t) = v[nf]*(diff(u(x, t), x, x));

Eq2 := diff(u(x, t), t) = alpha[nf]*(diff(theta(x, t), x, x))/Pr+Ec*mu[nf]*C*(diff(u(x, t), x))^2;

ICs := u(x, 0) = 0, theta(x, 0);

BCs := u(0, t) = 1, theta(0, t) = 1, u(10, t) = 0, theta(10, t) = 0;

and find the values of (diff(u(0, t), x))/(1-phi)^2.5 for different values of phi. Thanks in advace 

With my best regards and sincerely.

Muhammad Usman

School of Mathematical Sciences 
Peking University, Beijing, China


how i can remove this error?


Error, (in pdsolve/numeric/process_IBCs) initial/boundary conditions can only contain derivatives which are normal to the boundary, got (D[1](H))(x, 0)



"restart;beta:=1:k:=2:L:=1: W(t):=(Heaviside(t-1)-Heaviside(t-1.1)); theta:=3:   hR:=1 :hD(x):=hR+tan(theta)*(L-x) :W0:=2: f(x):=sqrt((hR^(2)+(W0)/(k)*(L^(2)-x^(2)))):t:=5:M:=2:theta:=20:"

proc (t) options operator, arrow; Heaviside(t-1)-Heaviside(t-1.1) end proc


PDE1 := diff(H(x, y), x, x)+diff(H(x, y), y, y)+2*W(t)/k = 0

diff(diff(H(x, y), x), x)+diff(diff(H(x, y), y), y) = 0


bcs1 := {H(L, y) = hR^2, (D[1](H))(0, y) = 0};

{H(1, y) = 1, (D[1](H))(0, y) = 0}


bcs2 := {H(x, M) = hD(x)^2, (D[1](H))(x, 0) = 0}

{H(x, 2) = (1+tan(20)*(1-x))^2, (D[1](H))(x, 0) = 0}


pdsolve(PDE1, `union`(bcs1, bcs2), numeric)

Error, (in pdsolve/numeric/process_IBCs) initial/boundary conditions can only contain derivatives which are normal to the boundary, got (D[1](H))(x, 0)





What's wrong here?

restart; with(PDEtools); PDE2 := diff(u(x, y, t), t$2) = diff(u(x, y, t), x$2)+diff(u(x, y, t), y$2); IBC2s := u(x, 0, t) = 0, u(x, 2, t) = 0, u(0, y, t) = 0, u(4, y, t) = 0, u(x, y, 0) = (.1*(-x^2+4*x))*(-y^2+2*y), (D[3](u))(x, y, 0) = 0; Sol2 := pdsolve({IBC2s, PDE2}); build(Sol2);

Error, invalid input: PDEtools:-build uses a 1st argument, ANS (of type {`=`, PDESolStruc}), which is mis

PDE := diff(u(x, t), t$2) = (1/16)*(diff(u(x, t), x$2))-(1/5)*(diff(u(x, t), t)); IBCs := u(x, 0) = x*(1-(1/2)*x), (D[2](u))(x, 0) = x*(1-(1/2)*x), u(0, t) = 0, (D[1](u))(1, t) = 0; Sol := pdsolve({IBCs, PDE}, HINT = f(x)*g(t)); Sol := subs(op([2, 2, 1], Sol) = n, Sol)

I thought that the addition of HINT wolud help but no.

The numeric solution gives the right answer but the analytical gives way too small numbers and wrong shape.


Hi everyone!

I would really appreciate if someone could give me a hand on telling me what is wrong with this problem! pdsolve gives the error: Error, (in pdsolve/sys/info) found functions with same name but depending on different arguments in the given DE system: {f(0, y), f(x, 0), f(x, y), (D[2](f))(0, y), (D[2](f))(x, 0)}.

Thanks in advance!!! 



Hello everyone,


     I am having trouble trying to solve a system of differential equations. The modeling was made from the equilibrium equations of a pressure vessel. The set of equations is shown below:

     As you see it is a set of two second-order partial differential equations. So, we need four boundary conditions. This one is the first. It means that the left end of the pressure vessel is fixed.

This one is the second boundary condition. It means that the right end of the pressure vessel is free.

This one is the third boundary condition. It means that the inner surface of the pressure vessel is subject to an external load:

At last, we have the fourth boundary condition. It means that the outer surface of the pressure vessel is free.

     The first test I have been trying to do is the static case. In this case, the time terms (the right side of the two equations shown) is zero.

    The maple commands that I am using are the following:


restart; E := 200*10^9; nu := .33; G := E/(2*(1+nu)); RI := 0.254e-1; RO := 2*RI; p := proc (x) options operator, arrow; 50000000 end proc; sys := [E*(nu*(diff(v(x, r), x))/r+nu*(diff(diff(v(x, r), x), r))+(1-nu)*(diff(diff(u(x, r), x), x)))/(-2*nu^2-nu+1)+G*(diff(diff(u(x, r), r), r)+diff(diff(v(x, r), x), r)+(diff(u(x, r), r))/r+(diff(v(x, r), x))/r) = 0, E*((1-nu)*(diff(diff(v(x, r), r), r))+nu*(diff(diff(u(x, r), x), r))+(1-nu)*(diff(v(x, r), r))/r-(1-nu)*v(x, r)/r^2)/(-2*nu^2-nu+1)+G*(diff(diff(u(x, r), r), x)+diff(diff(v(x, r), x), x)) = 0]; BCs := {E*(nu*v(L, r)/r+nu*(D[2](v))(L, r)+(1-nu)*(D[1](u))(L, r))/(-2*nu^2-nu+1) = 0, E*(nu*v(x, RI)/RI+(1-nu)*(D[2](v))(x, RI)+nu*(D[1](u))(x, RI))/(-2*nu^2-nu+1) = -p(x), E*(nu*v(x, RO)/RO+(1-nu)*(D[2](v))(x, RO)+nu*(D[1](u))(x, RO))/(-2*nu^2-nu+1) = 0, u(0, r) = 0}

sol := pdsolve(sys, BCs, numeric)


I am getting the following error:


Error, (in pdsolve/numeric/process_IBCs) initial/boundary conditions must depend upon exactly one of the independent variables: 0.1459531181e12*v(L, r)/r+0.1459531181e12*(D[2](v))(L, r)+0.2963290579e12*(D[1](u))(L, r) = 0

In this case, my boundary conditions do depend on more than one independent variable. How do I proceed?


Thank you in advance,

Pedro Guaraldi



yVal := 0.01

xVal := 0.01

p8 := plot([fdiff(('rhs')((pds:-value(f(x, y)))(x, yVal)[3]), [y, y], x = z)], z = 0 .. 20, color = [red])

I cant seem to plot the graph for yVal, but if I were to switch it around to (xVal,y), the graph works perfectly. How should I input the code such that I can obtain the f''(x,0) graph. 

Any help will be greatly appreciated :) thanks

hello,I want to solve a quesstion about heat equation,that the quesstion like this:

I use the code like this

but the results is wrong obviously and what's wrong with this code?

anxious for your help,thanks.



1 2 3 4 5 6 7 Last Page 1 of 11