Items tagged with pdsolve pdsolve Tagged Items Feed


I have a problem with maple solving diffusion equation. I solved the equation as follows

Es := 0.117108e12;
Ef := 0.78125e11;
l := 0.150e-6;
s := 0.500000e-3;
f := 0.5898334197e-6;
o := 0.9e-5;
d := 0.10e-17;
cb := 0.1e7/(19.9);
c := l*f/(d*cb);
PDE := diff(u(x, t), t)-(diff(u(x, t), x, x)) = 0;
IBC1 := {u(x, 0) = 0, (D[1](u))(0, t) = 0, (D[1](u))(1, t) = c};
S1 := pdsolve(PDE, IBC1, numeric, time = t);
S1:-plot(t = 0.6e-2);

i am plotting cincentration along the thickness of the material. i want to know why the concentration is negative. It should not be negative because constant flux 'c' is present at x=1. and flux at x=0 is 0, and also the initial concentration is 0.



Is it possible to somehow extract a derivative from numeric solution of partial differential equation?

I know there is a command that does it for dsolve but i couldn't find the same thing for pdsolve.

The actual problem i have is that i have to take a numeric solution, calculate a derivative from it and later use it somewhere else, but the solution that i have is just a set of numbers an array of some sort and i can't really do that because obviously i will get a zero each time.

Perhaps there is a way to interpolate this numeric solution somehow?

I found that someone asked a similar question earlier but i couldn't find an answer for it.


     I'm trying to numerically solve a PDE in Maple for different boundary conditions, however I'm having trouble even getting Maple to numerically solve it for simple boundary conditions.

I have cylindrical coordinates, r, z, theta, and I treat r = r(z, theta) for convenience to plot my solution surface. The initial coundary condition is that at z = epsilon (z = 0 is singular) , r = constant and of course r is periodic in theta. This is just a circle, and the analytical solution is know to be a half-sphere  r = sqrt(R^2 - z^2). I entered my initial boundary conditions into Maple, but it doesn't like the periodic one

IBC := { r(epsilon, theta) = R - epsilon__r,
              r(z, 0) = r(z, 2*Pi) };

  indepvars = [z, theta],
  time = z,
  range = 0..2*Pi);
Error, (in pdsolve/numeric/par_hyp) Incorrect number of boundary conditions, expected 2, got 1

I'm not sure how to make this work, and then generalize it to more arbitrary intial slices r(epsilon, theta) = f(theta).

Here's the attached worksheet,

Any help is appreciated,


Es := 0.117108e12;
Ef := 0.78125e11;
l := 0.150e-6;
s := 0.500000e-3;
f := 0.5898334197e-6;
o := 0.9e-5;
d := 0.10e-17;
cb := 0.1e7/(19.9);
R := 8.3144621;
T := 298;

PDE := diff(u(x, t), t)-(diff(u(x, t)+o^2*Es*cb*u(x, t)^2/(9*R*T), x, x)) = 0;
IBC := {u(1, t) = 1, u(x, 0) = 0, (D[1](u))(1, t) = l*f/(d*cb)};
S := pdsolve(PDE, IBC, numeric, time = t, range = 0 .. 1, timestep = 0.1e-4, spacestep = 0.1e-6);
p1 := S:-plot(t = .1, numpoints = 100);
Error, (in pdsolve/numeric/plot) unable to compute solution for t>HFloat(0.0):
matrix is singular
p2 := S:-plot(t = .2, numpoints = 50, color = green);
Error, (in pdsolve/numeric/plot) unable to compute solution for t>HFloat(0.0):
matrix is singular
p3 := S:-plot(t = .3, numpoints = 50, color = blue);
Error, (in pdsolve/numeric/plot) unable to compute solution for t>HFloat(0.0):
matrix is singular
plots[display]({p1, p2, p3});
Error, (in plots:-display) expecting plot structures but received: {p1, p2, p3}


     I have a question regarding pdsolve, or Solve from the PDEtools package. I have a set of equations relating partial derivatives, and I'd like to isolate certain terms without explicitly known the functions. I can do this for a single equation, but not multiple ones. I'm curious if Maple can currently handle a system of eqns like these easily, since I will be increasing the number of eqns in the future. Here's the code 





H(x, y, t)*`will now be displayed as`*H


eq1:= H[tt](x,y,t) = H[xx](x,y,t) + H[yy](x,y,t);

H[tt](x, y, t) = H[xx](x, y, t)+H[yy](x, y, t)


eq2 := diff(H[tt](x,y,t), t) = diff(H[tx](x,y,t), x) + diff(H[ty](x,y,t), y);

diff(H[tt](x, y, t), t) = diff(H[tx](x, y, t), x)+diff(H[ty](x, y, t), y)


eq3 := diff(H[tx](x,y,t), t) = diff(H[xx](x,y,t), x) + diff(H[xy](x,y,t), y);

diff(H[tx](x, y, t), t) = diff(H[xx](x, y, t), x)+diff(H[xy](x, y, t), y)


eq4 :=diff(H[ty](x,y,t), t) = diff(H[xy](x,y,t), x) + diff(H[yy](x,y,t), y);

diff(H[ty](x, y, t), t) = diff(H[xy](x, y, t), x)+diff(H[yy](x, y, t), y)


PDEtools:-Solve(eq3, H[xy]);

H[xy](x, y, t) = Int(diff(H[tx](x, y, t), t)-(diff(H[xx](x, y, t), x)), y)+_F1(x, t)


PDEtools:-Solve({eq1, eq2, eq3, eq4}, H[xy]);

Error, (in pdsolve/sys) the input system cannot contain equations in the arbitrary parameters alone; found equation depending only on {H[tt](x,y,t), H[xx](x,y,t), H[yy](x,y,t)}: H[tt](x,y,t)-H[xx](x,y,t)-H[yy](x,y,t)







Hello all,


I am trying to solve a simple PDE with one unknow theta and three boundary conditions. Unfortunately, I receive error messages. In this case, the integer s seems to cause troubles. The error message is:

Error, (in pdsolve/numeric/process_PDEs) variable(s) {s} are in the PDE system but are not dependent or independent variables


When I assign s a value (such as 1 or 2), no error messages, but still no response. I get:

pds:=module() export plot,plot3d,animate,value,settings; ... end module

Would anyone have an idea how to resolve this issue? Thank you for your suggestions. Below is the small portion of code


PDE := [(1-y^(s+1))*(diff(theta(y, z), z)) = diff(theta(y, z), `$`(y, 2))+y^(s+1)*(s+1)^(1/s+1)];
IBC := {theta(1, z) = 0, theta(y, 0) = 0, (D[1](theta))(0, z) = 0};

pds := pdsolve(PDE, IBC, numeric);
Error, (in pdsolve/numeric/process_PDEs) variable(s) {s} are in the PDE system but are not dependent or independent variables

Hey people,


I am trying to get the following code to run, but it keeps returning an error about too many arguments


alpha_const := 0.5:gamma_const := 2.5: D1 := 0.05: D2 := 0.002:
A := diff_table(a(x,t)):B := diff_table(b(x,t)):
Selkov[1] := A[t] = 1 - A[]*B[]^(gamma_const) + D1*A[x,x]:
Selkov[2] := B[t] = alpha_const * ( A[]*B[]^(gamma_const) - B[]) + D2 * B[x,x]:

bc[1] := D[1](a)(0,t)=0: bc[2] := D[1](b)(0,t)=0: bc[3] := D[1](a)(4*Pi,t) = 0: bc[4]:=D[1](b)(4*Pi,t)=0:

ic[1] := eval(A[],t=0)=a_0:ic[2] := eval(B[],t=0)=b_0:
case1 := eval(ic,[a_0=1,b_0=1]):
case2 := eval(ic, [a_0=piecewise((x<2*Pi+1) and (x>2*Pi-1), 0.99, 1), b_0=piecewise((x<2*Pi+1) and (x>2*Pi-1), 0.99, 1)]):

Case1Default := pdsolve({Selkov[1],Selkov[2]},{bc[1],bc[2],bc[3],bc[4],case1[1],case1[2]},numerical);

Error, (in pdsolve/sys) too many arguments; some or all of the following are wrong: [{a(x, t), b(x, t)}, {a(x, 0) = 1, b(x, 0) = 1, (D[1](a))(0, t) = 0, (D[1](a))(4*Pi, t) = 0, (D[1](b))(0, t) = 0, (D[1](b))(4*Pi, t) = 0}, numerical]


My code worked just earlier today, and now it wont. If i try to run pdsolve({Selkov[1],Selkov[2]}) it says that there is an error with general case of floats. 


You help is greatly appreciated!

Trying to solve the 1-dimensional heat equation with maple with constant boundary temperatures:


U := diff_table(u(x,t)):
pde := U[t]=U[x,x];
bc := u(0, t) =0, u(1, t) = 1, u(x,0)=x;

The solution of this equation is u(x,t)=x , but pdsolve(...) does not return anything at all! What is going wrong? Is it too hard PDE for maple? And if it is too hard, where can be found the types of equations, which are too hard and not too hard? Thank you.

I'm trying to execute the program, which can be found here , but it does not work. I copied exactly what is written there:

restart; with(PDEtools):
U := diff_table(u(x,t)):
pde[1] := U[t]+c*U[x]=-lambda*U[];
bc[1] := eval(U[], t=0) = phi(x);
sys[1] := [pde[1], bc[1]];

But after last command it just sais that

Error, (in pdsolve/sys/info) found functions with same name but depending on different arguments in the given DE system: [u(x,t), u(x,0)]

What's wrong?

In another experiment with pdsolve, I am solving a PDE with two sets of boundary conditions. Unfortunately, after invoking pdsolve, I get no result at all. What can be wrong here?

Dear All,

i am solving a system of pde with boundar conditons then i got this error...

Error, (in pdsolve/numeric/plot) unable to compute solution for tau>HFloat(0.0):





Pr := .71;









PDE := {(diff(theta(eta, tau), eta, eta))/Pr+f(eta, tau)*(diff(theta(eta, tau), eta))-theta(eta, tau)*(diff(f(eta, tau), eta))-a*(diff(theta(eta, tau), tau)) = 0, diff(f(eta, tau), eta, eta, eta)+f(eta, tau)*(diff(f(eta, tau), eta, eta))-(diff(f(eta, tau), eta))^2-a*(diff(f(eta, tau), eta, tau))-K*(a*(diff(f(eta, tau), eta, eta, eta, tau))+2*(diff(f(eta, tau), eta))*(diff(f(eta, tau), eta, eta, eta))-(diff(f(eta, tau), eta, eta))^2-f(eta, tau)*(diff(f(eta, tau), eta, eta, eta, eta)))+lambda*(1+epsilon*cos(Pi*tau))*theta(eta, tau) = 0};

{1.408450704*(diff(diff(theta(eta, tau), eta), eta))+f(eta, tau)*(diff(theta(eta, tau), eta))-theta(eta, tau)*(diff(f(eta, tau), eta))-(diff(theta(eta, tau), tau)) = 0, diff(diff(diff(f(eta, tau), eta), eta), eta)+f(eta, tau)*(diff(diff(f(eta, tau), eta), eta))-(diff(f(eta, tau), eta))^2-(diff(diff(f(eta, tau), eta), tau))-K*(diff(diff(diff(diff(f(eta, tau), eta), eta), eta), tau)+2*(diff(f(eta, tau), eta))*(diff(diff(diff(f(eta, tau), eta), eta), eta))-(diff(diff(f(eta, tau), eta), eta))^2-f(eta, tau)*(diff(diff(diff(diff(f(eta, tau), eta), eta), eta), eta)))+(1+cos(Pi*tau))*theta(eta, tau) = 0}


IBC := {f(0, tau) = 0, f(10, tau) = 0, f(eta, 0) = 0, theta(0, tau) = 1, theta(10, tau) = 0, theta(eta, 0) = 0, (D[1](f))(0, tau) = 1, (D[1](f))(10, tau) = 0};

{f(0, tau) = 0, f(10, tau) = 0, f(eta, 0) = 0, theta(0, tau) = 1, theta(10, tau) = 0, theta(eta, 0) = 0, (D[1](f))(0, tau) = 1, (D[1](f))(10, tau) = 0}


L := [1]



for i to 1 do K := L[i]; pds := pdsolve(PDE, IBC, numeric, spacestep = 1/100); p[i] := plots[display]([seq(pds:-plot(f, tau = 1, eta = 0 .. 1, legend = L[i]), j = 5)]) end do



module () local INFO; export plot, plot3d, animate, value, settings; option `Copyright (c) 2001 by Waterloo Maple Inc. All rights reserved.`; end module


Error, (in pdsolve/numeric/plot) unable to compute solution for tau>HFloat(0.0):
Newton iteration is not converging



Error, (in plots:-display) expecting plot structures but received: {p[1]}





In this file, I tried my best to solve the pde. But the answer is still rather non-informative. I need some help to simplify it.

I did notice that my Maple might need reinstallation, due to a "bug" in the 18.02 update.


My ultimate aim is try to use some similar techniques to solve this,, which has a similar type pde.


The standard pdsolve(pde) would just not work.



I used the same file in Maple 17 on a differnt Machine, which can be solved by pdsolve. So I guess it's just that  the 18.02 update package is broken itself. I have tried to uninstall and reinstall twice.






PD := [diff(Th(z, t), t) = 7.1428*(diff(Th(z, t), z))-1397941.885*(279-Tw(z, t))-0.2160487e-1*(diff(Th(z, t), z, z)), diff(Tc(z, t), t) = -7.1428*(diff(Tc(z, t), z))+1298990.852*(Tw(z, t)-291)+0.189366e-1*(diff(Tc(z, t), z, z)), diff(Tw(z, t), t) = 3.3024901*(Th(z, t)-2*Tw(z, t)+Tc(z, t))+8.0029*10^(-4)*(diff(Tw(z, t), z, z))]

BCI := {Tc(0, t) = 275, Tc(z, 0) = 275, Th(1, t) = 296, Th(z, 0) = 296, Tw(0, t) = 0, Tw(z, 0) = 0, (D[1](Tc))(1, t) = 0, (D[1](Th))(0, t) = 0, (D[1](Tw))(1, t) = 0}

pds := pdsolve(PD, BCI, numeric)


Since I was working in Matlab with Galerkin method which implies periodic boundary conditions I was wondering how to implement this in maple.

I tried this:


pde2 := diff(u(x, t), t)+3*(diff(u(x, t)^2, x))+diff(u(x, t),x$3) = 0

IBC := {u(0, t) = u(2, t), u(x, 0) = sech(50*(x-1/2))^2+2*sech(30*(x-1))^2, (D[1](u))(0, t) = (D[1](u))(2, t), (D[2](u))(0, t) = (D[2](u))(2, t)}

pds := pdsolve(pde2, IBC, numeric, time = t, range = 0 .. 2)

But it's telling me: 

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

So what's wrong?

1 2 3 4 5 6 Page 1 of 6