tomleslie

12497 Reputation

19 Badges

12 years, 231 days

MaplePrimes Activity


These are replies submitted by tomleslie

@ijuptilk 

*roots* in the region (1.570796327, 2.144761060), just vertical discontinuities where your function value "flips" form -infinity to +infinity and back again. Consider the second plot in the attached, with the option discont=true supplied to the plot co
 

restart:

 

Procedure

 

``

doCalc:= proc( xi )

                 # Import Packages
                 uses ArrayTools, Student:-Calculus1, LinearAlgebra,
                      ListTools, RootFinding, plots, ListTools:
                 local gamma__1:= .1093,
                       alpha__3:= -0.1104e-2,
                       k__1:= 6*10^(-12),
                       d:= 0.2e-3,
                       theta0:= 0.001,
                       eta__1:= 0.240e-1,
                       alpha:= 1-alpha__3^2/(gamma__1*eta__1),
                       c:= alpha__3*xi*alpha/(eta__1*(4*k__1*q^2/d^2-alpha__3*xi/eta__1)),
                       theta_init:= theta0*sin(Pi*z/d),
                       n:= 30,
                       g, f, b1, b2, qstar, OddAsymptotes, ModifiedOddAsym,
                       qstarTemporary, indexOfqstar2, qstar2, AreThereComplexRoots,
                       soln1, soln2, qcomplex1, qcomplex2, gg, qq, m, pp, j, i,
                       AllAsymptotes, p, Efun, b, aa, F, A, B, Ainv, r, theta_sol, v, Vfun, v_sol,minp,nstar;

# Assign g for q and plot g, Set q as a complex and Compute the Special Asymptotes

  g:= q-(1-alpha)*tan(q)+ c*tan(q):
  f:= subs(q = x+I*y, g):
  b1:= evalc(Re(f)) = 0:
  b2:= evalc(Im(f)) = 0:
  qstar:= (fsolve(1/c = 0, q = 0 .. infinity)):
  OddAsymptotes:= Vector[row]([seq(evalf(1/2*(2*j + 1)*Pi), j = 0 .. n)]);

# Compute Odd asymptote

  ModifiedOddAsym:= abs(`-`~(OddAsymptotes, qstar));
  qstarTemporary:= min(ModifiedOddAsym);
  indexOfqstar2:= SearchAll(qstarTemporary, ModifiedOddAsym);
  qstar2:= OddAsymptotes(indexOfqstar2);

# Compute complex roots

  AreThereComplexRoots:= type(true, 'truefalse');
  try
   print({min(qstar2, qstar), max(qstar2, qstar)});
   #print({evalc(subs({x=min(qstar2, qstar)+5,y=0},b1))});
   soln1:= fsolve({b1, b2}, {x = min(qstar2, qstar)+0.1 .. max(qstar2, qstar)-0.1, y = 0.1 .. 100});
   soln2:= fsolve({b1, b2}, {x = min(qstar2, qstar) .. max(qstar2, qstar), y = -infinity .. 0});
   qcomplex1:= subs(soln1, x+I*y);
   qcomplex2:= subs(soln2, x+I*y);
   catch:
   AreThereComplexRoots:= type(FAIL, 'truefalse');
  end try;

# Compute the rest of the Roots
  OddAsymptotes:= Vector[row]([seq(evalf((1/2)*(2*j+1)*Pi), j = 0 .. n)]);
  AllAsymptotes:= sort(Vector[row]([OddAsymptotes, qstar]));
  if AreThereComplexRoots
  then gg:= [ qcomplex1, qcomplex2,op(Roots(g, q = 0.1e-3 .. AllAsymptotes[1])),
              seq(op(Roots(g, q = AllAsymptotes[i] .. AllAsymptotes[i+1])), i = 1 .. n)];
  elif not AreThereComplexRoots
  then gg:= [op(Roots(g, q = 0.1e-3 .. AllAsymptotes[1])), seq(op(Roots(g, q = AllAsymptotes[i] ..                           AllAsymptotes[i+1])), i = 1 .. n)];
  end if:

# Remove the repeated roots if any & Redefine n

  qq:= MakeUnique(gg):
  m:= numelems(qq):

 return g, qq, qstar, AreThereComplexRoots, f, soln1, soln2, qcomplex1;
  end proc:

 

 

Run the calculation for supplied value of 'xi'

 

``

ans:=[doCalc(-0.06)]:

{1.570796327, 2.144761060}

(2.1)

r(q) graph

plot(ans[1], q=0..evalf((5*Pi)),view=[0..5,-10..30],  labels =[q, r(q)], labelfont = ["TimesNewRoman", 14], labeldirections = ["horizontal", "vertical"]);
plot(ans[1], q=0..evalf((5*Pi)),view=[0..5,-10..30], discont=true, labels =[q, r(q)], labelfont = ["TimesNewRoman", 14], labeldirections = ["horizontal", "vertical"]);

 

 

``


 

Download disc.mw

mmand. Still think there are "roots" in the range  (1.570796327, 2.144761060)?

@FDS 

the code shown in the attached. BTW I still don't understand why you compute both P50_37 and P50p37 since as I said in a previous reply these are identical. I have left this redundant, weird caculation in the attached.

In the returned matrix, the first column contains values of P50 and the second column contains values of Pcor

restart

NULL

pH := `<,>`(7.398, 7.392); pO2 := `<,>`(121.6, 113.4); Tart := `<,>`(32.5, 32.9); N := 2.7

NULL

aProc := proc (ph::Vector, po::Vector, T::Vector, n::numeric) local P50p37, P50_37, S, P50, Pcor; P50p37 := Vector(numelems(ph), proc (i) options operator, arrow; 26.6*10^(.48*(7.4-ph[i])) end proc); P50_37 := 10^((-1)*0.24e-1*(37-37))*P50p37; S := Vector(numelems(ph), proc (i) options operator, arrow; (po[i]/P50_37[i])^n/(1+(po[i]/P50_37[i])^n) end proc); P50 := Vector(numelems(ph), proc (i) options operator, arrow; P50p37[i]*10^((-1)*0.24e-1*(37-T[i])) end proc); Pcor := Vector(numelems(ph), proc (i) options operator, arrow; exp(ln(-S[i]/(S[i]-1))/n)*P50[i] end proc); return `<|>`(P50, Pcor) end proc

b := aProc(pH, pO2, Tart, N)

Matrix(%id = 36893488148104168620)

(1)

NULL

Download aProc.mw

 

@Rouben Rostamian  

There will be a (very small) thermal impedance between the oven and the bar. The (end of the) bar will have a certain specific heat capacity - think charging a capacitor through a resistor. The end of the bar will achieve oven wall temperature quite quickly - but the physical situation is not discontinuous, only the (inadequate) mathematical desription of the heating process.

If you want to examine the discrpancy this can cause in a numeric PDE solver then I suggest you check out the two figures in my original answer - one run on Maple defaults and one run with greatly decreased spacestep/timestep which means that the error "dissipates" faster - but both are still "wrong"

I have also fixed a typo in this worksheet which prevented the original from running completely - mea culpa

  restart:
  with(plots):
  with(plottools):
  N:=10:
  t_upper:=evalf(Pi):
  s_step:=0.01:
   
  PDE:=diff(u(y, t), t) = diff(u(y, t), y, y);
  ICBC:= [u(y,0) = 0, u(0,t) = cos(t), u(N, t) = 0];
#
# Note that boundary conditions are contradictory. The
# first requires u(0,0)=0 and the second requires
# u(0,0)=cos(0)=1. Not sure what Maple is going to do
# with this

diff(u(y, t), t) = diff(diff(u(y, t), y), y)

 

[u(y, 0) = 0, u(0, t) = cos(t), u(10, t) = 0]

(1)

#
# Set up plots of the boundary conditions so that
# these can be included in a general plot of the
# solution surface - just as a check!!!
#
  f1:= plottools:-transform((x, y) -> [0, x, y]):
  f2:= plottools:-transform((x, y) -> [x, 0, y]):
  q1:=plot( cos(x), x=0..t_upper):
  q2:=plot( 0,      x=0..t_upper):
  q3:=plot( 0,      x=0..N):
  pbc:=display( [ f1(q1), f1(q2), f2(q3) ],
                color=green,
                thickness=4
              );

 

#
# Solve system using Maple defaults for spacestep and timestep
# and plot with boundary conditions. Note that spacestep will
# default to (N-0)/20, ie 0.5 and timestep will default to this
# value of spacestep
#
# Looks like Maple is *trying* to use the boundary condition
# u(0, t)=cos(t) along y=0 - except close to t=0, where it is
# using u(0,0)=0
#
  sol1:= pdsolve(PDE,ICBC,numeric):
  display( [ sol1:-plot3d( u(y, t),
                           y=0..N,
                           t=0..t_upper,
                           color=red,
                           style=surface
                         ),
              pbc
            ],
            title="Maple defaults, check region along y=0, t=0..1",
            titlefont=[times, roman, 20]
          );

 

#
# So check the returned value for t=0, y=0
#
# 1. from the boundary condition  u(y, 0)=0 the
#    answer for u(0,0) should return 0
# 2. from the boundary condition  u(y, 0)=cos(t)
#    the answer should be 1, when t=0
#
  uVal := sol1:-value(u(y,t), t=0):
  eval(u(y,t), uVal(0));
#
# So we seem to be obeying the u(y, 0)=0 condition
#
  

HFloat(0.0)

(2)

 

#
# In the above the boundary condition u(0,t) = cos(t), can get a
# better fit along y=0, by reducing the spacestep (which will
# reduce the timestep, and the reduced timestep will improve
# the fit along u(0,t) = cos(t)
#
  sol2:= pdsolve(PDE,ICBC,numeric, spacestep=s_step):
  display( [ sol2:-plot3d( u(y, t),
                           y=0..N,
                           t=0..t_upper,
                           color=blue,
                           style=surface
                         ),
              pbc
            ],
            title="spacestep=timestep=0.1, compare region along y=0, t=0..1 with above",
            titlefont=[times, roman, 20]
          );
 

 

#
# So check the returned value for t=0, y=0
#
# 1. from the boundary condition  u(y, 0)=0 the
#    answer for u(0,0) should return 0
# 2. from the boundary condition  u(y, 0)=cos(t)
#    the answer should be 1, when t=0
#
  uVal := sol2:-value(u(y,t), t=0):
  eval(u(y,t), uVal(0));
#
# So we seem to be obeying the u(y, 0)=0 condition
#

HFloat(0.0)

(3)

#
# Plot the both solutions along the line y=0, for comparison with
# the boundary condition u(0,t)=cos(t), Both solutions are very
# wrong at t=0, although sol2 (with reduced spacestep and timestep)
# is much better thereafter. Note that by default sol1, will have
# a (default) timestep of 0.5, whereas for sol2 it is set by s_step
# (defined as 0.01 above)
#
  display( [ sol1:-plot(y=0, t=0..t_upper, color=red),
             sol2:-plot(y=0, t=0..t_upper, color=blue),
             plot( cos(t), t=0..t_upper, color=green)
           ]
         );

 

 

Download PDEissue3.mw

@Rouben Rostamian  

the problem of inconsistent boundary conditions - just disguises it, by foring a small timestep (0.01) - which iss the same timestep I used .(In my worksheet I set spacestep=0.01, and didn't set a timestep, so it will default to the value of spacestep)

See the addition to your worksheet (in red in the attached) this is just plain wrong when (x,t) close to (0,0) - nothing you can do about it because the BC/IC are inconsistent

restart;

N:=10;

10

(1)

PDE:=diff(u(y, t), t) = diff(u(y, t), y, y);

diff(u(y, t), t) = diff(diff(u(y, t), y), y)

(2)

ICBC:= {u(y,0) = 0, u(0,t) = cos(t), u(N, t) = 0};

{u(0, t) = cos(t), u(10, t) = 0, u(y, 0) = 0}

(3)

dy := N/100;  # space step
dt := dy^2;   # time step

1/10

 

1/100

(4)

sol1:=pdsolve(PDE,ICBC,numeric,spacestep=dy, timestep=dt):

sol1:-plot3d(t=0..Pi);

 

vals := sol1:-value(u(y,t), output=listprocedure);

[y = proc () option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; evalf(args[1]) end proc, t = proc () option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; evalf(args[2]) end proc, u(y, t) = proc () local tv, xv, solnproc, stype, ndsol, vals; option `Copyright (c) 2001 by Waterloo Maple Inc. All rights reserved.`; Digits := trunc(evalhf(Digits)); solnproc := proc (tv, xv) local INFO, errest, nd, dvars, dary, daryt, daryx, vals, msg, i, j; option `Copyright (c) 2001 by Waterloo Maple Inc. All rights reserved.`; table( [( "soln_procedures" ) = array( 1 .. 1, [( 1 ) = (36893488148548359020)  ] ) ] ) INFO := table( [( "bandwidth" ) = [1, 2], ( "depdords" ) = [[[2, 1]]], ( "periodic" ) = false, ( "matrixhf" ) = true, ( "theta" ) = 1/2, ( "adjusted" ) = false, ( "timei" ) = 3, ( "solmatrix" ) = Matrix(101, 6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0, (7, 1) = .0, (7, 2) = .0, (7, 3) = .0, (7, 4) = .0, (7, 5) = .0, (7, 6) = .0, (8, 1) = .0, (8, 2) = .0, (8, 3) = .0, (8, 4) = .0, (8, 5) = .0, (8, 6) = .0, (9, 1) = .0, (9, 2) = .0, (9, 3) = .0, (9, 4) = .0, (9, 5) = .0, (9, 6) = .0, (10, 1) = .0, (10, 2) = .0, (10, 3) = .0, (10, 4) = .0, (10, 5) = .0, (10, 6) = .0, (11, 1) = .0, (11, 2) = .0, (11, 3) = .0, (11, 4) = .0, (11, 5) = .0, (11, 6) = .0, (12, 1) = .0, (12, 2) = .0, (12, 3) = .0, (12, 4) = .0, (12, 5) = .0, (12, 6) = .0, (13, 1) = .0, (13, 2) = .0, (13, 3) = .0, (13, 4) = .0, (13, 5) = .0, (13, 6) = .0, (14, 1) = .0, (14, 2) = .0, (14, 3) = .0, (14, 4) = .0, (14, 5) = .0, (14, 6) = .0, (15, 1) = .0, (15, 2) = .0, (15, 3) = .0, (15, 4) = .0, (15, 5) = .0, (15, 6) = .0, (16, 1) = .0, (16, 2) = .0, (16, 3) = .0, (16, 4) = .0, (16, 5) = .0, (16, 6) = .0, (17, 1) = .0, (17, 2) = .0, (17, 3) = .0, (17, 4) = .0, (17, 5) = .0, (17, 6) = .0, (18, 1) = .0, (18, 2) = .0, (18, 3) = .0, (18, 4) = .0, (18, 5) = .0, (18, 6) = .0, (19, 1) = .0, (19, 2) = .0, (19, 3) = .0, (19, 4) = .0, (19, 5) = .0, (19, 6) = .0, (20, 1) = .0, (20, 2) = .0, (20, 3) = .0, (20, 4) = .0, (20, 5) = .0, (20, 6) = .0, (21, 1) = .0, (21, 2) = .0, (21, 3) = .0, (21, 4) = .0, (21, 5) = .0, (21, 6) = .0, (22, 1) = .0, (22, 2) = .0, (22, 3) = .0, (22, 4) = .0, (22, 5) = .0, (22, 6) = .0, (23, 1) = .0, (23, 2) = .0, (23, 3) = .0, (23, 4) = .0, (23, 5) = .0, (23, 6) = .0, (24, 1) = .0, (24, 2) = .0, (24, 3) = .0, (24, 4) = .0, (24, 5) = .0, (24, 6) = .0, (25, 1) = .0, (25, 2) = .0, (25, 3) = .0, (25, 4) = .0, (25, 5) = .0, (25, 6) = .0, (26, 1) = .0, (26, 2) = .0, (26, 3) = .0, (26, 4) = .0, (26, 5) = .0, (26, 6) = .0, (27, 1) = .0, (27, 2) = .0, (27, 3) = .0, (27, 4) = .0, (27, 5) = .0, (27, 6) = .0, (28, 1) = .0, (28, 2) = .0, (28, 3) = .0, (28, 4) = .0, (28, 5) = .0, (28, 6) = .0, (29, 1) = .0, (29, 2) = .0, (29, 3) = .0, (29, 4) = .0, (29, 5) = .0, (29, 6) = .0, (30, 1) = .0, (30, 2) = .0, (30, 3) = .0, (30, 4) = .0, (30, 5) = .0, (30, 6) = .0, (31, 1) = .0, (31, 2) = .0, (31, 3) = .0, (31, 4) = .0, (31, 5) = .0, (31, 6) = .0, (32, 1) = .0, (32, 2) = .0, (32, 3) = .0, (32, 4) = .0, (32, 5) = .0, (32, 6) = .0, (33, 1) = .0, (33, 2) = .0, (33, 3) = .0, (33, 4) = .0, (33, 5) = .0, (33, 6) = .0, (34, 1) = .0, (34, 2) = .0, (34, 3) = .0, (34, 4) = .0, (34, 5) = .0, (34, 6) = .0, (35, 1) = .0, (35, 2) = .0, (35, 3) = .0, (35, 4) = .0, (35, 5) = .0, (35, 6) = .0, (36, 1) = .0, (36, 2) = .0, (36, 3) = .0, (36, 4) = .0, (36, 5) = .0, (36, 6) = .0, (37, 1) = .0, (37, 2) = .0, (37, 3) = .0, (37, 4) = .0, (37, 5) = .0, (37, 6) = .0, (38, 1) = .0, (38, 2) = .0, (38, 3) = .0, (38, 4) = .0, (38, 5) = .0, (38, 6) = .0, (39, 1) = .0, (39, 2) = .0, (39, 3) = .0, (39, 4) = .0, (39, 5) = .0, (39, 6) = .0, (40, 1) = .0, (40, 2) = .0, (40, 3) = .0, (40, 4) = .0, (40, 5) = .0, (40, 6) = .0, (41, 1) = .0, (41, 2) = .0, (41, 3) = .0, (41, 4) = .0, (41, 5) = .0, (41, 6) = .0, (42, 1) = .0, (42, 2) = .0, (42, 3) = .0, (42, 4) = .0, (42, 5) = .0, (42, 6) = .0, (43, 1) = .0, (43, 2) = .0, (43, 3) = .0, (43, 4) = .0, (43, 5) = .0, (43, 6) = .0, (44, 1) = .0, (44, 2) = .0, (44, 3) = .0, (44, 4) = .0, (44, 5) = .0, (44, 6) = .0, (45, 1) = .0, (45, 2) = .0, (45, 3) = .0, (45, 4) = .0, (45, 5) = .0, (45, 6) = .0, (46, 1) = .0, (46, 2) = .0, (46, 3) = .0, (46, 4) = .0, (46, 5) = .0, (46, 6) = .0, (47, 1) = .0, (47, 2) = .0, (47, 3) = .0, (47, 4) = .0, (47, 5) = .0, (47, 6) = .0, (48, 1) = .0, (48, 2) = .0, (48, 3) = .0, (48, 4) = .0, (48, 5) = .0, (48, 6) = .0, (49, 1) = .0, (49, 2) = .0, (49, 3) = .0, (49, 4) = .0, (49, 5) = .0, (49, 6) = .0, (50, 1) = .0, (50, 2) = .0, (50, 3) = .0, (50, 4) = .0, (50, 5) = .0, (50, 6) = .0, (51, 1) = .0, (51, 2) = .0, (51, 3) = .0, (51, 4) = .0, (51, 5) = .0, (51, 6) = .0, (52, 1) = .0, (52, 2) = .0, (52, 3) = .0, (52, 4) = .0, (52, 5) = .0, (52, 6) = .0, (53, 1) = .0, (53, 2) = .0, (53, 3) = .0, (53, 4) = .0, (53, 5) = .0, (53, 6) = .0, (54, 1) = .0, (54, 2) = .0, (54, 3) = .0, (54, 4) = .0, (54, 5) = .0, (54, 6) = .0, (55, 1) = .0, (55, 2) = .0, (55, 3) = .0, (55, 4) = .0, (55, 5) = .0, (55, 6) = .0, (56, 1) = .0, (56, 2) = .0, (56, 3) = .0, (56, 4) = .0, (56, 5) = .0, (56, 6) = .0, (57, 1) = .0, (57, 2) = .0, (57, 3) = .0, (57, 4) = .0, (57, 5) = .0, (57, 6) = .0, (58, 1) = .0, (58, 2) = .0, (58, 3) = .0, (58, 4) = .0, (58, 5) = .0, (58, 6) = .0, (59, 1) = .0, (59, 2) = .0, (59, 3) = .0, (59, 4) = .0, (59, 5) = .0, (59, 6) = .0, (60, 1) = .0, (60, 2) = .0, (60, 3) = .0, (60, 4) = .0, (60, 5) = .0, (60, 6) = .0, (61, 1) = .0, (61, 2) = .0, (61, 3) = .0, (61, 4) = .0, (61, 5) = .0, (61, 6) = .0, (62, 1) = .0, (62, 2) = .0, (62, 3) = .0, (62, 4) = .0, (62, 5) = .0, (62, 6) = .0, (63, 1) = .0, (63, 2) = .0, (63, 3) = .0, (63, 4) = .0, (63, 5) = .0, (63, 6) = .0, (64, 1) = .0, (64, 2) = .0, (64, 3) = .0, (64, 4) = .0, (64, 5) = .0, (64, 6) = .0, (65, 1) = .0, (65, 2) = .0, (65, 3) = .0, (65, 4) = .0, (65, 5) = .0, (65, 6) = .0, (66, 1) = .0, (66, 2) = .0, (66, 3) = .0, (66, 4) = .0, (66, 5) = .0, (66, 6) = .0, (67, 1) = .0, (67, 2) = .0, (67, 3) = .0, (67, 4) = .0, (67, 5) = .0, (67, 6) = .0, (68, 1) = .0, (68, 2) = .0, (68, 3) = .0, (68, 4) = .0, (68, 5) = .0, (68, 6) = .0, (69, 1) = .0, (69, 2) = .0, (69, 3) = .0, (69, 4) = .0, (69, 5) = .0, (69, 6) = .0, (70, 1) = .0, (70, 2) = .0, (70, 3) = .0, (70, 4) = .0, (70, 5) = .0, (70, 6) = .0, (71, 1) = .0, (71, 2) = .0, (71, 3) = .0, (71, 4) = .0, (71, 5) = .0, (71, 6) = .0, (72, 1) = .0, (72, 2) = .0, (72, 3) = .0, (72, 4) = .0, (72, 5) = .0, (72, 6) = .0, (73, 1) = .0, (73, 2) = .0, (73, 3) = .0, (73, 4) = .0, (73, 5) = .0, (73, 6) = .0, (74, 1) = .0, (74, 2) = .0, (74, 3) = .0, (74, 4) = .0, (74, 5) = .0, (74, 6) = .0, (75, 1) = .0, (75, 2) = .0, (75, 3) = .0, (75, 4) = .0, (75, 5) = .0, (75, 6) = .0, (76, 1) = .0, (76, 2) = .0, (76, 3) = .0, (76, 4) = .0, (76, 5) = .0, (76, 6) = .0, (77, 1) = .0, (77, 2) = .0, (77, 3) = .0, (77, 4) = .0, (77, 5) = .0, (77, 6) = .0, (78, 1) = .0, (78, 2) = .0, (78, 3) = .0, (78, 4) = .0, (78, 5) = .0, (78, 6) = .0, (79, 1) = .0, (79, 2) = .0, (79, 3) = .0, (79, 4) = .0, (79, 5) = .0, (79, 6) = .0, (80, 1) = .0, (80, 2) = .0, (80, 3) = .0, (80, 4) = .0, (80, 5) = .0, (80, 6) = .0, (81, 1) = .0, (81, 2) = .0, (81, 3) = .0, (81, 4) = .0, (81, 5) = .0, (81, 6) = .0, (82, 1) = .0, (82, 2) = .0, (82, 3) = .0, (82, 4) = .0, (82, 5) = .0, (82, 6) = .0, (83, 1) = .0, (83, 2) = .0, (83, 3) = .0, (83, 4) = .0, (83, 5) = .0, (83, 6) = .0, (84, 1) = .0, (84, 2) = .0, (84, 3) = .0, (84, 4) = .0, (84, 5) = .0, (84, 6) = .0, (85, 1) = .0, (85, 2) = .0, (85, 3) = .0, (85, 4) = .0, (85, 5) = .0, (85, 6) = .0, (86, 1) = .0, (86, 2) = .0, (86, 3) = .0, (86, 4) = .0, (86, 5) = .0, (86, 6) = .0, (87, 1) = .0, (87, 2) = .0, (87, 3) = .0, (87, 4) = .0, (87, 5) = .0, (87, 6) = .0, (88, 1) = .0, (88, 2) = .0, (88, 3) = .0, (88, 4) = .0, (88, 5) = .0, (88, 6) = .0, (89, 1) = .0, (89, 2) = .0, (89, 3) = .0, (89, 4) = .0, (89, 5) = .0, (89, 6) = .0, (90, 1) = .0, (90, 2) = .0, (90, 3) = .0, (90, 4) = .0, (90, 5) = .0, (90, 6) = .0, (91, 1) = .0, (91, 2) = .0, (91, 3) = .0, (91, 4) = .0, (91, 5) = .0, (91, 6) = .0, (92, 1) = .0, (92, 2) = .0, (92, 3) = .0, (92, 4) = .0, (92, 5) = .0, (92, 6) = .0, (93, 1) = .0, (93, 2) = .0, (93, 3) = .0, (93, 4) = .0, (93, 5) = .0, (93, 6) = .0, (94, 1) = .0, (94, 2) = .0, (94, 3) = .0, (94, 4) = .0, (94, 5) = .0, (94, 6) = .0, (95, 1) = .0, (95, 2) = .0, (95, 3) = .0, (95, 4) = .0, (95, 5) = .0, (95, 6) = .0, (96, 1) = .0, (96, 2) = .0, (96, 3) = .0, (96, 4) = .0, (96, 5) = .0, (96, 6) = .0, (97, 1) = .0, (97, 2) = .0, (97, 3) = .0, (97, 4) = .0, (97, 5) = .0, (97, 6) = .0, (98, 1) = .0, (98, 2) = .0, (98, 3) = .0, (98, 4) = .0, (98, 5) = .0, (98, 6) = .0, (99, 1) = .0, (99, 2) = .0, (99, 3) = .0, (99, 4) = .0, (99, 5) = .0, (99, 6) = .0, (100, 1) = .0, (100, 2) = .0, (100, 3) = .0, (100, 4) = .0, (100, 5) = .0, (100, 6) = .0, (101, 1) = .0, (101, 2) = .0, (101, 3) = .0, (101, 4) = .0, (101, 5) = .0, (101, 6) = .0}, datatype = float[8], order = C_order), ( "method" ) = theta, ( "initialized" ) = false, ( "maxords" ) = [2, 1], ( "timeadaptive" ) = false, ( "solvec4" ) = 0, ( "multidep" ) = [false, false], ( "depshift" ) = [1], ( "IBC" ) = b, ( "banded" ) = true, ( "timestep" ) = 0.100000000000000e-1, ( "matrixproc" ) = proc (v, vp, vpp, t, x, k, h, n, mat) local _s1, _s2, xi; _s1 := -(1/2)/h^2; _s2 := (h^2+k)/(k*h^2); mat[3] := 1; mat[6*n-3] := 1; for xi from 2 to n-1 do mat[6*xi-3] := _s2; mat[6*xi-4] := _s1; mat[6*xi-2] := _s1 end do end proc, ( "solution" ) = Array(1..3, 1..101, 1..1, {(1, 1, 1) = .0, (1, 2, 1) = .0, (1, 3, 1) = .0, (1, 4, 1) = .0, (1, 5, 1) = .0, (1, 6, 1) = .0, (1, 7, 1) = .0, (1, 8, 1) = .0, (1, 9, 1) = .0, (1, 10, 1) = .0, (1, 11, 1) = .0, (1, 12, 1) = .0, (1, 13, 1) = .0, (1, 14, 1) = .0, (1, 15, 1) = .0, (1, 16, 1) = .0, (1, 17, 1) = .0, (1, 18, 1) = .0, (1, 19, 1) = .0, (1, 20, 1) = .0, (1, 21, 1) = .0, (1, 22, 1) = .0, (1, 23, 1) = .0, (1, 24, 1) = .0, (1, 25, 1) = .0, (1, 26, 1) = .0, (1, 27, 1) = .0, (1, 28, 1) = .0, (1, 29, 1) = .0, (1, 30, 1) = .0, (1, 31, 1) = .0, (1, 32, 1) = .0, (1, 33, 1) = .0, (1, 34, 1) = .0, (1, 35, 1) = .0, (1, 36, 1) = .0, (1, 37, 1) = .0, (1, 38, 1) = .0, (1, 39, 1) = .0, (1, 40, 1) = .0, (1, 41, 1) = .0, (1, 42, 1) = .0, (1, 43, 1) = .0, (1, 44, 1) = .0, (1, 45, 1) = .0, (1, 46, 1) = .0, (1, 47, 1) = .0, (1, 48, 1) = .0, (1, 49, 1) = .0, (1, 50, 1) = .0, (1, 51, 1) = .0, (1, 52, 1) = .0, (1, 53, 1) = .0, (1, 54, 1) = .0, (1, 55, 1) = .0, (1, 56, 1) = .0, (1, 57, 1) = .0, (1, 58, 1) = .0, (1, 59, 1) = .0, (1, 60, 1) = .0, (1, 61, 1) = .0, (1, 62, 1) = .0, (1, 63, 1) = .0, (1, 64, 1) = .0, (1, 65, 1) = .0, (1, 66, 1) = .0, (1, 67, 1) = .0, (1, 68, 1) = .0, (1, 69, 1) = .0, (1, 70, 1) = .0, (1, 71, 1) = .0, (1, 72, 1) = .0, (1, 73, 1) = .0, (1, 74, 1) = .0, (1, 75, 1) = .0, (1, 76, 1) = .0, (1, 77, 1) = .0, (1, 78, 1) = .0, (1, 79, 1) = .0, (1, 80, 1) = .0, (1, 81, 1) = .0, (1, 82, 1) = .0, (1, 83, 1) = .0, (1, 84, 1) = .0, (1, 85, 1) = .0, (1, 86, 1) = .0, (1, 87, 1) = .0, (1, 88, 1) = .0, (1, 89, 1) = .0, (1, 90, 1) = .0, (1, 91, 1) = .0, (1, 92, 1) = .0, (1, 93, 1) = .0, (1, 94, 1) = .0, (1, 95, 1) = .0, (1, 96, 1) = .0, (1, 97, 1) = .0, (1, 98, 1) = .0, (1, 99, 1) = .0, (1, 100, 1) = .0, (1, 101, 1) = .0, (2, 1, 1) = .0, (2, 2, 1) = .0, (2, 3, 1) = .0, (2, 4, 1) = .0, (2, 5, 1) = .0, (2, 6, 1) = .0, (2, 7, 1) = .0, (2, 8, 1) = .0, (2, 9, 1) = .0, (2, 10, 1) = .0, (2, 11, 1) = .0, (2, 12, 1) = .0, (2, 13, 1) = .0, (2, 14, 1) = .0, (2, 15, 1) = .0, (2, 16, 1) = .0, (2, 17, 1) = .0, (2, 18, 1) = .0, (2, 19, 1) = .0, (2, 20, 1) = .0, (2, 21, 1) = .0, (2, 22, 1) = .0, (2, 23, 1) = .0, (2, 24, 1) = .0, (2, 25, 1) = .0, (2, 26, 1) = .0, (2, 27, 1) = .0, (2, 28, 1) = .0, (2, 29, 1) = .0, (2, 30, 1) = .0, (2, 31, 1) = .0, (2, 32, 1) = .0, (2, 33, 1) = .0, (2, 34, 1) = .0, (2, 35, 1) = .0, (2, 36, 1) = .0, (2, 37, 1) = .0, (2, 38, 1) = .0, (2, 39, 1) = .0, (2, 40, 1) = .0, (2, 41, 1) = .0, (2, 42, 1) = .0, (2, 43, 1) = .0, (2, 44, 1) = .0, (2, 45, 1) = .0, (2, 46, 1) = .0, (2, 47, 1) = .0, (2, 48, 1) = .0, (2, 49, 1) = .0, (2, 50, 1) = .0, (2, 51, 1) = .0, (2, 52, 1) = .0, (2, 53, 1) = .0, (2, 54, 1) = .0, (2, 55, 1) = .0, (2, 56, 1) = .0, (2, 57, 1) = .0, (2, 58, 1) = .0, (2, 59, 1) = .0, (2, 60, 1) = .0, (2, 61, 1) = .0, (2, 62, 1) = .0, (2, 63, 1) = .0, (2, 64, 1) = .0, (2, 65, 1) = .0, (2, 66, 1) = .0, (2, 67, 1) = .0, (2, 68, 1) = .0, (2, 69, 1) = .0, (2, 70, 1) = .0, (2, 71, 1) = .0, (2, 72, 1) = .0, (2, 73, 1) = .0, (2, 74, 1) = .0, (2, 75, 1) = .0, (2, 76, 1) = .0, (2, 77, 1) = .0, (2, 78, 1) = .0, (2, 79, 1) = .0, (2, 80, 1) = .0, (2, 81, 1) = .0, (2, 82, 1) = .0, (2, 83, 1) = .0, (2, 84, 1) = .0, (2, 85, 1) = .0, (2, 86, 1) = .0, (2, 87, 1) = .0, (2, 88, 1) = .0, (2, 89, 1) = .0, (2, 90, 1) = .0, (2, 91, 1) = .0, (2, 92, 1) = .0, (2, 93, 1) = .0, (2, 94, 1) = .0, (2, 95, 1) = .0, (2, 96, 1) = .0, (2, 97, 1) = .0, (2, 98, 1) = .0, (2, 99, 1) = .0, (2, 100, 1) = .0, (2, 101, 1) = .0, (3, 1, 1) = .0, (3, 2, 1) = .0, (3, 3, 1) = .0, (3, 4, 1) = .0, (3, 5, 1) = .0, (3, 6, 1) = .0, (3, 7, 1) = .0, (3, 8, 1) = .0, (3, 9, 1) = .0, (3, 10, 1) = .0, (3, 11, 1) = .0, (3, 12, 1) = .0, (3, 13, 1) = .0, (3, 14, 1) = .0, (3, 15, 1) = .0, (3, 16, 1) = .0, (3, 17, 1) = .0, (3, 18, 1) = .0, (3, 19, 1) = .0, (3, 20, 1) = .0, (3, 21, 1) = .0, (3, 22, 1) = .0, (3, 23, 1) = .0, (3, 24, 1) = .0, (3, 25, 1) = .0, (3, 26, 1) = .0, (3, 27, 1) = .0, (3, 28, 1) = .0, (3, 29, 1) = .0, (3, 30, 1) = .0, (3, 31, 1) = .0, (3, 32, 1) = .0, (3, 33, 1) = .0, (3, 34, 1) = .0, (3, 35, 1) = .0, (3, 36, 1) = .0, (3, 37, 1) = .0, (3, 38, 1) = .0, (3, 39, 1) = .0, (3, 40, 1) = .0, (3, 41, 1) = .0, (3, 42, 1) = .0, (3, 43, 1) = .0, (3, 44, 1) = .0, (3, 45, 1) = .0, (3, 46, 1) = .0, (3, 47, 1) = .0, (3, 48, 1) = .0, (3, 49, 1) = .0, (3, 50, 1) = .0, (3, 51, 1) = .0, (3, 52, 1) = .0, (3, 53, 1) = .0, (3, 54, 1) = .0, (3, 55, 1) = .0, (3, 56, 1) = .0, (3, 57, 1) = .0, (3, 58, 1) = .0, (3, 59, 1) = .0, (3, 60, 1) = .0, (3, 61, 1) = .0, (3, 62, 1) = .0, (3, 63, 1) = .0, (3, 64, 1) = .0, (3, 65, 1) = .0, (3, 66, 1) = .0, (3, 67, 1) = .0, (3, 68, 1) = .0, (3, 69, 1) = .0, (3, 70, 1) = .0, (3, 71, 1) = .0, (3, 72, 1) = .0, (3, 73, 1) = .0, (3, 74, 1) = .0, (3, 75, 1) = .0, (3, 76, 1) = .0, (3, 77, 1) = .0, (3, 78, 1) = .0, (3, 79, 1) = .0, (3, 80, 1) = .0, (3, 81, 1) = .0, (3, 82, 1) = .0, (3, 83, 1) = .0, (3, 84, 1) = .0, (3, 85, 1) = .0, (3, 86, 1) = .0, (3, 87, 1) = .0, (3, 88, 1) = .0, (3, 89, 1) = .0, (3, 90, 1) = .0, (3, 91, 1) = .0, (3, 92, 1) = .0, (3, 93, 1) = .0, (3, 94, 1) = .0, (3, 95, 1) = .0, (3, 96, 1) = .0, (3, 97, 1) = .0, (3, 98, 1) = .0, (3, 99, 1) = .0, (3, 100, 1) = .0, (3, 101, 1) = .0}, datatype = float[8], order = C_order), ( "solvec5" ) = 0, ( "explicit" ) = false, ( "spaceadaptive" ) = false, ( "solvec3" ) = Vector(101, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = .0}, datatype = float[8]), ( "vectorhf" ) = true, ( "dependson" ) = [{1}], ( "extrabcs" ) = [0], ( "mixed" ) = false, ( "t0" ) = 0, ( "totalwidth" ) = 6, ( "solmat_v" ) = Vector(606, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = .0, (102) = .0, (103) = .0, (104) = .0, (105) = .0, (106) = .0, (107) = .0, (108) = .0, (109) = .0, (110) = .0, (111) = .0, (112) = .0, (113) = .0, (114) = .0, (115) = .0, (116) = .0, (117) = .0, (118) = .0, (119) = .0, (120) = .0, (121) = .0, (122) = .0, (123) = .0, (124) = .0, (125) = .0, (126) = .0, (127) = .0, (128) = .0, (129) = .0, (130) = .0, (131) = .0, (132) = .0, (133) = .0, (134) = .0, (135) = .0, (136) = .0, (137) = .0, (138) = .0, (139) = .0, (140) = .0, (141) = .0, (142) = .0, (143) = .0, (144) = .0, (145) = .0, (146) = .0, (147) = .0, (148) = .0, (149) = .0, (150) = .0, (151) = .0, (152) = .0, (153) = .0, (154) = .0, (155) = .0, (156) = .0, (157) = .0, (158) = .0, (159) = .0, (160) = .0, (161) = .0, (162) = .0, (163) = .0, (164) = .0, (165) = .0, (166) = .0, (167) = .0, (168) = .0, (169) = .0, (170) = .0, (171) = .0, (172) = .0, (173) = .0, (174) = .0, (175) = .0, (176) = .0, (177) = .0, (178) = .0, (179) = .0, (180) = .0, (181) = .0, (182) = .0, (183) = .0, (184) = .0, (185) = .0, (186) = .0, (187) = .0, (188) = .0, (189) = .0, (190) = .0, (191) = .0, (192) = .0, (193) = .0, (194) = .0, (195) = .0, (196) = .0, (197) = .0, (198) = .0, (199) = .0, (200) = .0, (201) = .0, (202) = .0, (203) = .0, (204) = .0, (205) = .0, (206) = .0, (207) = .0, (208) = .0, (209) = .0, (210) = .0, (211) = .0, (212) = .0, (213) = .0, (214) = .0, (215) = .0, (216) = .0, (217) = .0, (218) = .0, (219) = .0, (220) = .0, (221) = .0, (222) = .0, (223) = .0, (224) = .0, (225) = .0, (226) = .0, (227) = .0, (228) = .0, (229) = .0, (230) = .0, (231) = .0, (232) = .0, (233) = .0, (234) = .0, (235) = .0, (236) = .0, (237) = .0, (238) = .0, (239) = .0, (240) = .0, (241) = .0, (242) = .0, (243) = .0, (244) = .0, (245) = .0, (246) = .0, (247) = .0, (248) = .0, (249) = .0, (250) = .0, (251) = .0, (252) = .0, (253) = .0, (254) = .0, (255) = .0, (256) = .0, (257) = .0, (258) = .0, (259) = .0, (260) = .0, (261) = .0, (262) = .0, (263) = .0, (264) = .0, (265) = .0, (266) = .0, (267) = .0, (268) = .0, (269) = .0, (270) = .0, (271) = .0, (272) = .0, (273) = .0, (274) = .0, (275) = .0, (276) = .0, (277) = .0, (278) = .0, (279) = .0, (280) = .0, (281) = .0, (282) = .0, (283) = .0, (284) = .0, (285) = .0, (286) = .0, (287) = .0, (288) = .0, (289) = .0, (290) = .0, (291) = .0, (292) = .0, (293) = .0, (294) = .0, (295) = .0, (296) = .0, (297) = .0, (298) = .0, (299) = .0, (300) = .0, (301) = .0, (302) = .0, (303) = .0, (304) = .0, (305) = .0, (306) = .0, (307) = .0, (308) = .0, (309) = .0, (310) = .0, (311) = .0, (312) = .0, (313) = .0, (314) = .0, (315) = .0, (316) = .0, (317) = .0, (318) = .0, (319) = .0, (320) = .0, (321) = .0, (322) = .0, (323) = .0, (324) = .0, (325) = .0, (326) = .0, (327) = .0, (328) = .0, (329) = .0, (330) = .0, (331) = .0, (332) = .0, (333) = .0, (334) = .0, (335) = .0, (336) = .0, (337) = .0, (338) = .0, (339) = .0, (340) = .0, (341) = .0, (342) = .0, (343) = .0, (344) = .0, (345) = .0, (346) = .0, (347) = .0, (348) = .0, (349) = .0, (350) = .0, (351) = .0, (352) = .0, (353) = .0, (354) = .0, (355) = .0, (356) = .0, (357) = .0, (358) = .0, (359) = .0, (360) = .0, (361) = .0, (362) = .0, (363) = .0, (364) = .0, (365) = .0, (366) = .0, (367) = .0, (368) = .0, (369) = .0, (370) = .0, (371) = .0, (372) = .0, (373) = .0, (374) = .0, (375) = .0, (376) = .0, (377) = .0, (378) = .0, (379) = .0, (380) = .0, (381) = .0, (382) = .0, (383) = .0, (384) = .0, (385) = .0, (386) = .0, (387) = .0, (388) = .0, (389) = .0, (390) = .0, (391) = .0, (392) = .0, (393) = .0, (394) = .0, (395) = .0, (396) = .0, (397) = .0, (398) = .0, (399) = .0, (400) = .0, (401) = .0, (402) = .0, (403) = .0, (404) = .0, (405) = .0, (406) = .0, (407) = .0, (408) = .0, (409) = .0, (410) = .0, (411) = .0, (412) = .0, (413) = .0, (414) = .0, (415) = .0, (416) = .0, (417) = .0, (418) = .0, (419) = .0, (420) = .0, (421) = .0, (422) = .0, (423) = .0, (424) = .0, (425) = .0, (426) = .0, (427) = .0, (428) = .0, (429) = .0, (430) = .0, (431) = .0, (432) = .0, (433) = .0, (434) = .0, (435) = .0, (436) = .0, (437) = .0, (438) = .0, (439) = .0, (440) = .0, (441) = .0, (442) = .0, (443) = .0, (444) = .0, (445) = .0, (446) = .0, (447) = .0, (448) = .0, (449) = .0, (450) = .0, (451) = .0, (452) = .0, (453) = .0, (454) = .0, (455) = .0, (456) = .0, (457) = .0, (458) = .0, (459) = .0, (460) = .0, (461) = .0, (462) = .0, (463) = .0, (464) = .0, (465) = .0, (466) = .0, (467) = .0, (468) = .0, (469) = .0, (470) = .0, (471) = .0, (472) = .0, (473) = .0, (474) = .0, (475) = .0, (476) = .0, (477) = .0, (478) = .0, (479) = .0, (480) = .0, (481) = .0, (482) = .0, (483) = .0, (484) = .0, (485) = .0, (486) = .0, (487) = .0, (488) = .0, (489) = .0, (490) = .0, (491) = .0, (492) = .0, (493) = .0, (494) = .0, (495) = .0, (496) = .0, (497) = .0, (498) = .0, (499) = .0, (500) = .0, (501) = .0, (502) = .0, (503) = .0, (504) = .0, (505) = .0, (506) = .0, (507) = .0, (508) = .0, (509) = .0, (510) = .0, (511) = .0, (512) = .0, (513) = .0, (514) = .0, (515) = .0, (516) = .0, (517) = .0, (518) = .0, (519) = .0, (520) = .0, (521) = .0, (522) = .0, (523) = .0, (524) = .0, (525) = .0, (526) = .0, (527) = .0, (528) = .0, (529) = .0, (530) = .0, (531) = .0, (532) = .0, (533) = .0, (534) = .0, (535) = .0, (536) = .0, (537) = .0, (538) = .0, (539) = .0, (540) = .0, (541) = .0, (542) = .0, (543) = .0, (544) = .0, (545) = .0, (546) = .0, (547) = .0, (548) = .0, (549) = .0, (550) = .0, (551) = .0, (552) = .0, (553) = .0, (554) = .0, (555) = .0, (556) = .0, (557) = .0, (558) = .0, (559) = .0, (560) = .0, (561) = .0, (562) = .0, (563) = .0, (564) = .0, (565) = .0, (566) = .0, (567) = .0, (568) = .0, (569) = .0, (570) = .0, (571) = .0, (572) = .0, (573) = .0, (574) = .0, (575) = .0, (576) = .0, (577) = .0, (578) = .0, (579) = .0, (580) = .0, (581) = .0, (582) = .0, (583) = .0, (584) = .0, (585) = .0, (586) = .0, (587) = .0, (588) = .0, (589) = .0, (590) = .0, (591) = .0, (592) = .0, (593) = .0, (594) = .0, (595) = .0, (596) = .0, (597) = .0, (598) = .0, (599) = .0, (600) = .0, (601) = .0, (602) = .0, (603) = .0, (604) = .0, (605) = .0, (606) = .0}, datatype = float[8], order = C_order, attributes = [source_rtable = (Matrix(101, 6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0, (7, 1) = .0, (7, 2) = .0, (7, 3) = .0, (7, 4) = .0, (7, 5) = .0, (7, 6) = .0, (8, 1) = .0, (8, 2) = .0, (8, 3) = .0, (8, 4) = .0, (8, 5) = .0, (8, 6) = .0, (9, 1) = .0, (9, 2) = .0, (9, 3) = .0, (9, 4) = .0, (9, 5) = .0, (9, 6) = .0, (10, 1) = .0, (10, 2) = .0, (10, 3) = .0, (10, 4) = .0, (10, 5) = .0, (10, 6) = .0, (11, 1) = .0, (11, 2) = .0, (11, 3) = .0, (11, 4) = .0, (11, 5) = .0, (11, 6) = .0, (12, 1) = .0, (12, 2) = .0, (12, 3) = .0, (12, 4) = .0, (12, 5) = .0, (12, 6) = .0, (13, 1) = .0, (13, 2) = .0, (13, 3) = .0, (13, 4) = .0, (13, 5) = .0, (13, 6) = .0, (14, 1) = .0, (14, 2) = .0, (14, 3) = .0, (14, 4) = .0, (14, 5) = .0, (14, 6) = .0, (15, 1) = .0, (15, 2) = .0, (15, 3) = .0, (15, 4) = .0, (15, 5) = .0, (15, 6) = .0, (16, 1) = .0, (16, 2) = .0, (16, 3) = .0, (16, 4) = .0, (16, 5) = .0, (16, 6) = .0, (17, 1) = .0, (17, 2) = .0, (17, 3) = .0, (17, 4) = .0, (17, 5) = .0, (17, 6) = .0, (18, 1) = .0, (18, 2) = .0, (18, 3) = .0, (18, 4) = .0, (18, 5) = .0, (18, 6) = .0, (19, 1) = .0, (19, 2) = .0, (19, 3) = .0, (19, 4) = .0, (19, 5) = .0, (19, 6) = .0, (20, 1) = .0, (20, 2) = .0, (20, 3) = .0, (20, 4) = .0, (20, 5) = .0, (20, 6) = .0, (21, 1) = .0, (21, 2) = .0, (21, 3) = .0, (21, 4) = .0, (21, 5) = .0, (21, 6) = .0, (22, 1) = .0, (22, 2) = .0, (22, 3) = .0, (22, 4) = .0, (22, 5) = .0, (22, 6) = .0, (23, 1) = .0, (23, 2) = .0, (23, 3) = .0, (23, 4) = .0, (23, 5) = .0, (23, 6) = .0, (24, 1) = .0, (24, 2) = .0, (24, 3) = .0, (24, 4) = .0, (24, 5) = .0, (24, 6) = .0, (25, 1) = .0, (25, 2) = .0, (25, 3) = .0, (25, 4) = .0, (25, 5) = .0, (25, 6) = .0, (26, 1) = .0, (26, 2) = .0, (26, 3) = .0, (26, 4) = .0, (26, 5) = .0, (26, 6) = .0, (27, 1) = .0, (27, 2) = .0, (27, 3) = .0, (27, 4) = .0, (27, 5) = .0, (27, 6) = .0, (28, 1) = .0, (28, 2) = .0, (28, 3) = .0, (28, 4) = .0, (28, 5) = .0, (28, 6) = .0, (29, 1) = .0, (29, 2) = .0, (29, 3) = .0, (29, 4) = .0, (29, 5) = .0, (29, 6) = .0, (30, 1) = .0, (30, 2) = .0, (30, 3) = .0, (30, 4) = .0, (30, 5) = .0, (30, 6) = .0, (31, 1) = .0, (31, 2) = .0, (31, 3) = .0, (31, 4) = .0, (31, 5) = .0, (31, 6) = .0, (32, 1) = .0, (32, 2) = .0, (32, 3) = .0, (32, 4) = .0, (32, 5) = .0, (32, 6) = .0, (33, 1) = .0, (33, 2) = .0, (33, 3) = .0, (33, 4) = .0, (33, 5) = .0, (33, 6) = .0, (34, 1) = .0, (34, 2) = .0, (34, 3) = .0, (34, 4) = .0, (34, 5) = .0, (34, 6) = .0, (35, 1) = .0, (35, 2) = .0, (35, 3) = .0, (35, 4) = .0, (35, 5) = .0, (35, 6) = .0, (36, 1) = .0, (36, 2) = .0, (36, 3) = .0, (36, 4) = .0, (36, 5) = .0, (36, 6) = .0, (37, 1) = .0, (37, 2) = .0, (37, 3) = .0, (37, 4) = .0, (37, 5) = .0, (37, 6) = .0, (38, 1) = .0, (38, 2) = .0, (38, 3) = .0, (38, 4) = .0, (38, 5) = .0, (38, 6) = .0, (39, 1) = .0, (39, 2) = .0, (39, 3) = .0, (39, 4) = .0, (39, 5) = .0, (39, 6) = .0, (40, 1) = .0, (40, 2) = .0, (40, 3) = .0, (40, 4) = .0, (40, 5) = .0, (40, 6) = .0, (41, 1) = .0, (41, 2) = .0, (41, 3) = .0, (41, 4) = .0, (41, 5) = .0, (41, 6) = .0, (42, 1) = .0, (42, 2) = .0, (42, 3) = .0, (42, 4) = .0, (42, 5) = .0, (42, 6) = .0, (43, 1) = .0, (43, 2) = .0, (43, 3) = .0, (43, 4) = .0, (43, 5) = .0, (43, 6) = .0, (44, 1) = .0, (44, 2) = .0, (44, 3) = .0, (44, 4) = .0, (44, 5) = .0, (44, 6) = .0, (45, 1) = .0, (45, 2) = .0, (45, 3) = .0, (45, 4) = .0, (45, 5) = .0, (45, 6) = .0, (46, 1) = .0, (46, 2) = .0, (46, 3) = .0, (46, 4) = .0, (46, 5) = .0, (46, 6) = .0, (47, 1) = .0, (47, 2) = .0, (47, 3) = .0, (47, 4) = .0, (47, 5) = .0, (47, 6) = .0, (48, 1) = .0, (48, 2) = .0, (48, 3) = .0, (48, 4) = .0, (48, 5) = .0, (48, 6) = .0, (49, 1) = .0, (49, 2) = .0, (49, 3) = .0, (49, 4) = .0, (49, 5) = .0, (49, 6) = .0, (50, 1) = .0, (50, 2) = .0, (50, 3) = .0, (50, 4) = .0, (50, 5) = .0, (50, 6) = .0, (51, 1) = .0, (51, 2) = .0, (51, 3) = .0, (51, 4) = .0, (51, 5) = .0, (51, 6) = .0, (52, 1) = .0, (52, 2) = .0, (52, 3) = .0, (52, 4) = .0, (52, 5) = .0, (52, 6) = .0, (53, 1) = .0, (53, 2) = .0, (53, 3) = .0, (53, 4) = .0, (53, 5) = .0, (53, 6) = .0, (54, 1) = .0, (54, 2) = .0, (54, 3) = .0, (54, 4) = .0, (54, 5) = .0, (54, 6) = .0, (55, 1) = .0, (55, 2) = .0, (55, 3) = .0, (55, 4) = .0, (55, 5) = .0, (55, 6) = .0, (56, 1) = .0, (56, 2) = .0, (56, 3) = .0, (56, 4) = .0, (56, 5) = .0, (56, 6) = .0, (57, 1) = .0, (57, 2) = .0, (57, 3) = .0, (57, 4) = .0, (57, 5) = .0, (57, 6) = .0, (58, 1) = .0, (58, 2) = .0, (58, 3) = .0, (58, 4) = .0, (58, 5) = .0, (58, 6) = .0, (59, 1) = .0, (59, 2) = .0, (59, 3) = .0, (59, 4) = .0, (59, 5) = .0, (59, 6) = .0, (60, 1) = .0, (60, 2) = .0, (60, 3) = .0, (60, 4) = .0, (60, 5) = .0, (60, 6) = .0, (61, 1) = .0, (61, 2) = .0, (61, 3) = .0, (61, 4) = .0, (61, 5) = .0, (61, 6) = .0, (62, 1) = .0, (62, 2) = .0, (62, 3) = .0, (62, 4) = .0, (62, 5) = .0, (62, 6) = .0, (63, 1) = .0, (63, 2) = .0, (63, 3) = .0, (63, 4) = .0, (63, 5) = .0, (63, 6) = .0, (64, 1) = .0, (64, 2) = .0, (64, 3) = .0, (64, 4) = .0, (64, 5) = .0, (64, 6) = .0, (65, 1) = .0, (65, 2) = .0, (65, 3) = .0, (65, 4) = .0, (65, 5) = .0, (65, 6) = .0, (66, 1) = .0, (66, 2) = .0, (66, 3) = .0, (66, 4) = .0, (66, 5) = .0, (66, 6) = .0, (67, 1) = .0, (67, 2) = .0, (67, 3) = .0, (67, 4) = .0, (67, 5) = .0, (67, 6) = .0, (68, 1) = .0, (68, 2) = .0, (68, 3) = .0, (68, 4) = .0, (68, 5) = .0, (68, 6) = .0, (69, 1) = .0, (69, 2) = .0, (69, 3) = .0, (69, 4) = .0, (69, 5) = .0, (69, 6) = .0, (70, 1) = .0, (70, 2) = .0, (70, 3) = .0, (70, 4) = .0, (70, 5) = .0, (70, 6) = .0, (71, 1) = .0, (71, 2) = .0, (71, 3) = .0, (71, 4) = .0, (71, 5) = .0, (71, 6) = .0, (72, 1) = .0, (72, 2) = .0, (72, 3) = .0, (72, 4) = .0, (72, 5) = .0, (72, 6) = .0, (73, 1) = .0, (73, 2) = .0, (73, 3) = .0, (73, 4) = .0, (73, 5) = .0, (73, 6) = .0, (74, 1) = .0, (74, 2) = .0, (74, 3) = .0, (74, 4) = .0, (74, 5) = .0, (74, 6) = .0, (75, 1) = .0, (75, 2) = .0, (75, 3) = .0, (75, 4) = .0, (75, 5) = .0, (75, 6) = .0, (76, 1) = .0, (76, 2) = .0, (76, 3) = .0, (76, 4) = .0, (76, 5) = .0, (76, 6) = .0, (77, 1) = .0, (77, 2) = .0, (77, 3) = .0, (77, 4) = .0, (77, 5) = .0, (77, 6) = .0, (78, 1) = .0, (78, 2) = .0, (78, 3) = .0, (78, 4) = .0, (78, 5) = .0, (78, 6) = .0, (79, 1) = .0, (79, 2) = .0, (79, 3) = .0, (79, 4) = .0, (79, 5) = .0, (79, 6) = .0, (80, 1) = .0, (80, 2) = .0, (80, 3) = .0, (80, 4) = .0, (80, 5) = .0, (80, 6) = .0, (81, 1) = .0, (81, 2) = .0, (81, 3) = .0, (81, 4) = .0, (81, 5) = .0, (81, 6) = .0, (82, 1) = .0, (82, 2) = .0, (82, 3) = .0, (82, 4) = .0, (82, 5) = .0, (82, 6) = .0, (83, 1) = .0, (83, 2) = .0, (83, 3) = .0, (83, 4) = .0, (83, 5) = .0, (83, 6) = .0, (84, 1) = .0, (84, 2) = .0, (84, 3) = .0, (84, 4) = .0, (84, 5) = .0, (84, 6) = .0, (85, 1) = .0, (85, 2) = .0, (85, 3) = .0, (85, 4) = .0, (85, 5) = .0, (85, 6) = .0, (86, 1) = .0, (86, 2) = .0, (86, 3) = .0, (86, 4) = .0, (86, 5) = .0, (86, 6) = .0, (87, 1) = .0, (87, 2) = .0, (87, 3) = .0, (87, 4) = .0, (87, 5) = .0, (87, 6) = .0, (88, 1) = .0, (88, 2) = .0, (88, 3) = .0, (88, 4) = .0, (88, 5) = .0, (88, 6) = .0, (89, 1) = .0, (89, 2) = .0, (89, 3) = .0, (89, 4) = .0, (89, 5) = .0, (89, 6) = .0, (90, 1) = .0, (90, 2) = .0, (90, 3) = .0, (90, 4) = .0, (90, 5) = .0, (90, 6) = .0, (91, 1) = .0, (91, 2) = .0, (91, 3) = .0, (91, 4) = .0, (91, 5) = .0, (91, 6) = .0, (92, 1) = .0, (92, 2) = .0, (92, 3) = .0, (92, 4) = .0, (92, 5) = .0, (92, 6) = .0, (93, 1) = .0, (93, 2) = .0, (93, 3) = .0, (93, 4) = .0, (93, 5) = .0, (93, 6) = .0, (94, 1) = .0, (94, 2) = .0, (94, 3) = .0, (94, 4) = .0, (94, 5) = .0, (94, 6) = .0, (95, 1) = .0, (95, 2) = .0, (95, 3) = .0, (95, 4) = .0, (95, 5) = .0, (95, 6) = .0, (96, 1) = .0, (96, 2) = .0, (96, 3) = .0, (96, 4) = .0, (96, 5) = .0, (96, 6) = .0, (97, 1) = .0, (97, 2) = .0, (97, 3) = .0, (97, 4) = .0, (97, 5) = .0, (97, 6) = .0, (98, 1) = .0, (98, 2) = .0, (98, 3) = .0, (98, 4) = .0, (98, 5) = .0, (98, 6) = .0, (99, 1) = .0, (99, 2) = .0, (99, 3) = .0, (99, 4) = .0, (99, 5) = .0, (99, 6) = .0, (100, 1) = .0, (100, 2) = .0, (100, 3) = .0, (100, 4) = .0, (100, 5) = .0, (100, 6) = .0, (101, 1) = .0, (101, 2) = .0, (101, 3) = .0, (101, 4) = .0, (101, 5) = .0, (101, 6) = .0}, datatype = float[8], order = C_order))]), ( "stages" ) = 1, ( "pts", y ) = [0, 10], ( "autonomous" ) = true, ( "errorest" ) = false, ( "solspace" ) = Vector(101, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = 10.0}, datatype = float[8]), ( "solvec2" ) = Vector(101, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = .0}, datatype = float[8]), ( "inputargs" ) = [diff(u(y, t), t) = diff(diff(u(y, t), y), y), {u(0, t) = cos(t), u(10, t) = 0, u(y, 0) = 0}, spacestep = 1/10, timestep = 1/100], ( "erroraccum" ) = true, ( "leftwidth" ) = 1, ( "ICS" ) = [0], ( "soltimes" ) = Vector(3, {(1) = .0, (2) = .0, (3) = .0}, datatype = float[8]), ( "linear" ) = true, ( "allocspace" ) = 101, ( "solvec1" ) = Vector(101, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = .0}, datatype = float[8]), ( "vectorproc" ) = proc (v, vp, vpp, t, x, k, h, n, vec) local _s1, _s2, _s3, xi; _s2 := 1/k; _s3 := (1/2)/h^2; vec[1] := cos(t+k); vec[n] := 0; for xi from 2 to n-1 do _s1 := vp[xi-1]-2*vp[xi]+vp[xi+1]; vec[xi] := _s3*_s1+_s2*vp[xi] end do end proc, ( "indepvars" ) = [y, t], ( "BCS", 1 ) = {[[1, 0, 0], b[1, 0, 0]-cos(t)], [[1, 0, 10], b[1, 0, 10]]}, ( "rightwidth" ) = 0, ( "spacepts" ) = 101, ( "minspcpoints" ) = 4, ( "spacestep" ) = .100000000000000, ( "timevar" ) = t, ( "norigdepvars" ) = 1, ( "spacevar" ) = y, ( "solmat_is" ) = 0, ( "eqnords" ) = [[2, 1]], ( "startup_only" ) = false, ( "eqndep" ) = [1], ( "solmat_ne" ) = 0, ( "depvars" ) = [u], ( "timeidx" ) = 2, ( "intspace" ) = Matrix(101, 1, {(1, 1) = .0, (2, 1) = .0, (3, 1) = .0, (4, 1) = .0, (5, 1) = .0, (6, 1) = .0, (7, 1) = .0, (8, 1) = .0, (9, 1) = .0, (10, 1) = .0, (11, 1) = .0, (12, 1) = .0, (13, 1) = .0, (14, 1) = .0, (15, 1) = .0, (16, 1) = .0, (17, 1) = .0, (18, 1) = .0, (19, 1) = .0, (20, 1) = .0, (21, 1) = .0, (22, 1) = .0, (23, 1) = .0, (24, 1) = .0, (25, 1) = .0, (26, 1) = .0, (27, 1) = .0, (28, 1) = .0, (29, 1) = .0, (30, 1) = .0, (31, 1) = .0, (32, 1) = .0, (33, 1) = .0, (34, 1) = .0, (35, 1) = .0, (36, 1) = .0, (37, 1) = .0, (38, 1) = .0, (39, 1) = .0, (40, 1) = .0, (41, 1) = .0, (42, 1) = .0, (43, 1) = .0, (44, 1) = .0, (45, 1) = .0, (46, 1) = .0, (47, 1) = .0, (48, 1) = .0, (49, 1) = .0, (50, 1) = .0, (51, 1) = .0, (52, 1) = .0, (53, 1) = .0, (54, 1) = .0, (55, 1) = .0, (56, 1) = .0, (57, 1) = .0, (58, 1) = .0, (59, 1) = .0, (60, 1) = .0, (61, 1) = .0, (62, 1) = .0, (63, 1) = .0, (64, 1) = .0, (65, 1) = .0, (66, 1) = .0, (67, 1) = .0, (68, 1) = .0, (69, 1) = .0, (70, 1) = .0, (71, 1) = .0, (72, 1) = .0, (73, 1) = .0, (74, 1) = .0, (75, 1) = .0, (76, 1) = .0, (77, 1) = .0, (78, 1) = .0, (79, 1) = .0, (80, 1) = .0, (81, 1) = .0, (82, 1) = .0, (83, 1) = .0, (84, 1) = .0, (85, 1) = .0, (86, 1) = .0, (87, 1) = .0, (88, 1) = .0, (89, 1) = .0, (90, 1) = .0, (91, 1) = .0, (92, 1) = .0, (93, 1) = .0, (94, 1) = .0, (95, 1) = .0, (96, 1) = .0, (97, 1) = .0, (98, 1) = .0, (99, 1) = .0, (100, 1) = .0, (101, 1) = .0}, datatype = float[8], order = C_order), ( "solmat_i1" ) = 0, ( "solmat_i2" ) = 0, ( "fdepvars" ) = [u(y, t)], ( "spaceidx" ) = 1, ( "PDEs" ) = [diff(u(y, t), t)-(diff(diff(u(y, t), y), y))], ( "depords" ) = [[2, 1]], ( "depeqn" ) = [1] ] ); if xv = "left" then return INFO["solspace"][1] elif xv = "right" then return INFO["solspace"][INFO["spacepts"]] elif tv = "start" then return INFO["t0"] elif not (type(tv, 'numeric') and type(xv, 'numeric')) then error "non-numeric input" end if; if xv < INFO["solspace"][1] or INFO["solspace"][INFO["spacepts"]] < xv then error "requested %1 value must be in the range %2..%3", INFO["spacevar"], INFO["solspace"][1], INFO["solspace"][INFO["spacepts"]] end if; dary := Vector(3, {(1) = .0, (2) = .0, (3) = .0}, datatype = float[8]); daryt := 0; daryx := 0; dvars := [proc (t, x, u) u[1] end proc]; errest := false; nd := nops(INFO["depvars"]); if dary[nd+1] <> tv then try `pdsolve/numeric/evolve_solution`(INFO, tv) catch: msg := StringTools:-FormatMessage(lastexception[2 .. -1]); if tv < INFO["t0"] then error cat("unable to compute solution for %1<%2:
", msg), INFO["timevar"], INFO["failtime"] else error cat("unable to compute solution for %1>%2:
", msg), INFO["timevar"], INFO["failtime"] end if end try end if; if dary[nd+1] <> tv or dary[nd+2] <> xv then `pdsolve/interp2dto0d`(3, INFO["soltimes"], INFO["spacepts"], INFO["solspace"], nops(INFO["depvars"]), INFO["solution"], true, tv, xv, dary); if errest then `pdsolve/interp2dto0d`(3, INFO["soltimes"], INFO["spacepts"], INFO["err_t"], nops(INFO["depvars"]), INFO["solution"], true, tv, xv, daryt); `pdsolve/interp2dto0d`(3, INFO["soltimes"], INFO["spacepts"], INFO["err_x"], nops(INFO["depvars"]), INFO["solution"], true, tv, xv, daryx) end if end if; dary[nd+1] := tv; dary[nd+2] := xv; if dvars = [] then [seq(dary[i], i = 1 .. INFO["norigdepvars"])] else vals := NULL; for i to nops(dvars) do j := eval(dvars[i]); try if errest then vals := vals, evalhf(j(tv, xv, dary, daryt, daryx)) else vals := vals, evalhf(j(tv, xv, dary)) end if catch: userinfo(5, `pdsolve/numeric`, `evalhf failure`); try if errest then vals := vals, j(tv, xv, dary, daryt, daryx) else vals := vals, j(tv, xv, dary) end if catch: vals := vals, undefined end try end try end do; [vals] end if end proc; stype := "2nd"; if nargs = 1 then if args[1] = "left" then return solnproc(0, "left") elif args[1] = "right" then return solnproc(0, "right") elif args[1] = "start" then return solnproc("start", 0) else error "too few arguments to solution procedure" end if elif nargs = 2 then if stype = "1st" then tv := evalf(args[1]); xv := evalf(args[2]) else tv := evalf(args[2]); xv := evalf(args[1]) end if; if not (type(tv, 'numeric') and type(xv, 'numeric')) then if procname <> unknown then return ('procname')(args[1 .. nargs]) else ndsol := pointto(solnproc("soln_procedures")[1]); return ('ndsol')(args[1 .. nargs]) end if end if else error "incorrect arguments to solution procedure" end if; vals := solnproc(tv, xv); vals[1] end proc]

(5)

This proc captures the value of the solution u:

U := eval(u(y,t), vals);

proc () local tv, xv, solnproc, stype, ndsol, vals; option `Copyright (c) 2001 by Waterloo Maple Inc. All rights reserved.`; Digits := trunc(evalhf(Digits)); solnproc := proc (tv, xv) local INFO, errest, nd, dvars, dary, daryt, daryx, vals, msg, i, j; option `Copyright (c) 2001 by Waterloo Maple Inc. All rights reserved.`; table( [( "soln_procedures" ) = array( 1 .. 1, [( 1 ) = (36893488148548359020)  ] ) ] ) INFO := table( [( "bandwidth" ) = [1, 2], ( "depdords" ) = [[[2, 1]]], ( "periodic" ) = false, ( "matrixhf" ) = true, ( "theta" ) = 1/2, ( "adjusted" ) = false, ( "timei" ) = 3, ( "solmatrix" ) = Matrix(101, 6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0, (7, 1) = .0, (7, 2) = .0, (7, 3) = .0, (7, 4) = .0, (7, 5) = .0, (7, 6) = .0, (8, 1) = .0, (8, 2) = .0, (8, 3) = .0, (8, 4) = .0, (8, 5) = .0, (8, 6) = .0, (9, 1) = .0, (9, 2) = .0, (9, 3) = .0, (9, 4) = .0, (9, 5) = .0, (9, 6) = .0, (10, 1) = .0, (10, 2) = .0, (10, 3) = .0, (10, 4) = .0, (10, 5) = .0, (10, 6) = .0, (11, 1) = .0, (11, 2) = .0, (11, 3) = .0, (11, 4) = .0, (11, 5) = .0, (11, 6) = .0, (12, 1) = .0, (12, 2) = .0, (12, 3) = .0, (12, 4) = .0, (12, 5) = .0, (12, 6) = .0, (13, 1) = .0, (13, 2) = .0, (13, 3) = .0, (13, 4) = .0, (13, 5) = .0, (13, 6) = .0, (14, 1) = .0, (14, 2) = .0, (14, 3) = .0, (14, 4) = .0, (14, 5) = .0, (14, 6) = .0, (15, 1) = .0, (15, 2) = .0, (15, 3) = .0, (15, 4) = .0, (15, 5) = .0, (15, 6) = .0, (16, 1) = .0, (16, 2) = .0, (16, 3) = .0, (16, 4) = .0, (16, 5) = .0, (16, 6) = .0, (17, 1) = .0, (17, 2) = .0, (17, 3) = .0, (17, 4) = .0, (17, 5) = .0, (17, 6) = .0, (18, 1) = .0, (18, 2) = .0, (18, 3) = .0, (18, 4) = .0, (18, 5) = .0, (18, 6) = .0, (19, 1) = .0, (19, 2) = .0, (19, 3) = .0, (19, 4) = .0, (19, 5) = .0, (19, 6) = .0, (20, 1) = .0, (20, 2) = .0, (20, 3) = .0, (20, 4) = .0, (20, 5) = .0, (20, 6) = .0, (21, 1) = .0, (21, 2) = .0, (21, 3) = .0, (21, 4) = .0, (21, 5) = .0, (21, 6) = .0, (22, 1) = .0, (22, 2) = .0, (22, 3) = .0, (22, 4) = .0, (22, 5) = .0, (22, 6) = .0, (23, 1) = .0, (23, 2) = .0, (23, 3) = .0, (23, 4) = .0, (23, 5) = .0, (23, 6) = .0, (24, 1) = .0, (24, 2) = .0, (24, 3) = .0, (24, 4) = .0, (24, 5) = .0, (24, 6) = .0, (25, 1) = .0, (25, 2) = .0, (25, 3) = .0, (25, 4) = .0, (25, 5) = .0, (25, 6) = .0, (26, 1) = .0, (26, 2) = .0, (26, 3) = .0, (26, 4) = .0, (26, 5) = .0, (26, 6) = .0, (27, 1) = .0, (27, 2) = .0, (27, 3) = .0, (27, 4) = .0, (27, 5) = .0, (27, 6) = .0, (28, 1) = .0, (28, 2) = .0, (28, 3) = .0, (28, 4) = .0, (28, 5) = .0, (28, 6) = .0, (29, 1) = .0, (29, 2) = .0, (29, 3) = .0, (29, 4) = .0, (29, 5) = .0, (29, 6) = .0, (30, 1) = .0, (30, 2) = .0, (30, 3) = .0, (30, 4) = .0, (30, 5) = .0, (30, 6) = .0, (31, 1) = .0, (31, 2) = .0, (31, 3) = .0, (31, 4) = .0, (31, 5) = .0, (31, 6) = .0, (32, 1) = .0, (32, 2) = .0, (32, 3) = .0, (32, 4) = .0, (32, 5) = .0, (32, 6) = .0, (33, 1) = .0, (33, 2) = .0, (33, 3) = .0, (33, 4) = .0, (33, 5) = .0, (33, 6) = .0, (34, 1) = .0, (34, 2) = .0, (34, 3) = .0, (34, 4) = .0, (34, 5) = .0, (34, 6) = .0, (35, 1) = .0, (35, 2) = .0, (35, 3) = .0, (35, 4) = .0, (35, 5) = .0, (35, 6) = .0, (36, 1) = .0, (36, 2) = .0, (36, 3) = .0, (36, 4) = .0, (36, 5) = .0, (36, 6) = .0, (37, 1) = .0, (37, 2) = .0, (37, 3) = .0, (37, 4) = .0, (37, 5) = .0, (37, 6) = .0, (38, 1) = .0, (38, 2) = .0, (38, 3) = .0, (38, 4) = .0, (38, 5) = .0, (38, 6) = .0, (39, 1) = .0, (39, 2) = .0, (39, 3) = .0, (39, 4) = .0, (39, 5) = .0, (39, 6) = .0, (40, 1) = .0, (40, 2) = .0, (40, 3) = .0, (40, 4) = .0, (40, 5) = .0, (40, 6) = .0, (41, 1) = .0, (41, 2) = .0, (41, 3) = .0, (41, 4) = .0, (41, 5) = .0, (41, 6) = .0, (42, 1) = .0, (42, 2) = .0, (42, 3) = .0, (42, 4) = .0, (42, 5) = .0, (42, 6) = .0, (43, 1) = .0, (43, 2) = .0, (43, 3) = .0, (43, 4) = .0, (43, 5) = .0, (43, 6) = .0, (44, 1) = .0, (44, 2) = .0, (44, 3) = .0, (44, 4) = .0, (44, 5) = .0, (44, 6) = .0, (45, 1) = .0, (45, 2) = .0, (45, 3) = .0, (45, 4) = .0, (45, 5) = .0, (45, 6) = .0, (46, 1) = .0, (46, 2) = .0, (46, 3) = .0, (46, 4) = .0, (46, 5) = .0, (46, 6) = .0, (47, 1) = .0, (47, 2) = .0, (47, 3) = .0, (47, 4) = .0, (47, 5) = .0, (47, 6) = .0, (48, 1) = .0, (48, 2) = .0, (48, 3) = .0, (48, 4) = .0, (48, 5) = .0, (48, 6) = .0, (49, 1) = .0, (49, 2) = .0, (49, 3) = .0, (49, 4) = .0, (49, 5) = .0, (49, 6) = .0, (50, 1) = .0, (50, 2) = .0, (50, 3) = .0, (50, 4) = .0, (50, 5) = .0, (50, 6) = .0, (51, 1) = .0, (51, 2) = .0, (51, 3) = .0, (51, 4) = .0, (51, 5) = .0, (51, 6) = .0, (52, 1) = .0, (52, 2) = .0, (52, 3) = .0, (52, 4) = .0, (52, 5) = .0, (52, 6) = .0, (53, 1) = .0, (53, 2) = .0, (53, 3) = .0, (53, 4) = .0, (53, 5) = .0, (53, 6) = .0, (54, 1) = .0, (54, 2) = .0, (54, 3) = .0, (54, 4) = .0, (54, 5) = .0, (54, 6) = .0, (55, 1) = .0, (55, 2) = .0, (55, 3) = .0, (55, 4) = .0, (55, 5) = .0, (55, 6) = .0, (56, 1) = .0, (56, 2) = .0, (56, 3) = .0, (56, 4) = .0, (56, 5) = .0, (56, 6) = .0, (57, 1) = .0, (57, 2) = .0, (57, 3) = .0, (57, 4) = .0, (57, 5) = .0, (57, 6) = .0, (58, 1) = .0, (58, 2) = .0, (58, 3) = .0, (58, 4) = .0, (58, 5) = .0, (58, 6) = .0, (59, 1) = .0, (59, 2) = .0, (59, 3) = .0, (59, 4) = .0, (59, 5) = .0, (59, 6) = .0, (60, 1) = .0, (60, 2) = .0, (60, 3) = .0, (60, 4) = .0, (60, 5) = .0, (60, 6) = .0, (61, 1) = .0, (61, 2) = .0, (61, 3) = .0, (61, 4) = .0, (61, 5) = .0, (61, 6) = .0, (62, 1) = .0, (62, 2) = .0, (62, 3) = .0, (62, 4) = .0, (62, 5) = .0, (62, 6) = .0, (63, 1) = .0, (63, 2) = .0, (63, 3) = .0, (63, 4) = .0, (63, 5) = .0, (63, 6) = .0, (64, 1) = .0, (64, 2) = .0, (64, 3) = .0, (64, 4) = .0, (64, 5) = .0, (64, 6) = .0, (65, 1) = .0, (65, 2) = .0, (65, 3) = .0, (65, 4) = .0, (65, 5) = .0, (65, 6) = .0, (66, 1) = .0, (66, 2) = .0, (66, 3) = .0, (66, 4) = .0, (66, 5) = .0, (66, 6) = .0, (67, 1) = .0, (67, 2) = .0, (67, 3) = .0, (67, 4) = .0, (67, 5) = .0, (67, 6) = .0, (68, 1) = .0, (68, 2) = .0, (68, 3) = .0, (68, 4) = .0, (68, 5) = .0, (68, 6) = .0, (69, 1) = .0, (69, 2) = .0, (69, 3) = .0, (69, 4) = .0, (69, 5) = .0, (69, 6) = .0, (70, 1) = .0, (70, 2) = .0, (70, 3) = .0, (70, 4) = .0, (70, 5) = .0, (70, 6) = .0, (71, 1) = .0, (71, 2) = .0, (71, 3) = .0, (71, 4) = .0, (71, 5) = .0, (71, 6) = .0, (72, 1) = .0, (72, 2) = .0, (72, 3) = .0, (72, 4) = .0, (72, 5) = .0, (72, 6) = .0, (73, 1) = .0, (73, 2) = .0, (73, 3) = .0, (73, 4) = .0, (73, 5) = .0, (73, 6) = .0, (74, 1) = .0, (74, 2) = .0, (74, 3) = .0, (74, 4) = .0, (74, 5) = .0, (74, 6) = .0, (75, 1) = .0, (75, 2) = .0, (75, 3) = .0, (75, 4) = .0, (75, 5) = .0, (75, 6) = .0, (76, 1) = .0, (76, 2) = .0, (76, 3) = .0, (76, 4) = .0, (76, 5) = .0, (76, 6) = .0, (77, 1) = .0, (77, 2) = .0, (77, 3) = .0, (77, 4) = .0, (77, 5) = .0, (77, 6) = .0, (78, 1) = .0, (78, 2) = .0, (78, 3) = .0, (78, 4) = .0, (78, 5) = .0, (78, 6) = .0, (79, 1) = .0, (79, 2) = .0, (79, 3) = .0, (79, 4) = .0, (79, 5) = .0, (79, 6) = .0, (80, 1) = .0, (80, 2) = .0, (80, 3) = .0, (80, 4) = .0, (80, 5) = .0, (80, 6) = .0, (81, 1) = .0, (81, 2) = .0, (81, 3) = .0, (81, 4) = .0, (81, 5) = .0, (81, 6) = .0, (82, 1) = .0, (82, 2) = .0, (82, 3) = .0, (82, 4) = .0, (82, 5) = .0, (82, 6) = .0, (83, 1) = .0, (83, 2) = .0, (83, 3) = .0, (83, 4) = .0, (83, 5) = .0, (83, 6) = .0, (84, 1) = .0, (84, 2) = .0, (84, 3) = .0, (84, 4) = .0, (84, 5) = .0, (84, 6) = .0, (85, 1) = .0, (85, 2) = .0, (85, 3) = .0, (85, 4) = .0, (85, 5) = .0, (85, 6) = .0, (86, 1) = .0, (86, 2) = .0, (86, 3) = .0, (86, 4) = .0, (86, 5) = .0, (86, 6) = .0, (87, 1) = .0, (87, 2) = .0, (87, 3) = .0, (87, 4) = .0, (87, 5) = .0, (87, 6) = .0, (88, 1) = .0, (88, 2) = .0, (88, 3) = .0, (88, 4) = .0, (88, 5) = .0, (88, 6) = .0, (89, 1) = .0, (89, 2) = .0, (89, 3) = .0, (89, 4) = .0, (89, 5) = .0, (89, 6) = .0, (90, 1) = .0, (90, 2) = .0, (90, 3) = .0, (90, 4) = .0, (90, 5) = .0, (90, 6) = .0, (91, 1) = .0, (91, 2) = .0, (91, 3) = .0, (91, 4) = .0, (91, 5) = .0, (91, 6) = .0, (92, 1) = .0, (92, 2) = .0, (92, 3) = .0, (92, 4) = .0, (92, 5) = .0, (92, 6) = .0, (93, 1) = .0, (93, 2) = .0, (93, 3) = .0, (93, 4) = .0, (93, 5) = .0, (93, 6) = .0, (94, 1) = .0, (94, 2) = .0, (94, 3) = .0, (94, 4) = .0, (94, 5) = .0, (94, 6) = .0, (95, 1) = .0, (95, 2) = .0, (95, 3) = .0, (95, 4) = .0, (95, 5) = .0, (95, 6) = .0, (96, 1) = .0, (96, 2) = .0, (96, 3) = .0, (96, 4) = .0, (96, 5) = .0, (96, 6) = .0, (97, 1) = .0, (97, 2) = .0, (97, 3) = .0, (97, 4) = .0, (97, 5) = .0, (97, 6) = .0, (98, 1) = .0, (98, 2) = .0, (98, 3) = .0, (98, 4) = .0, (98, 5) = .0, (98, 6) = .0, (99, 1) = .0, (99, 2) = .0, (99, 3) = .0, (99, 4) = .0, (99, 5) = .0, (99, 6) = .0, (100, 1) = .0, (100, 2) = .0, (100, 3) = .0, (100, 4) = .0, (100, 5) = .0, (100, 6) = .0, (101, 1) = .0, (101, 2) = .0, (101, 3) = .0, (101, 4) = .0, (101, 5) = .0, (101, 6) = .0}, datatype = float[8], order = C_order), ( "method" ) = theta, ( "initialized" ) = false, ( "maxords" ) = [2, 1], ( "timeadaptive" ) = false, ( "solvec4" ) = 0, ( "multidep" ) = [false, false], ( "depshift" ) = [1], ( "IBC" ) = b, ( "banded" ) = true, ( "timestep" ) = 0.100000000000000e-1, ( "matrixproc" ) = proc (v, vp, vpp, t, x, k, h, n, mat) local _s1, _s2, xi; _s1 := -(1/2)/h^2; _s2 := (h^2+k)/(k*h^2); mat[3] := 1; mat[6*n-3] := 1; for xi from 2 to n-1 do mat[6*xi-3] := _s2; mat[6*xi-4] := _s1; mat[6*xi-2] := _s1 end do end proc, ( "solution" ) = Array(1..3, 1..101, 1..1, {(1, 1, 1) = .0, (1, 2, 1) = .0, (1, 3, 1) = .0, (1, 4, 1) = .0, (1, 5, 1) = .0, (1, 6, 1) = .0, (1, 7, 1) = .0, (1, 8, 1) = .0, (1, 9, 1) = .0, (1, 10, 1) = .0, (1, 11, 1) = .0, (1, 12, 1) = .0, (1, 13, 1) = .0, (1, 14, 1) = .0, (1, 15, 1) = .0, (1, 16, 1) = .0, (1, 17, 1) = .0, (1, 18, 1) = .0, (1, 19, 1) = .0, (1, 20, 1) = .0, (1, 21, 1) = .0, (1, 22, 1) = .0, (1, 23, 1) = .0, (1, 24, 1) = .0, (1, 25, 1) = .0, (1, 26, 1) = .0, (1, 27, 1) = .0, (1, 28, 1) = .0, (1, 29, 1) = .0, (1, 30, 1) = .0, (1, 31, 1) = .0, (1, 32, 1) = .0, (1, 33, 1) = .0, (1, 34, 1) = .0, (1, 35, 1) = .0, (1, 36, 1) = .0, (1, 37, 1) = .0, (1, 38, 1) = .0, (1, 39, 1) = .0, (1, 40, 1) = .0, (1, 41, 1) = .0, (1, 42, 1) = .0, (1, 43, 1) = .0, (1, 44, 1) = .0, (1, 45, 1) = .0, (1, 46, 1) = .0, (1, 47, 1) = .0, (1, 48, 1) = .0, (1, 49, 1) = .0, (1, 50, 1) = .0, (1, 51, 1) = .0, (1, 52, 1) = .0, (1, 53, 1) = .0, (1, 54, 1) = .0, (1, 55, 1) = .0, (1, 56, 1) = .0, (1, 57, 1) = .0, (1, 58, 1) = .0, (1, 59, 1) = .0, (1, 60, 1) = .0, (1, 61, 1) = .0, (1, 62, 1) = .0, (1, 63, 1) = .0, (1, 64, 1) = .0, (1, 65, 1) = .0, (1, 66, 1) = .0, (1, 67, 1) = .0, (1, 68, 1) = .0, (1, 69, 1) = .0, (1, 70, 1) = .0, (1, 71, 1) = .0, (1, 72, 1) = .0, (1, 73, 1) = .0, (1, 74, 1) = .0, (1, 75, 1) = .0, (1, 76, 1) = .0, (1, 77, 1) = .0, (1, 78, 1) = .0, (1, 79, 1) = .0, (1, 80, 1) = .0, (1, 81, 1) = .0, (1, 82, 1) = .0, (1, 83, 1) = .0, (1, 84, 1) = .0, (1, 85, 1) = .0, (1, 86, 1) = .0, (1, 87, 1) = .0, (1, 88, 1) = .0, (1, 89, 1) = .0, (1, 90, 1) = .0, (1, 91, 1) = .0, (1, 92, 1) = .0, (1, 93, 1) = .0, (1, 94, 1) = .0, (1, 95, 1) = .0, (1, 96, 1) = .0, (1, 97, 1) = .0, (1, 98, 1) = .0, (1, 99, 1) = .0, (1, 100, 1) = .0, (1, 101, 1) = .0, (2, 1, 1) = .0, (2, 2, 1) = .0, (2, 3, 1) = .0, (2, 4, 1) = .0, (2, 5, 1) = .0, (2, 6, 1) = .0, (2, 7, 1) = .0, (2, 8, 1) = .0, (2, 9, 1) = .0, (2, 10, 1) = .0, (2, 11, 1) = .0, (2, 12, 1) = .0, (2, 13, 1) = .0, (2, 14, 1) = .0, (2, 15, 1) = .0, (2, 16, 1) = .0, (2, 17, 1) = .0, (2, 18, 1) = .0, (2, 19, 1) = .0, (2, 20, 1) = .0, (2, 21, 1) = .0, (2, 22, 1) = .0, (2, 23, 1) = .0, (2, 24, 1) = .0, (2, 25, 1) = .0, (2, 26, 1) = .0, (2, 27, 1) = .0, (2, 28, 1) = .0, (2, 29, 1) = .0, (2, 30, 1) = .0, (2, 31, 1) = .0, (2, 32, 1) = .0, (2, 33, 1) = .0, (2, 34, 1) = .0, (2, 35, 1) = .0, (2, 36, 1) = .0, (2, 37, 1) = .0, (2, 38, 1) = .0, (2, 39, 1) = .0, (2, 40, 1) = .0, (2, 41, 1) = .0, (2, 42, 1) = .0, (2, 43, 1) = .0, (2, 44, 1) = .0, (2, 45, 1) = .0, (2, 46, 1) = .0, (2, 47, 1) = .0, (2, 48, 1) = .0, (2, 49, 1) = .0, (2, 50, 1) = .0, (2, 51, 1) = .0, (2, 52, 1) = .0, (2, 53, 1) = .0, (2, 54, 1) = .0, (2, 55, 1) = .0, (2, 56, 1) = .0, (2, 57, 1) = .0, (2, 58, 1) = .0, (2, 59, 1) = .0, (2, 60, 1) = .0, (2, 61, 1) = .0, (2, 62, 1) = .0, (2, 63, 1) = .0, (2, 64, 1) = .0, (2, 65, 1) = .0, (2, 66, 1) = .0, (2, 67, 1) = .0, (2, 68, 1) = .0, (2, 69, 1) = .0, (2, 70, 1) = .0, (2, 71, 1) = .0, (2, 72, 1) = .0, (2, 73, 1) = .0, (2, 74, 1) = .0, (2, 75, 1) = .0, (2, 76, 1) = .0, (2, 77, 1) = .0, (2, 78, 1) = .0, (2, 79, 1) = .0, (2, 80, 1) = .0, (2, 81, 1) = .0, (2, 82, 1) = .0, (2, 83, 1) = .0, (2, 84, 1) = .0, (2, 85, 1) = .0, (2, 86, 1) = .0, (2, 87, 1) = .0, (2, 88, 1) = .0, (2, 89, 1) = .0, (2, 90, 1) = .0, (2, 91, 1) = .0, (2, 92, 1) = .0, (2, 93, 1) = .0, (2, 94, 1) = .0, (2, 95, 1) = .0, (2, 96, 1) = .0, (2, 97, 1) = .0, (2, 98, 1) = .0, (2, 99, 1) = .0, (2, 100, 1) = .0, (2, 101, 1) = .0, (3, 1, 1) = .0, (3, 2, 1) = .0, (3, 3, 1) = .0, (3, 4, 1) = .0, (3, 5, 1) = .0, (3, 6, 1) = .0, (3, 7, 1) = .0, (3, 8, 1) = .0, (3, 9, 1) = .0, (3, 10, 1) = .0, (3, 11, 1) = .0, (3, 12, 1) = .0, (3, 13, 1) = .0, (3, 14, 1) = .0, (3, 15, 1) = .0, (3, 16, 1) = .0, (3, 17, 1) = .0, (3, 18, 1) = .0, (3, 19, 1) = .0, (3, 20, 1) = .0, (3, 21, 1) = .0, (3, 22, 1) = .0, (3, 23, 1) = .0, (3, 24, 1) = .0, (3, 25, 1) = .0, (3, 26, 1) = .0, (3, 27, 1) = .0, (3, 28, 1) = .0, (3, 29, 1) = .0, (3, 30, 1) = .0, (3, 31, 1) = .0, (3, 32, 1) = .0, (3, 33, 1) = .0, (3, 34, 1) = .0, (3, 35, 1) = .0, (3, 36, 1) = .0, (3, 37, 1) = .0, (3, 38, 1) = .0, (3, 39, 1) = .0, (3, 40, 1) = .0, (3, 41, 1) = .0, (3, 42, 1) = .0, (3, 43, 1) = .0, (3, 44, 1) = .0, (3, 45, 1) = .0, (3, 46, 1) = .0, (3, 47, 1) = .0, (3, 48, 1) = .0, (3, 49, 1) = .0, (3, 50, 1) = .0, (3, 51, 1) = .0, (3, 52, 1) = .0, (3, 53, 1) = .0, (3, 54, 1) = .0, (3, 55, 1) = .0, (3, 56, 1) = .0, (3, 57, 1) = .0, (3, 58, 1) = .0, (3, 59, 1) = .0, (3, 60, 1) = .0, (3, 61, 1) = .0, (3, 62, 1) = .0, (3, 63, 1) = .0, (3, 64, 1) = .0, (3, 65, 1) = .0, (3, 66, 1) = .0, (3, 67, 1) = .0, (3, 68, 1) = .0, (3, 69, 1) = .0, (3, 70, 1) = .0, (3, 71, 1) = .0, (3, 72, 1) = .0, (3, 73, 1) = .0, (3, 74, 1) = .0, (3, 75, 1) = .0, (3, 76, 1) = .0, (3, 77, 1) = .0, (3, 78, 1) = .0, (3, 79, 1) = .0, (3, 80, 1) = .0, (3, 81, 1) = .0, (3, 82, 1) = .0, (3, 83, 1) = .0, (3, 84, 1) = .0, (3, 85, 1) = .0, (3, 86, 1) = .0, (3, 87, 1) = .0, (3, 88, 1) = .0, (3, 89, 1) = .0, (3, 90, 1) = .0, (3, 91, 1) = .0, (3, 92, 1) = .0, (3, 93, 1) = .0, (3, 94, 1) = .0, (3, 95, 1) = .0, (3, 96, 1) = .0, (3, 97, 1) = .0, (3, 98, 1) = .0, (3, 99, 1) = .0, (3, 100, 1) = .0, (3, 101, 1) = .0}, datatype = float[8], order = C_order), ( "solvec5" ) = 0, ( "explicit" ) = false, ( "spaceadaptive" ) = false, ( "solvec3" ) = Vector(101, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = .0}, datatype = float[8]), ( "vectorhf" ) = true, ( "dependson" ) = [{1}], ( "extrabcs" ) = [0], ( "mixed" ) = false, ( "t0" ) = 0, ( "totalwidth" ) = 6, ( "solmat_v" ) = Vector(606, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = .0, (102) = .0, (103) = .0, (104) = .0, (105) = .0, (106) = .0, (107) = .0, (108) = .0, (109) = .0, (110) = .0, (111) = .0, (112) = .0, (113) = .0, (114) = .0, (115) = .0, (116) = .0, (117) = .0, (118) = .0, (119) = .0, (120) = .0, (121) = .0, (122) = .0, (123) = .0, (124) = .0, (125) = .0, (126) = .0, (127) = .0, (128) = .0, (129) = .0, (130) = .0, (131) = .0, (132) = .0, (133) = .0, (134) = .0, (135) = .0, (136) = .0, (137) = .0, (138) = .0, (139) = .0, (140) = .0, (141) = .0, (142) = .0, (143) = .0, (144) = .0, (145) = .0, (146) = .0, (147) = .0, (148) = .0, (149) = .0, (150) = .0, (151) = .0, (152) = .0, (153) = .0, (154) = .0, (155) = .0, (156) = .0, (157) = .0, (158) = .0, (159) = .0, (160) = .0, (161) = .0, (162) = .0, (163) = .0, (164) = .0, (165) = .0, (166) = .0, (167) = .0, (168) = .0, (169) = .0, (170) = .0, (171) = .0, (172) = .0, (173) = .0, (174) = .0, (175) = .0, (176) = .0, (177) = .0, (178) = .0, (179) = .0, (180) = .0, (181) = .0, (182) = .0, (183) = .0, (184) = .0, (185) = .0, (186) = .0, (187) = .0, (188) = .0, (189) = .0, (190) = .0, (191) = .0, (192) = .0, (193) = .0, (194) = .0, (195) = .0, (196) = .0, (197) = .0, (198) = .0, (199) = .0, (200) = .0, (201) = .0, (202) = .0, (203) = .0, (204) = .0, (205) = .0, (206) = .0, (207) = .0, (208) = .0, (209) = .0, (210) = .0, (211) = .0, (212) = .0, (213) = .0, (214) = .0, (215) = .0, (216) = .0, (217) = .0, (218) = .0, (219) = .0, (220) = .0, (221) = .0, (222) = .0, (223) = .0, (224) = .0, (225) = .0, (226) = .0, (227) = .0, (228) = .0, (229) = .0, (230) = .0, (231) = .0, (232) = .0, (233) = .0, (234) = .0, (235) = .0, (236) = .0, (237) = .0, (238) = .0, (239) = .0, (240) = .0, (241) = .0, (242) = .0, (243) = .0, (244) = .0, (245) = .0, (246) = .0, (247) = .0, (248) = .0, (249) = .0, (250) = .0, (251) = .0, (252) = .0, (253) = .0, (254) = .0, (255) = .0, (256) = .0, (257) = .0, (258) = .0, (259) = .0, (260) = .0, (261) = .0, (262) = .0, (263) = .0, (264) = .0, (265) = .0, (266) = .0, (267) = .0, (268) = .0, (269) = .0, (270) = .0, (271) = .0, (272) = .0, (273) = .0, (274) = .0, (275) = .0, (276) = .0, (277) = .0, (278) = .0, (279) = .0, (280) = .0, (281) = .0, (282) = .0, (283) = .0, (284) = .0, (285) = .0, (286) = .0, (287) = .0, (288) = .0, (289) = .0, (290) = .0, (291) = .0, (292) = .0, (293) = .0, (294) = .0, (295) = .0, (296) = .0, (297) = .0, (298) = .0, (299) = .0, (300) = .0, (301) = .0, (302) = .0, (303) = .0, (304) = .0, (305) = .0, (306) = .0, (307) = .0, (308) = .0, (309) = .0, (310) = .0, (311) = .0, (312) = .0, (313) = .0, (314) = .0, (315) = .0, (316) = .0, (317) = .0, (318) = .0, (319) = .0, (320) = .0, (321) = .0, (322) = .0, (323) = .0, (324) = .0, (325) = .0, (326) = .0, (327) = .0, (328) = .0, (329) = .0, (330) = .0, (331) = .0, (332) = .0, (333) = .0, (334) = .0, (335) = .0, (336) = .0, (337) = .0, (338) = .0, (339) = .0, (340) = .0, (341) = .0, (342) = .0, (343) = .0, (344) = .0, (345) = .0, (346) = .0, (347) = .0, (348) = .0, (349) = .0, (350) = .0, (351) = .0, (352) = .0, (353) = .0, (354) = .0, (355) = .0, (356) = .0, (357) = .0, (358) = .0, (359) = .0, (360) = .0, (361) = .0, (362) = .0, (363) = .0, (364) = .0, (365) = .0, (366) = .0, (367) = .0, (368) = .0, (369) = .0, (370) = .0, (371) = .0, (372) = .0, (373) = .0, (374) = .0, (375) = .0, (376) = .0, (377) = .0, (378) = .0, (379) = .0, (380) = .0, (381) = .0, (382) = .0, (383) = .0, (384) = .0, (385) = .0, (386) = .0, (387) = .0, (388) = .0, (389) = .0, (390) = .0, (391) = .0, (392) = .0, (393) = .0, (394) = .0, (395) = .0, (396) = .0, (397) = .0, (398) = .0, (399) = .0, (400) = .0, (401) = .0, (402) = .0, (403) = .0, (404) = .0, (405) = .0, (406) = .0, (407) = .0, (408) = .0, (409) = .0, (410) = .0, (411) = .0, (412) = .0, (413) = .0, (414) = .0, (415) = .0, (416) = .0, (417) = .0, (418) = .0, (419) = .0, (420) = .0, (421) = .0, (422) = .0, (423) = .0, (424) = .0, (425) = .0, (426) = .0, (427) = .0, (428) = .0, (429) = .0, (430) = .0, (431) = .0, (432) = .0, (433) = .0, (434) = .0, (435) = .0, (436) = .0, (437) = .0, (438) = .0, (439) = .0, (440) = .0, (441) = .0, (442) = .0, (443) = .0, (444) = .0, (445) = .0, (446) = .0, (447) = .0, (448) = .0, (449) = .0, (450) = .0, (451) = .0, (452) = .0, (453) = .0, (454) = .0, (455) = .0, (456) = .0, (457) = .0, (458) = .0, (459) = .0, (460) = .0, (461) = .0, (462) = .0, (463) = .0, (464) = .0, (465) = .0, (466) = .0, (467) = .0, (468) = .0, (469) = .0, (470) = .0, (471) = .0, (472) = .0, (473) = .0, (474) = .0, (475) = .0, (476) = .0, (477) = .0, (478) = .0, (479) = .0, (480) = .0, (481) = .0, (482) = .0, (483) = .0, (484) = .0, (485) = .0, (486) = .0, (487) = .0, (488) = .0, (489) = .0, (490) = .0, (491) = .0, (492) = .0, (493) = .0, (494) = .0, (495) = .0, (496) = .0, (497) = .0, (498) = .0, (499) = .0, (500) = .0, (501) = .0, (502) = .0, (503) = .0, (504) = .0, (505) = .0, (506) = .0, (507) = .0, (508) = .0, (509) = .0, (510) = .0, (511) = .0, (512) = .0, (513) = .0, (514) = .0, (515) = .0, (516) = .0, (517) = .0, (518) = .0, (519) = .0, (520) = .0, (521) = .0, (522) = .0, (523) = .0, (524) = .0, (525) = .0, (526) = .0, (527) = .0, (528) = .0, (529) = .0, (530) = .0, (531) = .0, (532) = .0, (533) = .0, (534) = .0, (535) = .0, (536) = .0, (537) = .0, (538) = .0, (539) = .0, (540) = .0, (541) = .0, (542) = .0, (543) = .0, (544) = .0, (545) = .0, (546) = .0, (547) = .0, (548) = .0, (549) = .0, (550) = .0, (551) = .0, (552) = .0, (553) = .0, (554) = .0, (555) = .0, (556) = .0, (557) = .0, (558) = .0, (559) = .0, (560) = .0, (561) = .0, (562) = .0, (563) = .0, (564) = .0, (565) = .0, (566) = .0, (567) = .0, (568) = .0, (569) = .0, (570) = .0, (571) = .0, (572) = .0, (573) = .0, (574) = .0, (575) = .0, (576) = .0, (577) = .0, (578) = .0, (579) = .0, (580) = .0, (581) = .0, (582) = .0, (583) = .0, (584) = .0, (585) = .0, (586) = .0, (587) = .0, (588) = .0, (589) = .0, (590) = .0, (591) = .0, (592) = .0, (593) = .0, (594) = .0, (595) = .0, (596) = .0, (597) = .0, (598) = .0, (599) = .0, (600) = .0, (601) = .0, (602) = .0, (603) = .0, (604) = .0, (605) = .0, (606) = .0}, datatype = float[8], order = C_order, attributes = [source_rtable = (Matrix(101, 6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0, (7, 1) = .0, (7, 2) = .0, (7, 3) = .0, (7, 4) = .0, (7, 5) = .0, (7, 6) = .0, (8, 1) = .0, (8, 2) = .0, (8, 3) = .0, (8, 4) = .0, (8, 5) = .0, (8, 6) = .0, (9, 1) = .0, (9, 2) = .0, (9, 3) = .0, (9, 4) = .0, (9, 5) = .0, (9, 6) = .0, (10, 1) = .0, (10, 2) = .0, (10, 3) = .0, (10, 4) = .0, (10, 5) = .0, (10, 6) = .0, (11, 1) = .0, (11, 2) = .0, (11, 3) = .0, (11, 4) = .0, (11, 5) = .0, (11, 6) = .0, (12, 1) = .0, (12, 2) = .0, (12, 3) = .0, (12, 4) = .0, (12, 5) = .0, (12, 6) = .0, (13, 1) = .0, (13, 2) = .0, (13, 3) = .0, (13, 4) = .0, (13, 5) = .0, (13, 6) = .0, (14, 1) = .0, (14, 2) = .0, (14, 3) = .0, (14, 4) = .0, (14, 5) = .0, (14, 6) = .0, (15, 1) = .0, (15, 2) = .0, (15, 3) = .0, (15, 4) = .0, (15, 5) = .0, (15, 6) = .0, (16, 1) = .0, (16, 2) = .0, (16, 3) = .0, (16, 4) = .0, (16, 5) = .0, (16, 6) = .0, (17, 1) = .0, (17, 2) = .0, (17, 3) = .0, (17, 4) = .0, (17, 5) = .0, (17, 6) = .0, (18, 1) = .0, (18, 2) = .0, (18, 3) = .0, (18, 4) = .0, (18, 5) = .0, (18, 6) = .0, (19, 1) = .0, (19, 2) = .0, (19, 3) = .0, (19, 4) = .0, (19, 5) = .0, (19, 6) = .0, (20, 1) = .0, (20, 2) = .0, (20, 3) = .0, (20, 4) = .0, (20, 5) = .0, (20, 6) = .0, (21, 1) = .0, (21, 2) = .0, (21, 3) = .0, (21, 4) = .0, (21, 5) = .0, (21, 6) = .0, (22, 1) = .0, (22, 2) = .0, (22, 3) = .0, (22, 4) = .0, (22, 5) = .0, (22, 6) = .0, (23, 1) = .0, (23, 2) = .0, (23, 3) = .0, (23, 4) = .0, (23, 5) = .0, (23, 6) = .0, (24, 1) = .0, (24, 2) = .0, (24, 3) = .0, (24, 4) = .0, (24, 5) = .0, (24, 6) = .0, (25, 1) = .0, (25, 2) = .0, (25, 3) = .0, (25, 4) = .0, (25, 5) = .0, (25, 6) = .0, (26, 1) = .0, (26, 2) = .0, (26, 3) = .0, (26, 4) = .0, (26, 5) = .0, (26, 6) = .0, (27, 1) = .0, (27, 2) = .0, (27, 3) = .0, (27, 4) = .0, (27, 5) = .0, (27, 6) = .0, (28, 1) = .0, (28, 2) = .0, (28, 3) = .0, (28, 4) = .0, (28, 5) = .0, (28, 6) = .0, (29, 1) = .0, (29, 2) = .0, (29, 3) = .0, (29, 4) = .0, (29, 5) = .0, (29, 6) = .0, (30, 1) = .0, (30, 2) = .0, (30, 3) = .0, (30, 4) = .0, (30, 5) = .0, (30, 6) = .0, (31, 1) = .0, (31, 2) = .0, (31, 3) = .0, (31, 4) = .0, (31, 5) = .0, (31, 6) = .0, (32, 1) = .0, (32, 2) = .0, (32, 3) = .0, (32, 4) = .0, (32, 5) = .0, (32, 6) = .0, (33, 1) = .0, (33, 2) = .0, (33, 3) = .0, (33, 4) = .0, (33, 5) = .0, (33, 6) = .0, (34, 1) = .0, (34, 2) = .0, (34, 3) = .0, (34, 4) = .0, (34, 5) = .0, (34, 6) = .0, (35, 1) = .0, (35, 2) = .0, (35, 3) = .0, (35, 4) = .0, (35, 5) = .0, (35, 6) = .0, (36, 1) = .0, (36, 2) = .0, (36, 3) = .0, (36, 4) = .0, (36, 5) = .0, (36, 6) = .0, (37, 1) = .0, (37, 2) = .0, (37, 3) = .0, (37, 4) = .0, (37, 5) = .0, (37, 6) = .0, (38, 1) = .0, (38, 2) = .0, (38, 3) = .0, (38, 4) = .0, (38, 5) = .0, (38, 6) = .0, (39, 1) = .0, (39, 2) = .0, (39, 3) = .0, (39, 4) = .0, (39, 5) = .0, (39, 6) = .0, (40, 1) = .0, (40, 2) = .0, (40, 3) = .0, (40, 4) = .0, (40, 5) = .0, (40, 6) = .0, (41, 1) = .0, (41, 2) = .0, (41, 3) = .0, (41, 4) = .0, (41, 5) = .0, (41, 6) = .0, (42, 1) = .0, (42, 2) = .0, (42, 3) = .0, (42, 4) = .0, (42, 5) = .0, (42, 6) = .0, (43, 1) = .0, (43, 2) = .0, (43, 3) = .0, (43, 4) = .0, (43, 5) = .0, (43, 6) = .0, (44, 1) = .0, (44, 2) = .0, (44, 3) = .0, (44, 4) = .0, (44, 5) = .0, (44, 6) = .0, (45, 1) = .0, (45, 2) = .0, (45, 3) = .0, (45, 4) = .0, (45, 5) = .0, (45, 6) = .0, (46, 1) = .0, (46, 2) = .0, (46, 3) = .0, (46, 4) = .0, (46, 5) = .0, (46, 6) = .0, (47, 1) = .0, (47, 2) = .0, (47, 3) = .0, (47, 4) = .0, (47, 5) = .0, (47, 6) = .0, (48, 1) = .0, (48, 2) = .0, (48, 3) = .0, (48, 4) = .0, (48, 5) = .0, (48, 6) = .0, (49, 1) = .0, (49, 2) = .0, (49, 3) = .0, (49, 4) = .0, (49, 5) = .0, (49, 6) = .0, (50, 1) = .0, (50, 2) = .0, (50, 3) = .0, (50, 4) = .0, (50, 5) = .0, (50, 6) = .0, (51, 1) = .0, (51, 2) = .0, (51, 3) = .0, (51, 4) = .0, (51, 5) = .0, (51, 6) = .0, (52, 1) = .0, (52, 2) = .0, (52, 3) = .0, (52, 4) = .0, (52, 5) = .0, (52, 6) = .0, (53, 1) = .0, (53, 2) = .0, (53, 3) = .0, (53, 4) = .0, (53, 5) = .0, (53, 6) = .0, (54, 1) = .0, (54, 2) = .0, (54, 3) = .0, (54, 4) = .0, (54, 5) = .0, (54, 6) = .0, (55, 1) = .0, (55, 2) = .0, (55, 3) = .0, (55, 4) = .0, (55, 5) = .0, (55, 6) = .0, (56, 1) = .0, (56, 2) = .0, (56, 3) = .0, (56, 4) = .0, (56, 5) = .0, (56, 6) = .0, (57, 1) = .0, (57, 2) = .0, (57, 3) = .0, (57, 4) = .0, (57, 5) = .0, (57, 6) = .0, (58, 1) = .0, (58, 2) = .0, (58, 3) = .0, (58, 4) = .0, (58, 5) = .0, (58, 6) = .0, (59, 1) = .0, (59, 2) = .0, (59, 3) = .0, (59, 4) = .0, (59, 5) = .0, (59, 6) = .0, (60, 1) = .0, (60, 2) = .0, (60, 3) = .0, (60, 4) = .0, (60, 5) = .0, (60, 6) = .0, (61, 1) = .0, (61, 2) = .0, (61, 3) = .0, (61, 4) = .0, (61, 5) = .0, (61, 6) = .0, (62, 1) = .0, (62, 2) = .0, (62, 3) = .0, (62, 4) = .0, (62, 5) = .0, (62, 6) = .0, (63, 1) = .0, (63, 2) = .0, (63, 3) = .0, (63, 4) = .0, (63, 5) = .0, (63, 6) = .0, (64, 1) = .0, (64, 2) = .0, (64, 3) = .0, (64, 4) = .0, (64, 5) = .0, (64, 6) = .0, (65, 1) = .0, (65, 2) = .0, (65, 3) = .0, (65, 4) = .0, (65, 5) = .0, (65, 6) = .0, (66, 1) = .0, (66, 2) = .0, (66, 3) = .0, (66, 4) = .0, (66, 5) = .0, (66, 6) = .0, (67, 1) = .0, (67, 2) = .0, (67, 3) = .0, (67, 4) = .0, (67, 5) = .0, (67, 6) = .0, (68, 1) = .0, (68, 2) = .0, (68, 3) = .0, (68, 4) = .0, (68, 5) = .0, (68, 6) = .0, (69, 1) = .0, (69, 2) = .0, (69, 3) = .0, (69, 4) = .0, (69, 5) = .0, (69, 6) = .0, (70, 1) = .0, (70, 2) = .0, (70, 3) = .0, (70, 4) = .0, (70, 5) = .0, (70, 6) = .0, (71, 1) = .0, (71, 2) = .0, (71, 3) = .0, (71, 4) = .0, (71, 5) = .0, (71, 6) = .0, (72, 1) = .0, (72, 2) = .0, (72, 3) = .0, (72, 4) = .0, (72, 5) = .0, (72, 6) = .0, (73, 1) = .0, (73, 2) = .0, (73, 3) = .0, (73, 4) = .0, (73, 5) = .0, (73, 6) = .0, (74, 1) = .0, (74, 2) = .0, (74, 3) = .0, (74, 4) = .0, (74, 5) = .0, (74, 6) = .0, (75, 1) = .0, (75, 2) = .0, (75, 3) = .0, (75, 4) = .0, (75, 5) = .0, (75, 6) = .0, (76, 1) = .0, (76, 2) = .0, (76, 3) = .0, (76, 4) = .0, (76, 5) = .0, (76, 6) = .0, (77, 1) = .0, (77, 2) = .0, (77, 3) = .0, (77, 4) = .0, (77, 5) = .0, (77, 6) = .0, (78, 1) = .0, (78, 2) = .0, (78, 3) = .0, (78, 4) = .0, (78, 5) = .0, (78, 6) = .0, (79, 1) = .0, (79, 2) = .0, (79, 3) = .0, (79, 4) = .0, (79, 5) = .0, (79, 6) = .0, (80, 1) = .0, (80, 2) = .0, (80, 3) = .0, (80, 4) = .0, (80, 5) = .0, (80, 6) = .0, (81, 1) = .0, (81, 2) = .0, (81, 3) = .0, (81, 4) = .0, (81, 5) = .0, (81, 6) = .0, (82, 1) = .0, (82, 2) = .0, (82, 3) = .0, (82, 4) = .0, (82, 5) = .0, (82, 6) = .0, (83, 1) = .0, (83, 2) = .0, (83, 3) = .0, (83, 4) = .0, (83, 5) = .0, (83, 6) = .0, (84, 1) = .0, (84, 2) = .0, (84, 3) = .0, (84, 4) = .0, (84, 5) = .0, (84, 6) = .0, (85, 1) = .0, (85, 2) = .0, (85, 3) = .0, (85, 4) = .0, (85, 5) = .0, (85, 6) = .0, (86, 1) = .0, (86, 2) = .0, (86, 3) = .0, (86, 4) = .0, (86, 5) = .0, (86, 6) = .0, (87, 1) = .0, (87, 2) = .0, (87, 3) = .0, (87, 4) = .0, (87, 5) = .0, (87, 6) = .0, (88, 1) = .0, (88, 2) = .0, (88, 3) = .0, (88, 4) = .0, (88, 5) = .0, (88, 6) = .0, (89, 1) = .0, (89, 2) = .0, (89, 3) = .0, (89, 4) = .0, (89, 5) = .0, (89, 6) = .0, (90, 1) = .0, (90, 2) = .0, (90, 3) = .0, (90, 4) = .0, (90, 5) = .0, (90, 6) = .0, (91, 1) = .0, (91, 2) = .0, (91, 3) = .0, (91, 4) = .0, (91, 5) = .0, (91, 6) = .0, (92, 1) = .0, (92, 2) = .0, (92, 3) = .0, (92, 4) = .0, (92, 5) = .0, (92, 6) = .0, (93, 1) = .0, (93, 2) = .0, (93, 3) = .0, (93, 4) = .0, (93, 5) = .0, (93, 6) = .0, (94, 1) = .0, (94, 2) = .0, (94, 3) = .0, (94, 4) = .0, (94, 5) = .0, (94, 6) = .0, (95, 1) = .0, (95, 2) = .0, (95, 3) = .0, (95, 4) = .0, (95, 5) = .0, (95, 6) = .0, (96, 1) = .0, (96, 2) = .0, (96, 3) = .0, (96, 4) = .0, (96, 5) = .0, (96, 6) = .0, (97, 1) = .0, (97, 2) = .0, (97, 3) = .0, (97, 4) = .0, (97, 5) = .0, (97, 6) = .0, (98, 1) = .0, (98, 2) = .0, (98, 3) = .0, (98, 4) = .0, (98, 5) = .0, (98, 6) = .0, (99, 1) = .0, (99, 2) = .0, (99, 3) = .0, (99, 4) = .0, (99, 5) = .0, (99, 6) = .0, (100, 1) = .0, (100, 2) = .0, (100, 3) = .0, (100, 4) = .0, (100, 5) = .0, (100, 6) = .0, (101, 1) = .0, (101, 2) = .0, (101, 3) = .0, (101, 4) = .0, (101, 5) = .0, (101, 6) = .0}, datatype = float[8], order = C_order))]), ( "stages" ) = 1, ( "pts", y ) = [0, 10], ( "autonomous" ) = true, ( "errorest" ) = false, ( "solspace" ) = Vector(101, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = 10.0}, datatype = float[8]), ( "solvec2" ) = Vector(101, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = .0}, datatype = float[8]), ( "inputargs" ) = [diff(u(y, t), t) = diff(diff(u(y, t), y), y), {u(0, t) = cos(t), u(10, t) = 0, u(y, 0) = 0}, spacestep = 1/10, timestep = 1/100], ( "erroraccum" ) = true, ( "leftwidth" ) = 1, ( "ICS" ) = [0], ( "soltimes" ) = Vector(3, {(1) = .0, (2) = .0, (3) = .0}, datatype = float[8]), ( "linear" ) = true, ( "allocspace" ) = 101, ( "solvec1" ) = Vector(101, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = .0, (14) = .0, (15) = .0, (16) = .0, (17) = .0, (18) = .0, (19) = .0, (20) = .0, (21) = .0, (22) = .0, (23) = .0, (24) = .0, (25) = .0, (26) = .0, (27) = .0, (28) = .0, (29) = .0, (30) = .0, (31) = .0, (32) = .0, (33) = .0, (34) = .0, (35) = .0, (36) = .0, (37) = .0, (38) = .0, (39) = .0, (40) = .0, (41) = .0, (42) = .0, (43) = .0, (44) = .0, (45) = .0, (46) = .0, (47) = .0, (48) = .0, (49) = .0, (50) = .0, (51) = .0, (52) = .0, (53) = .0, (54) = .0, (55) = .0, (56) = .0, (57) = .0, (58) = .0, (59) = .0, (60) = .0, (61) = .0, (62) = .0, (63) = .0, (64) = .0, (65) = .0, (66) = .0, (67) = .0, (68) = .0, (69) = .0, (70) = .0, (71) = .0, (72) = .0, (73) = .0, (74) = .0, (75) = .0, (76) = .0, (77) = .0, (78) = .0, (79) = .0, (80) = .0, (81) = .0, (82) = .0, (83) = .0, (84) = .0, (85) = .0, (86) = .0, (87) = .0, (88) = .0, (89) = .0, (90) = .0, (91) = .0, (92) = .0, (93) = .0, (94) = .0, (95) = .0, (96) = .0, (97) = .0, (98) = .0, (99) = .0, (100) = .0, (101) = .0}, datatype = float[8]), ( "vectorproc" ) = proc (v, vp, vpp, t, x, k, h, n, vec) local _s1, _s2, _s3, xi; _s2 := 1/k; _s3 := (1/2)/h^2; vec[1] := cos(t+k); vec[n] := 0; for xi from 2 to n-1 do _s1 := vp[xi-1]-2*vp[xi]+vp[xi+1]; vec[xi] := _s3*_s1+_s2*vp[xi] end do end proc, ( "indepvars" ) = [y, t], ( "BCS", 1 ) = {[[1, 0, 0], b[1, 0, 0]-cos(t)], [[1, 0, 10], b[1, 0, 10]]}, ( "rightwidth" ) = 0, ( "spacepts" ) = 101, ( "minspcpoints" ) = 4, ( "spacestep" ) = .100000000000000, ( "timevar" ) = t, ( "norigdepvars" ) = 1, ( "spacevar" ) = y, ( "solmat_is" ) = 0, ( "eqnords" ) = [[2, 1]], ( "startup_only" ) = false, ( "eqndep" ) = [1], ( "solmat_ne" ) = 0, ( "depvars" ) = [u], ( "timeidx" ) = 2, ( "intspace" ) = Matrix(101, 1, {(1, 1) = .0, (2, 1) = .0, (3, 1) = .0, (4, 1) = .0, (5, 1) = .0, (6, 1) = .0, (7, 1) = .0, (8, 1) = .0, (9, 1) = .0, (10, 1) = .0, (11, 1) = .0, (12, 1) = .0, (13, 1) = .0, (14, 1) = .0, (15, 1) = .0, (16, 1) = .0, (17, 1) = .0, (18, 1) = .0, (19, 1) = .0, (20, 1) = .0, (21, 1) = .0, (22, 1) = .0, (23, 1) = .0, (24, 1) = .0, (25, 1) = .0, (26, 1) = .0, (27, 1) = .0, (28, 1) = .0, (29, 1) = .0, (30, 1) = .0, (31, 1) = .0, (32, 1) = .0, (33, 1) = .0, (34, 1) = .0, (35, 1) = .0, (36, 1) = .0, (37, 1) = .0, (38, 1) = .0, (39, 1) = .0, (40, 1) = .0, (41, 1) = .0, (42, 1) = .0, (43, 1) = .0, (44, 1) = .0, (45, 1) = .0, (46, 1) = .0, (47, 1) = .0, (48, 1) = .0, (49, 1) = .0, (50, 1) = .0, (51, 1) = .0, (52, 1) = .0, (53, 1) = .0, (54, 1) = .0, (55, 1) = .0, (56, 1) = .0, (57, 1) = .0, (58, 1) = .0, (59, 1) = .0, (60, 1) = .0, (61, 1) = .0, (62, 1) = .0, (63, 1) = .0, (64, 1) = .0, (65, 1) = .0, (66, 1) = .0, (67, 1) = .0, (68, 1) = .0, (69, 1) = .0, (70, 1) = .0, (71, 1) = .0, (72, 1) = .0, (73, 1) = .0, (74, 1) = .0, (75, 1) = .0, (76, 1) = .0, (77, 1) = .0, (78, 1) = .0, (79, 1) = .0, (80, 1) = .0, (81, 1) = .0, (82, 1) = .0, (83, 1) = .0, (84, 1) = .0, (85, 1) = .0, (86, 1) = .0, (87, 1) = .0, (88, 1) = .0, (89, 1) = .0, (90, 1) = .0, (91, 1) = .0, (92, 1) = .0, (93, 1) = .0, (94, 1) = .0, (95, 1) = .0, (96, 1) = .0, (97, 1) = .0, (98, 1) = .0, (99, 1) = .0, (100, 1) = .0, (101, 1) = .0}, datatype = float[8], order = C_order), ( "solmat_i1" ) = 0, ( "solmat_i2" ) = 0, ( "fdepvars" ) = [u(y, t)], ( "spaceidx" ) = 1, ( "PDEs" ) = [diff(u(y, t), t)-(diff(diff(u(y, t), y), y))], ( "depords" ) = [[2, 1]], ( "depeqn" ) = [1] ] ); if xv = "left" then return INFO["solspace"][1] elif xv = "right" then return INFO["solspace"][INFO["spacepts"]] elif tv = "start" then return INFO["t0"] elif not (type(tv, 'numeric') and type(xv, 'numeric')) then error "non-numeric input" end if; if xv < INFO["solspace"][1] or INFO["solspace"][INFO["spacepts"]] < xv then error "requested %1 value must be in the range %2..%3", INFO["spacevar"], INFO["solspace"][1], INFO["solspace"][INFO["spacepts"]] end if; dary := Vector(3, {(1) = .0, (2) = .0, (3) = .0}, datatype = float[8]); daryt := 0; daryx := 0; dvars := [proc (t, x, u) u[1] end proc]; errest := false; nd := nops(INFO["depvars"]); if dary[nd+1] <> tv then try `pdsolve/numeric/evolve_solution`(INFO, tv) catch: msg := StringTools:-FormatMessage(lastexception[2 .. -1]); if tv < INFO["t0"] then error cat("unable to compute solution for %1<%2:
", msg), INFO["timevar"], INFO["failtime"] else error cat("unable to compute solution for %1>%2:
", msg), INFO["timevar"], INFO["failtime"] end if end try end if; if dary[nd+1] <> tv or dary[nd+2] <> xv then `pdsolve/interp2dto0d`(3, INFO["soltimes"], INFO["spacepts"], INFO["solspace"], nops(INFO["depvars"]), INFO["solution"], true, tv, xv, dary); if errest then `pdsolve/interp2dto0d`(3, INFO["soltimes"], INFO["spacepts"], INFO["err_t"], nops(INFO["depvars"]), INFO["solution"], true, tv, xv, daryt); `pdsolve/interp2dto0d`(3, INFO["soltimes"], INFO["spacepts"], INFO["err_x"], nops(INFO["depvars"]), INFO["solution"], true, tv, xv, daryx) end if end if; dary[nd+1] := tv; dary[nd+2] := xv; if dvars = [] then [seq(dary[i], i = 1 .. INFO["norigdepvars"])] else vals := NULL; for i to nops(dvars) do j := eval(dvars[i]); try if errest then vals := vals, evalhf(j(tv, xv, dary, daryt, daryx)) else vals := vals, evalhf(j(tv, xv, dary)) end if catch: userinfo(5, `pdsolve/numeric`, `evalhf failure`); try if errest then vals := vals, j(tv, xv, dary, daryt, daryx) else vals := vals, j(tv, xv, dary) end if catch: vals := vals, undefined end try end try end do; [vals] end if end proc; stype := "2nd"; if nargs = 1 then if args[1] = "left" then return solnproc(0, "left") elif args[1] = "right" then return solnproc(0, "right") elif args[1] = "start" then return solnproc("start", 0) else error "too few arguments to solution procedure" end if elif nargs = 2 then if stype = "1st" then tv := evalf(args[1]); xv := evalf(args[2]) else tv := evalf(args[2]); xv := evalf(args[1]) end if; if not (type(tv, 'numeric') and type(xv, 'numeric')) then if procname <> unknown then return ('procname')(args[1 .. nargs]) else ndsol := pointto(solnproc("soln_procedures")[1]); return ('ndsol')(args[1 .. nargs]) end if end if else error "incorrect arguments to solution procedure" end if; vals := solnproc(tv, xv); vals[1] end proc

(6)

Here is the solution evaluated at 1, .5:

U(1,0.5);

.303691166362792919

(7)

#
# Solution at (0,0) - please explain how this statisfies
# the BC u(0,t) = cos(t)
#
  U(0,0);
#
# Demonstrate the discrepancy along the line x=0
#
  plots:-display( [ plot( U(0,t), t=0..100*dt, color=red),
                    plot( cos(t), t=0..100*dt, color=blue)
                  ]
                );
#
# Check along the line t=0. Note that the boundary condition
# u(0,t) = cos(t), requires U(0,0)=1
#
  plot( U(x,0),x=0..N, color=red, axes=boxed)

0.

 

 

 

Here is the flux, "-(&PartialD; u)/(&PartialD; y)", evaluated at 1, .5:

-D[1](U)(1,0.5);

.4534226475

(8)

The plot of the flux (it takes some time, be patient):

plot3d(-D[1](U)(y,t), y=0..N, t=0..Pi);

 

Download flux.mw

@Carl Love 

OP typed it - then of course Maple "converted" it

@lcz 

you have to use your original method, and live with whatever "format" the intermediate expression has

@FDS 

too much, I seer the following rpoblems/potential issues

  1. the numeric 'n' is undefined - maybe 2.7 (from your original Maple worksheet)
  2. the indexable quantity Temp is undefined - maybe Tart (from your original Maple worksheet)
  3. the calculation of P50_37[z] is very suspicious!! The exponent 0.024*(37-37), is obviously identically zero, so 10^(0.024*(37-37)), evaluates to 1 and thus P50_37[z]:=P50p37[z]. Do you do redundant calculations and introduce redundant variables for fun - or is this a typo?

If I make the assumptions in (1) and (2) above, ignore the redundancy in (3) above, and just produce some Maple code which "mimics" the MathCAD code, then I would come up with something like the attached. Note that it probably wouldn't look much like this unless I were trying to "mimic" your MathCAD code - eg why are there two loops? Why not do everything n a single loop? etc

  restart:
  pH := [7.398, 7.392]:
  pO2 := [121.6, 113.4]:
  Tart := [32.5, 32.9]:
  n:=2.7:
  for z from 1 to numelems(pH) do
      P50p37[z]:=26.6*10^(-0.48*(7.4-pH[z]));
      P50_37[z]:=P50p37[z]*10^(0.024*(37-37));
      S[z]:= (pO2[z]/P50_37[z])^n/(1+(pO2[z]/P50_37[z])^n);
  od:
  for z from 1 to numelems(pH) do
      P50[z]:= P50p37[z]*10^(-0.24*(37-Tart[z]));
      Pcor[z]:= exp( ln( -S[z]/(S[z]-1))/n)*P50[z];
  od:

  Pcor[1];Pcor[2];

10.11424747

 

11.76557225

(1)

 

Download MCcode.mw

@JAMET 

statements eval(x, sol), eval(y,sol)] only want to deal with equalities, the solve () command returns a set containing the inequality a>0. This can be removed as in the attached

  restart:
  with(geometry):
  _EnvHorizontalName := x:
  _EnvVerticalName := y:
  assume(a>0 );
  interface(showassumed=0):
  b := a*(1/2 + 1/6*sqrt(45 - 24*sqrt(3)))^2:
  r := b*sqrt(b)/(sqrt(a + b) + sqrt(a)):
  ellipse(E, x^2/a^2 + y^2/b^2 = 1):
  circle(C3, [point(P3, [(1 + sqrt(3))*r, -r]), r]):
  simplify(Equation(C3)):
  sol:= simplify~(select( type, solve( [Equation(C3), Equation(E), x>0, y<0]), equation)):
  point(PP, [eval(x, sol), eval(y,sol)]):
  coordinates(PP);

Warning, solve may be ignoring assumptions on the input variables.

 

[(1/26)*(6*3^(1/2)*(15-8*3^(1/2))^(1/2)-5*3^(1/2)+11*(15-8*3^(1/2))^(1/2)+6)*a, -2*a*(88390*3^(1/2)*(15-8*3^(1/2))^(1/2)-475653*3^(1/2)-153804*(15-8*3^(1/2))^(1/2)+823098)/((45747*3^(1/2)-82680)*(15-8*3^(1/2))^(1/2)-253344*3^(1/2)+435123)]

(1)

 

Download elllgeom3.mw

No use of floats. I have revised the calcultion slightly to get rid of (some of) the commands which were taking excessive time.

It still takes noticeably longer than my previus "floating point" version (about 10secs on my machine), but at least everything is now "exact", and the commands IsOnCircle(PP, C3) and IsOnCircle(PP, ic1), both return "true".

See the attached.

  restart:
  with(geometry):
  _EnvHorizontalName := x:
  _EnvVerticalName := y:

  a := 7:
  b := a*(1/2 + 1/6*sqrt(45 - 24*sqrt(3)))^2:
  r := b*sqrt(b)/(sqrt(a + b) + sqrt(a)):
  line(Lix,x=0):
  line(Liy,y=0):

  point(A, -a, -b):
  point(B, -a,  b):
  point(C,  a,  b):
  point(F,  a, -b):
  square(Sq, [A, B, C, F]):
  ellipse(E, x^2/a^2 + y^2/b^2 = 1):

  circle(C1, [point(P1, [r, 0]), r]):
  circle(C2, [point(P2, [(1 + sqrt(3))*r,  r]), r]):
  circle(C3, [point(P3, [(1 + sqrt(3))*r, -r]), r]):

  reflection(C4, C1, Lix):
  reflection(C5, C2, Lix):
  reflection(C6, C3, Lix):

  sol:= solve( [Equation(C3), Equation(E), x>0, y<0]):
  point(PP, [eval(x, sol), eval(y,sol)]):
  IsOnCircle(PP, C3);
  line(ll1, [PP, P3]):
  PerpendicularLine(ll2, PP, ll1):
  point( PX, [a, rhs(isolate(eval( Equation(ll2), x=a), y))]):
  point( PY, [rhs(isolate( eval( Equation(ll2), y=-b), x)), -b]):
  triangle(T1, [PY, PX, F]):
  incircle(ic1, T1):
  IsOnCircle(PP, ic1);
  point( cr2, [ coordinates(center(ic1))[1], -coordinates(center(ic1))[2]]) :
  circle(ic2, [ cr2, simplify(radius(ic1))]):
  point( cr3, [ -coordinates(center(ic1))[1], coordinates(center(ic1))[2]]) :
  circle(ic3, [ cr3, simplify(radius(ic1))]):
  point( cr4, [ -coordinates(center(ic1))[1], -coordinates(center(ic1))[2]]) :
  circle(ic4, [ cr4, simplify(radius(ic1))]):
  draw( [ Sq(color = blue, filled=true, transparency=0.7),
          C1(color = orange, filled = true,transparency=0.7),
          E(color=white,thickness=4),
          C2(color = orange, filled = true,transparency=0.7),
          C3(color = orange, filled = true,transparency=0.7),
          C4(color = orange, filled = true,transparency=0.7),
          C5(color = orange, filled = true,transparency=0.7),
          C6(color = orange, filled = true,transparency=0.7),
          Sq(color=blue),
          ic1(color=ColorTools:-Color([0.0, 1.0, 0.0]), filled=true),
          ic2(color=ColorTools:-Color([0.0, 1.0, 0.0]), filled=true),
          ic3(color=ColorTools:-Color([0.0, 1.0, 0.0]), filled=true),
          ic4(color=ColorTools:-Color([0.0, 1.0, 0.0]), filled=true)
        ],
        axes = none,
        view = [-a .. a, -b .. b],
        scaling = constrained
      );

true

 

true

 

 

 

Download ellgeom2.mw

@Carl Love 

but at some point in the calculation of the required in-circle, the calculation started to slow down quite a lot when using exact rationals - I just assumed that I was having a bad case of "expression explosion", so rather than using solve() at the appropriate point, I switched to fsolve().

My only defence is that I assumed the OP only wanted to produce the final diagram: if exact answers are needed, just change

sol:= fsolve( [Equation(C3), Equation(E)]):

to

sol:= solve( [Equation(C3), Equation(E)], x>0, y<0):

You might also have to remove a couple of evalf() "wrappers", elsewhere.

Or you can check just how"close" the point is to the circle with

evalf(eval( Equation(C3), [x=coordinates(PP)[1],y=coordinates(PP)[2]]));

which for me returns 0.=0.

I suggesst that you remove/fix the stuff which is just hilariously wrong - for example

  1. Your worksheet contains the statement assume(0 < 1, 0 < -1, 1 < -1). My attitude to this is that everyone (inclucing Maple) *knows* that 0<1 - so why do you have to "assume" it. On the other hand the second entry, 0<-1. Do you live on a planet where this is true? That 0 is less than -1 - come on! And as for the third entry 1 < -1: again on what planet is 1 less than  -1?
  2. Second problem, you have the statement ic := x1(0) = 1, x1(0) = 0. OK, which is it? Because x1(0) cannot be equal to two different values

Present something vaguely sensible!

@JAMET 
I don't really understand your caclculation for the triangle T, or why the coordinates you obtain are "approximate", so in the attached I have performed the calculation a completely different way, for which the process is

  1. Determine where thte circle C3 and the ellipse coincide (this is a tangent point)
  2. Construct the line through the centre of C3 and the tangent point in (1) above
  3. Construct the line perpendicular the line in (2) above through the point in (1) above
  4. Determine the points where the line in (3) above intersects the external square Sq. This provides two points on a triangle for whihc the third point is [a, -b]. Given these three points, construction of the triangle and its incircle is trivial.

I have also shown how to use RGB values to color the four "corner" circles - using [0, 1, 0] just as an example, so these circles should appear "green", which they do in the attached

  restart;
  with(geometry):
  _EnvHorizontalName := x:
  _EnvVerticalName := y:

  a := 7:
  b := a*(1/2 + 1/6*sqrt(45 - 24*sqrt(3)))^2:
  r := b*sqrt(b)/(sqrt(a + b) + sqrt(a)):
  line(Lix,x=0):
  line(Liy,y=0):

  point(A, -a, -b):
  point(B, -a,  b):
  point(C,  a,  b):
  point(F,  a, -b):
  square(Sq, [A, B, C, F]):
  ellipse(E, x^2/a^2 + y^2/b^2 = 1):

  circle(C1, [point(P1, [r, 0]), r]):
  circle(C2, [point(P2, [(1 + sqrt(3))*r,  r]), r]):
  circle(C3, [point(P3, [(1 + sqrt(3))*r, -r]), r]):

  reflection(C4, C1, Lix):
  reflection(C5, C2, Lix):
  reflection(C6, C3, Lix):

  sol:= fsolve( [Equation(C3), Equation(E)]):
  point(PP, [eval(x, sol), eval(y,sol)]):
  line(ll1, [PP, P3]):
  PerpendicularLine(ll2, PP, ll1):
  point( PX, [a, rhs(isolate(evalf(eval( Equation(ll2), x=a)), y))]):
  point( PY, [rhs(isolate( evalf(eval( Equation(ll2), y=-b)), x)), -b]):
  triangle(T1, [PY, PX, F]):
  incircle(ic1, T1):
  reflection(ic2, ic1, Lix):
  reflection(ic3, ic1, Liy):
  reflection(ic4, ic2, Liy):

  draw( [ Sq(color = blue, filled=true, transparency=0.7),
          C1(color = orange, filled = true,transparency=0.7),
          E(color=white,thickness=4),
          C2(color = orange, filled = true,transparency=0.7),
          C3(color = orange, filled = true,transparency=0.7),
          C4(color = orange, filled = true,transparency=0.7),
          C5(color = orange, filled = true,transparency=0.7),
          C6(color = orange, filled = true,transparency=0.7),
          Sq(color=blue),
          ic1(color=ColorTools:-Color([0.0, 1.0, 0.0]), filled=true),
          ic2(color=ColorTools:-Color([0.0, 1.0, 0.0]), filled=true),
          ic3(color=ColorTools:-Color([0.0, 1.0, 0.0]), filled=true),
          ic4(color=ColorTools:-Color([0.0, 1.0, 0.0]), filled=true)
        ],
        axes = none,
        view = [-a .. a, -b .. b],
        scaling = constrained
      );

 

 

Download ellgeom.mw

there is a missing multiplication sign in your first equation. Unfortunately whe I fix this (as in the attached) the dsolve() command never terminates - or at least not in the time I'm prepared to wait!

dsolve({(D(x))(t) = x(t)*(x(t)+beta)^2*(y(t)^2+alpha)^2, (D(y))(t) = (a*x(t)+b)*(y(t)^6+theta)+(c*x(t)+d)*(y(t)^4+Theta*y(t)^2)}, {x(t), y(t)})

``

Download autODE.mw

@Deeshani 

Given an answer, you change the question; producing more problems and errors because you are completely incapable of reading Maple help, or appreciating when you have to use a numeric approach to solving an ODE (system) and when an analytic solution is obtainable, and why the two require different plotting commands

It is also annoying thast the nswer to this problem has been provided before at

https://www.mapleprimes.com/questions/234627-I-Cannot-Generate-An--Analytic-Solution

which presumably your are incapable of reading/understanding.

Anyhow using exactly the saem techniques/methods whihc I have used to answer your previous questions (none of which you are interested in or capable of understanding), I can produce the attached. Just FYI, it took me less than one minute!

"p(u) :=1/(2)*(sech^(2)(u));   ode1:=diff(x1(u), u, u) -1/(2)*p(u)*x1(u) = 0;  m :=dsolve([ode1,x1(0)=1,D(x1)(0)=0]);  plot([ p(u), rhs(m) ],                    u=-8..8,                    color=[red, blue]                  );"

p := proc (u) options operator, arrow; (1/2)*sech(u)^2 end proc

 

ode1 := diff(x1(u), u, u)-(1/4)*sech(u)^2*x1(u) = 0

 

x1(u) = piecewise(u < 0, ((1/2)*I)*(2*cosh(2*u)+2)^(1/2)*(2*cosh(2*u)-2)^(1/4)*hypergeom([1/4, 1/4], [1/2], 1/2-(1/2)*cosh(2*u))/sinh(2*u)^(1/2), u = 0, 1, 0 < u, (1/2)*(2*cosh(2*u)+2)^(1/2)*(2*cosh(2*u)-2)^(1/4)*hypergeom([1/4, 1/4], [1/2], 1/2-(1/2)*cosh(2*u))/sinh(2*u)^(1/2))

 

 

"p(u) :=1/(2)*(sech^(2)(u));   ode1:=diff(y1(u), u, u) +1/(2)*p(u)*y1(u) = 0;  m :=dsolve([ode1,y1(0)=1,D(y1)(0)=0], numeric);  plots:-display( [ plots:-odeplot(m, [u,y1(u)], u=-8..8),                                     plot(p(u),                                                u=-8..8,                                                color=[red, blue]                                             )                                  ]                  );"

proc (u) options operator, arrow, function_assign; (1/2)*sech(u)^2 end proc

 

diff(diff(y1(u), u), u)+(1/4)*sech(u)^2*y1(u) = 0

 

proc (x_rkf45) local _res, _dat, _vars, _solnproc, _xout, _ndsol, _pars, _n, _i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; if 1 < nargs then error "invalid input: too many arguments" end if; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then _xout := evalf[_EnvDSNumericSaveDigits](x_rkf45) else _xout := evalf(x_rkf45) end if; _dat := Array(1..4, {(1) = proc (_xin) local _xout, _dtbl, _dat, _vmap, _x0, _y0, _val, _dig, _n, _ne, _nd, _nv, _pars, _ini, _par, _i, _j, _k, _src; option `Copyright (c) 2002 by Waterloo Maple Inc. All rights reserved.`; table( [( "complex" ) = false ] ) _xout := _xin; _pars := []; _dtbl := array( 1 .. 4, [( 1 ) = (array( 1 .. 28, [( 1 ) = (datatype = float[8], order = C_order, storage = rectangular), ( 2 ) = (datatype = float[8], order = C_order, storage = rectangular), ( 3 ) = ([0, 0, 0, Array(1..0, 1..2, {}, datatype = float[8], order = C_order)]), ( 4 ) = (Array(1..65, {(1) = 2, (2) = 2, (3) = 0, (4) = 0, (5) = 0, (6) = 0, (7) = 1, (8) = 0, (9) = 0, (10) = 0, (11) = 0, (12) = 0, (13) = 0, (14) = 0, (15) = 0, (16) = 0, (17) = 0, (18) = 1, (19) = 30000, (20) = 0, (21) = 0, (22) = 1, (23) = 4, (24) = 0, (25) = 1, (26) = 15, (27) = 1, (28) = 0, (29) = 1, (30) = 3, (31) = 3, (32) = 0, (33) = 1, (34) = 0, (35) = 0, (36) = 0, (37) = 0, (38) = 0, (39) = 0, (40) = 0, (41) = 0, (42) = 0, (43) = 1, (44) = 0, (45) = 0, (46) = 0, (47) = 0, (48) = 0, (49) = 0, (50) = 50, (51) = 1, (52) = 0, (53) = 0, (54) = 0, (55) = 0, (56) = 0, (57) = 0, (58) = 0, (59) = 10000, (60) = 0, (61) = 1000, (62) = 0, (63) = 0, (64) = -1, (65) = 0}, datatype = integer[8])), ( 5 ) = (Array(1..28, {(1) = .0, (2) = 0.10e-5, (3) = .0, (4) = 0.500001e-14, (5) = .0, (6) = 0.20190635023366182e-1, (7) = .0, (8) = 0.10e-5, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = 1.0, (14) = .0, (15) = .49999999999999, (16) = .0, (17) = 1.0, (18) = 1.0, (19) = .0, (20) = .0, (21) = 1.0, (22) = 1.0, (23) = .0, (24) = .0, (25) = 0.10e-14, (26) = .0, (27) = .0, (28) = .0}, datatype = float[8], order = C_order)), ( 6 ) = (Array(1..2, {(1) = 1.0, (2) = .0}, datatype = float[8], order = C_order)), ( 7 ) = ([Array(1..4, 1..7, {(1, 1) = .0, (1, 2) = .203125, (1, 3) = .3046875, (1, 4) = .75, (1, 5) = .8125, (1, 6) = .40625, (1, 7) = .8125, (2, 1) = 0.6378173828125e-1, (2, 2) = .0, (2, 3) = .279296875, (2, 4) = .27237892150878906, (2, 5) = -0.9686851501464844e-1, (2, 6) = 0.1956939697265625e-1, (2, 7) = .5381584167480469, (3, 1) = 0.31890869140625e-1, (3, 2) = .0, (3, 3) = -.34375, (3, 4) = -.335235595703125, (3, 5) = .2296142578125, (3, 6) = .41748046875, (3, 7) = 11.480712890625, (4, 1) = 0.9710520505905151e-1, (4, 2) = .0, (4, 3) = .40350341796875, (4, 4) = 0.20297467708587646e-1, (4, 5) = -0.6054282188415527e-2, (4, 6) = -0.4770040512084961e-1, (4, 7) = .77858567237854}, datatype = float[8], order = C_order), Array(1..6, 1..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = 1.0, (2, 1) = .25, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = 1.0, (3, 1) = .1875, (3, 2) = .5625, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = 2.0, (4, 1) = .23583984375, (4, 2) = -.87890625, (4, 3) = .890625, (4, 4) = .0, (4, 5) = .0, (4, 6) = .2681884765625, (5, 1) = .1272735595703125, (5, 2) = -.5009765625, (5, 3) = .44921875, (5, 4) = -0.128936767578125e-1, (5, 5) = .0, (5, 6) = 0.626220703125e-1, (6, 1) = -0.927734375e-1, (6, 2) = .626220703125, (6, 3) = -.4326171875, (6, 4) = .1418304443359375, (6, 5) = -0.861053466796875e-1, (6, 6) = .3131103515625}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .386, (3) = .21, (4) = .63, (5) = 1.0, (6) = 1.0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .25, (2) = -.1043, (3) = .1035, (4) = -0.362e-1, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = 1.544, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (3, 1) = .9466785280815533, (3, 2) = .25570116989825814, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (4, 1) = 3.3148251870684886, (4, 2) = 2.896124015972123, (4, 3) = .9986419139977808, (4, 4) = .0, (4, 5) = .0, (5, 1) = 1.2212245092262748, (5, 2) = 6.019134481287752, (5, 3) = 12.537083329320874, (5, 4) = -.687886036105895, (5, 5) = .0, (6, 1) = 1.2212245092262748, (6, 2) = 6.019134481287752, (6, 3) = 12.537083329320874, (6, 4) = -.687886036105895, (6, 5) = 1.0}, datatype = float[8], order = C_order), Array(1..6, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = -5.6688, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (3, 1) = -2.4300933568337584, (3, 2) = -.20635991570891224, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (4, 1) = -.10735290581452621, (4, 2) = -9.594562251021896, (4, 3) = -20.470286148096154, (4, 4) = .0, (4, 5) = .0, (5, 1) = 7.496443313968615, (5, 2) = -10.246804314641219, (5, 3) = -33.99990352819906, (5, 4) = 11.708908932061595, (5, 5) = .0, (6, 1) = 8.083246795922411, (6, 2) = -7.981132988062785, (6, 3) = -31.52159432874373, (6, 4) = 16.319305431231363, (6, 5) = -6.0588182388340535}, datatype = float[8], order = C_order), Array(1..3, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = 10.126235083446911, (2, 2) = -7.487995877607633, (2, 3) = -34.800918615557414, (2, 4) = -7.9927717075687275, (2, 5) = 1.0251377232956207, (3, 1) = -.6762803392806898, (3, 2) = 6.087714651678606, (3, 3) = 16.43084320892463, (3, 4) = 24.767225114183653, (3, 5) = -6.5943891257167815}, datatype = float[8], order = C_order)]), ( 9 ) = ([Array(1..2, {(1) = .1, (2) = .1}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0}, datatype = float[8], order = C_order), Array(1..2, 1..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = 0, (2) = 0}, datatype = integer[8]), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = 0, (2) = 0}, datatype = integer[8])]), ( 8 ) = ([Array(1..2, {(1) = 1.0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = .0}, datatype = float[8], order = C_order), Array(1..2, {(1) = .0, (2) = -.25}, datatype = float[8], order = C_order), 0, 0]), ( 11 ) = (Array(1..6, 0..2, {(1, 1) = .0, (1, 2) = .0, (2, 0) = .0, (2, 1) = .0, (2, 2) = .0, (3, 0) = .0, (3, 1) = .0, (3, 2) = .0, (4, 0) = .0, (4, 1) = .0, (4, 2) = .0, (5, 0) = .0, (5, 1) = .0, (5, 2) = .0, (6, 0) = .0, (6, 1) = .0, (6, 2) = .0}, datatype = float[8], order = C_order)), ( 10 ) = ([proc (N, X, Y, YP) option `[Y[1] = y1(u), Y[2] = diff(y1(u),u)]`; YP[2] := -(1/4)*sech(X)^2*Y[1]; YP[1] := Y[2]; 0 end proc, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), ( 13 ) = (), ( 12 ) = (), ( 15 ) = ("rkf45"), ( 14 ) = ([0, 0]), ( 18 ) = ([]), ( 19 ) = (0), ( 16 ) = ([0, 0, 0, 0, 0, []]), ( 17 ) = ([proc (N, X, Y, YP) option `[Y[1] = y1(u), Y[2] = diff(y1(u),u)]`; YP[2] := -(1/4)*sech(X)^2*Y[1]; YP[1] := Y[2]; 0 end proc, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), ( 22 ) = (0), ( 23 ) = (0), ( 20 ) = ([]), ( 21 ) = (0), ( 27 ) = (""), ( 26 ) = (Array(1..0, {})), ( 25 ) = (Array(1..0, {})), ( 24 ) = (0), ( 28 ) = (0)  ] ))  ] ); _y0 := Array(0..2, {(1) = 0., (2) = 1.}); _vmap := array( 1 .. 2, [( 1 ) = (1), ( 2 ) = (2)  ] ); _x0 := _dtbl[1][5][5]; _n := _dtbl[1][4][1]; _ne := _dtbl[1][4][3]; _nd := _dtbl[1][4][4]; _nv := _dtbl[1][4][16]; if not type(_xout, 'numeric') then if member(_xout, ["start", "left", "right"]) then if _Env_smart_dsolve_numeric = true or _dtbl[1][4][10] = 1 then if _xout = "left" then if type(_dtbl[2], 'table') then return _dtbl[2][5][1] end if elif _xout = "right" then if type(_dtbl[3], 'table') then return _dtbl[3][5][1] end if end if end if; return _dtbl[1][5][5] elif _xout = "method" then return _dtbl[1][15] elif _xout = "storage" then return evalb(_dtbl[1][4][10] = 1) elif _xout = "leftdata" then if not type(_dtbl[2], 'array') then return NULL else return eval(_dtbl[2]) end if elif _xout = "rightdata" then if not type(_dtbl[3], 'array') then return NULL else return eval(_dtbl[3]) end if elif _xout = "enginedata" then return eval(_dtbl[1]) elif _xout = "enginereset" then _dtbl[2] := evaln(_dtbl[2]); _dtbl[3] := evaln(_dtbl[3]); return NULL elif _xout = "initial" then return procname(_y0[0]) elif _xout = "laxtol" then return _dtbl[`if`(member(_dtbl[4], {2, 3}), _dtbl[4], 1)][5][18] elif _xout = "numfun" then return `if`(member(_dtbl[4], {2, 3}), _dtbl[_dtbl[4]][4][18], 0) elif _xout = "parameters" then return [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] elif _xout = "initial_and_parameters" then return procname(_y0[0]), [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] elif _xout = "last" then if _dtbl[4] <> 2 and _dtbl[4] <> 3 or _x0-_dtbl[_dtbl[4]][5][1] = 0. then error "no information is available on last computed point" else _xout := _dtbl[_dtbl[4]][5][1] end if elif _xout = "function" then if _dtbl[1][4][33]-2. = 0 then return eval(_dtbl[1][10], 1) else return eval(_dtbl[1][10][1], 1) end if elif _xout = "map" then return copy(_vmap) elif type(_xin, `=`) and type(rhs(_xin), 'list') and member(lhs(_xin), {"initial", "parameters", "initial_and_parameters"}) then _ini, _par := [], []; if lhs(_xin) = "initial" then _ini := rhs(_xin) elif lhs(_xin) = "parameters" then _par := rhs(_xin) elif select(type, rhs(_xin), `=`) <> [] then _par, _ini := selectremove(type, rhs(_xin), `=`) elif nops(rhs(_xin)) < nops(_pars)+1 then error "insufficient data for specification of initial and parameters" else _par := rhs(_xin)[-nops(_pars) .. -1]; _ini := rhs(_xin)[1 .. -nops(_pars)-1] end if; _xout := lhs(_xout); _i := false; if _par <> [] then _i := `dsolve/numeric/process_parameters`(_n, _pars, _par, _y0) end if; if _ini <> [] then _i := `dsolve/numeric/process_initial`(_n-_ne, _ini, _y0, _pars, _vmap) or _i end if; if _i then `dsolve/numeric/SC/reinitialize`(_dtbl, _y0, _n, procname, _pars); if _Env_smart_dsolve_numeric = true and type(_y0[0], 'numeric') and _dtbl[1][4][10] <> 1 then procname("right") := _y0[0]; procname("left") := _y0[0] end if end if; if _xout = "initial" then return [_y0[0], seq(_y0[_vmap[_i]], _i = 1 .. _n-_ne)] elif _xout = "parameters" then return [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] else return [_y0[0], seq(_y0[_vmap[_i]], _i = 1 .. _n-_ne)], [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] end if elif _xin = "eventstop" then if _nv = 0 then error "this solution has no events" end if; _i := _dtbl[4]; if _i <> 2 and _i <> 3 then return 0 end if; if _dtbl[_i][4][10] = 1 and assigned(_dtbl[5-_i]) and _dtbl[_i][4][9] < 100 and 100 <= _dtbl[5-_i][4][9] then _i := 5-_i; _dtbl[4] := _i; _j := round(_dtbl[_i][4][17]); return round(_dtbl[_i][3][1][_j, 1]) elif 100 <= _dtbl[_i][4][9] then _j := round(_dtbl[_i][4][17]); return round(_dtbl[_i][3][1][_j, 1]) else return 0 end if elif _xin = "eventstatus" then if _nv = 0 then error "this solution has no events" end if; _i := [selectremove(proc (a) options operator, arrow; _dtbl[1][3][1][a, 7] = 1 end proc, {seq(_j, _j = 1 .. round(_dtbl[1][3][1][_nv+1, 1]))})]; return ':-enabled' = _i[1], ':-disabled' = _i[2] elif _xin = "eventclear" then if _nv = 0 then error "this solution has no events" end if; _i := _dtbl[4]; if _i <> 2 and _i <> 3 then error "no events to clear" end if; if _dtbl[_i][4][10] = 1 and assigned(_dtbl[5-_i]) and _dtbl[_i][4][9] < 100 and 100 < _dtbl[5-_i][4][9] then _dtbl[4] := 5-_i; _i := 5-_i end if; if _dtbl[_i][4][9] < 100 then error "no events to clear" elif _nv < _dtbl[_i][4][9]-100 then error "event error condition cannot be cleared" else _j := _dtbl[_i][4][9]-100; if irem(round(_dtbl[_i][3][1][_j, 4]), 2) = 1 then error "retriggerable events cannot be cleared" end if; _j := round(_dtbl[_i][3][1][_j, 1]); for _k to _nv do if _dtbl[_i][3][1][_k, 1] = _j then if _dtbl[_i][3][1][_k, 2] = 3 then error "range events cannot be cleared" end if; _dtbl[_i][3][1][_k, 8] := _dtbl[_i][3][1][_nv+1, 8] end if end do; _dtbl[_i][4][17] := 0; _dtbl[_i][4][9] := 0; if _dtbl[1][4][10] = 1 then if _i = 2 then try procname(procname("left")) catch:  end try else try procname(procname("right")) catch:  end try end if end if end if; return  elif type(_xin, `=`) and member(lhs(_xin), {"eventdisable", "eventenable"}) then if _nv = 0 then error "this solution has no events" end if; if type(rhs(_xin), {('list')('posint'), ('set')('posint')}) then _i := {op(rhs(_xin))} elif type(rhs(_xin), 'posint') then _i := {rhs(_xin)} else error "event identifiers must be integers in the range 1..%1", round(_dtbl[1][3][1][_nv+1, 1]) end if; if select(proc (a) options operator, arrow; _nv < a end proc, _i) <> {} then error "event identifiers must be integers in the range 1..%1", round(_dtbl[1][3][1][_nv+1, 1]) end if; _k := {}; for _j to _nv do if member(round(_dtbl[1][3][1][_j, 1]), _i) then _k := `union`(_k, {_j}) end if end do; _i := _k; if lhs(_xin) = "eventdisable" then _dtbl[4] := 0; _j := [evalb(assigned(_dtbl[2]) and member(_dtbl[2][4][17], _i)), evalb(assigned(_dtbl[3]) and member(_dtbl[3][4][17], _i))]; for _k in _i do _dtbl[1][3][1][_k, 7] := 0; if assigned(_dtbl[2]) then _dtbl[2][3][1][_k, 7] := 0 end if; if assigned(_dtbl[3]) then _dtbl[3][3][1][_k, 7] := 0 end if end do; if _j[1] then for _k to _nv+1 do if _k <= _nv and not type(_dtbl[2][3][4][_k, 1], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to defined init `, _dtbl[2][3][4][_k, 1]); _dtbl[2][3][1][_k, 8] := _dtbl[2][3][4][_k, 1] elif _dtbl[2][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[2][3][1][_k, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to rate hysteresis init `, _dtbl[2][5][24]); _dtbl[2][3][1][_k, 8] := _dtbl[2][5][24] elif _dtbl[2][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[2][3][1][_k, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to initial init `, _x0); _dtbl[2][3][1][_k, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to fireinitial init `, _x0-1); _dtbl[2][3][1][_k, 8] := _x0-1 end if end do; _dtbl[2][4][17] := 0; _dtbl[2][4][9] := 0; if _dtbl[1][4][10] = 1 then procname(procname("left")) end if end if; if _j[2] then for _k to _nv+1 do if _k <= _nv and not type(_dtbl[3][3][4][_k, 2], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to defined init `, _dtbl[3][3][4][_k, 2]); _dtbl[3][3][1][_k, 8] := _dtbl[3][3][4][_k, 2] elif _dtbl[3][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[3][3][1][_k, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to rate hysteresis init `, _dtbl[3][5][24]); _dtbl[3][3][1][_k, 8] := _dtbl[3][5][24] elif _dtbl[3][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[3][3][1][_k, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to initial init `, _x0); _dtbl[3][3][1][_k, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to fireinitial init `, _x0+1); _dtbl[3][3][1][_k, 8] := _x0+1 end if end do; _dtbl[3][4][17] := 0; _dtbl[3][4][9] := 0; if _dtbl[1][4][10] = 1 then procname(procname("right")) end if end if else for _k in _i do _dtbl[1][3][1][_k, 7] := 1 end do; _dtbl[2] := evaln(_dtbl[2]); _dtbl[3] := evaln(_dtbl[3]); _dtbl[4] := 0; if _dtbl[1][4][10] = 1 then if _x0 <= procname("right") then try procname(procname("right")) catch:  end try end if; if procname("left") <= _x0 then try procname(procname("left")) catch:  end try end if end if end if; return  elif type(_xin, `=`) and lhs(_xin) = "eventfired" then if not type(rhs(_xin), 'list') then error "'eventfired' must be specified as a list" end if; if _nv = 0 then error "this solution has no events" end if; if _dtbl[4] <> 2 and _dtbl[4] <> 3 then error "'direction' must be set prior to calling/setting 'eventfired'" end if; _i := _dtbl[4]; _val := NULL; if not assigned(_EnvEventRetriggerWarned) then _EnvEventRetriggerWarned := false end if; for _k in rhs(_xin) do if type(_k, 'integer') then _src := _k elif type(_k, 'integer' = 'anything') and type(evalf(rhs(_k)), 'numeric') then _k := lhs(_k) = evalf[max(Digits, 18)](rhs(_k)); _src := lhs(_k) else error "'eventfired' entry is not valid: %1", _k end if; if _src < 1 or round(_dtbl[1][3][1][_nv+1, 1]) < _src then error "event identifiers must be integers in the range 1..%1", round(_dtbl[1][3][1][_nv+1, 1]) end if; _src := {seq(`if`(_dtbl[1][3][1][_j, 1]-_src = 0., _j, NULL), _j = 1 .. _nv)}; if nops(_src) <> 1 then error "'eventfired' can only be set/queried for root-finding events and time/interval events" end if; _src := _src[1]; if _dtbl[1][3][1][_src, 2] <> 0. and _dtbl[1][3][1][_src, 2]-2. <> 0. then error "'eventfired' can only be set/queried for root-finding events and time/interval events" elif irem(round(_dtbl[1][3][1][_src, 4]), 2) = 1 then if _EnvEventRetriggerWarned = false then WARNING(`'eventfired' has no effect on events that retrigger`) end if; _EnvEventRetriggerWarned := true end if; if _dtbl[_i][3][1][_src, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_src, 4]), 32), 2) = 1 then _val := _val, undefined elif type(_dtbl[_i][3][4][_src, _i-1], 'undefined') or _i = 2 and _dtbl[2][3][1][_src, 8] < _dtbl[2][3][4][_src, 1] or _i = 3 and _dtbl[3][3][4][_src, 2] < _dtbl[3][3][1][_src, 8] then _val := _val, _dtbl[_i][3][1][_src, 8] else _val := _val, _dtbl[_i][3][4][_src, _i-1] end if; if type(_k, `=`) then if _dtbl[_i][3][1][_src, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_src, 4]), 32), 2) = 1 then error "cannot set event code for a rate hysteresis event" end if; userinfo(3, {'events', 'eventreset'}, `manual set event code `, _src, ` to value `, rhs(_k)); _dtbl[_i][3][1][_src, 8] := rhs(_k); _dtbl[_i][3][4][_src, _i-1] := rhs(_k) end if end do; return [_val] elif type(_xin, `=`) and lhs(_xin) = "direction" then if not member(rhs(_xin), {-1, 1, ':-left', ':-right'}) then error "'direction' must be specified as either '1' or 'right' (positive) or '-1' or 'left' (negative)" end if; _src := `if`(_dtbl[4] = 2, -1, `if`(_dtbl[4] = 3, 1, undefined)); _i := `if`(member(rhs(_xin), {1, ':-right'}), 3, 2); _dtbl[4] := _i; _dtbl[_i] := `dsolve/numeric/SC/IVPdcopy`(_dtbl[1], `if`(assigned(_dtbl[_i]), _dtbl[_i], NULL)); if 0 < _nv then for _j to _nv+1 do if _j <= _nv and not type(_dtbl[_i][3][4][_j, _i-1], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to defined init `, _dtbl[_i][3][4][_j, _i-1]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][3][4][_j, _i-1] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to rate hysteresis init `, _dtbl[_i][5][24]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][5][24] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to initial init `, _x0); _dtbl[_i][3][1][_j, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to fireinitial init `, _x0-2*_i+5.0); _dtbl[_i][3][1][_j, 8] := _x0-2*_i+5.0 end if end do end if; return _src elif _xin = "eventcount" then if _dtbl[1][3][1] = 0 or _dtbl[4] <> 2 and _dtbl[4] <> 3 then return 0 else return round(_dtbl[_dtbl[4]][3][1][_nv+1, 12]) end if elif type(_xin, `=`) and lhs(_xin) = "setdatacallback" then if not type(rhs(_xin), 'nonegint') then error "data callback must be a nonnegative integer (address)" end if; _dtbl[1][28] := rhs(_xin) else return "procname" end if end if; if _xout = _x0 then return [_x0, seq(evalf(_dtbl[1][6][_vmap[_i]]), _i = 1 .. _n-_ne)] end if; _i := `if`(_x0 <= _xout, 3, 2); if _xin = "last" and 0 < _dtbl[_i][4][9] and _dtbl[_i][4][9] < 100 then _dat := eval(_dtbl[_i], 2); _j := _dat[4][20]; return [_dat[11][_j, 0], seq(_dat[11][_j, _vmap[_i]], _i = 1 .. _n-_ne-_nd), seq(_dat[8][1][_vmap[_i]], _i = _n-_ne-_nd+1 .. _n-_ne)] end if; if not type(_dtbl[_i], 'array') then _dtbl[_i] := `dsolve/numeric/SC/IVPdcopy`(_dtbl[1], `if`(assigned(_dtbl[_i]), _dtbl[_i], NULL)); if 0 < _nv then for _j to _nv+1 do if _j <= _nv and not type(_dtbl[_i][3][4][_j, _i-1], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to defined init `, _dtbl[_i][3][4][_j, _i-1]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][3][4][_j, _i-1] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to rate hysteresis init `, _dtbl[_i][5][24]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][5][24] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to initial init `, _x0); _dtbl[_i][3][1][_j, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to fireinitial init `, _x0-2*_i+5.0); _dtbl[_i][3][1][_j, 8] := _x0-2*_i+5.0 end if end do end if end if; if _xin <> "last" then if 0 < 0 then if `dsolve/numeric/checkglobals`(op(_dtbl[1][14]), _pars, _n, _y0) then `dsolve/numeric/SC/reinitialize`(_dtbl, _y0, _n, procname, _pars, _i) end if end if; if _dtbl[1][4][7] = 0 then error "parameters must be initialized before solution can be computed" end if end if; _dat := eval(_dtbl[_i], 2); _dtbl[4] := _i; try _src := `dsolve/numeric/SC/IVPrun`(_dat, _xout) catch: userinfo(2, `dsolve/debug`, print(`Exception in solnproc:`, [lastexception][2 .. -1])); error  end try; if _dat[17] <> _dtbl[1][17] then _dtbl[1][17] := _dat[17]; _dtbl[1][10] := _dat[10] end if; if _src = 0 and 100 < _dat[4][9] then _val := _dat[3][1][_nv+1, 8] else _val := _dat[11][_dat[4][20], 0] end if; if _src <> 0 or _dat[4][9] <= 0 then _dtbl[1][5][1] := _xout else _dtbl[1][5][1] := _val end if; if _i = 3 and _val < _xout then Rounding := -infinity; if _dat[4][9] = 1 then error "cannot evaluate the solution further right of %1, probably a singularity", evalf[8](_val) elif _dat[4][9] = 2 then error "cannot evaluate the solution further right of %1, maxfun limit exceeded (see ?dsolve,maxfun for details)", evalf[8](_val) elif _dat[4][9] = 3 then if _dat[4][25] = 3 then error "cannot evaluate the solution past the initial point, problem may be initially singular or improperly set up" else error "cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up" end if elif _dat[4][9] = 4 then error "cannot evaluate the solution further right of %1, accuracy goal cannot be achieved with specified 'minstep'", evalf[8](_val) elif _dat[4][9] = 5 then error "cannot evaluate the solution further right of %1, too many step failures, tolerances may be too loose for problem", evalf[8](_val) elif _dat[4][9] = 6 then error "cannot evaluate the solution further right of %1, cannot downgrade delay storage for problems with delay derivative order > 1, try increasing delaypts", evalf[8](_val) elif _dat[4][9] = 10 then error "cannot evaluate the solution further right of %1, interrupt requested", evalf[8](_val) elif 100 < _dat[4][9] then if _dat[4][9]-100 = _nv+1 then error "constraint projection failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+2 then error "index-1 and derivative evaluation failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+3 then error "maximum number of event iterations reached (%1) at t=%2", round(_dat[3][1][_nv+1, 3]), evalf[8](_val) else if _Env_dsolve_nowarnstop <> true then `dsolve/numeric/warning`(StringTools:-FormatMessage("cannot evaluate the solution further right of %1, event #%2 triggered a halt", evalf[8](_val), round(_dat[3][1][_dat[4][9]-100, 1]))) end if; Rounding := 'nearest'; _xout := _val end if else error "cannot evaluate the solution further right of %1", evalf[8](_val) end if elif _i = 2 and _xout < _val then Rounding := infinity; if _dat[4][9] = 1 then error "cannot evaluate the solution further left of %1, probably a singularity", evalf[8](_val) elif _dat[4][9] = 2 then error "cannot evaluate the solution further left of %1, maxfun limit exceeded (see ?dsolve,maxfun for details)", evalf[8](_val) elif _dat[4][9] = 3 then if _dat[4][25] = 3 then error "cannot evaluate the solution past the initial point, problem may be initially singular or improperly set up" else error "cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up" end if elif _dat[4][9] = 4 then error "cannot evaluate the solution further left of %1, accuracy goal cannot be achieved with specified 'minstep'", evalf[8](_val) elif _dat[4][9] = 5 then error "cannot evaluate the solution further left of %1, too many step failures, tolerances may be too loose for problem", evalf[8](_val) elif _dat[4][9] = 6 then error "cannot evaluate the solution further left of %1, cannot downgrade delay storage for problems with delay derivative order > 1, try increasing delaypts", evalf[8](_val) elif _dat[4][9] = 10 then error "cannot evaluate the solution further right of %1, interrupt requested", evalf[8](_val) elif 100 < _dat[4][9] then if _dat[4][9]-100 = _nv+1 then error "constraint projection failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+2 then error "index-1 and derivative evaluation failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+3 then error "maximum number of event iterations reached (%1) at t=%2", round(_dat[3][1][_nv+1, 3]), evalf[8](_val) else if _Env_dsolve_nowarnstop <> true then `dsolve/numeric/warning`(StringTools:-FormatMessage("cannot evaluate the solution further left of %1, event #%2 triggered a halt", evalf[8](_val), round(_dat[3][1][_dat[4][9]-100, 1]))) end if; Rounding := 'nearest'; _xout := _val end if else error "cannot evaluate the solution further left of %1", evalf[8](_val) end if end if; if _EnvInFsolve = true then _dig := _dat[4][26]; if type(_EnvDSNumericSaveDigits, 'posint') then _dat[4][26] := _EnvDSNumericSaveDigits else _dat[4][26] := Digits end if; _Env_dsolve_SC_native := true; if _dat[4][25] = 1 then _i := 1; _dat[4][25] := 2 else _i := _dat[4][25] end if; _val := `dsolve/numeric/SC/IVPval`(_dat, _xout, _src); _dat[4][25] := _i; _dat[4][26] := _dig; [_xout, seq(_val[_vmap[_i]], _i = 1 .. _n-_ne)] else Digits := _dat[4][26]; _val := `dsolve/numeric/SC/IVPval`(eval(_dat, 2), _xout, _src); [_xout, seq(_val[_vmap[_i]], _i = 1 .. _n-_ne)] end if end proc, (2) = Array(0..0, {}), (3) = [u, y1(u), diff(y1(u), u)], (4) = []}); _vars := _dat[3]; _pars := map(rhs, _dat[4]); _n := nops(_vars)-1; _solnproc := _dat[1]; if not type(_xout, 'numeric') then if member(x_rkf45, ["start", 'start', "method", 'method', "left", 'left', "right", 'right', "leftdata", "rightdata", "enginedata", "eventstop", 'eventstop', "eventclear", 'eventclear', "eventstatus", 'eventstatus', "eventcount", 'eventcount', "laxtol", 'laxtol', "numfun", 'numfun', NULL]) then _res := _solnproc(convert(x_rkf45, 'string')); if 1 < nops([_res]) then return _res elif type(_res, 'array') then return eval(_res, 1) elif _res <> "procname" then return _res end if elif member(x_rkf45, ["last", 'last', "initial", 'initial', "parameters", 'parameters', "initial_and_parameters", 'initial_and_parameters', NULL]) then _xout := convert(x_rkf45, 'string'); _res := _solnproc(_xout); if _xout = "parameters" then return [seq(_pars[_i] = _res[_i], _i = 1 .. nops(_pars))] elif _xout = "initial_and_parameters" then return [seq(_vars[_i+1] = [_res][1][_i+1], _i = 0 .. _n), seq(_pars[_i] = [_res][2][_i], _i = 1 .. nops(_pars))] else return [seq(_vars[_i+1] = _res[_i+1], _i = 0 .. _n)] end if elif type(_xout, `=`) and member(lhs(_xout), ["initial", 'initial', "parameters", 'parameters', "initial_and_parameters", 'initial_and_parameters', NULL]) then _xout := convert(lhs(x_rkf45), 'string') = rhs(x_rkf45); if type(rhs(_xout), 'list') then _res := _solnproc(_xout) else error "initial and/or parameter values must be specified in a list" end if; if lhs(_xout) = "initial" then return [seq(_vars[_i+1] = _res[_i+1], _i = 0 .. _n)] elif lhs(_xout) = "parameters" then return [seq(_pars[_i] = _res[_i], _i = 1 .. nops(_pars))] else return [seq(_vars[_i+1] = [_res][1][_i+1], _i = 0 .. _n), seq(_pars[_i] = [_res][2][_i], _i = 1 .. nops(_pars))] end if elif type(_xout, `=`) and member(lhs(_xout), ["eventdisable", 'eventdisable', "eventenable", 'eventenable', "eventfired", 'eventfired', "direction", 'direction', NULL]) then return _solnproc(convert(lhs(x_rkf45), 'string') = rhs(x_rkf45)) elif _xout = "solnprocedure" then return eval(_solnproc) elif _xout = "sysvars" then return _vars end if; if procname <> unknown then return ('procname')(x_rkf45) else _ndsol := 1; _ndsol := _ndsol; _ndsol := pointto(_dat[2][0]); return ('_ndsol')(x_rkf45) end if end if; try _res := _solnproc(_xout); [seq(_vars[_i+1] = _res[_i+1], _i = 0 .. _n)] catch: error  end try end proc

 

 

"restart;    with(plots):    p(u):=1/(2)*(sech^(2)(u));    odeSys:= diff(x(u), u, u) + 1/2*p(u)*x(u) = 0,                          diff(y(u), u, u) - 1/2*p(u)*y(u) = 0,                          diff(v(u), u, u) + 1/4*diff(p(u), u)*(x(u)^2 - y(u)^2) + p(u)*(x(u)*diff(x(u), u) - y(u)*diff(y(u), u)) = 0:    cons1:= v(0) = 1,                         D(v)(0) = 0,                         y(0) = 1,                          D(y)(0) = 0,                          x(0) = 1,                           D(x)(0) = 0:      sol1:= dsolve([odeSys, cons1],  numeric);       display( [ plot( p(u),                                    u=-8..8,                                     color=black                                ),                        plots:-odeplot( sol1,                                                      [  [u, x(u)],                                                          [u, y(u)],                                                           [u, v(u)]                                                       ],                                                         u=-8..8,                                                        color=[red, blue, green]                                                  )                                  ]            );  "

proc (u) options operator, arrow, function_assign; (1/2)*sech(u)^2 end proc

 

proc (x_rkf45) local _res, _dat, _vars, _solnproc, _xout, _ndsol, _pars, _n, _i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; if 1 < nargs then error "invalid input: too many arguments" end if; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then _xout := evalf[_EnvDSNumericSaveDigits](x_rkf45) else _xout := evalf(x_rkf45) end if; _dat := Array(1..4, {(1) = proc (_xin) local _xout, _dtbl, _dat, _vmap, _x0, _y0, _val, _dig, _n, _ne, _nd, _nv, _pars, _ini, _par, _i, _j, _k, _src; option `Copyright (c) 2002 by Waterloo Maple Inc. All rights reserved.`; table( [( "complex" ) = false ] ) _xout := _xin; _pars := []; _dtbl := array( 1 .. 4, [( 1 ) = (array( 1 .. 28, [( 1 ) = (datatype = float[8], order = C_order, storage = rectangular), ( 2 ) = (datatype = float[8], order = C_order, storage = rectangular), ( 3 ) = ([0, 0, 0, Array(1..0, 1..2, {}, datatype = float[8], order = C_order)]), ( 4 ) = (Array(1..65, {(1) = 6, (2) = 6, (3) = 0, (4) = 0, (5) = 0, (6) = 0, (7) = 1, (8) = 0, (9) = 0, (10) = 0, (11) = 0, (12) = 0, (13) = 0, (14) = 0, (15) = 0, (16) = 0, (17) = 0, (18) = 1, (19) = 30000, (20) = 0, (21) = 0, (22) = 1, (23) = 4, (24) = 0, (25) = 1, (26) = 15, (27) = 1, (28) = 0, (29) = 1, (30) = 3, (31) = 3, (32) = 0, (33) = 1, (34) = 0, (35) = 0, (36) = 0, (37) = 0, (38) = 0, (39) = 0, (40) = 0, (41) = 0, (42) = 0, (43) = 1, (44) = 0, (45) = 0, (46) = 0, (47) = 0, (48) = 0, (49) = 0, (50) = 50, (51) = 1, (52) = 0, (53) = 0, (54) = 0, (55) = 0, (56) = 0, (57) = 0, (58) = 0, (59) = 10000, (60) = 0, (61) = 1000, (62) = 0, (63) = 0, (64) = -1, (65) = 0}, datatype = integer[8])), ( 5 ) = (Array(1..28, {(1) = .0, (2) = 0.10e-5, (3) = .0, (4) = 0.500001e-14, (5) = .0, (6) = 0.20190635023366182e-1, (7) = .0, (8) = 0.10e-5, (9) = .0, (10) = .0, (11) = .0, (12) = .0, (13) = 1.0, (14) = .0, (15) = .49999999999999, (16) = .0, (17) = 1.0, (18) = 1.0, (19) = .0, (20) = .0, (21) = 1.0, (22) = 1.0, (23) = .0, (24) = .0, (25) = 0.10e-14, (26) = .0, (27) = .0, (28) = .0}, datatype = float[8], order = C_order)), ( 6 ) = (Array(1..6, {(1) = 1.0, (2) = .0, (3) = 1.0, (4) = .0, (5) = 1.0, (6) = .0}, datatype = float[8], order = C_order)), ( 7 ) = ([Array(1..4, 1..7, {(1, 1) = .0, (1, 2) = .203125, (1, 3) = .3046875, (1, 4) = .75, (1, 5) = .8125, (1, 6) = .40625, (1, 7) = .8125, (2, 1) = 0.6378173828125e-1, (2, 2) = .0, (2, 3) = .279296875, (2, 4) = .27237892150878906, (2, 5) = -0.9686851501464844e-1, (2, 6) = 0.1956939697265625e-1, (2, 7) = .5381584167480469, (3, 1) = 0.31890869140625e-1, (3, 2) = .0, (3, 3) = -.34375, (3, 4) = -.335235595703125, (3, 5) = .2296142578125, (3, 6) = .41748046875, (3, 7) = 11.480712890625, (4, 1) = 0.9710520505905151e-1, (4, 2) = .0, (4, 3) = .40350341796875, (4, 4) = 0.20297467708587646e-1, (4, 5) = -0.6054282188415527e-2, (4, 6) = -0.4770040512084961e-1, (4, 7) = .77858567237854}, datatype = float[8], order = C_order), Array(1..6, 1..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = 1.0, (2, 1) = .25, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = 1.0, (3, 1) = .1875, (3, 2) = .5625, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = 2.0, (4, 1) = .23583984375, (4, 2) = -.87890625, (4, 3) = .890625, (4, 4) = .0, (4, 5) = .0, (4, 6) = .2681884765625, (5, 1) = .1272735595703125, (5, 2) = -.5009765625, (5, 3) = .44921875, (5, 4) = -0.128936767578125e-1, (5, 5) = .0, (5, 6) = 0.626220703125e-1, (6, 1) = -0.927734375e-1, (6, 2) = .626220703125, (6, 3) = -.4326171875, (6, 4) = .1418304443359375, (6, 5) = -0.861053466796875e-1, (6, 6) = .3131103515625}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .386, (3) = .21, (4) = .63, (5) = 1.0, (6) = 1.0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .25, (2) = -.1043, (3) = .1035, (4) = -0.362e-1, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = 1.544, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (3, 1) = .9466785280815533, (3, 2) = .25570116989825814, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (4, 1) = 3.3148251870684886, (4, 2) = 2.896124015972123, (4, 3) = .9986419139977808, (4, 4) = .0, (4, 5) = .0, (5, 1) = 1.2212245092262748, (5, 2) = 6.019134481287752, (5, 3) = 12.537083329320874, (5, 4) = -.687886036105895, (5, 5) = .0, (6, 1) = 1.2212245092262748, (6, 2) = 6.019134481287752, (6, 3) = 12.537083329320874, (6, 4) = -.687886036105895, (6, 5) = 1.0}, datatype = float[8], order = C_order), Array(1..6, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = -5.6688, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (3, 1) = -2.4300933568337584, (3, 2) = -.20635991570891224, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (4, 1) = -.10735290581452621, (4, 2) = -9.594562251021896, (4, 3) = -20.470286148096154, (4, 4) = .0, (4, 5) = .0, (5, 1) = 7.496443313968615, (5, 2) = -10.246804314641219, (5, 3) = -33.99990352819906, (5, 4) = 11.708908932061595, (5, 5) = .0, (6, 1) = 8.083246795922411, (6, 2) = -7.981132988062785, (6, 3) = -31.52159432874373, (6, 4) = 16.319305431231363, (6, 5) = -6.0588182388340535}, datatype = float[8], order = C_order), Array(1..3, 1..5, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (2, 1) = 10.126235083446911, (2, 2) = -7.487995877607633, (2, 3) = -34.800918615557414, (2, 4) = -7.9927717075687275, (2, 5) = 1.0251377232956207, (3, 1) = -.6762803392806898, (3, 2) = 6.087714651678606, (3, 3) = 16.43084320892463, (3, 4) = 24.767225114183653, (3, 5) = -6.5943891257167815}, datatype = float[8], order = C_order)]), ( 9 ) = ([Array(1..6, {(1) = .1, (2) = .1, (3) = .1, (4) = .1, (5) = .1, (6) = .1}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, 1..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0}, datatype = float[8], order = C_order), Array(1..6, 1..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, 1..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0}, datatype = float[8], order = C_order), Array(1..6, 1..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = 0, (2) = 0, (3) = 0, (4) = 0, (5) = 0, (6) = 0}, datatype = integer[8]), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..12, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0, (12) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = 0, (2) = 0, (3) = 0, (4) = 0, (5) = 0, (6) = 0}, datatype = integer[8])]), ( 8 ) = ([Array(1..6, {(1) = 1.0, (2) = .0, (3) = 1.0, (4) = .0, (5) = 1.0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0}, datatype = float[8], order = C_order), Array(1..6, {(1) = .0, (2) = .0, (3) = .0, (4) = -.25, (5) = .0, (6) = .25}, datatype = float[8], order = C_order), 0, 0]), ( 11 ) = (Array(1..6, 0..6, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (2, 0) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (3, 0) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (4, 0) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (5, 0) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (6, 0) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0}, datatype = float[8], order = C_order)), ( 10 ) = ([proc (N, X, Y, YP) option `[Y[1] = v(u), Y[2] = diff(v(u),u), Y[3] = x(u), Y[4] = diff(x(u),u), Y[5] = y(u), Y[6] = diff(y(u),u)]`; YP[2] := (1/4)*sech(X)^2*tanh(X)*(Y[3]^2-Y[5]^2)-(1/2)*sech(X)^2*(Y[3]*Y[4]-Y[5]*Y[6]); YP[4] := -(1/4)*sech(X)^2*Y[3]; YP[6] := (1/4)*sech(X)^2*Y[5]; YP[1] := Y[2]; YP[3] := Y[4]; YP[5] := Y[6]; 0 end proc, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), ( 13 ) = (), ( 12 ) = (), ( 15 ) = ("rkf45"), ( 14 ) = ([0, 0]), ( 18 ) = ([]), ( 19 ) = (0), ( 16 ) = ([0, 0, 0, 0, 0, []]), ( 17 ) = ([proc (N, X, Y, YP) option `[Y[1] = v(u), Y[2] = diff(v(u),u), Y[3] = x(u), Y[4] = diff(x(u),u), Y[5] = y(u), Y[6] = diff(y(u),u)]`; YP[2] := (1/4)*sech(X)^2*tanh(X)*(Y[3]^2-Y[5]^2)-(1/2)*sech(X)^2*(Y[3]*Y[4]-Y[5]*Y[6]); YP[4] := -(1/4)*sech(X)^2*Y[3]; YP[6] := (1/4)*sech(X)^2*Y[5]; YP[1] := Y[2]; YP[3] := Y[4]; YP[5] := Y[6]; 0 end proc, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), ( 22 ) = (0), ( 23 ) = (0), ( 20 ) = ([]), ( 21 ) = (0), ( 27 ) = (""), ( 26 ) = (Array(1..0, {})), ( 25 ) = (Array(1..0, {})), ( 24 ) = (0), ( 28 ) = (0)  ] ))  ] ); _y0 := Array(0..6, {(1) = 0., (2) = 1., (3) = 0., (4) = 1., (5) = 0., (6) = 1.}); _vmap := array( 1 .. 6, [( 1 ) = (1), ( 2 ) = (2), ( 3 ) = (3), ( 4 ) = (4), ( 5 ) = (5), ( 6 ) = (6)  ] ); _x0 := _dtbl[1][5][5]; _n := _dtbl[1][4][1]; _ne := _dtbl[1][4][3]; _nd := _dtbl[1][4][4]; _nv := _dtbl[1][4][16]; if not type(_xout, 'numeric') then if member(_xout, ["start", "left", "right"]) then if _Env_smart_dsolve_numeric = true or _dtbl[1][4][10] = 1 then if _xout = "left" then if type(_dtbl[2], 'table') then return _dtbl[2][5][1] end if elif _xout = "right" then if type(_dtbl[3], 'table') then return _dtbl[3][5][1] end if end if end if; return _dtbl[1][5][5] elif _xout = "method" then return _dtbl[1][15] elif _xout = "storage" then return evalb(_dtbl[1][4][10] = 1) elif _xout = "leftdata" then if not type(_dtbl[2], 'array') then return NULL else return eval(_dtbl[2]) end if elif _xout = "rightdata" then if not type(_dtbl[3], 'array') then return NULL else return eval(_dtbl[3]) end if elif _xout = "enginedata" then return eval(_dtbl[1]) elif _xout = "enginereset" then _dtbl[2] := evaln(_dtbl[2]); _dtbl[3] := evaln(_dtbl[3]); return NULL elif _xout = "initial" then return procname(_y0[0]) elif _xout = "laxtol" then return _dtbl[`if`(member(_dtbl[4], {2, 3}), _dtbl[4], 1)][5][18] elif _xout = "numfun" then return `if`(member(_dtbl[4], {2, 3}), _dtbl[_dtbl[4]][4][18], 0) elif _xout = "parameters" then return [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] elif _xout = "initial_and_parameters" then return procname(_y0[0]), [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] elif _xout = "last" then if _dtbl[4] <> 2 and _dtbl[4] <> 3 or _x0-_dtbl[_dtbl[4]][5][1] = 0. then error "no information is available on last computed point" else _xout := _dtbl[_dtbl[4]][5][1] end if elif _xout = "function" then if _dtbl[1][4][33]-2. = 0 then return eval(_dtbl[1][10], 1) else return eval(_dtbl[1][10][1], 1) end if elif _xout = "map" then return copy(_vmap) elif type(_xin, `=`) and type(rhs(_xin), 'list') and member(lhs(_xin), {"initial", "parameters", "initial_and_parameters"}) then _ini, _par := [], []; if lhs(_xin) = "initial" then _ini := rhs(_xin) elif lhs(_xin) = "parameters" then _par := rhs(_xin) elif select(type, rhs(_xin), `=`) <> [] then _par, _ini := selectremove(type, rhs(_xin), `=`) elif nops(rhs(_xin)) < nops(_pars)+1 then error "insufficient data for specification of initial and parameters" else _par := rhs(_xin)[-nops(_pars) .. -1]; _ini := rhs(_xin)[1 .. -nops(_pars)-1] end if; _xout := lhs(_xout); _i := false; if _par <> [] then _i := `dsolve/numeric/process_parameters`(_n, _pars, _par, _y0) end if; if _ini <> [] then _i := `dsolve/numeric/process_initial`(_n-_ne, _ini, _y0, _pars, _vmap) or _i end if; if _i then `dsolve/numeric/SC/reinitialize`(_dtbl, _y0, _n, procname, _pars); if _Env_smart_dsolve_numeric = true and type(_y0[0], 'numeric') and _dtbl[1][4][10] <> 1 then procname("right") := _y0[0]; procname("left") := _y0[0] end if end if; if _xout = "initial" then return [_y0[0], seq(_y0[_vmap[_i]], _i = 1 .. _n-_ne)] elif _xout = "parameters" then return [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] else return [_y0[0], seq(_y0[_vmap[_i]], _i = 1 .. _n-_ne)], [seq(_y0[_n+_i], _i = 1 .. nops(_pars))] end if elif _xin = "eventstop" then if _nv = 0 then error "this solution has no events" end if; _i := _dtbl[4]; if _i <> 2 and _i <> 3 then return 0 end if; if _dtbl[_i][4][10] = 1 and assigned(_dtbl[5-_i]) and _dtbl[_i][4][9] < 100 and 100 <= _dtbl[5-_i][4][9] then _i := 5-_i; _dtbl[4] := _i; _j := round(_dtbl[_i][4][17]); return round(_dtbl[_i][3][1][_j, 1]) elif 100 <= _dtbl[_i][4][9] then _j := round(_dtbl[_i][4][17]); return round(_dtbl[_i][3][1][_j, 1]) else return 0 end if elif _xin = "eventstatus" then if _nv = 0 then error "this solution has no events" end if; _i := [selectremove(proc (a) options operator, arrow; _dtbl[1][3][1][a, 7] = 1 end proc, {seq(_j, _j = 1 .. round(_dtbl[1][3][1][_nv+1, 1]))})]; return ':-enabled' = _i[1], ':-disabled' = _i[2] elif _xin = "eventclear" then if _nv = 0 then error "this solution has no events" end if; _i := _dtbl[4]; if _i <> 2 and _i <> 3 then error "no events to clear" end if; if _dtbl[_i][4][10] = 1 and assigned(_dtbl[5-_i]) and _dtbl[_i][4][9] < 100 and 100 < _dtbl[5-_i][4][9] then _dtbl[4] := 5-_i; _i := 5-_i end if; if _dtbl[_i][4][9] < 100 then error "no events to clear" elif _nv < _dtbl[_i][4][9]-100 then error "event error condition cannot be cleared" else _j := _dtbl[_i][4][9]-100; if irem(round(_dtbl[_i][3][1][_j, 4]), 2) = 1 then error "retriggerable events cannot be cleared" end if; _j := round(_dtbl[_i][3][1][_j, 1]); for _k to _nv do if _dtbl[_i][3][1][_k, 1] = _j then if _dtbl[_i][3][1][_k, 2] = 3 then error "range events cannot be cleared" end if; _dtbl[_i][3][1][_k, 8] := _dtbl[_i][3][1][_nv+1, 8] end if end do; _dtbl[_i][4][17] := 0; _dtbl[_i][4][9] := 0; if _dtbl[1][4][10] = 1 then if _i = 2 then try procname(procname("left")) catch:  end try else try procname(procname("right")) catch:  end try end if end if end if; return  elif type(_xin, `=`) and member(lhs(_xin), {"eventdisable", "eventenable"}) then if _nv = 0 then error "this solution has no events" end if; if type(rhs(_xin), {('list')('posint'), ('set')('posint')}) then _i := {op(rhs(_xin))} elif type(rhs(_xin), 'posint') then _i := {rhs(_xin)} else error "event identifiers must be integers in the range 1..%1", round(_dtbl[1][3][1][_nv+1, 1]) end if; if select(proc (a) options operator, arrow; _nv < a end proc, _i) <> {} then error "event identifiers must be integers in the range 1..%1", round(_dtbl[1][3][1][_nv+1, 1]) end if; _k := {}; for _j to _nv do if member(round(_dtbl[1][3][1][_j, 1]), _i) then _k := `union`(_k, {_j}) end if end do; _i := _k; if lhs(_xin) = "eventdisable" then _dtbl[4] := 0; _j := [evalb(assigned(_dtbl[2]) and member(_dtbl[2][4][17], _i)), evalb(assigned(_dtbl[3]) and member(_dtbl[3][4][17], _i))]; for _k in _i do _dtbl[1][3][1][_k, 7] := 0; if assigned(_dtbl[2]) then _dtbl[2][3][1][_k, 7] := 0 end if; if assigned(_dtbl[3]) then _dtbl[3][3][1][_k, 7] := 0 end if end do; if _j[1] then for _k to _nv+1 do if _k <= _nv and not type(_dtbl[2][3][4][_k, 1], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to defined init `, _dtbl[2][3][4][_k, 1]); _dtbl[2][3][1][_k, 8] := _dtbl[2][3][4][_k, 1] elif _dtbl[2][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[2][3][1][_k, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to rate hysteresis init `, _dtbl[2][5][24]); _dtbl[2][3][1][_k, 8] := _dtbl[2][5][24] elif _dtbl[2][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[2][3][1][_k, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to initial init `, _x0); _dtbl[2][3][1][_k, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #2, event code `, _k, ` to fireinitial init `, _x0-1); _dtbl[2][3][1][_k, 8] := _x0-1 end if end do; _dtbl[2][4][17] := 0; _dtbl[2][4][9] := 0; if _dtbl[1][4][10] = 1 then procname(procname("left")) end if end if; if _j[2] then for _k to _nv+1 do if _k <= _nv and not type(_dtbl[3][3][4][_k, 2], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to defined init `, _dtbl[3][3][4][_k, 2]); _dtbl[3][3][1][_k, 8] := _dtbl[3][3][4][_k, 2] elif _dtbl[3][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[3][3][1][_k, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to rate hysteresis init `, _dtbl[3][5][24]); _dtbl[3][3][1][_k, 8] := _dtbl[3][5][24] elif _dtbl[3][3][1][_k, 2] = 0 and irem(iquo(round(_dtbl[3][3][1][_k, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to initial init `, _x0); _dtbl[3][3][1][_k, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #3, event code `, _k, ` to fireinitial init `, _x0+1); _dtbl[3][3][1][_k, 8] := _x0+1 end if end do; _dtbl[3][4][17] := 0; _dtbl[3][4][9] := 0; if _dtbl[1][4][10] = 1 then procname(procname("right")) end if end if else for _k in _i do _dtbl[1][3][1][_k, 7] := 1 end do; _dtbl[2] := evaln(_dtbl[2]); _dtbl[3] := evaln(_dtbl[3]); _dtbl[4] := 0; if _dtbl[1][4][10] = 1 then if _x0 <= procname("right") then try procname(procname("right")) catch:  end try end if; if procname("left") <= _x0 then try procname(procname("left")) catch:  end try end if end if end if; return  elif type(_xin, `=`) and lhs(_xin) = "eventfired" then if not type(rhs(_xin), 'list') then error "'eventfired' must be specified as a list" end if; if _nv = 0 then error "this solution has no events" end if; if _dtbl[4] <> 2 and _dtbl[4] <> 3 then error "'direction' must be set prior to calling/setting 'eventfired'" end if; _i := _dtbl[4]; _val := NULL; if not assigned(_EnvEventRetriggerWarned) then _EnvEventRetriggerWarned := false end if; for _k in rhs(_xin) do if type(_k, 'integer') then _src := _k elif type(_k, 'integer' = 'anything') and type(evalf(rhs(_k)), 'numeric') then _k := lhs(_k) = evalf[max(Digits, 18)](rhs(_k)); _src := lhs(_k) else error "'eventfired' entry is not valid: %1", _k end if; if _src < 1 or round(_dtbl[1][3][1][_nv+1, 1]) < _src then error "event identifiers must be integers in the range 1..%1", round(_dtbl[1][3][1][_nv+1, 1]) end if; _src := {seq(`if`(_dtbl[1][3][1][_j, 1]-_src = 0., _j, NULL), _j = 1 .. _nv)}; if nops(_src) <> 1 then error "'eventfired' can only be set/queried for root-finding events and time/interval events" end if; _src := _src[1]; if _dtbl[1][3][1][_src, 2] <> 0. and _dtbl[1][3][1][_src, 2]-2. <> 0. then error "'eventfired' can only be set/queried for root-finding events and time/interval events" elif irem(round(_dtbl[1][3][1][_src, 4]), 2) = 1 then if _EnvEventRetriggerWarned = false then WARNING(`'eventfired' has no effect on events that retrigger`) end if; _EnvEventRetriggerWarned := true end if; if _dtbl[_i][3][1][_src, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_src, 4]), 32), 2) = 1 then _val := _val, undefined elif type(_dtbl[_i][3][4][_src, _i-1], 'undefined') or _i = 2 and _dtbl[2][3][1][_src, 8] < _dtbl[2][3][4][_src, 1] or _i = 3 and _dtbl[3][3][4][_src, 2] < _dtbl[3][3][1][_src, 8] then _val := _val, _dtbl[_i][3][1][_src, 8] else _val := _val, _dtbl[_i][3][4][_src, _i-1] end if; if type(_k, `=`) then if _dtbl[_i][3][1][_src, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_src, 4]), 32), 2) = 1 then error "cannot set event code for a rate hysteresis event" end if; userinfo(3, {'events', 'eventreset'}, `manual set event code `, _src, ` to value `, rhs(_k)); _dtbl[_i][3][1][_src, 8] := rhs(_k); _dtbl[_i][3][4][_src, _i-1] := rhs(_k) end if end do; return [_val] elif type(_xin, `=`) and lhs(_xin) = "direction" then if not member(rhs(_xin), {-1, 1, ':-left', ':-right'}) then error "'direction' must be specified as either '1' or 'right' (positive) or '-1' or 'left' (negative)" end if; _src := `if`(_dtbl[4] = 2, -1, `if`(_dtbl[4] = 3, 1, undefined)); _i := `if`(member(rhs(_xin), {1, ':-right'}), 3, 2); _dtbl[4] := _i; _dtbl[_i] := `dsolve/numeric/SC/IVPdcopy`(_dtbl[1], `if`(assigned(_dtbl[_i]), _dtbl[_i], NULL)); if 0 < _nv then for _j to _nv+1 do if _j <= _nv and not type(_dtbl[_i][3][4][_j, _i-1], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to defined init `, _dtbl[_i][3][4][_j, _i-1]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][3][4][_j, _i-1] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to rate hysteresis init `, _dtbl[_i][5][24]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][5][24] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to initial init `, _x0); _dtbl[_i][3][1][_j, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #4, event code `, _j, ` to fireinitial init `, _x0-2*_i+5.0); _dtbl[_i][3][1][_j, 8] := _x0-2*_i+5.0 end if end do end if; return _src elif _xin = "eventcount" then if _dtbl[1][3][1] = 0 or _dtbl[4] <> 2 and _dtbl[4] <> 3 then return 0 else return round(_dtbl[_dtbl[4]][3][1][_nv+1, 12]) end if elif type(_xin, `=`) and lhs(_xin) = "setdatacallback" then if not type(rhs(_xin), 'nonegint') then error "data callback must be a nonnegative integer (address)" end if; _dtbl[1][28] := rhs(_xin) else return "procname" end if end if; if _xout = _x0 then return [_x0, seq(evalf(_dtbl[1][6][_vmap[_i]]), _i = 1 .. _n-_ne)] end if; _i := `if`(_x0 <= _xout, 3, 2); if _xin = "last" and 0 < _dtbl[_i][4][9] and _dtbl[_i][4][9] < 100 then _dat := eval(_dtbl[_i], 2); _j := _dat[4][20]; return [_dat[11][_j, 0], seq(_dat[11][_j, _vmap[_i]], _i = 1 .. _n-_ne-_nd), seq(_dat[8][1][_vmap[_i]], _i = _n-_ne-_nd+1 .. _n-_ne)] end if; if not type(_dtbl[_i], 'array') then _dtbl[_i] := `dsolve/numeric/SC/IVPdcopy`(_dtbl[1], `if`(assigned(_dtbl[_i]), _dtbl[_i], NULL)); if 0 < _nv then for _j to _nv+1 do if _j <= _nv and not type(_dtbl[_i][3][4][_j, _i-1], 'undefined') then userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to defined init `, _dtbl[_i][3][4][_j, _i-1]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][3][4][_j, _i-1] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 32), 2) = 1 then userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to rate hysteresis init `, _dtbl[_i][5][24]); _dtbl[_i][3][1][_j, 8] := _dtbl[_i][5][24] elif _dtbl[_i][3][1][_j, 2] = 0 and irem(iquo(round(_dtbl[_i][3][1][_j, 4]), 2), 2) = 0 then userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to initial init `, _x0); _dtbl[_i][3][1][_j, 8] := _x0 else userinfo(3, {'events', 'eventreset'}, `reinit #5, event code `, _j, ` to fireinitial init `, _x0-2*_i+5.0); _dtbl[_i][3][1][_j, 8] := _x0-2*_i+5.0 end if end do end if end if; if _xin <> "last" then if 0 < 0 then if `dsolve/numeric/checkglobals`(op(_dtbl[1][14]), _pars, _n, _y0) then `dsolve/numeric/SC/reinitialize`(_dtbl, _y0, _n, procname, _pars, _i) end if end if; if _dtbl[1][4][7] = 0 then error "parameters must be initialized before solution can be computed" end if end if; _dat := eval(_dtbl[_i], 2); _dtbl[4] := _i; try _src := `dsolve/numeric/SC/IVPrun`(_dat, _xout) catch: userinfo(2, `dsolve/debug`, print(`Exception in solnproc:`, [lastexception][2 .. -1])); error  end try; if _dat[17] <> _dtbl[1][17] then _dtbl[1][17] := _dat[17]; _dtbl[1][10] := _dat[10] end if; if _src = 0 and 100 < _dat[4][9] then _val := _dat[3][1][_nv+1, 8] else _val := _dat[11][_dat[4][20], 0] end if; if _src <> 0 or _dat[4][9] <= 0 then _dtbl[1][5][1] := _xout else _dtbl[1][5][1] := _val end if; if _i = 3 and _val < _xout then Rounding := -infinity; if _dat[4][9] = 1 then error "cannot evaluate the solution further right of %1, probably a singularity", evalf[8](_val) elif _dat[4][9] = 2 then error "cannot evaluate the solution further right of %1, maxfun limit exceeded (see ?dsolve,maxfun for details)", evalf[8](_val) elif _dat[4][9] = 3 then if _dat[4][25] = 3 then error "cannot evaluate the solution past the initial point, problem may be initially singular or improperly set up" else error "cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up" end if elif _dat[4][9] = 4 then error "cannot evaluate the solution further right of %1, accuracy goal cannot be achieved with specified 'minstep'", evalf[8](_val) elif _dat[4][9] = 5 then error "cannot evaluate the solution further right of %1, too many step failures, tolerances may be too loose for problem", evalf[8](_val) elif _dat[4][9] = 6 then error "cannot evaluate the solution further right of %1, cannot downgrade delay storage for problems with delay derivative order > 1, try increasing delaypts", evalf[8](_val) elif _dat[4][9] = 10 then error "cannot evaluate the solution further right of %1, interrupt requested", evalf[8](_val) elif 100 < _dat[4][9] then if _dat[4][9]-100 = _nv+1 then error "constraint projection failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+2 then error "index-1 and derivative evaluation failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+3 then error "maximum number of event iterations reached (%1) at t=%2", round(_dat[3][1][_nv+1, 3]), evalf[8](_val) else if _Env_dsolve_nowarnstop <> true then `dsolve/numeric/warning`(StringTools:-FormatMessage("cannot evaluate the solution further right of %1, event #%2 triggered a halt", evalf[8](_val), round(_dat[3][1][_dat[4][9]-100, 1]))) end if; Rounding := 'nearest'; _xout := _val end if else error "cannot evaluate the solution further right of %1", evalf[8](_val) end if elif _i = 2 and _xout < _val then Rounding := infinity; if _dat[4][9] = 1 then error "cannot evaluate the solution further left of %1, probably a singularity", evalf[8](_val) elif _dat[4][9] = 2 then error "cannot evaluate the solution further left of %1, maxfun limit exceeded (see ?dsolve,maxfun for details)", evalf[8](_val) elif _dat[4][9] = 3 then if _dat[4][25] = 3 then error "cannot evaluate the solution past the initial point, problem may be initially singular or improperly set up" else error "cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up" end if elif _dat[4][9] = 4 then error "cannot evaluate the solution further left of %1, accuracy goal cannot be achieved with specified 'minstep'", evalf[8](_val) elif _dat[4][9] = 5 then error "cannot evaluate the solution further left of %1, too many step failures, tolerances may be too loose for problem", evalf[8](_val) elif _dat[4][9] = 6 then error "cannot evaluate the solution further left of %1, cannot downgrade delay storage for problems with delay derivative order > 1, try increasing delaypts", evalf[8](_val) elif _dat[4][9] = 10 then error "cannot evaluate the solution further right of %1, interrupt requested", evalf[8](_val) elif 100 < _dat[4][9] then if _dat[4][9]-100 = _nv+1 then error "constraint projection failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+2 then error "index-1 and derivative evaluation failure on event at t=%1", evalf[8](_val) elif _dat[4][9]-100 = _nv+3 then error "maximum number of event iterations reached (%1) at t=%2", round(_dat[3][1][_nv+1, 3]), evalf[8](_val) else if _Env_dsolve_nowarnstop <> true then `dsolve/numeric/warning`(StringTools:-FormatMessage("cannot evaluate the solution further left of %1, event #%2 triggered a halt", evalf[8](_val), round(_dat[3][1][_dat[4][9]-100, 1]))) end if; Rounding := 'nearest'; _xout := _val end if else error "cannot evaluate the solution further left of %1", evalf[8](_val) end if end if; if _EnvInFsolve = true then _dig := _dat[4][26]; if type(_EnvDSNumericSaveDigits, 'posint') then _dat[4][26] := _EnvDSNumericSaveDigits else _dat[4][26] := Digits end if; _Env_dsolve_SC_native := true; if _dat[4][25] = 1 then _i := 1; _dat[4][25] := 2 else _i := _dat[4][25] end if; _val := `dsolve/numeric/SC/IVPval`(_dat, _xout, _src); _dat[4][25] := _i; _dat[4][26] := _dig; [_xout, seq(_val[_vmap[_i]], _i = 1 .. _n-_ne)] else Digits := _dat[4][26]; _val := `dsolve/numeric/SC/IVPval`(eval(_dat, 2), _xout, _src); [_xout, seq(_val[_vmap[_i]], _i = 1 .. _n-_ne)] end if end proc, (2) = Array(0..0, {}), (3) = [u, v(u), diff(v(u), u), x(u), diff(x(u), u), y(u), diff(y(u), u)], (4) = []}); _vars := _dat[3]; _pars := map(rhs, _dat[4]); _n := nops(_vars)-1; _solnproc := _dat[1]; if not type(_xout, 'numeric') then if member(x_rkf45, ["start", 'start', "method", 'method', "left", 'left', "right", 'right', "leftdata", "rightdata", "enginedata", "eventstop", 'eventstop', "eventclear", 'eventclear', "eventstatus", 'eventstatus', "eventcount", 'eventcount', "laxtol", 'laxtol', "numfun", 'numfun', NULL]) then _res := _solnproc(convert(x_rkf45, 'string')); if 1 < nops([_res]) then return _res elif type(_res, 'array') then return eval(_res, 1) elif _res <> "procname" then return _res end if elif member(x_rkf45, ["last", 'last', "initial", 'initial', "parameters", 'parameters', "initial_and_parameters", 'initial_and_parameters', NULL]) then _xout := convert(x_rkf45, 'string'); _res := _solnproc(_xout); if _xout = "parameters" then return [seq(_pars[_i] = _res[_i], _i = 1 .. nops(_pars))] elif _xout = "initial_and_parameters" then return [seq(_vars[_i+1] = [_res][1][_i+1], _i = 0 .. _n), seq(_pars[_i] = [_res][2][_i], _i = 1 .. nops(_pars))] else return [seq(_vars[_i+1] = _res[_i+1], _i = 0 .. _n)] end if elif type(_xout, `=`) and member(lhs(_xout), ["initial", 'initial', "parameters", 'parameters', "initial_and_parameters", 'initial_and_parameters', NULL]) then _xout := convert(lhs(x_rkf45), 'string') = rhs(x_rkf45); if type(rhs(_xout), 'list') then _res := _solnproc(_xout) else error "initial and/or parameter values must be specified in a list" end if; if lhs(_xout) = "initial" then return [seq(_vars[_i+1] = _res[_i+1], _i = 0 .. _n)] elif lhs(_xout) = "parameters" then return [seq(_pars[_i] = _res[_i], _i = 1 .. nops(_pars))] else return [seq(_vars[_i+1] = [_res][1][_i+1], _i = 0 .. _n), seq(_pars[_i] = [_res][2][_i], _i = 1 .. nops(_pars))] end if elif type(_xout, `=`) and member(lhs(_xout), ["eventdisable", 'eventdisable', "eventenable", 'eventenable', "eventfired", 'eventfired', "direction", 'direction', NULL]) then return _solnproc(convert(lhs(x_rkf45), 'string') = rhs(x_rkf45)) elif _xout = "solnprocedure" then return eval(_solnproc) elif _xout = "sysvars" then return _vars end if; if procname <> unknown then return ('procname')(x_rkf45) else _ndsol := 1; _ndsol := _ndsol; _ndsol := pointto(_dat[2][0]); return ('_ndsol')(x_rkf45) end if end if; try _res := _solnproc(_xout); [seq(_vars[_i+1] = _res[_i+1], _i = 0 .. _n)] catch: error  end try end proc

 

 

``

Download odeSys5.mw

@Deeshani 

since the syntax of the plot command is completely wrong - have you tried reading the help page for the plot() command?

See the attached

"p(u) :=1/(2)*(sech^(2)(u));   ode1:=diff(x1(u), u, u) -1/(2)*p(u)*x1(u) = 0;  m :=dsolve([ode1,x1(0)=1,D(x1)(0)=0]);  plot([ p(u), rhs(m) ],                    u=-8..8,                    color=[red, blue]                  );       "

 

NULL

NULL

Download anotherPlot.mw

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