Al86

125 Reputation

6 Badges

7 years, 40 days

MaplePrimes Activity


These are questions asked by Al86

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?

 

 

How do I construct the seuqence 1/16 , 1/32 , 1/64 , 1/128 , 1/256 in maple?

 

What's the syntax?

I looked at the examples in here:

http://www.maplesoft.com/support/help/maple/view.aspx?path=seq

 

But didn't find something similar.

 

 

Are there any commands in maple that will help me find a suitable function that approximates the numerical solution of:



  restart;
  PDE := diff(v(x, t), t) = diff(v(x, t), x, x);
  JACOBIINTEGRAL := int(JacobiTheta3(0, exp(-Pi^2*s))*v(1, t-s)^4, s = 0 .. t);
  IBC:= D[1](v)(0,t)=0,
        D[1](v)(1,t)=-0.000065*v(1, t)^4,
        v(x,0)=1;
#
# For x=0..1, t=0..1, the solution varies only very slowly
# so I have increased the timestep/spacestep, just to speed
# up results generation for diagnostic purposes
#
  pds := pdsolve( PDE, [IBC], numeric, time = t, range = 0 .. 1,
                  spacestep = 0.1e-1, timestep = 0.1e-1,
                  errorest=true
                )

diff(v(x, t), t) = diff(diff(v(x, t), x), x)

 

int(JacobiTheta3(0, exp(-Pi^2*s))*v(1, t-s)^4, s = 0 .. t)

 

(D[1](v))(0, t) = 0, (D[1](v))(1, t) = -0.65e-4*v(1, t)^4, v(x, 0) = 1

 

_m649569600

(1)

#
# Plot the solution over the ranges x=0..1,
# time=0..1. Not a lot happens!
#
  pds:-plot(x=1, t=0..1);

 

#
# Plot the estimated error over the ranges x=0..1,
# time=0..1
#
  pds:-plot( err(v(x,t)), x=1,t=0..1);

 

#
# Get some numerical solution values
#
  pVal:=pds:-value(v(x,t), output=procedurelist):
  for k from 0 by 0.1 to 1 do
      pVal(1, k)[2], pVal(1, k)[3];
  od;

 

t = 0., v(x, t) = Float(undefined)

 

t = .1, v(x, t) = .999977377613528229

 

t = .2, v(x, t) = .999967577518313666

 

t = .3, v(x, t) = .999959874331053822

 

t = .4, v(x, t) = .999952927885405241

 

t = .5, v(x, t) = .999946262964885979

 

t = .6, v(x, t) = .999939702966688881

 

t = .7, v(x, t) = .999933182128311282

 

t = .8, v(x, t) = .999926675964661227

 

t = .9, v(x, t) = .999920175361791563

 

t = 1.0, v(x, t) = .999913676928735229

(2)

 

 

 

Download PDEprob2_(2).mw

 

I am refering to the first graph, is there a way in maple to find an explicit suitable approximating function?

I.e, I want the function to have the same first graph obviously, it seems like addition of exponent and a line function, I tried plotting exp(-t)-0.3*t, it doesn't look like it approximates it very well. Any suggestion on how to implement this task in maple?

Thanks.

 

I have the solution to a heat PDE, v and the error esitmate u + cos(x+t) = v

 

I want to plot log v(1,t) as function of log u(1,t) in maple, but I seem to get an error:

Error, (in plot) unexpected option: ln(u(1, t))

 

I am attaching my code below.

How to fix this problem?

Thanks in advance.

PDE+cos.mw

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

3 4 5 6 7 Page 5 of 7