Items tagged with pdsolve

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.



I want to solve the following non linear PDE

SS := [diff(u(x, y, t), t)-0.625e-1*(diff(u(x, y, t), x, x)+diff(u(x, y, t), y, y))-6*(diff(u(x, y, t)*(diff(v(x, y, t), x)), x)+diff(u(x, y, t)*(diff(v(x, y, t), y)), y)) - 2*(u(x, y, t))(1-u(x, y, t))=0, diff(v(x, y, t), t)-(diff(v(x, y, t), x, x))-(diff(v(x, y, t), y, y))+16*v(x, y, t) -u(x, y, t)=0]

when i use the command

sol := pdsolve(SS, [u, v], singsol = false)

maple give the error message

Error, (in pdsolve) found the independent variables {t, x, y} also present in the names of the functions of the system []


how i can save results on text file from pdsolve?



PDE := diff(u(y, t), t) = diff(u(y, t), y, y)-0.9e-1*(diff(u(y, t), y, y, y, y))

diff(u(y, t), t) = diff(diff(u(y, t), y), y)-0.9e-1*(diff(diff(diff(diff(u(y, t), y), y), y), y))


IBC := {(D[1, 1](u))(0, t)-0.9e-1*(D[1, 1, 1, 1](u))(0, t) = 0, u(0, t) = 1, u(100, t) = 0, u(y, 0) = 0, (D[1, 1](u))(100, t) = 0}

{(D[1, 1](u))(0, t)-0.9e-1*(D[1, 1, 1, 1](u))(0, t) = 0, u(0, t) = 1, u(100, t) = 0, u(y, 0) = 0, (D[1, 1](u))(100, t) = 0}








pds := pdsolve(PDE, IBC, numeric, u(y, t), spacestep = 1/5, timestep = 1/5)











fname1 := "C:/Users/test/Desktop/txtop1.txt"; seq(fprintf(fname1, "%12.8f, %12.8f\n", y, u(y, .1), y = 0 .. 10, 1)); fclose(fname1)

Error, (in fprintf) file or directory does not exist


p1 := pds:-plot(t = 0):p2 := pds:-plot(t = 1/10):

plots[display]({p2}, title = `\` profile at t=0,0.1`)






Hi all,


I have a partial differential equation similar to the following:

Equation: f_x(x,y) + f_y(x,y) = f(x,y) + f(x,0),
Boundary value conditions: f(x,10) = f(10,y) = 0.

The solution is that f is identically equal to 0.


However, I am having trouble solving this equation in Maple. I type the following:

pde := diff(f(x, y), x)+diff(f(x, y), y) = f(x, y)+f(x, 0);

bv1 := f(x, 10) = 0;

bv2 := f(10, y) = 0;

solution := pdsolve(pde, {bv1, bv2}, numeric, time = x, range = 0 .. 10);


When Maple tries to evaluate the last expression, I get the error

Error, (in pdsolve/numeric/process_PDEs) PDEs can only contain dependent variables with direct dependence on the independent variables of the problem, got {f(x, 0)}


It seems to have difficulties with the expression "f(x,0)". Is there some trick to typing this in a way that makes Maple interpret it correctly?


Edit: I encounter the same problem, when I try to solve the ODE f'(x) = f(x) + f(0), where f(10) = 0.


Best regards.

Hello all


I am new to Maple, and I am solving a system of two coupled partial differential equations using pdsolve, but I am having a hard time retrieving the solution evaluated at some point from the output. The output of pdsolve is a module, which appears to have different "methods" on it, including "plot3d" and "value". I can easily get a plot of my solution by using plot3d, but I don't know how to get a meaningful value out. For instance, if my solution is (f(x,y), g(x,y)), I would like to define H(x,y) = (f(x,y), g(x,y)), and be able to type H(10,10) into Maple to have my solution evaluated at that point. The result should be (1,1).

Here is a toy example:

firstEq := diff(f(x, y), x)+diff(f(x, y), y) = f(x, y)+g(x, y);
secondEq := diff(g(x, y), x)+diff(g(x, y), y) = 2*f(x, y)+g(x, y);
pdsystem := {firstEq, secondEq};

bv11 := f(10, y) = 1;
bv12 := f(x, 10) = 1;
bv21 := g(10, y) = 1;
bv22 := g(x, 10) = 1;
bvs := {bv11, bv12, bv21, bv22};
pdsolution := pdsolve(pdsystem, bvs, numeric, time = x, range = 0 .. 10);
pdsolution:-plot3d(x = 1 .. 10, y = 0 .. 10);
pdsolution:-value(10, 10);
Error, (in pdsolve/numeric/value) got additional unknown arguments {2}

Best regards.



Hi all. I need to solve a large number of PDEs (partial differential equations) symbolically and simultaneously, to find the linearly independant answers for all of them, I use

ans := pdsolve({seq(PDE[i]=0,i=1..d)});

The PDEs are all linear first order and it is very easy to solve them one by one by hand, but in some cases I have 100 PDEs or more, so Maple is either very slow or doesn't work. For d=120, it was evaluating for hours without a result.


For example I have d=120 PDEs, and 200 variables. It works for d=30 of them (takes 13 minutes on my 16GB RAM  windows 7 computer). So if I do this:

ans1 := pdsolve({seq(PDE[i]=0,i=1..30)});

ans2 := pdsolve({seq(PDE[i]=0,i=31..60)});

ans3 := pdsolve({seq(PDE[i]=0,i=61..90)});

ans4 := pdsolve({seq(PDE[i]=0,i=91..120)});

Then how can I have only one vector of the linearly independent answers of all of them?


And in general, is Maple supposed to do this kind of calculations at all?

If yes, do you have any ideas on how to improve this procedure? 

If not, do you know in which software or programming package I can solve a large number of PDEs symbolically?

Your help is much appreciated. 

How can I find the numeric value of this PDE:


I want the numeric values i.e theta(2,2) , theta (1,3) and the likes.


Tried to solve the PDE below (q and p are time-dependent variabels, q(t),p(t)):

pde := diff(rho(t, q, p), t) = -(diff(rho(t, q, p), q))*p+(diff(rho(t, q, p), p))*(2*q+2);

pdsolve(pde, rho(t, q, p));

And got the answer: 

rho(t, q, p) = _F1(p^2+2*q^2+4*q, -(1/2)*sqrt(2)*arctan((q+1)*sqrt(2)*(1/sqrt(p^2)))+t)

But I'm not sure how to interpret the result. I understand that  _F1 is an arbitrary function, but then I get confused with the comma? I thought that I'd get a function of q and p, where they depend on t. 

Best regards


I have the following code in Maple 13:

SYS := {diff(T(x, t), t) = diff(T(x, t), x, x)};
IBC := {T(1, t) = 0, T(x, 0) = 1, (D[1](T))(0, t) = -exp(t)};
SOL := pdsolve(SYS, IBC, numeric, time = t, timestep = 1/10);
R := SOL:-value(output = listprocedure); temperature := subs(R, T(x, t));

It integrates the heat equation in the interval x=0..1 and it seems to work ok.
However, I have problems trying to obtain the temperature derivative at the boundaries (this is at x=0 and x=1). I'm using different commands and it seems the derivative is evaluated ok inside the domain but not at the boundaries.
If I try
fdiff(temperature(x, t), [x], {x = 1,t=0.5});


evalf((D[1](temperature))(1, .5));

I don't get any numerical answer. Any idea how I could obtain the value of the derivative at the boundaries?

Thanks in advance,





Hello everybody,


I want to solve this pde.the desire solution is V(r,z). three boundar conditions are written that two of them are related to rhe radial and one is related to the longitudinal coordinate.

I attached the solution for you. but this solution is derived by Matlab. Now, I just want to resolve it by Maple, but I couldn't reach it. Please let me know the correct way asap.


Thanks a




Q := diff(V(r, z), r, r)+(diff(V(r, z), r))/r-V(r, z)/r^2+diff(V(r, z), z, z)+C/r = 0

diff(diff(V(r, z), r), r)+(diff(V(r, z), r))/r-V(r, z)/r^2+diff(diff(V(r, z), z), z)+C/r = 0





PDESolStruc(V(r, z) = _F1(r)*_F2(z)-(1/2)*(_C1/r+_C2*r+_C3*r*ln(r))*C/_C3, [{diff(diff(_F1(r), r), r) = _F1(r)*_c[1]+(-(diff(_F1(r), r))*r+_F1(r))/r^2, diff(diff(_F2(z), z), z) = -_F2(z)*_c[1]}])












For my fdiff graph, it seems that the cirtical points appear to be jaggered or not smooth. Anyone nows what seem to be the problem? i tried increasing the numpoints but it did not work:( I am open to all opinions. Thanks:)

Hi all. I'm using pdsolve to find linearly independent solutions for two partial differentioal equations. I can solve them seperatly by "pdsolve", but when I try to solve them at the same time to get answers that fit in both of the eauations, I get an error message. I need to be able to solve them as a set of equations, as I have bigger examples. Here are the equations and outputs: 

PDE[1] := diff(f(theta[I], theta[A], theta[B], theta[AB]), theta[AB]);

PDE[2] := -(diff(f(theta[I], theta[A], theta[B], theta[AB]), theta[I]))+diff(f(theta[I], theta[A], theta[B], theta[AB]), theta[A])+diff(f(theta[I], theta[A], theta[B], theta[AB]), theta[B]);

pdsolve(PDE[1] = 0)  ----->  f(theta[I], theta[A], theta[B], theta[AB]) = _F1(theta[I], theta[A], theta[B])

pdsolve(PDE[2] = 0) ----->  f(theta[I], theta[A], theta[B], theta[AB]) = _F1(theta[I]+theta[A], theta[I]+theta[B], theta[AB])

pdsolve({seq(PDE[i] = 0, i = 1 .. 2)}) ---->  Error, (in PDEtools:-casesplit) too many levels of recursion

Why doesn't it produce the answer, although I know that it must be:

f(theta[I], theta[A], theta[B], theta[AB])=_F1(theta[I]+theta[A], theta[I]+theta[B])

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