Items tagged with pdsolve pdsolve Tagged Items Feed

Hello all,

I am pretty new to Maple, but I am trying to understand something. I was able to find a numerical solution to a PDE in maple (with some community help, thanks guys!). I am trying to manipulate this data but am struggling with it. I thought if I could take this data to matlab it would be pretty easy for me to manipulate and do what I want. 

So my question is: How do I export my numerical solution (pds module) to matlab. Just taking the data is okay. I know you can evaluate the data at some points. 

 

I see there is "Matlab" command that converts code, it doesn't seem to like pds as an input though.

I also see an export matrix command. I guess it could be possible to create a matrix of plot data and convert it this way?

 

I had to do a change of coordinate system to solve the PDE because of boundary conditions. I'm trying to transform this data back to my regular x,y coordinate system to see if it matches some other simulations. 

Thanks in advance! And here is my file.


restart;
with(Physics):
Setup(mathematicalnotation = true):

V(Z, f);

If function ( varphi) is defined, use this one.

PDE1 := subs[inplace](x = xi*varphi(t), PDE1);
If function ( varphi) is defined, use this one.


PDE1 := subs[inplace](t = 2*vartheta*(1/omega), PDE1);


 

 

 

 

 

 

Thesis_Pde2_attempt.mw

would like to draw the graph of x^2-1

with below sys instead of x^2-1 

sys := {-(1/2)*(-x-1+sqrt(-3*x^2-2*x-3))*(diff(y(a, b), b))/x^2+(diff(y(a, b), a))*(diff(y(a, b), b)), (1/2)*(x+1+sqrt(-3*x^2-2*x-3))*(diff(y(a, b), a))/x^2+(x^2+x+1)/x^4, (1/2)*(x+1+sqrt(-3*x^2-2*x-3))*(diff(y(a, b), a))/x^2-(1/2)*(-x-1+sqrt(-3*x^2-2*x-3))*(diff(y(a, b), b))/x^2+(x^2+x+1)/x^4};
IBC:={x=1,y(a,3)=(3-1)*(3+1),y(0,b)=0,y(1,b)=0}:
pds:=pdsolve(sys,IBC,numeric,spacestep=140);
plots[display]([seq(pds:−plot(v,t=i10),i=0..5)]):

 

hi.i encounter error in pdsole equations with unknown parameter(N)??

please help me for solve it....thanks alotmaple_prime.mw

I have the following two PDEs:

PDE := diff(u(x, t), t) = diff(u(x, t), x, x)+sin(x+t)-cos(x+t);

IBC:= D[1](u)(0,t)=-sin(t),
D[1](u)(1,t)=-sin(1+t),
u(x,0)=cos(x);

pds := pdsolve( PDE, [IBC], numeric, time = t, range = 0 .. 1,
spacestep = 1/32, timestep = 1/32,
errorest=true
)

 

PDE2 := diff(v(x, t), t) = diff(v(x, t), x, x);
IBC2:= D[1](v)(0,t)=0,
D[1](v)(1,t)=-0.000065*v(1, t)^4,
v(x,0)=1;

pds1 := pdsolve( PDE2, [IBC2], numeric, time = t, range = 0 .. 1,
spacestep = 1/32, timestep = 1/32,
errorest=true
);

 

Now, what I want to do with these two PDEs is the following:

 

For each h=timestep=spacestep  = 1/16 , 1/32 , 1/64 , 1/128 , 1/256

Calculate the error norm ||E||_h = sqrt(sum_{j=0}^{1/h} h* |u(j*h,tval)-v(j*h,tval)|^2)

where tval is some chosen point between 0 and 1 (this value is fixed for each spacestep chosen).

 

And then plot the graph of log ||E||_h vs. log h above.

 

What I don't know is how to extract each time the spacestep and its PDE's two solutions, does someone have a suggested script to use here?

 

 

hello everyone

can any one tell me what is this anti reduction method. In the paper of serdal palmuk,the link is given bellow

http://www.hindawi.com/journals/mpe/2009/202307/

in this paper question #4 is first solved by anti reduction method for  exact solution.

but i dont understand this method,

if anybody know this then please also tell me how to solve this,

and in the next  (6 & 7 ) examples "in the pourus media equation" they first find its particular exact solution.i also dont understand this,so please tell me

actually i know how to solve ODE to find its exact solution but  i dont know how we find exact solutions of partial differtial equations,

so please help me to solve this problem

thanks

 

Hi,

    i meet  a partial differential equation seems not complicated

with(PDEtools):

PDE := (diff(f(x__1, x__2, p__1, p__2), x__1))*p__1/m-(diff(f(x__1, x__2, p__1, p__2), p__1))*(2*k*x__1-k*x__2)+(diff(f(x__1, x__2, p__1, p__2), x__2))*p__2/m-(diff(f(x__1, x__2, p__1, p__2), p__2))*(-k*x__1+2*k*x__2);

when i use

     pdsolve(PDE);

i get nothing,but i sure

    f=c*(p__1^2/m+p__2^2/m+4*p__1*p__2/m+6*k*x__1*x__2) 

is the one solution of the differential equation .

how i can get solutions about of the above equation.

thanks .

 

restart;

with(DETools, diff_table);

kB := 0.138064852e-22;

R := 287.058;

T := 293;

p := 101325;

rho := 0.1e-2*p/(R*T);

vr := diff_table(v_r(r, z));

vz := diff_table(v_z(r, z));

eq_r := 0 = 0;

eq_p := (vr[z]-vz[r])*vr[] = (vr[]*(vr[r, z]-vz[r, r])+vz[]*(vr[z, z]-vz[z, r]))*r;

eq_z := 0 = 0;

eq_m := r*vr[r]+r*vz[z]+vr[] = 0;

pde := {eq_m, eq_p};

IBC := {v_r(1, z) = 0, v_r(r, 0) = 0, v_z(1, z) = 0, v_z(r, 0) = r^2-1};

sol := pdsolve(pde, IBC, numeric, time = z, range = 0 .. 1);

 

what am I doing wrong?

it's telling me: Error, (in pdsolve/numeric/par_hyp) Incorrect number of boundary conditions, expected 3, got 2
but i did just as in the example :-/

Are there any examples of network solutions such as mine systems in Maple.
I wrote in the Maple system of partial differential equations describing the process of filtration combustion.
I'm a novice. I do not quite understand how to solve it.
Online a lot of "simple" examples. I need something very similar to my case.

Model03.mw

I am trying to solve system of partial differential equation, but i got some trouble. This is system of heat equations

Here are the equations:

restart;with(PDEtools):
U1 := diff_table(u1(x,t)):
pde[1] := (1/kappa1)*U1[t]=U1[x,x];

bc[1]:=u1(-L, t)=V;

 

U2 := diff_table(u2(x,t)):
pde[2] := (1/kappa2)*U2[t]=U2[x,x];

bc[2]:=u2(a, t)=0;

 

sys:=[pde[1],bc[1],pde[2],bc[2], u1(x=0,t)=u2(x=0,t), 

D[2](u1)(x,0)=D[2](u2)(x,0)

]

pdsolve(sys);

 

a and L is arbitrary constanta

anyone can help? The last boundary conditions I mean du1/dx=du2/dx at x=0

How can i solve this problem? 

Hi, 

     I'm trying to solve this PDE, and Maple 2015 gives me a solution quickly. I can test the solution with pdetest() and this verifies that it works. However, when I try to verify this myself I don't get zero. Is there some trick pdetest() is using to that I am missing? Or is pdetest() wrong in this case?

 

restart;

eq := I*exp(-(2*I)*k*t)*k*sin(theta)*r^2*cos(theta)^3+4*exp(-(2*I)*k*t)*r*cos(theta)^3+2*(diff(Vr(t, r, theta), theta, theta))*cos(theta)*exp(-I*k*(sin(theta)*r+t))-6*(diff(Vr(t, r, theta), theta))*sin(theta)*exp(-I*k*(sin(theta)*r+t))-4*Vr(t, r, theta)*cos(theta)*exp(-I*k*(sin(theta)*r+t))-4*exp(-(2*I)*k*t)*r*cos(theta);

I*exp(-(2*I)*k*t)*k*sin(theta)*r^2*cos(theta)^3+4*exp(-(2*I)*k*t)*r*cos(theta)^3+2*(diff(diff(Vr(t, r, theta), theta), theta))*cos(theta)*exp(-I*k*(sin(theta)*r+t))-6*(diff(Vr(t, r, theta), theta))*sin(theta)*exp(-I*k*(sin(theta)*r+t))-4*Vr(t, r, theta)*cos(theta)*exp(-I*k*(sin(theta)*r+t))-4*exp(-(2*I)*k*t)*r*cos(theta)

(1)

sol := pdsolve(eq);

Vt(t, r, theta) = _F2(t, r)/cos(theta)^2+sin(theta)*_F1(t, r)/cos(theta)^2-((1/2)*I)*(cos(theta)^2*k^2*r^2-2)*exp(I*(sin(theta)*r-t)*k)/(k^3*r^2*cos(theta)^2)

(2)

pdetest(sol, eq);

0

(3)

eq2 := eval(eq, Vr(t,r,theta) = rhs(sol)):
eq2 := simplify(%);

-((1/2)*I)*exp(-(2*I)*k*t)*k*r^2*cos(theta)^3+2*exp(-(2*I)*k*t)*r*sin(theta)*cos(theta)-3*(diff(Vt(t, r, theta), theta))*sin(theta)*exp(-I*k*(sin(theta)*r+t))-2*Vt(t, r, theta)*cos(theta)*exp(-I*k*(sin(theta)*r+t))+(diff(diff(Vt(t, r, theta), theta), theta))*cos(theta)*exp(-I*k*(sin(theta)*r+t))

(4)

evalb(eq2 = 0);

false

(5)

 

 

 

Download PDESolving.mw

Hi !

I am trying to solve a pde with initial/boundary conditions, in the numeric mode. It works very well when I provide 3 numerical conditions : 1 initial condition (uniform distribution at first), and two boundary conditions.

Now I want to switch the initial condition to a function of r. It's a polynome I obtained after interpolation of another result. I tested it and the function interp20(r) works. But the pdsolve doesn't seem to evaluate the function, when it comes to start the procedure and pdsolve doesn't return a module as it should, although it doesn't send any message error.

You can see the code following, with the error messages I get.

 

Is it strictly impossible to use a function as an initial condition ?
Is it just a problem I could solve by converting the function or its result to something else ?
Is float the right type of input ? For example, if I write a:=283.15, is it a float ?
Have you already had similar problems ? How did you solve them ? Where could I find working code examples on this ?
Could I solve this problem with non-uniform initial condition with another Maple function ?

Then you very much for your help !

 

 

I am trying to solve a PDE which is converted to ODE when we assign one of the  variables some value. The boundary conditions given to the PDE are numerical values given for fixed numerical values to the two independent variables. I am trying to solve the PDE with the staandard syntax:

pds := pdsolve(pde,[ibc],numeric,time=z,range=0..beta);

The error message I get is:  

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

The pde and boundary conditions are as follows:

PDE:   pde := diff(theta(z, 0), z, z)+theta(z, 0)

Where zero is the fixed value for an independent variable

Boundary Condition:  ibc:={theta(0,0)=beta,D[1](theta)(0,0)=0};

When I try to solve it as an ODE the error is:

Error, (in dsolve) not an ODE system, please try pdsolve

 

Hi everyone,

I am trying to solve the equation of heat tranfer, time dependent, with particular Initial and boundary conditions but I am stuck by technical problems both in getting an analytical solution and a numerical one.

The equation

the equation.

I defined a and b numerically. domain is : and I defined surf_power numerically.

The initial condition is : , T0 defined numerically

The boundary condition is : , because it has a shperical symetry.

To me, it looks like a well posed problem. Does it look fine ?

Problem in analytical solution :

It doesn't accept the boundary condition so I only input the initial condition and it actually gives me back an expression that can be evaluated but it never does : I can't reduce it more than an expression of fourier which I can't eval. The solution :
The solution calculated in (0,0). I was hoping T0...

Are you familiar with these problems ? What would be the perfect syntax you would use to solve this ?

The numerical solution problems :

Sometimes it tells me that my boundary condition is equivalent  to 0 = 0, and I don't see why. Some other times it tells me I only gave 1 boundary/initial condition even if I wrote both. Here is what I wrote for example :

(because it kept asking me to add these two options : 'time' and 'range')

Are you familiar with these problems ? What would be the perfect syntax you would use to solve this ? I must at least have syntax problems because even if I keep reading the Help, it's been a long time since I used Maple.

Thank very much for any indication you could give me !

Simon

Hi everyone.

I have been experiencing a problem trying to solve a coupled system of 3 differencial equations

My problem is that a got a message back as I try to solve the system:

"Error, (in pdsolve/numeric/process_IBCs) improper op or subscript selector"

by apply this point that ''all dependent variables must be functions of the same independent variables''

i again accost with another error ''

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

''

please help me.....very very thanks

I am considering the following PDE and I am getting an error, please suggest a better numerical method than the default one used in maple:

 

the PDE is:

u_{xx}u^3 - sin(xt)u_{tt} = u(x,t)

u(x, 0) = sin(x), (D[2](u))(x, 0) = cos(x), u(0, t) = cos(t), (D[1](u))(0, t) = sin(t)

Please suggest me a method that will also work for the following PDEs:

u^m* u_{xx} - sin(xt)u_{tt} = u^n

for m,n =0,1,2,3,... for the cases m=n and m not equal n

Here's the code:

 

pde := u(x, t)^3*(diff(u(x, t), x, x))-sin(x*t)*(diff(u(x, t), t, t)) = u(x, t);

u(x, t)^3*(diff(diff(u(x, t), x), x))-sin(x*t)*(diff(diff(u(x, t), t), t)) = u(x, t)

(1)

ibc := u(x, 0) = sin(x), (D[2](u))(x, 0) = cos(x), u(0, t) = cos(t), (D[1](u))(0, t) = sin(t);

u(x, 0) = sin(x), (D[2](u))(x, 0) = cos(x), u(0, t) = cos(t), (D[1](u))(0, t) = sin(t)

(2)

pds := pdsolve(pde, [ibc], numeric, time = t, range = 0 .. 1, spacestep = 0.1e-1)

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

(3)

pds:-plot3d(u(x, t), t = 0 .. 1, x = 0 .. 1, labels = [t, x, u(x, t)], labelfont = [times, bold, 20], axesfont = [times, bold, 16])

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

 

``

 

Download nonlinear_hyperbolic_PDE.mw

1 2 3 4 5 6 7 Page 1 of 7