nm

11363 Reputation

20 Badges

13 years, 38 days

MaplePrimes Activity


These are questions asked by nm

from help, it says about option of 'spacestep'=numeric to pdsolve numerical solver the following

Specifies the spacing of the spatial points on the discrete mesh on which the solution 
is computed, and defaults to 1/20th of the spatial range of the problem, 
r-L, where L is the left boundary, and r is the right. Note: The spacing must 
be small enough that a sufficient number of points are in the spatial domain 
for the given method, boundary conditions, and spatial interpolation (see below). 
If the given value of spacestep does not fit into the input domain an integral 
number of times, the closest smaller step size that does is used. For problems 
using error estimates, or an adaptive approach, the total number of spatial 
points must be odd, so again, if this is not the case for the specified 
spacestep, then it is reduced to satisfy this requirement.

In this problem, the domain is [-1,1]. So the default is 1/20 of this which is 1/10.  Why is it when using spacestep smaller than 1/11, the animator generated from the solution does not work right?  i.e. playing the animate does not produce correct result as the case when using spacestep=1/11 or spacestep=1/10?   

When using spacestep=1/16 or 1/15 or 1/14 or 1/13 or 1/12, it all produce bad animation.  I do not see why that is. 

Any ideas?  Am I doing something wrong?
 

pde := diff(u(x,t),t$2)=diff(u(x,t),x$2):
bc  := u(-1,t)=u(1,t),D[1](u)(-1,t)=D[1](u)(1,t):
f:=x->piecewise(-1/2<x and x<0,x+1/2,0<x and x<1/2,1/2-x,true,0):
plot(f(x),x=-1..1):
ic  := u(x,0)=f(x),D[2](u)(x,0)=0:
sol:=pdsolve(pde,{bc,ic},u(x,t),numeric,time=t,range=-1..1,  timestep=1/16,spacestep=1/16)

_m1793827573184

sol:-animate(t=1,frames=50,title="time = %f");

sol:=pdsolve(pde,{bc,ic},u(x,t),numeric,time=t,range=-1..1,  timestep=1/16,spacestep=1/12):
sol:-animate(t=1,frames=50,title="time = %f");

sol:=pdsolve(pde,{bc,ic},u(x,t),numeric,time=t,range=-1..1,  timestep=1/16,spacestep=1/11):
sol:-animate(t=1,frames=50,title="time = %f");

 

 

Download solving_wave_pde_2.mw

 

 

When solving this 1D wave PDE numerically, if the range used is -Pi..Pi then I get this error

sol:-plot(t=0,numpoints=100);
Error, (in Vector) unable to store '-Pi' when datatype=float[8]

When trying to plot the solution. Changing the range to -1..1 the error goes away.

I would expect the numerical solver to handle these things automatically? 

Please see attached worksheet.   How to work around this if one wants to use range from -Pi..Pi?

 

#wave PDE with periodic BC.
restart;

pde := diff(u(x,t),t$2)=diff(u(x,t),x$2);
bc  := u(-Pi,t)=u(Pi,t),D[1](u)(-Pi,t)=D[1](u)(Pi,t);
f:=x->piecewise(-Pi/2<x and x<Pi/2,1,true,0);
plot(f(x),x=-Pi..Pi);
ic  := u(x,0)=f(x),D[2](u)(x,0)=0;
sol:=pdsolve(pde,{bc,ic},u(x,t),numeric,time=t,range=-Pi..Pi)

pde := diff(u(x, t), t, t) = diff(u(x, t), x, x)

bc := u(-Pi, t) = u(Pi, t), (D[1](u))(-Pi, t) = (D[1](u))(Pi, t)

f := proc (x) options operator, arrow; piecewise(-(1/2)*Pi < x and x < (1/2)*Pi, 1, true, 0) end proc

u(x, 0) = piecewise(-(1/2)*Pi < x and x < (1/2)*Pi, 1, 0), (D[2](u))(x, 0) = 0

_m1174810042944

sol:-plot(t=0,numpoints=100);

Error, (in Vector) unable to store '-Pi' when datatype=float[8]

pde := diff(u(x,t),t$2)=diff(u(x,t),x$2);
bc  := u(-1,t)=u(1,t),D[1](u)(-1,t)=D[1](u)(1,t);
f:=x->piecewise(-1/2<x and x<1/2,1,true,0);
plot(f(x),x=-1..1);
ic  := u(x,0)=f(x),D[2](u)(x,0)=0;
sol:=pdsolve(pde,{bc,ic},u(x,t),numeric,time=t,range=-1..1)

pde := diff(u(x, t), t, t) = diff(u(x, t), x, x)

bc := u(-1, t) = u(1, t), (D[1](u))(-1, t) = (D[1](u))(1, t)

f := proc (x) options operator, arrow; piecewise(-1/2 < x and x < 1/2, 1, true, 0) end proc

u(x, 0) = piecewise(-1/2 < x and x < 1/2, 1, 0), (D[2](u))(x, 0) = 0

_m1174805392512

sol:-plot(t=0,numpoints=100);

 


 

Download solving_wave_pde.mw

This is a solution to a PDE. I solved this by hand and got a much simpler solution. Maple solution is also correct but very complicated. They are both the same, as when I plot them  for different t values, they match. I am sure they are the same. 

How would one simplify Maple solution to the simpler one? Tried number of options to simplify, but can't get Maple to simplify it to the hand solution. Also tried different assumptions on t and x (real, positive etc..) nothing helps.

Maple 2019.1 on windows 10. Physics 436

restart;
pde := diff(u(x,t), t) +1/(x^2+4)*diff(u(x,t),x) =0:
ic:=u(x,0)=exp(x^3+12*x):
maple_sol:=rhs(pdsolve([pde,ic],u(x,t)));

exp(((1/2)*(4*x^3+48*x-12*t+4*(9*(-(1/3)*x^3-4*x+t)^2+256)^(1/2))^(1/3)-8/(4*x^3+48*x-12*t+4*(9*(-(1/3)*x^3-4*x+t)^2+256)^(1/2))^(1/3))*(((1/2)*(4*x^3+48*x-12*t+4*(9*(-(1/3)*x^3-4*x+t)^2+256)^(1/2))^(1/3)-8/(4*x^3+48*x-12*t+4*(9*(-(1/3)*x^3-4*x+t)^2+256)^(1/2))^(1/3))^2+12))

hand_sol:=exp(x^3 - 3*t + 12*x); #this is much simpler

exp(x^3-3*t+12*x)

simplify(maple_sol)

exp(3*((4*x^3+48*x-12*t+4*(x^6-6*t*x^3+24*x^4+9*t^2-72*t*x+144*x^2+256)^(1/2))^(1/3)-4)*((-(1/3)*x^3+t-4*x-(1/3)*(x^6-6*t*x^3+24*x^4+9*t^2-72*t*x+144*x^2+256)^(1/2))*(4*x^3+48*x-12*t+4*(x^6-6*t*x^3+24*x^4+9*t^2-72*t*x+144*x^2+256)^(1/2))^(1/3)-(4/3)*(4*x^3+48*x-12*t+4*(x^6-6*t*x^3+24*x^4+9*t^2-72*t*x+144*x^2+256)^(1/2))^(2/3)-64/3)*((4*x^3+48*x-12*t+4*(x^6-6*t*x^3+24*x^4+9*t^2-72*t*x+144*x^2+256)^(1/2))^(1/3)+4)/(-8*x^3+24*t-96*x-8*(x^6-6*t*x^3+24*x^4+9*t^2-72*t*x+144*x^2+256)^(1/2)))

plot([subs(t=0.1,maple_sol),subs(t=0.1,hand_sol)],x=-1..0.3)

plot([subs(t=5,maple_sol),subs(t=5,hand_sol)],x=-1..0.3)

 

 

Download how_to_simplify.mw

Fyi, this solution to 1D wave pde is wrong. The solution does not even satisfy the PDE itself. Compared it to a numerical solution and they are not the same solution. Do not have time now to write the hand solution. But it is clear the solution is not valid.

I do not know now how to roll back to earlier version of the Physcis packages to see if this used to work OK before. Since when typing Physics:-Version(420) It gives error

Error, (in Physics:-Version) unable to determine the Physics Updates version, could you please report the problem to support@maplesoft.com

And Physics:-Version(425) seems to hang. I am not sure if these commands are supposed to automatically download the physics package from the cloud and install it on my PC or what.

Any way, could someone please verify the solution they get is the same as shown below? May be someone with earlier physics package could try to see if they get different solution?

restart

Physics:-Version()

`The "Physics Updates" version in the MapleCloud is 429 and is the same as the version installed in this computer, created 2019, September 23, 0:14 hours, found in the directory C:\Users\me\maple\toolbox\2019\Physics Updates\lib\`

pde:=diff(u(x,t),t$2)=4*diff(u(x,t),x$2);
ic:=u(x,0)=0,D[2](u)(x,0)=sin(x)^2;
bc:=u(-Pi,t)=0,u(Pi,t)=0;
sol:=pdsolve([pde,ic,bc],u(x,t))

diff(diff(u(x, t), t), t) = 4*(diff(diff(u(x, t), x), x))

u(x, 0) = 0, (D[2](u))(x, 0) = sin(x)^2

u(-Pi, t) = 0, u(Pi, t) = 0

u(x, t) = t*sin(x)^2

pdetest(sol,pde)

-8*t*(2*cos(x)^2-1)

simplify(diff(rhs(sol),t$2)-4*diff(rhs(sol),x$2))

-16*t*cos(x)^2+8*t

 


 

Download sept_23_2019.mw

I just  found what seems to be a serious problem and I am not able to figure if it is related to my own installation or not.

After I installed Physics 426 (Published on Sept 17, 2019) using the Maple GUI install button (which now works for my PC), I found I am not able to integrate basic things.

It seems to affect int when using some build in function with definite integration, but it could be others also. I need to test more. 

Could someone see if they get same problem as well?  

Could also someone please remind me of the library  commands to issue in order to remove current Physics version 426 and install earlier Physics version package, say 425, or any other version, so that  to see if this is related to version of a physics package or not?

restart;

version()

 User Interface: 1399874
         Kernel: 1399874
        Library: 1399874

1399874

interface(version)

`Standard Worksheet Interface, Maple 2019.1, Windows 10, May 21 2019 Build ID 1399874`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 426 and is the same as the version installed in this computer, created 2019, September 20, 23:28 hours, found in the directory C:\Users\me\maple\toolbox\2019\Physics Updates\lib\`

infolevel[int] := 3:

int(exp(x),x=0..1)

Definite Integration:   Integrating expression on x=0..1

Definite Integration:   Using the integrators [distribution, piecewise, series, o, polynomial, ln, lookup, cook, ratpoly, elliptic, elliptictrig, meijergspecial, improper, asymptotic, ftoc, ftocms, meijerg, contour]
LookUp Integrator:   unable to find the specified integral in the table
int/elliptic: trying elliptic integration
Integration Warning:   Integration method ftoc encountered an error in IntegrationTools:-Definite:-Main:
 mismatched multiple assignment of 2 variables on the left side and 1 value on the right side

Definite Integration:   Returning integral unevaluated.

int(exp(x), x = 0 .. 1)

restart;

int(sin(n*x),x=0..Pi)

int(sin(n*x), x = 0 .. Pi)

int(tan(x),x=0..Pi)

int(tan(x), x = 0 .. Pi)

int(cos(x),x=0..1)

int(cos(x), x = 0 .. 1)

int(sin(x),x=0 .. Pi)

int(sin(x), x = 0 .. Pi)

int(cos(x),x)

sin(x)

int(x,x=0 .. 1)

1/2

 

Download int_not_working.mw

First 133 134 135 136 137 138 139 Last Page 135 of 199