Al86

145 Reputation

6 Badges

7 years, 261 days

MaplePrimes Activity


These are replies submitted by Al86

@Carl Love yes, works now just fine.

 

@vv , it doesn't seem to be working.

I get the following error message:

Error, `pds` does not evaluate to a module

@Carl Love here's my third try:

 


  restart;
  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)=-0.000065*(u(1, t)+cos(1+t))^4+sin(1+t),
        u(x,0)=1-cos(x);
#
# 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(u(x, t), t) = diff(diff(u(x, t), x), x)+sin(x+t)-cos(x+t)

 

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

 

(D[1](u))(0, t) = sin(t), (D[1](u))(1, t) = -0.65e-4*(u(1, t)+cos(1+t))^4+sin(1+t), u(x, 0) = 1-cos(x)

 

_m216736768

(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(u(x,t)), x=1,t=0..1);

 

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

 

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

 

t = 0.1e-1, u(x, t) = .468132560645211193

 

t = 0.2e-1, u(x, t) = .476620675893991042

 

t = 0.3e-1, u(x, t) = .485164343348984506

 

t = 0.4e-1, u(x, t) = .493759517499287648

 

t = 0.5e-1, u(x, t) = .502406098485052244

 

t = 0.6e-1, u(x, t) = .511102453922395727

 

t = 0.7e-1, u(x, t) = .519848081222815006

 

t = 0.8e-1, u(x, t) = .528641735121694212

 

t = 0.9e-1, u(x, t) = .537482758482757839

 

t = .10, u(x, t) = .546370042906006659

 

t = .11, u(x, t) = .555302850549631022

 

t = .12, u(x, t) = .564280135798000404

 

t = .13, u(x, t) = .573301110735468078

 

t = .14, u(x, t) = .582364762177520312

 

t = .15, u(x, t) = .591470267486582713

 

t = .16, u(x, t) = .600616631094471165

 

t = .17, u(x, t) = .609803004392364567

 

t = .18, u(x, t) = .619028401380561699

 

t = .19, u(x, t) = .628291952956824717

 

t = .20, u(x, t) = .637592677994616164

 

t = .21, u(x, t) = .646929690577315863

 

t = .22, u(x, t) = .656302011574524613

 

t = .23, u(x, t) = .665708740868090065

 

t = .24, u(x, t) = .675148899504965927

 

t = .25, u(x, t) = .684621575110758274

 

t = .26, u(x, t) = .694125787743871014

 

t = .27, u(x, t) = .703660614283566410

 

t = .28, u(x, t) = .713225073056872771

 

t = .29, u(x, t) = .722818231413405732

 

t = .30, u(x, t) = .732439105491770603

 

t = .31, u(x, t) = .742086754125860670

 

t = .32, u(x, t) = .751760191008710610

 

t = .33, u(x, t) = .761458467328929633

 

t = .34, u(x, t) = .771180594220798765

 

t = .35, u(x, t) = .780925615994519151

 

t = .36, u(x, t) = .790692541218692924

 

t = .37, u(x, t) = .800480408015832423

 

t = .38, u(x, t) = .810288222462013707

 

t = .39, u(x, t) = .820115017125833012

 

t = .40, u(x, t) = .829959795725423222

 

t = .41, u(x, t) = .839821585866029507

 

t = .42, u(x, t) = .849699389090256663

 

t = .43, u(x, t) = .859592228597243380

 

t = .44, u(x, t) = .869499103974247789

 

t = .45, u(x, t) = .879419034545566025

 

t = .46, u(x, t) = .889351018193387688

 

t = .47, u(x, t) = .899294070877883156

 

t = .48, u(x, t) = .909247189050718552

 

t = .49, u(x, t) = .919209385802187695

 

t = .50, u(x, t) = .929179656447670532

 

t = .51, u(x, t) = .939157011688529719

 

t = .52, u(x, t) = .949140446014158701

 

t = .53, u(x, t) = .959128968207002330

 

t = .54, u(x, t) = .969121572254020625

 

t = .55, u(x, t) = .979117265479617860

 

t = .56, u(x, t) = .989115041702798292

 

t = .57, u(x, t) = .999113907243194266

 

t = .58, u(x, t) = 1.00911285609529311

 

t = .59, u(x, t) = 1.01911089402067834

 

t = .60, u(x, t) = 1.02910701554026551

 

t = .61, u(x, t) = 1.03910022629866394

 

t = .62, u(x, t) = 1.04908952170027669

 

t = .63, u(x, t) = 1.05907390770885845

 

t = .64, u(x, t) = 1.06905238097441657

 

t = .65, u(x, t) = 1.07902394821156533

 

t = .66, u(x, t) = 1.08898760768213809

 

t = .67, u(x, t) = 1.09894236727932948

 

t = .68, u(x, t) = 1.10888722724634103

 

t = .69, u(x, t) = 1.11882119707896366

 

t = .70, u(x, t) = 1.12874327937397445

 

t = .71, u(x, t) = 1.13865248565033572

 

t = .72, u(x, t) = 1.14854782123258992

 

t = .73, u(x, t) = 1.15842830008022091

 

t = .74, u(x, t) = 1.16829293062122042

 

t = .75, u(x, t) = 1.17814072966983674

 

t = .76, u(x, t) = 1.18797070913415204

 

t = .77, u(x, t) = 1.19778188909438588

 

t = .78, u(x, t) = 1.20757328531600039

 

t = .79, u(x, t) = 1.21734392155340787

 

t = .80, u(x, t) = 1.22709281780686585

 

t = .81, u(x, t) = 1.23681900191025074

 

t = .82, u(x, t) = 1.24652149847591076

 

t = .83, u(x, t) = 1.25619933981954279

 

t = .84, u(x, t) = 1.26585155554231932

 

t = .85, u(x, t) = 1.27547718284112466

 

t = .86, u(x, t) = 1.28507525668193678

 

t = .87, u(x, t) = 1.29464481953920951

 

t = .88, u(x, t) = 1.30418491211861531

 

t = .89, u(x, t) = 1.31369458256549843

 

t = .90, u(x, t) = 1.32317287769875702

 

t = .91, u(x, t) = 1.33261885172483341

 

t = .92, u(x, t) = 1.34203155794780815

 

t = .93, u(x, t) = 1.35141005702225225

 

t = .94, u(x, t) = 1.36075340910752574

 

t = .95, u(x, t) = 1.37006068169009532

 

t = .96, u(x, t) = 1.37933094215266738

 

t = .97, u(x, t) = 1.38856326519400497

 

t = .98, u(x, t) = 1.39775672578593380

 

t = .99, u(x, t) = 1.40691040621648189

 

t = 1.00, u(x, t) = 1.41602338940992412

(2)

 

 restart;
  PDE := diff(v(x, t), t) = diff(v(x, t), x, x);
  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
#
  pds1 := pdsolve( PDE, [IBC], numeric, time = t, range = 0 .. 1,
                  spacestep = 0.1e-1, timestep = 0.1e-1,
                  errorest=true
                );
#
# Plot the solution over the ranges x=0..1,
# time=0..1. Not a lot happens!
#
  pds1:-plot(x=1, t=0..1);

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

 

_m217228608

 

 

v1 := log(v(1, t)); v2 := log(u(1, t)); plot(v1, v2)

ln(v(1, t))

 

ln(u(1, t))

 

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

 

NULL


Download PDEcos.mw

@tomleslie here's the code:

 

Download PDE+cos.mw

@Preben Alsholm thanks.

BTW do you know why did the collocation code you wrote doesn't seem to work for n:=91 and T:=[seq(0.1..1,0.01)];?

 

Did you try to excute the code in your machine with the change above that I changed?

 

I appreciate your help, but I would like to use collocation method, so I am puzzled why it's get stuck on what I changed.

 

@Preben Alsholm ,I want to use 100 points for the precision on the accuracy of the numerical solution.

My colleague told me that 10 points of sampling isn't enough for what we want to account for.

 

@Preben Alsholm , if I want to use 100 points, I need to change n:=100 and T:=[seq(0..1,0.01)];

 

I changed half an hour ago to n:=91 and T:=[seq(0.1..1,0.01)]; in the code and the code still evaluates on maple 18, is there a way to shorten the computation time?

One of my colleagues told me that something is wrong in the code if it takes that much time to evaluate?

 

@Preben Alsholm how do I find the numerical values of the approximated solution at the collocation points?

 

@Preben Alsholm For my problem I can use the following discretization scheme:

 

If we take time steps x_i = ih, y_j = jh, then:

 

1/h^2(-u_{i,j-1}-u_{i-1,j}+4u_{i,j} - u_{i+1,j} - u_{i,j+1}) = \sqrt(u_{i,j}) + (u_{i+1,j}-u_{i-1,j})^2/(4h^2 * u_{i,j}^{3/2}

 

But how to implement this in maple?

Thanks.

 

@Preben Alsholm , how can I plot the error of this approximated solution?

 

@Carl Love u(x1,x2,x3,x4) satisfies: d^2u/dx1^2+d^2u/dx2^2 = d^2u/dx3^2+d^2u/dx4^2

and u is twice differentiable.

 

@Preben Alsholm , hi, do you happen to know how can I estimate the error in this numerical solution?

 

 

@Preben Alsholm , this is another recursive integral equation which I want to solve numerically, I thought I could do it by using maple.

 

@Axel Vogt t>0, we can also truncate it to t<1.

 

@tomleslie 

Thanks, I appreciate your time you spent on this.

Can you please provide me with the links to the algorithms you talked about? or what did you search in google?

did you search: "methods of solving 2-D inhomogeneous Volterra equations"?

 

1 2 3 4 5 Page 4 of 5