tomleslie

4477 Reputation

10 Badges

9 years, 95 days

MaplePrimes Activity


These are answers submitted by tomleslie

which I have fixed in the attached

  restart:

  interface(rtablesize=10):

#
# Define gamma as local (don't like doing this!)
#
  local gamma:local pi:
#
# Replaced 'indexed' parameters with 'inert subscript'
# parameters - otherwise one gets a problem defining
# both the unindexed 'phi' and the indexed phi[c]
#
  M__h := 100: beta__o := 0.034: beta__j := .025: mu__1 := 0.0004:
  epsilon := .7902: alpha := 0.11: psi := 0.000136: phi := 0.05:
  omega := .7: eta := .134: delta := .245: f := 0.21:
  M__v := 1000: beta__k := 0.09:   mu__v := .0005: M__c := .636:
  beta__g := 0.15: mu__c := 0.0019: pi :=0.01231: theta := 0.12: mu__e := 0.005:
#
# D() is Maple's differential operator replated D(T)
# with DD(T) in the following to avoid confusion
#
  ODE1 := diff(B(T), T) = M__h-beta__o*B(T)-beta__j*B(T)-mu__1*B(T)+epsilon*G(T)+alpha*F(T):
  ODE2 := diff(C(T), T) = beta__o*B(T)*J(T)-beta__j*C(T)-(psi+mu__1+phi)*C(T):
  ODE3 := diff(DD(T), T) = beta__j*B(T)*L(T)- beta__o*E(T)-(omega+mu__1+eta)*DD(T):
  ODE4 := diff(E(T), T) = beta__o*E(T)-beta__j*C(T)-(delta+mu__1+eta+phi)*E(T):
  ODE5 := diff(F(T), T) = psi*C(T)-(alpha+mu__1)*F(T)+f*delta*E(T):
  ODE6 := diff(G(T), T) = omega*DD(T)-(epsilon+mu__1)*G(T)+(1-f)*delta*E(T):
  ODE7 := diff(H(T), T) = M__v-beta__k*H(T)-mu__v*H(T):
  ODE8 := diff(J(T), T) = beta__k*H(T)-mu__v*J(T):
  ODE9 := diff(K(T), T) = M__c-beta__g*K(T)-mu__c*K(T):
  ODE10:= diff(L(T), T) = beta__g*K(T)-mu__c*L(T):
  ODE11:= diff(M(T), T) = pi*(DD(T)+ theta*E(T))-mu__e*M(T):

  B0 := 100: C0 := 90: D0 := 45: E0 := 38:
  F0 := 10: G0 := 45: H0 := 50: J0 := 70: K0 :=20: L0:= 65: M0 :=22:
#
# Solve system
#
  ans := dsolve( { ODE1, ODE2, ODE3, ODE4, ODE5, ODE6, ODE7, ODE8, ODE9, ODE10, ODE11,
                   B(0) = B0, C(0) = C0, DD(0) = D0, E(0) = E0,
                   F(0) = F0, G(0) = G0, H(0) = H0, J(0) = J0, K(0) = K0, L(0) = L0, M(0) = M0
                 },
                 numeric
               );
#
# Plot solutions for a few of the dependent variablss
# just to show everything is working (more-or-less!)
#
  plots:-odeplot( ans, [T, B(T)], T=0..5);
  plots:-odeplot( ans, [T, C(T)], T=0..5);
  plots:-odeplot( ans, [T, DD(T)], T=0..5);
  plots:-odeplot( ans, [T, E(T)], T=0..5);
  plots:-odeplot( ans, [T, F(T)], T=0..5);
  plots:-odeplot( ans, [T, G(T)], T=0..5);
  plots:-odeplot( ans, [T, H(T)], T=0..5);
  plots:-odeplot( ans, [T, J(T)], T=0..5);
  plots:-odeplot( ans, [T, K(T)], T=0..5);
  plots:-odeplot( ans, [T, L(T)], T=0..5);
  plots:-odeplot( ans, [T, M(T)], T=0..5);

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 .. 26, [( 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..63, {(1) = 11, (2) = 11, (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}, datatype = integer[8])), ( 5 ) = (Array(1..28, {(1) = .0, (2) = 0.10e-5, (3) = .0, (4) = 0.500001e-14, (5) = .0, (6) = 0.2540372220976533e-2, (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..11, {(1) = 100.0, (2) = 90.0, (3) = 45.0, (4) = 38.0, (5) = 10.0, (6) = 45.0, (7) = 50.0, (8) = 70.0, (9) = 20.0, (10) = 65.0, (11) = 22.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..11, {(1) = .1, (2) = .1, (3) = .1, (4) = .1, (5) = .1, (6) = .1, (7) = .1, (8) = .1, (9) = .1, (10) = .1, (11) = .1}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, 1..11, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (1, 7) = .0, (1, 8) = .0, (1, 9) = .0, (1, 10) = .0, (1, 11) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (2, 7) = .0, (2, 8) = .0, (2, 9) = .0, (2, 10) = .0, (2, 11) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (3, 7) = .0, (3, 8) = .0, (3, 9) = .0, (3, 10) = .0, (3, 11) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (4, 7) = .0, (4, 8) = .0, (4, 9) = .0, (4, 10) = .0, (4, 11) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (5, 7) = .0, (5, 8) = .0, (5, 9) = .0, (5, 10) = .0, (5, 11) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0, (6, 7) = .0, (6, 8) = .0, (6, 9) = .0, (6, 10) = .0, (6, 11) = .0, (7, 1) = .0, (7, 2) = .0, (7, 3) = .0, (7, 4) = .0, (7, 5) = .0, (7, 6) = .0, (7, 7) = .0, (7, 8) = .0, (7, 9) = .0, (7, 10) = .0, (7, 11) = .0, (8, 1) = .0, (8, 2) = .0, (8, 3) = .0, (8, 4) = .0, (8, 5) = .0, (8, 6) = .0, (8, 7) = .0, (8, 8) = .0, (8, 9) = .0, (8, 10) = .0, (8, 11) = .0, (9, 1) = .0, (9, 2) = .0, (9, 3) = .0, (9, 4) = .0, (9, 5) = .0, (9, 6) = .0, (9, 7) = .0, (9, 8) = .0, (9, 9) = .0, (9, 10) = .0, (9, 11) = .0, (10, 1) = .0, (10, 2) = .0, (10, 3) = .0, (10, 4) = .0, (10, 5) = .0, (10, 6) = .0, (10, 7) = .0, (10, 8) = .0, (10, 9) = .0, (10, 10) = .0, (10, 11) = .0, (11, 1) = .0, (11, 2) = .0, (11, 3) = .0, (11, 4) = .0, (11, 5) = .0, (11, 6) = .0, (11, 7) = .0, (11, 8) = .0, (11, 9) = .0, (11, 10) = .0, (11, 11) = .0}, datatype = float[8], order = C_order), Array(1..11, 1..11, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (1, 7) = .0, (1, 8) = .0, (1, 9) = .0, (1, 10) = .0, (1, 11) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (2, 7) = .0, (2, 8) = .0, (2, 9) = .0, (2, 10) = .0, (2, 11) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (3, 7) = .0, (3, 8) = .0, (3, 9) = .0, (3, 10) = .0, (3, 11) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (4, 7) = .0, (4, 8) = .0, (4, 9) = .0, (4, 10) = .0, (4, 11) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (5, 7) = .0, (5, 8) = .0, (5, 9) = .0, (5, 10) = .0, (5, 11) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0, (6, 7) = .0, (6, 8) = .0, (6, 9) = .0, (6, 10) = .0, (6, 11) = .0, (7, 1) = .0, (7, 2) = .0, (7, 3) = .0, (7, 4) = .0, (7, 5) = .0, (7, 6) = .0, (7, 7) = .0, (7, 8) = .0, (7, 9) = .0, (7, 10) = .0, (7, 11) = .0, (8, 1) = .0, (8, 2) = .0, (8, 3) = .0, (8, 4) = .0, (8, 5) = .0, (8, 6) = .0, (8, 7) = .0, (8, 8) = .0, (8, 9) = .0, (8, 10) = .0, (8, 11) = .0, (9, 1) = .0, (9, 2) = .0, (9, 3) = .0, (9, 4) = .0, (9, 5) = .0, (9, 6) = .0, (9, 7) = .0, (9, 8) = .0, (9, 9) = .0, (9, 10) = .0, (9, 11) = .0, (10, 1) = .0, (10, 2) = .0, (10, 3) = .0, (10, 4) = .0, (10, 5) = .0, (10, 6) = .0, (10, 7) = .0, (10, 8) = .0, (10, 9) = .0, (10, 10) = .0, (10, 11) = .0, (11, 1) = .0, (11, 2) = .0, (11, 3) = .0, (11, 4) = .0, (11, 5) = .0, (11, 6) = .0, (11, 7) = .0, (11, 8) = .0, (11, 9) = .0, (11, 10) = .0, (11, 11) = .0}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, 1..11, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (1, 7) = .0, (1, 8) = .0, (1, 9) = .0, (1, 10) = .0, (1, 11) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (2, 7) = .0, (2, 8) = .0, (2, 9) = .0, (2, 10) = .0, (2, 11) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (3, 7) = .0, (3, 8) = .0, (3, 9) = .0, (3, 10) = .0, (3, 11) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (4, 7) = .0, (4, 8) = .0, (4, 9) = .0, (4, 10) = .0, (4, 11) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (5, 7) = .0, (5, 8) = .0, (5, 9) = .0, (5, 10) = .0, (5, 11) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0, (6, 7) = .0, (6, 8) = .0, (6, 9) = .0, (6, 10) = .0, (6, 11) = .0, (7, 1) = .0, (7, 2) = .0, (7, 3) = .0, (7, 4) = .0, (7, 5) = .0, (7, 6) = .0, (7, 7) = .0, (7, 8) = .0, (7, 9) = .0, (7, 10) = .0, (7, 11) = .0, (8, 1) = .0, (8, 2) = .0, (8, 3) = .0, (8, 4) = .0, (8, 5) = .0, (8, 6) = .0, (8, 7) = .0, (8, 8) = .0, (8, 9) = .0, (8, 10) = .0, (8, 11) = .0, (9, 1) = .0, (9, 2) = .0, (9, 3) = .0, (9, 4) = .0, (9, 5) = .0, (9, 6) = .0, (9, 7) = .0, (9, 8) = .0, (9, 9) = .0, (9, 10) = .0, (9, 11) = .0, (10, 1) = .0, (10, 2) = .0, (10, 3) = .0, (10, 4) = .0, (10, 5) = .0, (10, 6) = .0, (10, 7) = .0, (10, 8) = .0, (10, 9) = .0, (10, 10) = .0, (10, 11) = .0, (11, 1) = .0, (11, 2) = .0, (11, 3) = .0, (11, 4) = .0, (11, 5) = .0, (11, 6) = .0, (11, 7) = .0, (11, 8) = .0, (11, 9) = .0, (11, 10) = .0, (11, 11) = .0}, datatype = float[8], order = C_order), Array(1..11, 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, (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}, datatype = float[8], order = C_order), Array(1..11, {(1) = 0, (2) = 0, (3) = 0, (4) = 0, (5) = 0, (6) = 0, (7) = 0, (8) = 0, (9) = 0, (10) = 0, (11) = 0}, datatype = integer[8]), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..22, {(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}, datatype = float[8], order = C_order)]), ( 8 ) = ([Array(1..11, {(1) = 100.0, (2) = 90.0, (3) = 45.0, (4) = 38.0, (5) = 10.0, (6) = 45.0, (7) = 50.0, (8) = 70.0, (9) = 20.0, (10) = 65.0, (11) = 22.0}, datatype = float[8], order = C_order), Array(1..11, {(1) = .0, (2) = .0, (3) = .0, (4) = .0, (5) = .0, (6) = .0, (7) = .0, (8) = .0, (9) = .0, (10) = .0, (11) = .0}, datatype = float[8], order = C_order), Array(1..11, {(1) = 130.719, (2) = 231.20176000000004, (3) = 123.66, (4) = -17.275199999999998, (5) = .86334, (6) = 3.277899999999998, (7) = 995.475, (8) = 4.465, (9) = -2.402, (10) = 2.8765, (11) = .5000836}, datatype = float[8], order = C_order), 0, 0]), ( 11 ) = (Array(1..6, 0..11, {(1, 1) = .0, (1, 2) = .0, (1, 3) = .0, (1, 4) = .0, (1, 5) = .0, (1, 6) = .0, (1, 7) = .0, (1, 8) = .0, (1, 9) = .0, (1, 10) = .0, (1, 11) = .0, (2, 0) = .0, (2, 1) = .0, (2, 2) = .0, (2, 3) = .0, (2, 4) = .0, (2, 5) = .0, (2, 6) = .0, (2, 7) = .0, (2, 8) = .0, (2, 9) = .0, (2, 10) = .0, (2, 11) = .0, (3, 0) = .0, (3, 1) = .0, (3, 2) = .0, (3, 3) = .0, (3, 4) = .0, (3, 5) = .0, (3, 6) = .0, (3, 7) = .0, (3, 8) = .0, (3, 9) = .0, (3, 10) = .0, (3, 11) = .0, (4, 0) = .0, (4, 1) = .0, (4, 2) = .0, (4, 3) = .0, (4, 4) = .0, (4, 5) = .0, (4, 6) = .0, (4, 7) = .0, (4, 8) = .0, (4, 9) = .0, (4, 10) = .0, (4, 11) = .0, (5, 0) = .0, (5, 1) = .0, (5, 2) = .0, (5, 3) = .0, (5, 4) = .0, (5, 5) = .0, (5, 6) = .0, (5, 7) = .0, (5, 8) = .0, (5, 9) = .0, (5, 10) = .0, (5, 11) = .0, (6, 0) = .0, (6, 1) = .0, (6, 2) = .0, (6, 3) = .0, (6, 4) = .0, (6, 5) = .0, (6, 6) = .0, (6, 7) = .0, (6, 8) = .0, (6, 9) = .0, (6, 10) = .0, (6, 11) = .0}, datatype = float[8], order = C_order)), ( 10 ) = ([proc (N, X, Y, YP) option `[Y[1] = B(T), Y[2] = C(T), Y[3] = DD(T), Y[4] = E(T), Y[5] = F(T), Y[6] = G(T), Y[7] = H(T), Y[8] = J(T), Y[9] = K(T), Y[10] = L(T), Y[11] = M(T)]`; YP[1] := 100-0.594e-1*Y[1]+.7902*Y[6]+.11*Y[5]; YP[2] := 0.34e-1*Y[1]*Y[8]-0.75536e-1*Y[2]; YP[3] := 0.25e-1*Y[1]*Y[10]-0.34e-1*Y[4]-.8344*Y[3]; YP[4] := -.3954*Y[4]-0.25e-1*Y[2]; YP[5] := 0.136e-3*Y[2]-.1104*Y[5]+0.5145e-1*Y[4]; YP[6] := .7*Y[3]-.7906*Y[6]+.19355*Y[4]; YP[7] := 1000-0.905e-1*Y[7]; YP[8] := 0.9e-1*Y[7]-0.5e-3*Y[8]; YP[9] := .636-.1519*Y[9]; YP[10] := .15*Y[9]-0.19e-2*Y[10]; YP[11] := 0.1231e-1*Y[3]+0.14772e-2*Y[4]-0.5e-2*Y[11]; 0 end proc, -1, 0, 0, 0, 0, 0, 0]), ( 13 ) = (), ( 12 ) = (), ( 15 ) = ("rkf45"), ( 14 ) = ([0, 0]), ( 18 ) = ([]), ( 19 ) = (0), ( 16 ) = ([0, 0, 0, []]), ( 17 ) = ([proc (N, X, Y, YP) option `[Y[1] = B(T), Y[2] = C(T), Y[3] = DD(T), Y[4] = E(T), Y[5] = F(T), Y[6] = G(T), Y[7] = H(T), Y[8] = J(T), Y[9] = K(T), Y[10] = L(T), Y[11] = M(T)]`; YP[1] := 100-0.594e-1*Y[1]+.7902*Y[6]+.11*Y[5]; YP[2] := 0.34e-1*Y[1]*Y[8]-0.75536e-1*Y[2]; YP[3] := 0.25e-1*Y[1]*Y[10]-0.34e-1*Y[4]-.8344*Y[3]; YP[4] := -.3954*Y[4]-0.25e-1*Y[2]; YP[5] := 0.136e-3*Y[2]-.1104*Y[5]+0.5145e-1*Y[4]; YP[6] := .7*Y[3]-.7906*Y[6]+.19355*Y[4]; YP[7] := 1000-0.905e-1*Y[7]; YP[8] := 0.9e-1*Y[7]-0.5e-3*Y[8]; YP[9] := .636-.1519*Y[9]; YP[10] := .15*Y[9]-0.19e-2*Y[10]; YP[11] := 0.1231e-1*Y[3]+0.14772e-2*Y[4]-0.5e-2*Y[11]; 0 end proc, -1, 0, 0, 0, 0, 0, 0]), ( 22 ) = (0), ( 23 ) = (0), ( 20 ) = ([]), ( 21 ) = (0), ( 26 ) = (Array(1..0, {})), ( 25 ) = (Array(1..0, {})), ( 24 ) = (0)  ] ))  ] ); _y0 := Array(0..11, {(1) = 0., (2) = 100., (3) = 90., (4) = 45., (5) = 38., (6) = 10., (7) = 45., (8) = 50., (9) = 70., (10) = 20., (11) = 65.}); _vmap := array( 1 .. 11, [( 1 ) = (1), ( 2 ) = (2), ( 3 ) = (3), ( 4 ) = (4), ( 5 ) = (5), ( 6 ) = (6), ( 7 ) = (7), ( 9 ) = (9), ( 8 ) = (8), ( 11 ) = (11), ( 10 ) = (10)  ] ); _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 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) = [T, B(T), C(T), DD(T), E(T), F(T), G(T), H(T), J(T), K(T), L(T), M(T)], (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 odeStuff.mw

You still have 442 equations in 441 unknowns - this is not good!

For values of the loop variable T from 1..19, the equation system is over-deteremined and results are obtained

However for T=20, the equation system is inconsistent, and no answer is obtained. This is always a possibility if you have more equations than unknowns - you really should address this issue
 

restart

with(LinearAlgebra); interface(rtablesize = 10); interface(version); Physics:-Version()

`Standard Worksheet Interface, Maple 2019.0, Windows 7, March 9 2019 Build ID 1384062`

 

"C:\Users\TomLeslie\maple\toolbox\2019\Physics Updates\lib\Physics Updates.maple", `2019, April 26, 7:48 hours, version in the MapleCloud: 353, version installed in this computer: 350.`

(1)

Ne, Ng := 20, 20

20, 20

(2)

Lambda := 20; `&mu;e` := 20.0; `&mu;g` := 4; r := .35; rb := 1-r; c := 20.0; fe, fg := 100, 50

20

 

20.0

 

4

 

.35

 

20.0

(3)

Pne := proc (i) options operator, arrow; add(Pvals[i+1, j+1], j = 0 .. Ng) end proc; Ce := proc (n) options operator, arrow; fe+c*(n+1)/`&mu;e` end proc; Cg := fg+c/`&mu;g`+r*fe+r*add(i*Pne(i), i = 1 .. Ne); Wepc := proc (T) options operator, arrow; add(Lambda*Ce(n)*Pne(n), n = 0 .. T-1)+add(Lambda*Cg*Pne(n), n = T .. Ne) end proc; Sepc := proc (T) options operator, arrow; add(Lambda*(Ce(n)-fe)*Pne(n), n = 0 .. T-1)+add(Lambda*(-fe*r+Cg-fg)*Pne(n), n = T .. Ne) end proc; Eepc := proc (T) options operator, arrow; add(i*Pne(i), i = 1 .. Ne)/Lambda end proc

Warning, `j` is implicitly declared local to procedure `Pne`

 

Warning, `n` is implicitly declared local to procedure `Wepc`

 

Warning, `n` is implicitly declared local to procedure `Sepc`

 

Warning, `i` is implicitly declared local to procedure `Eepc`

 

for T to 20 do for i to Ne do if i <= T then Id[i] := 1 else Id[i] := 0 end if; if i = T then Idt[i] := 1 else Idt[i] := 0 end if end do; eqn[0, 0] := Lambda*P[0, 0] = `&mu;g`*rb*P[0, 1]+`&mu;e`*P[1, 0]; for j to Ng-1 do eqn[0, j] := (Lambda+`&mu;g`)*P[0, j] = `&mu;g`*rb*P[0, j+1]+`&mu;e`*P[1, j] end do; for i to Ne-1 do eqn[i, 0] := (Lambda+`&mu;e`)*P[i, 0] = `&mu;g`*r*P[i-1, 1]+`&mu;g`*rb*P[i, 1]+Lambda*Id[i]*P[i-1, 0]+`&mu;e`*P[i+1, 0] end do; for j to Ng-1 do for i to T do eqn[i, j] := (Lambda+`&mu;e`+`&mu;g`)*P[i, j] = `&mu;g`*r*P[i-1, j+1]+`&mu;g`*rb*P[i, j+1]+Lambda*Idt[i]*P[i, j-1]+`&mu;e`*P[i+1, j]+Lambda*P[i-1, j] end do; for i from T+1 to Ne-1 do eqn[i, j] := (Lambda+`&mu;e`+`&mu;g`)*P[i, j] = `&mu;g`*r*P[i-1, j+1]+`&mu;g`*rb*P[i, j+1]+`&mu;e`*P[i+1, j]+Lambda*P[i, j-1] end do end do; eqn[0, Ng] := (Lambda+`&mu;g`)*P[0, Ng] = `&mu;e`*P[1, Ng]; for i to T-1 do eqn[i, Ng] := (Lambda+`&mu;e`+`&mu;g`)*P[i, Ng] = `&mu;e`*P[i+1, Ng]+Lambda*P[i-1, Ng] end do; eqn[T, Ng] := (`&mu;e`+`&mu;g`)*P[T, Ng] = `&mu;e`*P[T+1, Ng]+Lambda*P[T, Ng-1]+Lambda*P[T-1, Ng]; for i from T+1 to Ne-1 do eqn[i, Ng] := (`&mu;e`+`&mu;g`)*P[i, Ng] = `&mu;e`*P[i+1, Ng]+Lambda*P[i, Ng-1] end do; eqn[Ne, 0] := (Lambda+`&mu;e`)*P[Ne, 0] = `&mu;g`*r*P[Ne-1, 1]+`&mu;g`*rb*P[Ne, 1]; for j to Ng-1 do eqn[Ne, j] := (`&mu;g`*rb+`&mu;e`+Lambda)*P[Ne, j] = `&mu;g`*r*P[Ne-1, j+1]+`&mu;g`*rb*P[Ne, j+1]+Lambda*P[Ne, j-1] end do; eqn[Ne, Ng] := (`&mu;g`*rb+`&mu;e`)*P[Ne, Ng] = Lambda*P[Ne, Ng-1]; Normeq1 := add(add(P[i, j], i = 0 .. Ne), j = 0 .. Ng) = 1; Eqns1 := {Normeq1, seq(seq(eqn[i, j], i = 0 .. Ne), j = 0 .. Ng)}; V := [indets(Eqns1)[]]; nops(V); AB := GenerateMatrix(Eqns1, V, augmented); Vsol := LinearSolve(AB); Pvals := Matrix(Ne+1, Ng+1, proc (i, j) options operator, arrow; Vsol[(i-1)*Ne+j] end proc); printf("\t\t%2d  %12.6f  %12.6f  %12.6f\n", T, Wepc(T), Sepc(T), Eepc(T)) end do

                 1   2596.382269    109.979252      0.071201

                 2   2347.352914     87.773894      0.093293

                 3   2209.802236     79.574841      0.113162

                 4   2128.374904     77.739266      0.132026

                 5   2091.079210     80.530239      0.152827

                 6   2080.591604     86.318160      0.176209

                 7   2082.494081     93.746266      0.201287

                 8   2089.809712    102.075779      0.227337

                 9   2099.606115    110.937241      0.253971

                10   2110.630201    120.135352      0.280999

                11   2122.315823    129.557807      0.308326

                12   2134.393489    139.134785      0.335907

                13   2146.730874    148.819930      0.363725

                14   2159.263490    158.580728      0.391779

                15   2171.962493    168.393234      0.420079

                16   2184.817282    178.238842      0.448642

                17   2197.803337    188.099994      0.477479

                18   2210.530367    197.924124      0.506389

                19   2217.107765    207.102047      0.531995

Error, (in LinearAlgebra:-LinearSolve) inconsistent system

 

numelems(Eqns1); numelems(V)

442

 

441

(4)

 

Download lSol.mw

is as shown in the attached - the main trick is to specify whether you want a matrix, vector or a table as the resulting type


 

  restart:

  with(LinearAlgebra):
  interface(version);
  Physics:-Version();
  interface(rtablesize=10):
  A:=  RandomMatrix(3);
  AA:= Matrix( op(1, A), (i,j)->A[i,j]/A[i,i]);
  B:=  RandomVector(3);
  BB:= Vector( op(1, B), i->B[i]/B[i]);

`Standard Worksheet Interface, Maple 2019.0, Windows 7, March 9 2019 Build ID 1384062`

 

"C:\Users\TomLeslie\maple\toolbox\2019\Physics Updates\lib\Physics Updates.maple", `2019, April 26, 7:48 hours, version in the MapleCloud: 352, version installed in this computer: 350.`

 

Matrix(3, 3, {(1, 1) = 33, (1, 2) = 57, (1, 3) = -76, (2, 1) = -98, (2, 2) = 27, (2, 3) = -72, (3, 1) = -77, (3, 2) = -93, (3, 3) = -2})

 

Matrix(3, 3, {(1, 1) = 1, (1, 2) = 19/11, (1, 3) = -76/33, (2, 1) = -98/27, (2, 2) = 1, (2, 3) = -8/3, (3, 1) = 77/2, (3, 2) = 93/2, (3, 3) = 1})

 

Vector(3, {(1) = -38, (2) = -18, (3) = 87})

 

Vector[column](%id = 18446744074376763262)

(1)

 


 

Download defMat.mw

 

Check out the attached


 

restart;

kernelopts(version);

`Maple 2017.3, X86 64 WINDOWS, Sep 13 2017, Build ID 1262472`

(1)

b := 120*Unit(mm);
h := 200*Unit(mm);
V := 8*Unit(kN);
I__x := 1/12*b*h^3;
Q := x -> simplify(1/2*(1/4*h^2 - (100*Unit(mm) - x*Unit(mm))^2)*b);
tau := x -> simplify(V*Q(x)/(I__x*b));
plot(Q(x), x = 0 .. 100);
plot(tau(x), x = 0 .. 100);

120*Units:-Unit(mm)

 

200*Units:-Unit(mm)

 

8*Units:-Unit(kN)

 

80000000*Units:-Unit(mm)^4

 

proc (x) options operator, arrow; simplify((1/2)*((1/4)*h^2-(100*Unit(mm)-x*Unit(mm))^2)*b) end proc

 

proc (x) options operator, arrow; simplify(V*Q(x)/(I__x*b)) end proc

 

 

 

 

 

 

 


 

Download plotUnits.mw

The attached code runs in Maple2019, Maple2018 and Maple 2017 and produces the same answer

No solution for the PDE is obtained in Maple2016, Maple2015 and Maple 18

  restart;

  interface(rtablesize=10):
  interface(version);
  Physics:-Version();
  assume(0 < x, 0 < y, y < 1, L > 0);
  interface(showassumed=0);

`Standard Worksheet Interface, Maple 2019.0, Windows 7, March 9 2019 Build ID 1384062`

 

"C:\Users\TomLeslie\maple\toolbox\2019\Physics Updates\lib\Physics Updates.maple", `2019, April 26, 7:48 hours, version in the MapleCloud: 352, version installed in this computer: 350.`

 

1

(1)

  pde := diff(f(x, y), x $ 2) + diff(f(x, y), y $ 2) = 0;

diff(diff(f(x, y), x), x)+diff(diff(f(x, y), y), y) = 0

(2)

  bcs := f(x, 0) = exp(-x), D[1](f)(0, y) = 0,
         D[2](f)(x, 1) = 0, f(L, y) = 0;

f(x, 0) = exp(-x), (D[1](f))(0, y) = 0, (D[2](f))(x, 1) = 0, f(L, y) = 0

(3)

  sol := pdsolve([pde, bcs]);

f(x, y) = Sum(2*cos((1/2)*(1+2*n)*Pi*x/L)*((-1)^n*Pi*(1/2+n)*exp(-L)+L)*(exp(-(1/2)*(1+2*n)*Pi*(y-2)/L)+exp((1/2)*(1+2*n)*Pi*y/L))/(((1/2+n)^2*Pi^2+L^2)*(exp((2*Pi*n+Pi)/L)+1)), n = 0 .. infinity)

(4)

``


 

Download pdeMaple2019.mw

something like the attached

  restart;

  interface(rtablesize=10):

  getR:= proc( Ra, Rb, Rc, connect )
               if   connect=series
               then return Ra+Rb+Rc
               elif connect=parallel
               then return expand(simplify(1/((1/Ra)+(1/Rb)+(1/Rc))))
               fi;
         end proc:
  getR(R1, R2, R3, series);
  getR(R1, R2, R3, parallel);
#
# with values
#
  getR(10, 10, 10, series);
  getR(10, 10, 10, parallel);

R1+R2+R3

 

R1*R2*R3/(R1*R2+R1*R3+R2*R3)

 

30

 

10/3

(1)

 


Download Rcalc.mw

the attached - maybe?

This worksheet

  1. generates a random  graph (G) and a "test" subgraph (T)
  2. selects all subgraphs of G which have the same number of edges as the subgraph T
  3. checks whether any of these subgraphs is actually isomorphic to the subgraph T
  4. as an illustration (and assuming that at least one isomorphic subgraph exists), draw the graph G and the first subgraph which is isomorphic to the "test" subgraph T

A warning! Depending on the vertex/edge counts for the graphs, the number of isomorphisms to be checked can "explode" very quickly, with consequent (serious) increase in execution time - so be careful!!!

  restart;

  with(combinat):
  with(GraphTheory):
  with(RandomGraphs):
  interface(rtablesize=10):
#
# Uncomment the following 'randomize' to
# generate a different random graph each
# time this worksheet is executed
#
  randomize():
  
#
# As a trial produce a random graph with
# for example, eight vertexes and twelve
# edges
#
  G:= RandomGraph(8, 12):
#
# Define a particular "test" sub-graph -
# for example a cycle of six
#
  T:= CycleGraph(6):
#
# Produce all subgraphs of G which have the same
# number of edges as the "test" sub-graph T
#
  gL:= Graph~(choose(Edges(G),NumberOfEdges(T))):

#
# Check whether T is isomorphic to any of the elements
# in gL
#
# Output the index(es) of entries in gL for which the
# isomorphism is true
#
  ans:= [ seq
          ( `if`
            ( IsIsomorphic( T, gL[j] ),
              j,
              NULL
            ),
            j=1..numelems(gL)
          )
        ];

[94, 96, 130, 199, 230]

(1)

if   numelems(ans)>0
then HighlightSubgraph( G, gL[ans[1]], edgestylesheet=[thickness=4, color="Red"]);
     DrawGraph(G, style=spring);
fi;

 

 


 

Download isSub.mw

with others that your approach *ought* to work, the desired effects can be obtained if you are prepared to try hard enough. Generally speaking, I can't be bothered - I'm more interested in answers, rather than the "color" of answers!

Anyhow, FWIW, see the attached - this will produce (honest) a "pretty" table in a Maple worksheet, but for some reason will not display here

  restart;

  with(DocumentTools):
  with(DocumentTools:-Layout):
  interface(rtablesize=10):

  M:= Matrix(2, 2, (i,j)->i+j);
  tabents:= Worksheet
            ( Table
              ( Row
                ( Equation
                  ( sqrt(x)/Pi,
                    typesetcolor=green
                  ),
                  Equation
                  ( M[1,1],
                    `if`( M[1,1]>3,
                          typesetcolor=green,
                          typesetcolor=red
                        )
                  ),
                  TextField
                  ( Font
                    ( "Some Text",
                      color=green,
                      background=grey
                    )
                  )
                ),
                Row
                ( Equation
                  ( M[2,2],
                    `if`( M[2,2]>3,
                          typesetcolor=green,
                          typesetcolor=red
                        )
                  ),
                  TextField
                  ( Font
                    ( "More Text",
                      color=red,
                      background=yellow
                    )
                  ),
                 Cell
                 ( Equation
                   ( sqrt(x)/Pi,
                     typesetcolor=blue
                   ),
                   fillcolor=cyan
                  )
                ),
                width=25,
                alignment=center
           )
) :
InsertContent(tabents):

Matrix(2, 2, {(1, 1) = 2, (1, 2) = 3, (2, 1) = 3, (2, 2) = 4})

(1)

 


 

Download pretty.mw

  1. I haven't had any real issue installing Physics package updates. I just do it from the cloud icon thingummy in the upper right hand corner of the Maple worksheet interface, and it just "works". I do (usually) restart Maple after performing one of these updates.
  2. Running OP's code produces (for me) exactly the same error
  3. OP suggests issue might be a Windows 10 update?? Since I'm running 64-bit Windows 7 to generate the same error, the OS would *seem* to be irrelevant
  4. Running "ECTerrab code" produces the same error at the same point in the execution of the pdsolve() command - as determined by setting infolevel(pdsolve):=2

See the attached

  restart;
#
# OP's original code with the addition
# of version statements, infolevel(pdsolve)
# and the rtablesize() "kludge"
#

  kernelopts(version);
  Physics:-Version();
  infolevel[pdsolve]:=2:
  interface(rtablesize=10);

`Maple 2019.0, X86 64 WINDOWS, Mar 9 2019, Build ID 1384062`

 

"C:\Users\TomLeslie\maple\toolbox\2019\Physics Updates\lib\Physics Updates.maple", `2019, April 24, 8:39 hours, version in the MapleCloud: 348, version installed in this computer: 348.`

 

[10, 10]

(1)

  unassign('r,u,t');
  pde:=diff(u(r,t),t)= 1/r*diff(r*u(r,t),r$2); #Laplacian in spherical
  ic:=u(r,0)=1;
  bc := u(1,t) =0;
  pdsolve([pde,ic,bc],u(r,t),HINT =boundedseries(r=0)) assuming t>0

diff(u(r, t), t) = (2*(diff(u(r, t), r))+r*(diff(diff(u(r, t), r), r)))/r

 

u(r, 0) = 1

 

u(1, t) = 0

 

* trying method "SpecializeArbitraryFunctions" for 2nd order PDEs
   -> trying "LinearInXT"
* trying method "SpecializeArbitraryConstants" for 2nd order PDEs
* trying method "Wave" for 2nd order PDEs
   -> trying "Cauchy"
   -> trying "SemiInfiniteDomain"
   -> trying "WithSourceTerm"
* trying method "Heat" for 2nd order PDEs
   -> trying "SemiInfiniteDomain"
   -> trying "WithSourceTerm"
* trying method "Series" for 2nd order PDEs
   -> trying "TwoBC"

Error, (in assuming) when calling 'ln'. Received: 'when calling 'ln'. Received: 'numeric exception: division by zero''

 

  restart;
#
# ECTerrab version with the addition of
# infolevel(pdsolve) and the rtablesize() "kludge"
#
# Works without the boundedseries() option on
# the dsolve() command.
#
# Either version of the boundedseries() command
# causes failure - apparently at the same point
# as the OP's original code
#

  kernelopts(version);
  Physics:-Version();
  infolevel[pdsolve]:=2:
  interface(rtablesize=10);

`Maple 2019.0, X86 64 WINDOWS, Mar 9 2019, Build ID 1384062`

 

"C:\Users\TomLeslie\maple\toolbox\2019\Physics Updates\lib\Physics Updates.maple", `2019, April 24, 8:39 hours, version in the MapleCloud: 348, version installed in this computer: 348.`

 

[10, 10]

(2)

unassign(r, u, t)

pde := diff(u(r, t), t) = (diff(r*u(r, t), `$`(r, 2)))/r

diff(u(r, t), t) = (2*(diff(u(r, t), r))+r*(diff(diff(u(r, t), r), r)))/r

(3)

ic := u(r, 0) = 1; bc := u(1, t) = 0

u(r, 0) = 1

 

u(1, t) = 0

(4)

infolevel[pdsolve] := 2; `assuming`([pdsolve([pde, ic, bc], u(r, t))], [t > 0])

2

 

* trying method "SpecializeArbitraryFunctions" for 2nd order PDEs
   -> trying "LinearInXT"
* trying method "SpecializeArbitraryConstants" for 2nd order PDEs

* trying method "Wave" for 2nd order PDEs
   -> trying "Cauchy"
   -> trying "SemiInfiniteDomain"
   -> trying "WithSourceTerm"
* trying method "Heat" for 2nd order PDEs
   -> trying "SemiInfiniteDomain"
   -> trying "WithSourceTerm"
* trying method "Series" for 2nd order PDEs
   -> trying "TwoBC"

   -> trying "ThreeBCsincos"
   -> trying "FourBC"
   -> trying "ThreeBC"
   -> trying "ThreeBCPeriodic"
   -> trying "WithSourceTerm"
      * trying method "SpecializeArbitraryFunctions" for 2nd order PDEs
         -> trying "LinearInXT"
      * trying method "SpecializeArbitraryConstants" for 2nd order PDEs

      * trying method "Wave" for 2nd order PDEs
         -> trying "Cauchy"
         -> trying "SemiInfiniteDomain"
         -> trying "WithSourceTerm"
      * trying method "Heat" for 2nd order PDEs
         -> trying "SemiInfiniteDomain"
         -> trying "WithSourceTerm"
      * trying method "Series" for 2nd order PDEs
         -> trying "TwoBC"
         -> trying "ThreeBCsincos"
         -> trying "FourBC"
         -> trying "ThreeBC"
         -> trying "ThreeBCPeriodic"
         -> trying "WithSourceTerm"
         -> trying "ThreeVariables"
         -> trying "TwoBC"
         -> trying "ThreeBCsincos"
         -> trying "FourBC"
         -> trying "ThreeBC"
         -> trying "ThreeBCPeriodic"
         -> trying "ThreeVariables"
         * trying a linear change of variables
            -> trying "ThreeBCsincos"
            -> trying "FourBC"
            -> trying "ThreeBC"
            -> trying "ThreeBCPeriodic"
            -> trying "WithSourceTerm"
            -> trying "ThreeVariables"
            -> trying "ThreeBCsincos"
            -> trying "FourBC"
            -> trying "ThreeBC"
            -> trying "ThreeBCPeriodic"
            -> trying "ThreeVariables"
      * trying method "Laplace" for 2nd order PDEs
         -> trying a Laplace transformation

         <- Laplace transformation successful
      <- method "Laplace" for 2nd order PDEs successful
   <- submethod "WithSourceTerm" successful
<- method "Series" for 2nd order PDEs successful

 

u(r, t) = (-invlaplace(sinh(s^(1/2)*r)/(sinh(s^(1/2))*s), s, t)+r)/r

(5)

Note r = [0]

`assuming`([pdsolve([pde, ic, bc], u(r, t), HINT = boundedseries(r = [0]))], [t > 0])

* trying method "SpecializeArbitraryFunctions" for 2nd order PDEs

   -> trying "LinearInXT"
* trying method "SpecializeArbitraryConstants" for 2nd order PDEs
* trying method "Wave" for 2nd order PDEs
   -> trying "Cauchy"
   -> trying "SemiInfiniteDomain"
   -> trying "WithSourceTerm"
* trying method "Heat" for 2nd order PDEs
   -> trying "SemiInfiniteDomain"
   -> trying "WithSourceTerm"
* trying method "Series" for 2nd order PDEs
   -> trying "TwoBC"

Error, (in assuming) when calling 'ln'. Received: 'when calling 'ln'. Received: 'numeric exception: division by zero''

 

It works with r = 0 but the flow goes through a different path

`assuming`([pdsolve([pde, ic, bc], u(r, t), HINT = boundedseries(r = 0))], [t > 0])

* trying method "SpecializeArbitraryFunctions" for 2nd order PDEs

   -> trying "LinearInXT"
* trying method "SpecializeArbitraryConstants" for 2nd order PDEs
* trying method "Wave" for 2nd order PDEs
   -> trying "Cauchy"
   -> trying "SemiInfiniteDomain"
   -> trying "WithSourceTerm"
* trying method "Heat" for 2nd order PDEs
   -> trying "SemiInfiniteDomain"
   -> trying "WithSourceTerm"
* trying method "Series" for 2nd order PDEs
   -> trying "TwoBC"

Error, (in assuming) when calling 'ln'. Received: 'when calling 'ln'. Received: 'numeric exception: division by zero''

 

I will adjust the syntx r = 0 to map into r = [0].

``

 

Download pdeProb.mw


 

Simple answers to your questions - actually recommend reading teh help for (much) more detail.

 

The -> operator just allows you to construct a simple function so for example f:=x-> x2 means that a subsequent call such as f(2) will return 4.

 

The ~ operator just allows you to apply an operation to every element in a 'container'. So, for example if M is a Matrix, then (with 'f' defined as above f~(M) will just square every element in the matrix.

 

Easy to reduce the amount the data. In the attached

I have reduced the number of columns being read by the EcelTools:-Import() statement to 50. This number is arbitrary

When doing the filtering operation, instead of returning the complete row of 50 columns I only return the first 41 columns - again this number is arbitrary, and just for "illustration"

The seq() function

op([1,1],SD) returns the number of rows in SD, so i=2..op([1,1],SD) part just generates all row numbers from 2 to the end of the Matrix. (The first row is omitted because it only contains "labels".

the 'if' statement just checks the condition in which you are interested: if satisfied the relevant row is returned. If the condition is not satisfied then nothing is returned (Ie NULL)

When done this way, the output is a sequence of row vectors: the scan=columns option just stacks these back into a matrix

If M is a matrix, then op(1, M) will just return the row and column dimension of M, as a sequence. op[[1,1],M) will return the first entry in the sequence - so you get the the row dimension. There are other ways to get matrix dimensions: I just find this way "convenient".

I don't see any particular memory issue here - you will have to explain further

In the attachd, just as an exercise, I have converted the input to a dataframe. The only real benefit this gives is allowing access/filtering operation to be done using labels, rather than row/column indexes. This may (or may not!) be more convenient


 

  restart;

#
# Load the LinearAlgebra package
#
  with(ExcelTools):
  with(LinearAlgebra):
#
# Ignore this, only needed to make stuff display
# properly on the Maple primes web site
#
  interface(rtablesize=10)

[10, 10]

(1)

#
# Import the data. OP will need to change the
# file path to something appropriate for his/her
# machine.
#
# Just for illustration, read in all rows, but only
# the first 50 columns
#
# Convert the "blank" entries given by "-" to 0.0
#
  Steel_data:= Import
               ( "C:/Users/Tomleslie/Desktop/db.xlsx",
                 "Database v15.0",
                 "A1:AX2094"
               ):
  f:= x->`if`(x="&ndash;", 0.0, x):
  SD:=f~(Steel_data):

#
# Extract rows, which match a particular condition
#
# Don't keep the whole row, just keep columns 1..41
# to show how thi might be done
#
  S_mod__min:= 11.66666667;
  M2:= Matrix( [ SD[1,1..41],
                 seq
                 ( `if`
                   ( S_mod__min < SD[i,41] and SD[i,7] <= 10.5,
                     SD[i,1..41],
                     NULL
                   ),
                   i=2..op([1,1],SD)
                 )
               ],
               scan=columns
            );

S_mod__min := 11.66666667

 

_rtable[18446744074348896494]

(2)

#
# Quick check on max/min entries in column 41 of the
# output Matrix
#
  min(M2[2..,41]);
  max(M2[2..,41]);
#
# Quick check on max/min entries in column 7 of the
# output Matrix
#
  min(M2[2..,7]);
  max(M2[2..,7]);

11.7

 

452.0

 

0.

 

10.5

(3)

#
# Using a select() function to produce the same
# thing
#
  M3:= SD[ select
           ( i-> `or`
                 ( i=1,
                   `and`
                   ( S_mod__min < SD[i, 41],
                     SD[i,7] <= 10.5
                   )
                 ),
                 [$1..op([1,1],SD)]
            ),
            1..41
         ];
#
# Check that this produces the same matrix
# as the previous method
#
  Equal(M2, M3);
 

_rtable[18446744074348886006]

 

true

(4)

#
# Construct the input as a DataFrame. Use entries in column 3
# as labels for the rows and entries in row 1 as the column
# labels
#
  df:= DataFrame
       ( SD[2..-3,4..],
         rows=SD[2..-3,2],
         columns=convert~(SD[1,4..], symbol)
       );
#
# Extract only those rows for which Sx>S_mod__min and
# d<=10.5. These labels correspond to the column numbers
# specified in the matrix-based implementation above, but
# may(?) be easier to remember
#
  dfsub:=df[ df[Sx]>~S_mod__min and df[d]<=~10.5 ];

DataFrame(_rtable[18446744074369869934], rows = ["W44X335", "W44X290", "W44X262", "W44X230", "W40X655", "W40X593", "W40X503", "W40X431", "W40X397", "W40X372", "W40X362", "W40X324", "W40X297", "W40X277", "W40X249", "W40X215", "W40X199", "W40X392", "W40X331", "W40X327", "W40X294", "W40X278", "W40X264", "W40X235", "W40X211", "W40X183", "W40X167", "W40X149", "W36X925", "W36X853", "W36X802", "W36X723", "W36X652", "W36X529", "W36X487", "W36X441", "W36X395", "W36X361", "W36X330", "W36X302", "W36X282", "W36X262", "W36X247", "W36X231", "W36X256", "W36X232", "W36X210", "W36X194", "W36X182", "W36X170", "W36X160", "W36X150", "W36X135", "W33X387", "W33X354", "W33X318", "W33X291", "W33X263", "W33X241", "W33X221", "W33X201", "W33X169", "W33X152", "W33X141", "W33X130", "W33X118", "W30X391", "W30X357", "W30X326", "W30X292", "W30X261", "W30X235", "W30X211", "W30X191", "W30X173", "W30X148", "W30X132", "W30X124", "W30X116", "W30X108", "W30X99", "W30X90", "W27X539", "W27X368", "W27X336", "W27X307", "W27X281", "W27X258", "W27X235", "W27X217", "W27X194", "W27X178", "W27X161", "W27X146", "W27X129", "W27X114", "W27X102", "W27X94", "W27X84", "W24X370", "W24X335", "W24X306", "W24X279", "W24X250", "W24X229", "W24X207", "W24X192", "W24X176", "W24X162", "W24X146", "W24X131", "W24X117", "W24X104", "W24X103", "W24X94", "W24X84", "W24X76", "W24X68", "W24X62", "W24X55", "W21X275", "W21X248", "W21X223", "W21X201", "W21X182", "W21X166", "W21X147", "W21X132", "W21X122", "W21X111", "W21X101", "W21X93", "W21X83", "W21X73", "W21X68", "W21X62", "W21X55", "W21X48", "W21X57", "W21X50", "W21X44", "W18X311", "W18X283", "W18X258", "W18X234", "W18X211", "W18X192", "W18X175", "W18X158", "W18X143", "W18X130", "W18X119", "W18X106", "W18X97", "W18X86", "W18X76", "W18X71", "W18X65", "W18X60", "W18X55", "W18X50", "W18X46", "W18X40", "W18X35", "W16X100", "W16X89", "W16X77", "W16X67", "W16X57", "W16X50", "W16X45", "W16X40", "W16X36", "W16X31", "W16X26", "W14X873", "W14X808", "W14X730", "W14X665", "W14X605", "W14X550", "W14X500", "W14X455", "W14X426", "W14X398", "W14X370", "W14X342", "W14X311", "W14X283", "W14X257", "W14X233", "W14X211", "W14X193", "W14X176", "W14X159", "W14X145", "W14X132", "W14X120", "W14X109", "W14X99", "W14X90", "W14X82", "W14X74", "W14X68", "W14X61", "W14X53", "W14X48", "W14X43", "W14X38", "W14X34", "W14X30", "W14X26", "W14X22", "W12X336", "W12X305", "W12X279", "W12X252", "W12X230", "W12X210", "W12X190", "W12X170", "W12X152", "W12X136", "W12X120", "W12X106", "W12X96", "W12X87", "W12X79", "W12X72", "W12X65", "W12X58", "W12X53", "W12X50", "W12X45", "W12X40", "W12X35", "W12X30", "W12X26", "W12X22", "W12X19", "W12X16", "W12X14", "W10X112", "W10X100", "W10X88", "W10X77", "W10X68", "W10X60", "W10X54", "W10X49", "W10X45", "W10X39", "W10X33", "W10X30", "W10X26", "W10X22", "W10X19", "W10X17", "W10X15", "W10X12", "W8X67", "W8X58", "W8X48", "W8X40", "W8X35", "W8X31", "W8X28", "W8X24", "W8X21", "W8X18", "W8X15", "W8X13", "W8X10", "W6X25", "W6X20", "W6X15", "W6X16", "W6X12", "W6X9", "W6X8.5", "W5X19", "W5X16", "W4X13", "M12.5X12.4", "M12.5X11.6", "M12X11.8", "M12X10.8", "M12X10", "M10X9", "M10X8", "M10X7.5", "M8X6.5", "M8X6.2", "M6X4.4", "M6X3.7", "M5X18.9", "M4X6", "M4X4.08", "M4X3.45", "M4X3.2", "M3X2.9", "S24X121", "S24X106", "S24X100", "S24X90", "S24X80", "S20X96", "S20X86", "S20X75", "S20X66", "S18X70", "S18X54.7", "S15X50", "S15X42.9", "S12X50", "S12X40.8", "S12X35", "S12X31.8", "S10X35", "S10X25.4", "S8X23", "S8X18.4", "S6X17.25", "S6X12.5", "S5X10", "S4X9.5", "S4X7.7", "S3X7.5", "S3X5.7", "HP18X204", "HP18X181", "HP18X157", "HP18X135", "HP16X183", "HP16X162", "HP16X141", "HP16X121", "HP16X101", "HP16X88", "HP14X117", "HP14X102", "HP14X89", "HP14X73", "HP12X89", "HP12X84", "HP12X74", "HP12X63", "HP12X53", "HP10X57", "HP10X42", "HP8X36", "C15X50", "C15X40", "C15X33.9", "C12X30", "C12X25", "C12X20.7", "C10X30", "C10X25", "C10X20", "C10X15.3", "C9X20", "C9X15", "C9X13.4", "C8X18.75", "C8X13.75", "C8X11.5", "C7X14.75", "C7X12.25", "C7X9.8", "C6X13", "C6X10.5", "C6X8.2", "C5X9", "C5X6.7", "C4X7.25", "C4X6.25", "C4X5.4", "C4X4.5", "C3X6", "C3X5", "C3X4.1", "C3X3.5", "MC18X58", "MC18X51.9", "MC18X45.8", "MC18X42.7", "MC13X50", "MC13X40", "MC13X35", "MC13X31.8", "MC12X50", "MC12X45", "MC12X40", "MC12X35", "MC12X31", "MC12X14.3", "MC12X10.6", "MC10X41.1", "MC10X33.6", "MC10X28.5", "MC10X25", "MC10X22", "MC10X8.4", "MC10X6.5", "MC9X25.4", "MC9X23.9", "MC8X22.8", "MC8X21.4", "MC8X20", "MC8X18.7", "MC8X8.5", "MC7X22.7", "MC7X19.1", "MC6X18", "MC6X15.3", "MC6X16.3", "MC6X15.1", "MC6X12", "MC6X7", "MC6X6.5", "MC4X13.8", "MC3X7.1", "L12X12X1-3/8", "L12X12X1-1/4", "L12X12X1-1/8", "L12X12X1", "L10X10X1-3/8", "L10X10X1-1/4", "L10X10X1-1/8", "L10X10X1", "L10X10X7/8", "L10X10X3/4", "L8X8X1-1/8", "L8X8X1", "L8X8X7/8", "L8X8X3/4", "L8X8X5/8", "L8X8X9/16", "L8X8X1/2", "L8X6X1", "L8X6X7/8", "L8X6X3/4", "L8X6X5/8", "L8X6X9/16", "L8X6X1/2", "L8X6X7/16", "L8X4X1", "L8X4X7/8", "L8X4X3/4", "L8X4X5/8", "L8X4X9/16", "L8X4X1/2", "L8X4X7/16", "L7X4X3/4", "L7X4X5/8", "L7X4X1/2", "L7X4X7/16", "L7X4X3/8", "L6X6X1", "L6X6X7/8", "L6X6X3/4", "L6X6X5/8", "L6X6X9/16", "L6X6X1/2", "L6X6X7/16", "L6X6X3/8", "L6X6X5/16", "L6X4X7/8", "L6X4X3/4", "L6X4X5/8", "L6X4X9/16", "L6X4X1/2", "L6X4X7/16", "L6X4X3/8", "L6X4X5/16", "L6X3-1/2X1/2", "L6X3-1/2X3/8", "L6X3-1/2X5/16", "L5X5X7/8", "L5X5X3/4", "L5X5X5/8", "L5X5X1/2", "L5X5X7/16", "L5X5X3/8", "L5X5X5/16", "L5X3-1/2X3/4", "L5X3-1/2X5/8", "L5X3-1/2X1/2", "L5X3-1/2X3/8", "L5X3-1/2X5/16", "L5X3-1/2X1/4", "L5X3X1/2", "L5X3X7/16", "L5X3X3/8", "L5X3X5/16", "L5X3X1/4", "L4X4X3/4", "L4X4X5/8", "L4X4X1/2", "L4X4X7/16", "L4X4X3/8", "L4X4X5/16", "L4X4X1/4", "L4X3-1/2X1/2", "L4X3-1/2X3/8", "L4X3-1/2X5/16", "L4X3-1/2X1/4", "L4X3X5/8", "L4X3X1/2", "L4X3X3/8", "L4X3X5/16", "L4X3X1/4", "L3-1/2X3-1/2X1/2", "L3-1/2X3-1/2X7/16", "L3-1/2X3-1/2X3/8", "L3-1/2X3-1/2X5/16", "L3-1/2X3-1/2X1/4", "L3-1/2X3X1/2", "L3-1/2X3X7/16", "L3-1/2X3X3/8", "L3-1/2X3X5/16", "L3-1/2X3X1/4", "L3-1/2X2-1/2X1/2", "L3-1/2X2-1/2X3/8", "L3-1/2X2-1/2X5/16", "L3-1/2X2-1/2X1/4", "L3X3X1/2", "L3X3X7/16", "L3X3X3/8", "L3X3X5/16", "L3X3X1/4", "L3X3X3/16", "L3X2-1/2X1/2", "L3X2-1/2X7/16", "L3X2-1/2X3/8", "L3X2-1/2X5/16", "L3X2-1/2X1/4", "L3X2-1/2X3/16", "L3X2X1/2", "L3X2X3/8", "L3X2X5/16", "L3X2X1/4", "L3X2X3/16", "L2-1/2X2-1/2X1/2", "L2-1/2X2-1/2X3/8", "L2-1/2X2-1/2X5/16", "L2-1/2X2-1/2X1/4", "L2-1/2X2-1/2X3/16", "L2-1/2X2X3/8", "L2-1/2X2X5/16", "L2-1/2X2X1/4", "L2-1/2X2X3/16", "L2-1/2X1-1/2X1/4", "L2-1/2X1-1/2X3/16", "L2X2X3/8", "L2X2X5/16", "L2X2X1/4", "L2X2X3/16", "L2X2X1/8", "WT22X167.5", "WT22X145", "WT22X131", "WT22X115", "WT20X327.5", "WT20X296.5", "WT20X251.5", "WT20X215.5", "WT20X198.5", "WT20X186", "WT20X181", "WT20X162", "WT20X148.5", "WT20X138.5", "WT20X124.5", "WT20X107.5", "WT20X99.5", "WT20X196", "WT20X165.5", "WT20X163.5", "WT20X147", "WT20X139", "WT20X132", "WT20X117.5", "WT20X105.5", "WT20X91.5", "WT20X83.5", "WT20X74.5", "WT18X462.5", "WT18X426.5", "WT18X401", "WT18X361.5", "WT18X326", "WT18X264.5", "WT18X243.5", "WT18X220.5", "WT18X197.5", "WT18X180.5", "WT18X165", "WT18X151", "WT18X141", "WT18X131", "WT18X123.5", "WT18X115.5", "WT18X128", "WT18X116", "WT18X105", "WT18X97", "WT18X91", "WT18X85", "WT18X80", "WT18X75", "WT18X67.5", "WT16.5X193.5", "WT16.5X177", "WT16.5X159", "WT16.5X145.5", "WT16.5X131.5", "WT16.5X120.5", "WT16.5X110.5", "WT16.5X100.5", "WT16.5X84.5", "WT16.5X76", "WT16.5X70.5", "WT16.5X65", "WT16.5X59", "WT15X195.5", "WT15X178.5", "WT15X163", "WT15X146", "WT15X130.5", "WT15X117.5", "WT15X105.5", "WT15X95.5", "WT15X86.5", "WT15X74", "WT15X66", "WT15X62", "WT15X58", "WT15X54", "WT15X49.5", "WT15X45", "WT13.5X269.5", "WT13.5X184", "WT13.5X168", "WT13.5X153.5", "WT13.5X140.5", "WT13.5X129", "WT13.5X117.5", "WT13.5X108.5", "WT13.5X97", "WT13.5X89", "WT13.5X80.5", "WT13.5X73", "WT13.5X64.5", "WT13.5X57", "WT13.5X51", "WT13.5X47", "WT13.5X42", "WT12X185", "WT12X167.5", "WT12X153", "WT12X139.5", "WT12X125", "WT12X114.5", "WT12X103.5", "WT12X96", "WT12X88", "WT12X81", "WT12X73", "WT12X65.5", "WT12X58.5", "WT12X52", "WT12X51.5", "WT12X47", "WT12X42", "WT12X38", "WT12X34", "WT12X31", "WT12X27.5", "WT10.5X137.5", "WT10.5X124", "WT10.5X111.5", "WT10.5X100.5", "WT10.5X91", "WT10.5X83", "WT10.5X73.5", "WT10.5X66", "WT10.5X61", "WT10.5X55.5", "WT10.5X50.5", "WT10.5X46.5", "WT10.5X41.5", "WT10.5X36.5", "WT10.5X34", "WT10.5X31", "WT10.5X27.5", "WT10.5X24", "WT10.5X28.5", "WT10.5X25", "WT10.5X22", "WT9X155.5", "WT9X141.5", "WT9X129", "WT9X117", "WT9X105.5", "WT9X96", "WT9X87.5", "WT9X79", "WT9X71.5", "WT9X65", "WT9X59.5", "WT9X53", "WT9X48.5", "WT9X43", "WT9X38", "WT9X35.5", "WT9X32.5", "WT9X30", "WT9X27.5", "WT9X25", "WT9X23", "WT9X20", "WT9X17.5", "WT8X50", "WT8X44.5", "WT8X38.5", "WT8X33.5", "WT8X28.5", "WT8X25", "WT8X22.5", "WT8X20", "WT8X18", "WT8X15.5", "WT8X13", "WT7X436.5", "WT7X404", "WT7X365", "WT7X332.5", "WT7X302.5", "WT7X275", "WT7X250", "WT7X227.5", "WT7X213", "WT7X199", "WT7X185", "WT7X171", "WT7X155.5", "WT7X141.5", "WT7X128.5", "WT7X116.5", "WT7X105.5", "WT7X96.5", "WT7X88", "WT7X79.5", "WT7X72.5", "WT7X66", "WT7X60", "WT7X54.5", "WT7X49.5", "WT7X45", "WT7X41", "WT7X37", "WT7X34", "WT7X30.5", "WT7X26.5", "WT7X24", "WT7X21.5", "WT7X19", "WT7X17", "WT7X15", "WT7X13", "WT7X11", "WT6X168", "WT6X152.5", "WT6X139.5", "WT6X126", "WT6X115", "WT6X105", "WT6X95", "WT6X85", "WT6X76", "WT6X68", "WT6X60", "WT6X53", "WT6X48", "WT6X43.5", "WT6X39.5", "WT6X36", "WT6X32.5", "WT6X29", "WT6X26.5", "WT6X25", "WT6X22.5", "WT6X20", "WT6X17.5", "WT6X15", "WT6X13", "WT6X11", "WT6X9.5", "WT6X8", "WT6X7", "WT5X56", "WT5X50", "WT5X44", "WT5X38.5", "WT5X34", "WT5X30", "WT5X27", "WT5X24.5", "WT5X22.5", "WT5X19.5", "WT5X16.5", "WT5X15", "WT5X13", "WT5X11", "WT5X9.5", "WT5X8.5", "WT5X7.5", "WT5X6", "WT4X33.5", "WT4X29", "WT4X24", "WT4X20", "WT4X17.5", "WT4X15.5", "WT4X14", "WT4X12", "WT4X10.5", "WT4X9", "WT4X7.5", "WT4X6.5", "WT4X5", "WT3X12.5", "WT3X10", "WT3X7.5", "WT3X8", "WT3X6", "WT3X4.5", "WT3X4.25", "WT2.5X9.5", "WT2.5X8", "WT2X6.5", "MT6.25X6.2", "MT6.25X5.8", "MT6X5.9", "MT6X5.4", "MT6X5", "MT5X4.5", "MT5X4", "MT5X3.75", "MT4X3.25", "MT4X3.1", "MT3X2.2", "MT3X1.85", "MT2.5X9.45", "MT2X3", "ST12X60.5", "ST12X53", "ST12X50", "ST12X45", "ST12X40", "ST10X48", "ST10X43", "ST10X37.5", "ST10X33", "ST9X35", "ST9X27.35", "ST7.5X25", "ST7.5X21.45", "ST6X25", "ST6X20.4", "ST6X17.5", "ST6X15.9", "ST5X17.5", "ST5X12.7", "ST4X11.5", "ST4X9.2", "ST3X8.6", "ST3X6.25", "ST2.5X5", "ST2X4.75", "ST2X3.85", "ST1.5X3.75", "ST1.5X2.85", "2L12X12X1-3/8", "2L12X12X1-3/8X3/4", "2L12X12X1-3/8X1-1/2", "2L12X12X1-1/4", "2L12X12X1-1/4X3/4", "2L12X12X1-1/4X1-1/2", "2L12X12X1-1/8", "2L12X12X1-1/8X3/4", "2L12X12X1-1/8X1-1/2", "2L12X12X1", "2L12X12X1X3/4", "2L12X12X1X1-1/2", "2L10X10X1-3/8", "2L10X10X1-3/8X3/4", "2L10X10X1-3/8X1-1/2", "2L10X10X1-1/4", "2L10X10X1-1/4X3/4", "2L10X10X1-1/4X1-1/2", "2L10X10X1-1/8", "2L10X10X1-1/8X3/4", "2L10X10X1-1/8X1-1/2", "2L10X10X1", "2L10X10X1X3/4", "2L10X10X1X1-1/2", "2L10X10X7/8", "2L10X10X7/8X3/4", "2L10X10X7/8X1-1/2", "2L10X10X3/4", "2L10X10X3/4X3/4", "2L10X10X3/4X1-1/2", "2L8X8X1-1/8", "2L8X8X1-1/8X3/8", "2L8X8X1-1/8X3/4", "2L8X8X1", "2L8X8X1X3/8", "2L8X8X1X3/4", "2L8X8X7/8", "2L8X8X7/8X3/8", "2L8X8X7/8X3/4", "2L8X8X3/4", "2L8X8X3/4X3/8", "2L8X8X3/4X3/4", "2L8X8X5/8", "2L8X8X5/8X3/8", "2L8X8X5/8X3/4", "2L8X8X9/16", "2L8X8X9/16X3/8", "2L8X8X9/16X3/4", "2L8X8X1/2", "2L8X8X1/2X3/8", "2L8X8X1/2X3/4", "2L6X6X1", "2L6X6X1X3/8", "2L6X6X1X3/4", "2L6X6X7/8", "2L6X6X7/8X3/8", "2L6X6X7/8X3/4", "2L6X6X3/4", "2L6X6X3/4X3/8", "2L6X6X3/4X3/4", "2L6X6X5/8", "2L6X6X5/8X3/8", "2L6X6X5/8X3/4", "2L6X6X9/16", "2L6X6X9/16X3/8", "2L6X6X9/16X3/4", "2L6X6X1/2", "2L6X6X1/2X3/8", "2L6X6X1/2X3/4", "2L6X6X7/16", "2L6X6X7/16X3/8", "2L6X6X7/16X3/4", "2L6X6X3/8", "2L6X6X3/8X3/8", "2L6X6X3/8X3/4", "2L6X6X5/16", "2L6X6X5/16X3/8", "2L6X6X5/16X3/4", "2L5X5X7/8", "2L5X5X7/8X3/8", "2L5X5X7/8X3/4", "2L5X5X3/4", "2L5X5X3/4X3/8", "2L5X5X3/4X3/4", "2L5X5X5/8", "2L5X5X5/8X3/8", "2L5X5X5/8X3/4", "2L5X5X1/2", "2L5X5X1/2X3/8", "2L5X5X1/2X3/4", "2L5X5X7/16", "2L5X5X7/16X3/8", "2L5X5X7/16X3/4", "2L5X5X3/8", "2L5X5X3/8X3/8", "2L5X5X3/8X3/4", "2L5X5X5/16", "2L5X5X5/16X3/8", "2L5X5X5/16X3/4", "2L4X4X3/4", "2L4X4X3/4X3/8", "2L4X4X3/4X3/4", "2L4X4X5/8", "2L4X4X5/8X3/8", "2L4X4X5/8X3/4", "2L4X4X1/2", "2L4X4X1/2X3/8", "2L4X4X1/2X3/4", "2L4X4X7/16", "2L4X4X7/16X3/8", "2L4X4X7/16X3/4", "2L4X4X3/8", "2L4X4X3/8X3/8", "2L4X4X3/8X3/4", "2L4X4X5/16", "2L4X4X5/16X3/8", "2L4X4X5/16X3/4", "2L4X4X1/4", "2L4X4X1/4X3/8", "2L4X4X1/4X3/4", "2L3-1/2X3-1/2X1/2", "2L3-1/2X3-1/2X1/2X3/8", "2L3-1/2X3-1/2X1/2X3/4", "2L3-1/2X3-1/2X7/16", "2L3-1/2X3-1/2X7/16X3/8", "2L3-1/2X3-1/2X7/16X3/4", "2L3-1/2X3-1/2X3/8", "2L3-1/2X3-1/2X3/8X3/8", "2L3-1/2X3-1/2X3/8X3/4", "2L3-1/2X3-1/2X5/16", "2L3-1/2X3-1/2X5/16X3/8", "2L3-1/2X3-1/2X5/16X3/4", "2L3-1/2X3-1/2X1/4", "2L3-1/2X3-1/2X1/4X3/8", "2L3-1/2X3-1/2X1/4X3/4", "2L3X3X1/2", "2L3X3X1/2X3/8", "2L3X3X1/2X3/4", "2L3X3X7/16", "2L3X3X7/16X3/8", "2L3X3X7/16X3/4", "2L3X3X3/8", "2L3X3X3/8X3/8", "2L3X3X3/8X3/4", "2L3X3X5/16", "2L3X3X5/16X3/8", "2L3X3X5/16X3/4", "2L3X3X1/4", "2L3X3X1/4X3/8", "2L3X3X1/4X3/4", "2L3X3X3/16", "2L3X3X3/16X3/8", "2L3X3X3/16X3/4", "2L2-1/2X2-1/2X1/2", "2L2-1/2X2-1/2X1/2X3/8", "2L2-1/2X2-1/2X1/2X3/4", "2L2-1/2X2-1/2X3/8", "2L2-1/2X2-1/2X3/8X3/8", "2L2-1/2X2-1/2X3/8X3/4", "2L2-1/2X2-1/2X5/16", "2L2-1/2X2-1/2X5/16X3/8", "2L2-1/2X2-1/2X5/16X3/4", "2L2-1/2X2-1/2X1/4", "2L2-1/2X2-1/2X1/4X3/8", "2L2-1/2X2-1/2X1/4X3/4", "2L2-1/2X2-1/2X3/16", "2L2-1/2X2-1/2X3/16X3/8", "2L2-1/2X2-1/2X3/16X3/4", "2L2X2X3/8", "2L2X2X3/8X3/8", "2L2X2X3/8X3/4", "2L2X2X5/16", "2L2X2X5/16X3/8", "2L2X2X5/16X3/4", "2L2X2X1/4", "2L2X2X1/4X3/8", "2L2X2X1/4X3/4", "2L2X2X3/16", "2L2X2X3/16X3/8", "2L2X2X3/16X3/4", "2L2X2X1/8", "2L2X2X1/8X3/8", "2L2X2X1/8X3/4", "2L8X6X1LLBB", "2L8X6X1X3/8LLBB", "2L8X6X1X3/4LLBB", "2L8X6X7/8LLBB", "2L8X6X7/8X3/8LLBB", "2L8X6X7/8X3/4LLBB", "2L8X6X3/4LLBB", "2L8X6X3/4X3/8LLBB", "2L8X6X3/4X3/4LLBB", "2L8X6X5/8LLBB", "2L8X6X5/8X3/8LLBB", "2L8X6X5/8X3/4LLBB", "2L8X6X9/16LLBB", "2L8X6X9/16X3/8LLBB", "2L8X6X9/16X3/4LLBB", "2L8X6X1/2LLBB", "2L8X6X1/2X3/8LLBB", "2L8X6X1/2X3/4LLBB", "2L8X6X7/16LLBB", "2L8X6X7/16X3/8LLBB", "2L8X6X7/16X3/4LLBB", "2L8X4X1LLBB", "2L8X4X1X3/8LLBB", "2L8X4X1X3/4LLBB", "2L8X4X7/8LLBB", "2L8X4X7/8X3/8LLBB", "2L8X4X7/8X3/4LLBB", "2L8X4X3/4LLBB", "2L8X4X3/4X3/8LLBB", "2L8X4X3/4X3/4LLBB", "2L8X4X5/8LLBB", "2L8X4X5/8X3/8LLBB", "2L8X4X5/8X3/4LLBB", "2L8X4X9/16LLBB", "2L8X4X9/16X3/8LLBB", "2L8X4X9/16X3/4LLBB", "2L8X4X1/2LLBB", "2L8X4X1/2X3/8LLBB", "2L8X4X1/2X3/4LLBB", "2L8X4X7/16LLBB", "2L8X4X7/16X3/8LLBB", "2L8X4X7/16X3/4LLBB", "2L7X4X3/4LLBB", "2L7X4X3/4X3/8LLBB", "2L7X4X3/4X3/4LLBB", "2L7X4X5/8LLBB", "2L7X4X5/8X3/8LLBB", "2L7X4X5/8X3/4LLBB", "2L7X4X1/2LLBB", "2L7X4X1/2X3/8LLBB", "2L7X4X1/2X3/4LLBB", "2L7X4X7/16LLBB", "2L7X4X7/16X3/8LLBB", "2L7X4X7/16X3/4LLBB", "2L7X4X3/8LLBB", "2L7X4X3/8X3/8LLBB", "2L7X4X3/8X3/4LLBB", "2L6X4X7/8LLBB", "2L6X4X7/8X3/8LLBB", "2L6X4X7/8X3/4LLBB", "2L6X4X3/4LLBB", "2L6X4X3/4X3/8LLBB", "2L6X4X3/4X3/4LLBB", "2L6X4X5/8LLBB", "2L6X4X5/8X3/8LLBB", "2L6X4X5/8X3/4LLBB", "2L6X4X9/16LLBB", "2L6X4X9/16X3/8LLBB", "2L6X4X9/16X3/4LLBB", "2L6X4X1/2LLBB", "2L6X4X1/2X3/8LLBB", "2L6X4X1/2X3/4LLBB", "2L6X4X7/16LLBB", "2L6X4X7/16X3/8LLBB", "2L6X4X7/16X3/4LLBB", "2L6X4X3/8LLBB", "2L6X4X3/8X3/8LLBB", "2L6X4X3/8X3/4LLBB", "2L6X4X5/16LLBB", "2L6X4X5/16X3/8LLBB", "2L6X4X5/16X3/4LLBB", "2L6X3-1/2X1/2LLBB", "2L6X3-1/2X1/2X3/8LLBB", "2L6X3-1/2X1/2X3/4LLBB", "2L6X3-1/2X3/8LLBB", "2L6X3-1/2X3/8X3/8LLBB", "2L6X3-1/2X3/8X3/4LLBB", "2L6X3-1/2X5/16LLBB", "2L6X3-1/2X5/16X3/8LLBB", "2L6X3-1/2X5/16X3/4LLBB", "2L5X3-1/2X3/4LLBB", "2L5X3-1/2X3/4X3/8LLBB", "2L5X3-1/2X3/4X3/4LLBB", "2L5X3-1/2X5/8LLBB", "2L5X3-1/2X5/8X3/8LLBB", "2L5X3-1/2X5/8X3/4LLBB", "2L5X3-1/2X1/2LLBB", "2L5X3-1/2X1/2X3/8LLBB", "2L5X3-1/2X1/2X3/4LLBB", "2L5X3-1/2X3/8LLBB", "2L5X3-1/2X3/8X3/8LLBB", "2L5X3-1/2X3/8X3/4LLBB", "2L5X3-1/2X5/16LLBB", "2L5X3-1/2X5/16X3/8LLBB", "2L5X3-1/2X5/16X3/4LLBB", "2L5X3-1/2X1/4LLBB", "2L5X3-1/2X1/4X3/8LLBB", "2L5X3-1/2X1/4X3/4LLBB", "2L5X3X1/2LLBB", "2L5X3X1/2X3/8LLBB", "2L5X3X1/2X3/4LLBB", "2L5X3X7/16LLBB", "2L5X3X7/16X3/8LLBB", "2L5X3X7/16X3/4LLBB", "2L5X3X3/8LLBB", "2L5X3X3/8X3/8LLBB", "2L5X3X3/8X3/4LLBB", "2L5X3X5/16LLBB", "2L5X3X5/16X3/8LLBB", "2L5X3X5/16X3/4LLBB", "2L5X3X1/4LLBB", "2L5X3X1/4X3/8LLBB", "2L5X3X1/4X3/4LLBB", "2L4X3-1/2X1/2LLBB", "2L4X3-1/2X1/2X3/8LLBB", "2L4X3-1/2X1/2X3/4LLBB", "2L4X3-1/2X3/8LLBB", "2L4X3-1/2X3/8X3/8LLBB", "2L4X3-1/2X3/8X3/4LLBB", "2L4X3-1/2X5/16LLBB", "2L4X3-1/2X5/16X3/8LLBB", "2L4X3-1/2X5/16X3/4LLBB", "2L4X3-1/2X1/4LLBB", "2L4X3-1/2X1/4X3/8LLBB", "2L4X3-1/2X1/4X3/4LLBB", "2L4X3X5/8LLBB", "2L4X3X5/8X3/8LLBB", "2L4X3X5/8X3/4LLBB", "2L4X3X1/2LLBB", "2L4X3X1/2X3/8LLBB", "2L4X3X1/2X3/4LLBB", "2L4X3X3/8LLBB", "2L4X3X3/8X3/8LLBB", "2L4X3X3/8X3/4LLBB", "2L4X3X5/16LLBB", "2L4X3X5/16X3/8LLBB", "2L4X3X5/16X3/4LLBB", "2L4X3X1/4LLBB", "2L4X3X1/4X3/8LLBB", "2L4X3X1/4X3/4LLBB", "2L3-1/2X3X1/2LLBB", "2L3-1/2X3X1/2X3/8LLBB", "2L3-1/2X3X1/2X3/4LLBB", "2L3-1/2X3X7/16LLBB", "2L3-1/2X3X7/16X3/8LLBB", "2L3-1/2X3X7/16X3/4LLBB", "2L3-1/2X3X3/8LLBB", "2L3-1/2X3X3/8X3/8LLBB", "2L3-1/2X3X3/8X3/4LLBB", "2L3-1/2X3X5/16LLBB", "2L3-1/2X3X5/16X3/8LLBB", "2L3-1/2X3X5/16X3/4LLBB", "2L3-1/2X3X1/4LLBB", "2L3-1/2X3X1/4X3/8LLBB", "2L3-1/2X3X1/4X3/4LLBB", "2L3-1/2X2-1/2X1/2LLBB", "2L3-1/2X2-1/2X1/2X3/8LLBB", "2L3-1/2X2-1/2X1/2X3/4LLBB", "2L3-1/2X2-1/2X3/8LLBB", "2L3-1/2X2-1/2X3/8X3/8LLBB", "2L3-1/2X2-1/2X3/8X3/4LLBB", "2L3-1/2X2-1/2X5/16LLBB", "2L3-1/2X2-1/2X5/16X3/8LLBB", "2L3-1/2X2-1/2X5/16X3/4LLBB", "2L3-1/2X2-1/2X1/4LLBB", "2L3-1/2X2-1/2X1/4X3/8LLBB", "2L3-1/2X2-1/2X1/4X3/4LLBB", "2L3X2-1/2X1/2LLBB", "2L3X2-1/2X1/2X3/8LLBB", "2L3X2-1/2X1/2X3/4LLBB", "2L3X2-1/2X7/16LLBB", "2L3X2-1/2X7/16X3/8LLBB", "2L3X2-1/2X7/16X3/4LLBB", "2L3X2-1/2X3/8LLBB", "2L3X2-1/2X3/8X3/8LLBB", "2L3X2-1/2X3/8X3/4LLBB", "2L3X2-1/2X5/16LLBB", "2L3X2-1/2X5/16X3/8LLBB", "2L3X2-1/2X5/16X3/4LLBB", "2L3X2-1/2X1/4LLBB", "2L3X2-1/2X1/4X3/8LLBB", "2L3X2-1/2X1/4X3/4LLBB", "2L3X2-1/2X3/16LLBB", "2L3X2-1/2X3/16X3/8LLBB", "2L3X2-1/2X3/16X3/4LLBB", "2L3X2X1/2LLBB", "2L3X2X1/2X3/8LLBB", "2L3X2X1/2X3/4LLBB", "2L3X2X3/8LLBB", "2L3X2X3/8X3/8LLBB", "2L3X2X3/8X3/4LLBB", "2L3X2X5/16LLBB", "2L3X2X5/16X3/8LLBB", "2L3X2X5/16X3/4LLBB", "2L3X2X1/4LLBB", "2L3X2X1/4X3/8LLBB", "2L3X2X1/4X3/4LLBB", "2L3X2X3/16LLBB", "2L3X2X3/16X3/8LLBB", "2L3X2X3/16X3/4LLBB", "2L2-1/2X2X3/8LLBB", "2L2-1/2X2X3/8X3/8LLBB", "2L2-1/2X2X3/8X3/4LLBB", "2L2-1/2X2X5/16LLBB", "2L2-1/2X2X5/16X3/8LLBB", "2L2-1/2X2X5/16X3/4LLBB", "2L2-1/2X2X1/4LLBB", "2L2-1/2X2X1/4X3/8LLBB", "2L2-1/2X2X1/4X3/4LLBB", "2L2-1/2X2X3/16LLBB", "2L2-1/2X2X3/16X3/8LLBB", "2L2-1/2X2X3/16X3/4LLBB", "2L2-1/2X1-1/2X1/4LLBB", "2L2-1/2X1-1/2X1/4X3/8LLBB", "2L2-1/2X1-1/2X1/4X3/4LLBB", "2L2-1/2X1-1/2X3/16LLBB", "2L2-1/2X1-1/2X3/16X3/8LLBB", "2L2-1/2X1-1/2X3/16X3/4LLBB", "2L8X6X1SLBB", "2L8X6X1X3/8SLBB", "2L8X6X1X3/4SLBB", "2L8X6X7/8SLBB", "2L8X6X7/8X3/8SLBB", "2L8X6X7/8X3/4SLBB", "2L8X6X3/4SLBB", "2L8X6X3/4X3/8SLBB", "2L8X6X3/4X3/4SLBB", "2L8X6X5/8SLBB", "2L8X6X5/8X3/8SLBB", "2L8X6X5/8X3/4SLBB", "2L8X6X9/16SLBB", "2L8X6X9/16X3/8SLBB", "2L8X6X9/16X3/4SLBB", "2L8X6X1/2SLBB", "2L8X6X1/2X3/8SLBB", "2L8X6X1/2X3/4SLBB", "2L8X6X7/16SLBB", "2L8X6X7/16X3/8SLBB", "2L8X6X7/16X3/4SLBB", "2L8X4X1SLBB", "2L8X4X1X3/8SLBB", "2L8X4X1X3/4SLBB", "2L8X4X7/8SLBB", "2L8X4X7/8X3/8SLBB", "2L8X4X7/8X3/4SLBB", "2L8X4X3/4SLBB", "2L8X4X3/4X3/8SLBB", "2L8X4X3/4X3/4SLBB", "2L8X4X5/8SLBB", "2L8X4X5/8X3/8SLBB", "2L8X4X5/8X3/4SLBB", "2L8X4X9/16SLBB", "2L8X4X9/16X3/8SLBB", "2L8X4X9/16X3/4SLBB", "2L8X4X1/2SLBB", "2L8X4X1/2X3/8SLBB", "2L8X4X1/2X3/4SLBB", "2L8X4X7/16SLBB", "2L8X4X7/16X3/8SLBB", "2L8X4X7/16X3/4SLBB", "2L7X4X3/4SLBB", "2L7X4X3/4X3/8SLBB", "2L7X4X3/4X3/4SLBB", "2L7X4X5/8SLBB", "2L7X4X5/8X3/8SLBB", "2L7X4X5/8X3/4SLBB", "2L7X4X1/2SLBB", "2L7X4X1/2X3/8SLBB", "2L7X4X1/2X3/4SLBB", "2L7X4X7/16SLBB", "2L7X4X7/16X3/8SLBB", "2L7X4X7/16X3/4SLBB", "2L7X4X3/8SLBB", "2L7X4X3/8X3/8SLBB", "2L7X4X3/8X3/4SLBB", "2L6X4X7/8SLBB", "2L6X4X7/8X3/8SLBB", "2L6X4X7/8X3/4SLBB", "2L6X4X3/4SLBB", "2L6X4X3/4X3/8SLBB", "2L6X4X3/4X3/4SLBB", "2L6X4X5/8SLBB", "2L6X4X5/8X3/8SLBB", "2L6X4X5/8X3/4SLBB", "2L6X4X9/16SLBB", "2L6X4X9/16X3/8SLBB", "2L6X4X9/16X3/4SLBB", "2L6X4X1/2SLBB", "2L6X4X1/2X3/8SLBB", "2L6X4X1/2X3/4SLBB", "2L6X4X7/16SLBB", "2L6X4X7/16X3/8SLBB", "2L6X4X7/16X3/4SLBB", "2L6X4X3/8SLBB", "2L6X4X3/8X3/8SLBB", "2L6X4X3/8X3/4SLBB", "2L6X4X5/16SLBB", "2L6X4X5/16X3/8SLBB", "2L6X4X5/16X3/4SLBB", "2L6X3-1/2X1/2SLBB", "2L6X3-1/2X1/2X3/8SLBB", "2L6X3-1/2X1/2X3/4SLBB", "2L6X3-1/2X3/8SLBB", "2L6X3-1/2X3/8X3/8SLBB", "2L6X3-1/2X3/8X3/4SLBB", "2L6X3-1/2X5/16SLBB", "2L6X3-1/2X5/16X3/8SLBB", "2L6X3-1/2X5/16X3/4SLBB", "2L5X3-1/2X3/4SLBB", "2L5X3-1/2X3/4X3/8SLBB", "2L5X3-1/2X3/4X3/4SLBB", "2L5X3-1/2X5/8SLBB", "2L5X3-1/2X5/8X3/8SLBB", "2L5X3-1/2X5/8X3/4SLBB", "2L5X3-1/2X1/2SLBB", "2L5X3-1/2X1/2X3/8SLBB", "2L5X3-1/2X1/2X3/4SLBB", "2L5X3-1/2X3/8SLBB", "2L5X3-1/2X3/8X3/8SLBB", "2L5X3-1/2X3/8X3/4SLBB", "2L5X3-1/2X5/16SLBB", "2L5X3-1/2X5/16X3/8SLBB", "2L5X3-1/2X5/16X3/4SLBB", "2L5X3-1/2X1/4SLBB", "2L5X3-1/2X1/4X3/8SLBB", "2L5X3-1/2X1/4X3/4SLBB", "2L5X3X1/2SLBB", "2L5X3X1/2X3/8SLBB", "2L5X3X1/2X3/4SLBB", "2L5X3X7/16SLBB", "2L5X3X7/16X3/8SLBB", "2L5X3X7/16X3/4SLBB", "2L5X3X3/8SLBB", "2L5X3X3/8X3/8SLBB", "2L5X3X3/8X3/4SLBB", "2L5X3X5/16SLBB", "2L5X3X5/16X3/8SLBB", "2L5X3X5/16X3/4SLBB", "2L5X3X1/4SLBB", "2L5X3X1/4X3/8SLBB", "2L5X3X1/4X3/4SLBB", "2L4X3-1/2X1/2SLBB", "2L4X3-1/2X1/2X3/8SLBB", "2L4X3-1/2X1/2X3/4SLBB", "2L4X3-1/2X3/8SLBB", "2L4X3-1/2X3/8X3/8SLBB", "2L4X3-1/2X3/8X3/4SLBB", "2L4X3-1/2X5/16SLBB", "2L4X3-1/2X5/16X3/8SLBB", "2L4X3-1/2X5/16X3/4SLBB", "2L4X3-1/2X1/4SLBB", "2L4X3-1/2X1/4X3/8SLBB", "2L4X3-1/2X1/4X3/4SLBB", "2L4X3X5/8SLBB", "2L4X3X5/8X3/8SLBB", "2L4X3X5/8X3/4SLBB", "2L4X3X1/2SLBB", "2L4X3X1/2X3/8SLBB", "2L4X3X1/2X3/4SLBB", "2L4X3X3/8SLBB", "2L4X3X3/8X3/8SLBB", "2L4X3X3/8X3/4SLBB", "2L4X3X5/16SLBB", "2L4X3X5/16X3/8SLBB", "2L4X3X5/16X3/4SLBB", "2L4X3X1/4SLBB", "2L4X3X1/4X3/8SLBB", "2L4X3X1/4X3/4SLBB", "2L3-1/2X3X1/2SLBB", "2L3-1/2X3X1/2X3/8SLBB", "2L3-1/2X3X1/2X3/4SLBB", "2L3-1/2X3X7/16SLBB", "2L3-1/2X3X7/16X3/8SLBB", "2L3-1/2X3X7/16X3/4SLBB", "2L3-1/2X3X3/8SLBB", "2L3-1/2X3X3/8X3/8SLBB", "2L3-1/2X3X3/8X3/4SLBB", "2L3-1/2X3X5/16SLBB", "2L3-1/2X3X5/16X3/8SLBB", "2L3-1/2X3X5/16X3/4SLBB", "2L3-1/2X3X1/4SLBB", "2L3-1/2X3X1/4X3/8SLBB", "2L3-1/2X3X1/4X3/4SLBB", "2L3-1/2X2-1/2X1/2SLBB", "2L3-1/2X2-1/2X1/2X3/8SLBB", "2L3-1/2X2-1/2X1/2X3/4SLBB", "2L3-1/2X2-1/2X3/8SLBB", "2L3-1/2X2-1/2X3/8X3/8SLBB", "2L3-1/2X2-1/2X3/8X3/4SLBB", "2L3-1/2X2-1/2X5/16SLBB", "2L3-1/2X2-1/2X5/16X3/8SLBB", "2L3-1/2X2-1/2X5/16X3/4SLBB", "2L3-1/2X2-1/2X1/4SLBB", "2L3-1/2X2-1/2X1/4X3/8SLBB", "2L3-1/2X2-1/2X1/4X3/4SLBB", "2L3X2-1/2X1/2SLBB", "2L3X2-1/2X1/2X3/8SLBB", "2L3X2-1/2X1/2X3/4SLBB", "2L3X2-1/2X7/16SLBB", "2L3X2-1/2X7/16X3/8SLBB", "2L3X2-1/2X7/16X3/4SLBB", "2L3X2-1/2X3/8SLBB", "2L3X2-1/2X3/8X3/8SLBB", "2L3X2-1/2X3/8X3/4SLBB", "2L3X2-1/2X5/16SLBB", "2L3X2-1/2X5/16X3/8SLBB", "2L3X2-1/2X5/16X3/4SLBB", "2L3X2-1/2X1/4SLBB", "2L3X2-1/2X1/4X3/8SLBB", "2L3X2-1/2X1/4X3/4SLBB", "2L3X2-1/2X3/16SLBB", "2L3X2-1/2X3/16X3/8SLBB", "2L3X2-1/2X3/16X3/4SLBB", "2L3X2X1/2SLBB", "2L3X2X1/2X3/8SLBB", "2L3X2X1/2X3/4SLBB", "2L3X2X3/8SLBB", "2L3X2X3/8X3/8SLBB", "2L3X2X3/8X3/4SLBB", "2L3X2X5/16SLBB", "2L3X2X5/16X3/8SLBB", "2L3X2X5/16X3/4SLBB", "2L3X2X1/4SLBB", "2L3X2X1/4X3/8SLBB", "2L3X2X1/4X3/4SLBB", "2L3X2X3/16SLBB", "2L3X2X3/16X3/8SLBB", "2L3X2X3/16X3/4SLBB", "2L2-1/2X2X3/8SLBB", "2L2-1/2X2X3/8X3/8SLBB", "2L2-1/2X2X3/8X3/4SLBB", "2L2-1/2X2X5/16SLBB", "2L2-1/2X2X5/16X3/8SLBB", "2L2-1/2X2X5/16X3/4SLBB", "2L2-1/2X2X1/4SLBB", "2L2-1/2X2X1/4X3/8SLBB", "2L2-1/2X2X1/4X3/4SLBB", "2L2-1/2X2X3/16SLBB", "2L2-1/2X2X3/16X3/8SLBB", "2L2-1/2X2X3/16X3/4SLBB", "2L2-1/2X1-1/2X1/4SLBB", "2L2-1/2X1-1/2X1/4X3/8SLBB", "2L2-1/2X1-1/2X1/4X3/4SLBB", "2L2-1/2X1-1/2X3/16SLBB", "2L2-1/2X1-1/2X3/16X3/8SLBB", "2L2-1/2X1-1/2X3/16X3/4SLBB", "HSS24X12X.750", "HSS24X12X.625", "HSS24X12X.500", "HSS22X22X.875", "HSS22X22X.750", "HSS20X20X.875", "HSS20X20X.750", "HSS20X20X.625", "HSS20X20X.500", "HSS20X12X.750", "HSS20X12X.625", "HSS20X12X.500", "HSS20X12X.375", "HSS20X12X.313", "HSS20X8X.625", "HSS20X8X.500", "HSS20X8X.375", "HSS20X8X.313", "HSS20X4X.500", "HSS20X4X.375", "HSS20X4X.313", "HSS20X4X.250", "HSS18X18X.875", "HSS18X18X.750", "HSS18X18X.625", "HSS18X18X.500", "HSS18X6X.625", "HSS18X6X.500", "HSS18X6X.375", "HSS18X6X.313", "HSS18X6X.250", "HSS16X16X.875", "HSS16X16X.750", "HSS16X16X.625", "HSS16X16X.500", "HSS16X16X.375", "HSS16X16X.313", "HSS16X12X.750", "HSS16X12X.625", "HSS16X12X.500", "HSS16X12X.375", "HSS16X12X.313", "HSS16X8X.625", "HSS16X8X.500", "HSS16X8X.375", "HSS16X8X.313", "HSS16X8X.250", "HSS16X4X.625", "HSS16X4X.500", "HSS16X4X.375", "HSS16X4X.313", "HSS16X4X.250", "HSS16X4X.188", "HSS14X14X.875", "HSS14X14X.750", "HSS14X14X.625", "HSS14X14X.500", "HSS14X14X.375", "HSS14X14X.313", "HSS14X10X.625", "HSS14X10X.500", "HSS14X10X.375", "HSS14X10X.313", "HSS14X10X.250", "HSS14X6X.625", "HSS14X6X.500", "HSS14X6X.375", "HSS14X6X.313", "HSS14X6X.250", "HSS14X6X.188", "HSS14X4X.625", "HSS14X4X.500", "HSS14X4X.375", "HSS14X4X.313", "HSS14X4X.250", "HSS14X4X.188", "HSS12X12X.750", "HSS12X12X.625", "HSS12X12X.500", "HSS12X12X.375", "HSS12X12X.313", "HSS12X12X.250", "HSS12X12X.188", "HSS12X10X.500", "HSS12X10X.375", "HSS12X10X.313", "HSS12X10X.250", "HSS12X8X.625", "HSS12X8X.500", "HSS12X8X.375", "HSS12X8X.313", "HSS12X8X.250", "HSS12X8X.188", "HSS12X6X.625", "HSS12X6X.500", "HSS12X6X.375", "HSS12X6X.313", "HSS12X6X.250", "HSS12X6X.188", "HSS12X4X.625", "HSS12X4X.500", "HSS12X4X.375", "HSS12X4X.313", "HSS12X4X.250", "HSS12X4X.188", "HSS12X3-1/2X.375", "HSS12X3-1/2X.313", "HSS12X3X.313", "HSS12X3X.250", "HSS12X3X.188", "HSS12X2X.313", "HSS12X2X.250", "HSS12X2X.188", "HSS10X10X.750", "HSS10X10X.625", "HSS10X10X.500", "HSS10X10X.375", "HSS10X10X.313", "HSS10X10X.250", "HSS10X10X.188", "HSS10X8X.625", "HSS10X8X.500", "HSS10X8X.375", "HSS10X8X.313", "HSS10X8X.250", "HSS10X8X.188", "HSS10X6X.625", "HSS10X6X.500", "HSS10X6X.375", "HSS10X6X.313", "HSS10X6X.250", "HSS10X6X.188", "HSS10X5X.375", "HSS10X5X.313", "HSS10X5X.250", "HSS10X5X.188", "HSS10X4X.625", "HSS10X4X.500", "HSS10X4X.375", "HSS10X4X.313", "HSS10X4X.250", "HSS10X4X.188", "HSS10X4X.125", "HSS10X3-1/2X.500", "HSS10X3-1/2X.375", "HSS10X3-1/2X.313", "HSS10X3-1/2X.250", "HSS10X3-1/2X.188", "HSS10X3-1/2X.125", "HSS10X3X.375", "HSS10X3X.313", "HSS10X3X.250", "HSS10X3X.188", "HSS10X3X.125", "HSS10X2X.375", "HSS10X2X.313", "HSS10X2X.250", "HSS10X2X.188", "HSS10X2X.125", "HSS9X9X.625", "HSS9X9X.500", "HSS9X9X.375", "HSS9X9X.313", "HSS9X9X.250", "HSS9X9X.188", "HSS9X9X.125", "HSS9X7X.625", "HSS9X7X.500", "HSS9X7X.375", "HSS9X7X.313", "HSS9X7X.250", "HSS9X7X.188", "HSS9X5X.625", "HSS9X5X.500", "HSS9X5X.375", "HSS9X5X.313", "HSS9X5X.250", "HSS9X5X.188", "HSS9X3X.500", "HSS9X3X.375", "HSS9X3X.313", "HSS9X3X.250", "HSS9X3X.188", "HSS8X8X.625", "HSS8X8X.500", "HSS8X8X.375", "HSS8X8X.313", "HSS8X8X.250", "HSS8X8X.188", "HSS8X8X.125", "HSS8X6X.625", "HSS8X6X.500", "HSS8X6X.375", "HSS8X6X.313", "HSS8X6X.250", "HSS8X6X.188", "HSS8X4X.625", "HSS8X4X.500", "HSS8X4X.375", "HSS8X4X.313", "HSS8X4X.250", "HSS8X4X.188", "HSS8X4X.125", "HSS8X3X.500", "HSS8X3X.375", "HSS8X3X.313", "HSS8X3X.250", "HSS8X3X.188", "HSS8X3X.125", "HSS8X2X.375", "HSS8X2X.313", "HSS8X2X.250", "HSS8X2X.188", "HSS8X2X.125", "HSS7X7X.625", "HSS7X7X.500", "HSS7X7X.375", "HSS7X7X.313", "HSS7X7X.250", "HSS7X7X.188", "HSS7X7X.125", "HSS7X5X.500", "HSS7X5X.375", "HSS7X5X.313", "HSS7X5X.250", "HSS7X5X.188", "HSS7X5X.125", "HSS7X4X.500", "HSS7X4X.375", "HSS7X4X.313", "HSS7X4X.250", "HSS7X4X.188", "HSS7X4X.125", "HSS7X3X.500", "HSS7X3X.375", "HSS7X3X.313", "HSS7X3X.250", "HSS7X3X.188", "HSS7X3X.125", "HSS7X2X.250", "HSS7X2X.188", "HSS7X2X.125", "HSS6X6X.625", "HSS6X6X.500", "HSS6X6X.375", "HSS6X6X.313", "HSS6X6X.250", "HSS6X6X.188", "HSS6X6X.125", "HSS6X5X.500", "HSS6X5X.375", "HSS6X5X.313", "HSS6X5X.250", "HSS6X5X.188", "HSS6X5X.125", "HSS6X4X.500", "HSS6X4X.375", "HSS6X4X.313", "HSS6X4X.250", "HSS6X4X.188", "HSS6X4X.125", "HSS6X3X.500", "HSS6X3X.375", "HSS6X3X.313", "HSS6X3X.250", "HSS6X3X.188", "HSS6X3X.125", "HSS6X2X.375", "HSS6X2X.313", "HSS6X2X.250", "HSS6X2X.188", "HSS6X2X.125", "HSS5-1/2X5-1/2X.375", "HSS5-1/2X5-1/2X.313", "HSS5-1/2X5-1/2X.250", "HSS5-1/2X5-1/2X.188", "HSS5-1/2X5-1/2X.125", "HSS5X5X.500", "HSS5X5X.375", "HSS5X5X.313", "HSS5X5X.250", "HSS5X5X.188", "HSS5X5X.125", "HSS5X4X.500", "HSS5X4X.375", "HSS5X4X.313", "HSS5X4X.250", "HSS5X4X.188", "HSS5X4X.125", "HSS5X3X.500", "HSS5X3X.375", "HSS5X3X.313", "HSS5X3X.250", "HSS5X3X.188", "HSS5X3X.125", "HSS5X2-1/2X.250", "HSS5X2-1/2X.188", "HSS5X2-1/2X.125", "HSS5X2X.375", "HSS5X2X.313", "HSS5X2X.250", "HSS5X2X.188", "HSS5X2X.125", "HSS4-1/2X4-1/2X.500", "HSS4-1/2X4-1/2X.375", "HSS4-1/2X4-1/2X.313", "HSS4-1/2X4-1/2X.250", "HSS4-1/2X4-1/2X.188", "HSS4-1/2X4-1/2X.125", "HSS4X4X.500", "HSS4X4X.375", "HSS4X4X.313", "HSS4X4X.250", "HSS4X4X.188", "HSS4X4X.125", "HSS4X3X.375", "HSS4X3X.313", "HSS4X3X.250", "HSS4X3X.188", "HSS4X3X.125", "HSS4X2-1/2X.375", "HSS4X2-1/2X.313", "HSS4X2-1/2X.250", "HSS4X2-1/2X.188", "HSS4X2-1/2X.125", "HSS4X2X.375", "HSS4X2X.313", "HSS4X2X.250", "HSS4X2X.188", "HSS4X2X.125", "HSS3-1/2X3-1/2X.375", "HSS3-1/2X3-1/2X.313", "HSS3-1/2X3-1/2X.250", "HSS3-1/2X3-1/2X188", "HSS3-1/2X3-1/2X.125", "HSS3-1/2X2-1/2X.375", "HSS3-1/2X2-1/2X.313", "HSS3-1/2X2-1/2X.250", "HSS3-1/2X2-1/2X.188", "HSS3-1/2X2-1/2X.125", "HSS3-1/2X2X.250", "HSS3-1/2X2X.188", "HSS3-1/2X2X.125", "HSS3-1/2X1-1/2X.250", "HSS3-1/2X1-1/2X.188", "HSS3-1/2X1-1/2X.125", "HSS3X3X.375", "HSS3X3X.313", "HSS3X3X.250", "HSS3X3X.188", "HSS3X3X.125", "HSS3X2-1/2X.313", "HSS3X2-1/2X.250", "HSS3X2-1/2X.188", "HSS3X2-1/2X.125", "HSS3X2X.313", "HSS3X2X.250", "HSS3X2X.188", "HSS3X2X.125", "HSS3X1-1/2X.250", "HSS3X1-1/2X.188", "HSS3X1-1/2X.125", "HSS3X1X.188", "HSS3X1X.125", "HSS2-1/2X2-1/2X.313", "HSS2-1/2X2-1/2X.250", "HSS2-1/2X2-1/2X.188", "HSS2-1/2X2-1/2X.125", "HSS2-1/2X2X.250", "HSS2-1/2X2X.188", "HSS2-1/2X2X.125", "HSS2-1/2X1-1/2X.250", "HSS2-1/2X1-1/2X.188", "HSS2-1/2X1-1/2X.125", "HSS2-1/2X1X.188", "HSS2-1/2X1X.125", "HSS2-1/4X2-1/4X.250", "HSS2-1/4X2-1/4X.188", "HSS2-1/4X2-1/4X.125", "HSS2-1/4X2X.188", "HSS2-1/4X2X.125", "HSS2X2X.250", "HSS2X2X.188", "HSS2X2X.125", "HSS2X1-1/2X.188", "HSS2X1-1/2X.125", "HSS2X1X.188", "HSS2X1X.125", "HSS20X.500", "HSS20X.375", "HSS18X.500", "HSS18X.375", "HSS16X.625", "HSS16X.500", "HSS16X.438", "HSS16X.375", "HSS16X.312", "HSS16X.250", "HSS14X.625", "HSS14X.500", "HSS14X.375", "HSS14X.312", "HSS14X.250", "HSS12.75X.500", "HSS12.75X.375", "HSS12.75X.250", "HSS10.75X.500", "HSS10.75X.375", "HSS10.75X.250", "HSS10X.625", "HSS10X.500", "HSS10X.375", "HSS10X.312", "HSS10X.250", "HSS10X.188", "HSS9.625X.500", "HSS9.625X.375", "HSS9.625X.312", "HSS9.625X.250", "HSS9.625X.188", "HSS8.625X.625", "HSS8.625X.500", "HSS8.625X.375", "HSS8.625X.322", "HSS8.625X.250", "HSS8.625X.188", "HSS7.625X.375", "HSS7.625X.328", "HSS7.5X.500", "HSS7.5X.375", "HSS7.5X.312", "HSS7.5X.250", "HSS7.5X.188", "HSS7X.500", "HSS7X.375", "HSS7X.312", "HSS7X.250", "HSS7X.188", "HSS7X.125", "HSS6.875X.500", "HSS6.875X.375", "HSS6.875X.312", "HSS6.875X.250", "HSS6.875X.188", "HSS6.625X.500", "HSS6.625X.432", "HSS6.625X.375", "HSS6.625X.312", "HSS6.625X.280", "HSS6.625X.250", "HSS6.625X.188", "HSS6.625X.125", "HSS6X.500", "HSS6X.375", "HSS6X.312", "HSS6X.280", "HSS6X.250", "HSS6X.188", "HSS6X.125", "HSS5.563X.500", "HSS5.563X.375", "HSS5.563X.258", "HSS5.563X.188", "HSS5.563X.134", "HSS5.5X.500", "HSS5.5X.375", "HSS5.5X.258", "HSS5X.500", "HSS5X.375", "HSS5X.312", "HSS5X.258", "HSS5X.250", "HSS5X.188", "HSS5X.125", "HSS4.5X.375", "HSS4.5X.337", "HSS4.5X.237", "HSS4.5X.188", "HSS4.5X.125", "HSS4X.313", "HSS4X.250", "HSS4X.237", "HSS4X.226", "HSS4X.220", "HSS4X.188", "HSS4X.125", "HSS3.5X.313", "HSS3.5X.300", "HSS3.5X.250", "HSS3.5X.216", "HSS3.5X.203", "HSS3.5X.188", "HSS3.5X.125", "HSS3X.250", "HSS3X.216", "HSS3X.203", "HSS3X.188", "HSS3X.152", "HSS3X.134", "HSS3X.125", "HSS2.875X.250", "HSS2.875X.203", "HSS2.875X.188", "HSS2.875X.125", "HSS2.5X.250", "HSS2.5X.188", "HSS2.5X.125", "HSS2.375X.250", "HSS2.375X.218", "HSS2.375X.188", "HSS2.375X.154", "HSS2.375X.125", "HSS1.9X.188", "HSS1.9X.145", "HSS1.9X.120", "HSS1.66X.140", "Pipe26STD", "Pipe24SCH20", "Pipe20SCH20", "Pipe18STD", "Pipe16SCH30", "Pipe14SCH30", "Pipe12STD", "Pipe10SCH40", "Pipe8SCH40", "Pipe6SCH40", "Pipe5SCH40", "Pipe4SCH40", "Pipe3-1/2SCH40", "Pipe3SCH40", "Pipe2-1/2SCH40", "Pipe2SCH40", "Pipe1-1/2SCH40", "Pipe1-1/4SCH40", "Pipe1SCH40", "Pipe3/4SCH40", "Pipe1/2SCH40", "Pipe26SCH20", "Pipe24XS", "Pipe20SCH30", "Pipe18XS", "Pipe16SCH40", "Pipe14XS", "Pipe12XS", "Pipe10SCH80", "Pipe8SCH80", "Pipe6SCH80", "Pipe5SCH80", "Pipe4SCH80", "Pipe3-1/2SCH80", "Pipe3SCH80", "Pipe2-1/2SCH80", "Pipe2SCH80", "Pipe1-1/2SCH80", "Pipe1-1/4SCH80", "Pipe1SCH80", "Pipe3/4SCH80", "Pipe1/2SCH80", "Pipe12SCH120", "Pipe10SCH140", "Pipe8XXS", "Pipe6XXS", "Pipe5XXS", "Pipe4XXS", "Pipe3XXS", "Pipe2-1/2XXS", "Pipe2XXS"], columns = [T_F, W, A, d, ddet, Ht, h, OD, bf, bfdet, B, b, ID, tw, twdet, `twdet/2`, tf, tfdet, t, tnom, tdes, kdes, kdet, k1, x, y, eo, xp, yp, `bf/2tf`, `b/t`, `b/tdes`, `h/tw`, `h/tdes`, `D/t`, Ix, Zx, Sx, rx, Iy, Zy, Sy, ry, Iz, rz, Sz, J])

 

DataFrame(_rtable[18446744074426285342], rows = ["W10X68", "W10X60", "W10X54", "W10X49", "W10X45", "W10X39", "W10X33", "W10X30", "W10X26", "W10X22", "W10X19", "W10X17", "W10X15", "W8X67", "W8X58", "W8X48", "W8X40", "W8X35", "W8X31", "W8X28", "W8X24", "W8X21", "W8X18", "W8X15", "W6X25", "W6X20", "S10X35", "S10X25.4", "S8X23", "S8X18.4", "HP10X57", "HP10X42", "HP8X36", "C10X30", "C10X25", "C10X20", "C10X15.3", "C9X20", "MC10X41.1", "MC10X33.6", "MC10X28.5", "MC10X25", "MC10X22", "MC9X25.4", "MC9X23.9", "MC8X22.8", "MC8X21.4", "MC8X20", "MC8X18.7", "MC7X22.7", "MC7X19.1", "L10X10X1-3/8", "L10X10X1-1/4", "L10X10X1-1/8", "L10X10X1", "L10X10X7/8", "L10X10X3/4", "L8X8X1-1/8", "L8X8X1", "L8X8X7/8", "L8X8X3/4", "L8X6X1", "L8X6X7/8", "L8X6X3/4", "L8X4X1", "L8X4X7/8", "WT10.5X31", "WT10.5X28.5", "WT9X117", "WT9X105.5", "WT9X96", "WT9X87.5", "WT9X79", "WT9X71.5", "WT9X65", "WT9X59.5", "WT9X53", "WT9X48.5", "WT7X302.5", "WT7X275", "WT7X250", "WT7X227.5", "WT7X213", "WT7X199", "WT7X185", "WT7X171", "WT7X155.5", "WT7X141.5", "WT7X128.5", "WT7X116.5", "WT7X105.5", "WT7X96.5", "WT7X88", "WT6X168", "WT6X152.5", "WT6X139.5", "WT6X126", "WT6X115", "WT6X105", "WT6X95", "WT6X85", "ST10X48", "ST10X43", "ST10X37.5", "ST10X33", "ST9X35", "2L10X10X1-3/8", "2L10X10X1-3/8X3/4", "2L10X10X1-3/8X1-1/2", "2L10X10X1-1/4", "2L10X10X1-1/4X3/4", "2L10X10X1-1/4X1-1/2", "2L10X10X1-1/8", "2L10X10X1-1/8X3/4", "2L10X10X1-1/8X1-1/2", "2L10X10X1", "2L10X10X1X3/4", "2L10X10X1X1-1/2", "2L10X10X7/8", "2L10X10X7/8X3/4", "2L10X10X7/8X1-1/2", "2L10X10X3/4", "2L10X10X3/4X3/4", "2L10X10X3/4X1-1/2", "2L8X8X1-1/8", "2L8X8X1-1/8X3/8", "2L8X8X1-1/8X3/4", "2L8X8X1", "2L8X8X1X3/8", "2L8X8X1X3/4", "2L8X8X7/8", "2L8X8X7/8X3/8", "2L8X8X7/8X3/4", "2L8X8X3/4", "2L8X8X3/4X3/8", "2L8X8X3/4X3/4", "2L8X8X5/8", "2L8X8X5/8X3/8", "2L8X8X5/8X3/4", "2L8X8X9/16", "2L8X8X9/16X3/8", "2L8X8X9/16X3/4", "2L8X8X1/2", "2L8X8X1/2X3/8", "2L8X8X1/2X3/4", "2L6X6X1", "2L6X6X1X3/8", "2L6X6X1X3/4", "2L6X6X7/8", "2L6X6X7/8X3/8", "2L6X6X7/8X3/4", "2L6X6X3/4", "2L6X6X3/4X3/8", "2L6X6X3/4X3/4", "2L8X6X1LLBB", "2L8X6X1X3/8LLBB", "2L8X6X1X3/4LLBB", "2L8X6X7/8LLBB", "2L8X6X7/8X3/8LLBB", "2L8X6X7/8X3/4LLBB", "2L8X6X3/4LLBB", "2L8X6X3/4X3/8LLBB", "2L8X6X3/4X3/4LLBB", "2L8X6X5/8LLBB", "2L8X6X5/8X3/8LLBB", "2L8X6X5/8X3/4LLBB", "2L8X6X9/16LLBB", "2L8X6X9/16X3/8LLBB", "2L8X6X9/16X3/4LLBB", "2L8X6X1/2LLBB", "2L8X6X1/2X3/8LLBB", "2L8X6X1/2X3/4LLBB", "2L8X6X7/16LLBB", "2L8X6X7/16X3/8LLBB", "2L8X6X7/16X3/4LLBB", "2L8X4X1LLBB", "2L8X4X1X3/8LLBB", "2L8X4X1X3/4LLBB", "2L8X4X7/8LLBB", "2L8X4X7/8X3/8LLBB", "2L8X4X7/8X3/4LLBB", "2L8X4X3/4LLBB", "2L8X4X3/4X3/8LLBB", "2L8X4X3/4X3/4LLBB", "2L8X4X5/8LLBB", "2L8X4X5/8X3/8LLBB", "2L8X4X5/8X3/4LLBB", "2L8X4X9/16LLBB", "2L8X4X9/16X3/8LLBB", "2L8X4X9/16X3/4LLBB", "2L8X4X1/2LLBB", "2L8X4X1/2X3/8LLBB", "2L8X4X1/2X3/4LLBB", "2L8X4X7/16LLBB", "2L8X4X7/16X3/8LLBB", "2L8X4X7/16X3/4LLBB", "2L7X4X3/4LLBB", "2L7X4X3/4X3/8LLBB", "2L7X4X3/4X3/4LLBB", "2L7X4X5/8LLBB", "2L7X4X5/8X3/8LLBB", "2L7X4X5/8X3/4LLBB", "2L6X4X7/8LLBB", "2L6X4X7/8X3/8LLBB", "2L6X4X7/8X3/4LLBB", "2L6X4X3/4LLBB", "2L6X4X3/4X3/8LLBB", "2L6X4X3/4X3/4LLBB", "2L8X6X1SLBB", "2L8X6X1X3/8SLBB", "2L8X6X1X3/4SLBB", "2L8X6X7/8SLBB", "2L8X6X7/8X3/8SLBB", "2L8X6X7/8X3/4SLBB", "2L8X6X3/4SLBB", "2L8X6X3/4X3/8SLBB", "2L8X6X3/4X3/4SLBB", "2L8X6X5/8SLBB", "2L8X6X5/8X3/8SLBB", "2L8X6X5/8X3/4SLBB", "HSS24X12X.750", "HSS24X12X.625", "HSS24X12X.500", "HSS22X22X.875", "HSS22X22X.750", "HSS20X20X.875", "HSS20X20X.750", "HSS20X20X.625", "HSS20X20X.500", "HSS20X12X.750", "HSS20X12X.625", "HSS20X12X.500", "HSS20X12X.375", "HSS20X12X.313", "HSS20X8X.625", "HSS20X8X.500", "HSS20X8X.375", "HSS20X8X.313", "HSS20X4X.500", "HSS20X4X.375", "HSS20X4X.313", "HSS20X4X.250", "HSS18X18X.875", "HSS18X18X.750", "HSS18X18X.625", "HSS18X18X.500", "HSS18X6X.625", "HSS18X6X.500", "HSS18X6X.375", "HSS18X6X.313", "HSS18X6X.250", "HSS16X16X.875", "HSS16X16X.750", "HSS16X16X.625", "HSS16X16X.500", "HSS16X16X.375", "HSS16X16X.313", "HSS16X12X.750", "HSS16X12X.625", "HSS16X12X.500", "HSS16X12X.375", "HSS16X12X.313", "HSS16X8X.625", "HSS16X8X.500", "HSS16X8X.375", "HSS16X8X.313", "HSS16X8X.250", "HSS16X4X.625", "HSS16X4X.500", "HSS16X4X.375", "HSS16X4X.313", "HSS16X4X.250", "HSS16X4X.188", "HSS14X14X.875", "HSS14X14X.750", "HSS14X14X.625", "HSS14X14X.500", "HSS14X14X.375", "HSS14X14X.313", "HSS14X10X.625", "HSS14X10X.500", "HSS14X10X.375", "HSS14X10X.313", "HSS14X10X.250", "HSS14X6X.625", "HSS14X6X.500", "HSS14X6X.375", "HSS14X6X.313", "HSS14X6X.250", "HSS14X6X.188", "HSS14X4X.625", "HSS14X4X.500", "HSS14X4X.375", "HSS14X4X.313", "HSS14X4X.250", "HSS14X4X.188", "HSS12X12X.750", "HSS12X12X.625", "HSS12X12X.500", "HSS12X12X.375", "HSS12X12X.313", "HSS12X12X.250", "HSS12X12X.188", "HSS12X10X.500", "HSS12X10X.375", "HSS12X10X.313", "HSS12X10X.250", "HSS12X8X.625", "HSS12X8X.500", "HSS12X8X.375", "HSS12X8X.313", "HSS12X8X.250", "HSS12X8X.188", "HSS12X6X.625", "HSS12X6X.500", "HSS12X6X.375", "HSS12X6X.313", "HSS12X6X.250", "HSS12X6X.188", "HSS12X4X.625", "HSS12X4X.500", "HSS12X4X.375", "HSS12X4X.313", "HSS12X4X.250", "HSS12X4X.188", "HSS12X3-1/2X.375", "HSS12X3-1/2X.313", "HSS12X3X.313", "HSS12X3X.250", "HSS12X3X.188", "HSS12X2X.313", "HSS12X2X.250", "HSS10X10X.750", "HSS10X10X.625", "HSS10X10X.500", "HSS10X10X.375", "HSS10X10X.313", "HSS10X10X.250", "HSS10X10X.188", "HSS10X8X.625", "HSS10X8X.500", "HSS10X8X.375", "HSS10X8X.313", "HSS10X8X.250", "HSS10X8X.188", "HSS10X6X.625", "HSS10X6X.500", "HSS10X6X.375", "HSS10X6X.313", "HSS10X6X.250", "HSS10X6X.188", "HSS10X5X.375", "HSS10X5X.313", "HSS10X5X.250", "HSS10X5X.188", "HSS10X4X.625", "HSS10X4X.500", "HSS10X4X.375", "HSS10X4X.313", "HSS10X4X.250", "HSS10X3-1/2X.500", "HSS10X3-1/2X.375", "HSS10X3-1/2X.313", "HSS10X3-1/2X.250", "HSS10X3X.375", "HSS10X3X.313", "HSS10X3X.250", "HSS10X2X.375", "HSS10X2X.313", "HSS9X9X.625", "HSS9X9X.500", "HSS9X9X.375", "HSS9X9X.313", "HSS9X9X.250", "HSS9X9X.188", "HSS9X9X.125", "HSS9X7X.625", "HSS9X7X.500", "HSS9X7X.375", "HSS9X7X.313", "HSS9X7X.250", "HSS9X7X.188", "HSS9X5X.625", "HSS9X5X.500", "HSS9X5X.375", "HSS9X5X.313", "HSS9X5X.250", "HSS9X3X.500", "HSS9X3X.375", "HSS9X3X.313", "HSS8X8X.625", "HSS8X8X.500", "HSS8X8X.375", "HSS8X8X.313", "HSS8X8X.250", "HSS8X8X.188", "HSS8X6X.625", "HSS8X6X.500", "HSS8X6X.375", "HSS8X6X.313", "HSS8X6X.250", "HSS8X4X.625", "HSS8X4X.500", "HSS8X4X.375", "HSS8X4X.313", "HSS8X3X.500", "HSS8X3X.375", "HSS7X7X.625", "HSS7X7X.500", "HSS7X7X.375", "HSS7X7X.313", "HSS7X7X.250", "HSS7X5X.500", "HSS7X5X.375", "HSS7X5X.313", "HSS7X4X.500", "HSS7X4X.375", "HSS6X6X.625", "HSS6X6X.500", "HSS6X6X.375", "HSS6X5X.500", "HSS20X.500", "HSS20X.375", "HSS18X.500", "HSS18X.375", "HSS16X.625", "HSS16X.500", "HSS16X.438", "HSS16X.375", "HSS16X.312", "HSS16X.250", "HSS14X.625", "HSS14X.500", "HSS14X.375", "HSS14X.312", "HSS14X.250", "HSS12.75X.500", "HSS12.75X.375", "HSS12.75X.250", "HSS10.75X.500", "HSS10.75X.375", "HSS10.75X.250", "HSS10X.625", "HSS10X.500", "HSS10X.375", "HSS10X.312", "HSS10X.250", "HSS10X.188", "HSS9.625X.500", "HSS9.625X.375", "HSS9.625X.312", "HSS9.625X.250", "HSS9.625X.188", "HSS8.625X.625", "HSS8.625X.500", "HSS8.625X.375", "HSS8.625X.322", "HSS8.625X.250", "HSS7.625X.375", "HSS7.625X.328", "HSS7.5X.500", "HSS7.5X.375", "HSS7X.500", "HSS6.875X.500", "HSS6.625X.500", "Pipe26STD", "Pipe24SCH20", "Pipe20SCH20", "Pipe18STD", "Pipe16SCH30", "Pipe14SCH30", "Pipe12STD", "Pipe10SCH40", "Pipe8SCH40", "Pipe26SCH20", "Pipe24XS", "Pipe20SCH30", "Pipe18XS", "Pipe16SCH40", "Pipe14XS", "Pipe12XS", "Pipe10SCH80", "Pipe8SCH80", "Pipe12SCH120", "Pipe10SCH140", "Pipe8XXS", "Pipe6XXS"], columns = [T_F, W, A, d, ddet, Ht, h, OD, bf, bfdet, B, b, ID, tw, twdet, `twdet/2`, tf, tfdet, t, tnom, tdes, kdes, kdet, k1, x, y, eo, xp, yp, `bf/2tf`, `b/t`, `b/tdes`, `h/tw`, `h/tdes`, `D/t`, Ix, Zx, Sx, rx, Iy, Zy, Sy, ry, Iz, rz, Sz, J])

(5)

#
# Quick check on the max and min entries in the
# relevant columns
#
  max( dfsub[Sx] );
  min( dfsub[Sx] );
  max( dfsub[d] );
  min( dfsub[d] );

452.0

 

11.7

 

10.5

 

0.

(6)

 

 

Download steel2.mw

 

just to show what is possible is given in the attached.

If I was doing a lot of such queries, it might be more convenient to address rows/columns, by their labels, rather than index numbers - so conversion to a dataframe might be a good idea.

Meanwhile the attached will output a matrix whose entries are the rows where your selection criteria is met


 

  restart;

#
# Ignore this, only needed to make stuff display
# properly on the Maple primes web site
#
  interface(rtablesize=10)

[10, 10]

(1)

#
# Import the data. OP will need to change the
# file path to something appropriate for his/her
# machine
#
# Convert the "blank" entries given by "-" to 0.0
#
  Steel_data:=ExcelTools:-Import("C:/Users/Tomleslie/Desktop/db.xlsx", "Database v15.0");
  f:= x->`if`(x="&ndash;", 0.0, x);
  SD:=f~(Steel_data);

_rtable[18446744074372974518]

 

f := proc (x) options operator, arrow; `if`(x = "&ndash;", 0., x) end proc

 

_rtable[18446744074375875510]

(2)

#
# Extract rows, which match a particular condition
#
  S_mod__min:= 11.66666667;
  M2:= Matrix( [ SD[1,..],
                 seq
                 ( `if`
                   ( S_mod__min < SD[i,41] and SD[i,7] <= 10.5,
                     SD[i,..],
                     NULL
                   ),
                   i=2..op([1,1],SD)
                 )
               ],
               scan=columns
            );

S_mod__min := 11.66666667

 

_rtable[18446744074397220726]

(3)

#
# Quick check on max/min entries in column 41 of the
# output Matrix
#
  min(M2[2..,41]);
  max(M2[2..,41]);
#
# Quick check on max/min entries in column 7 of the
# output Matrix
#
  min(M2[2..,7]);
  max(M2[2..,7]);

11.7

 

452.0

 

0.

 

10.5

(4)

 


 

Download steel.mw

which (more-or-less) work in Maple 18.

It seems as if the 'colorscheme' enhancements were only introduced in Maple 18 and (in that release) only worked either with

  1. "surfaces" (typically 3-D structures, but also 2-D "density" plots), or
  2. "points" - defined either in 2-D or 3-D

but not simple 2-D curves.

For your case, one can get around the above limitation by considering the desired "curve" as a collection of closely-spaced points and using the pointplot() command.

However, as far as I can tell, the "simple" use of pointplot() only allows coloring to vary with the value of the dependent variable (ie y-coordinate), rather than by the value of both x- and y-coordinates. This is (probably?) not what you want, but is included in the attached anyway.

In order to color by a parameter affecting both x- and y-coordinates, the only method I have found is to generate a separate pointplot() command for each individual point to be plotted! This is do-able, but really ugly! I also found it slightly easier to write the colorscheme using the "HSV" colorspace, rather than the default "RGB" space, although the attached shows both versions

The output in the attached render "much better" in a Maple environment, than they do on this site - honest

  restart;

  with(plots):
  with(ColorTools):
  kernelopts(version);

`Maple 18.02, X86 64 WINDOWS, Oct 20 2014, Build ID 991181`

(1)

#
# First possibility - essentially colors
# by the value of the y-coordinate. I'm
# (nearly?) certain that this is how the
# "valuesplit" option works in later Maple
# versions
#
  pointplot
  ( [ seq
      ( [ sin(x), cos(x) ],
        x=0..2*evalf(Pi), evalf(Pi/500)
      )
    ],
    colorscheme=["Blue", "Green", "Yellow", "Red"]
  );

 

#
# Second possibility. Color by the value of
# the supplied parameter. In order to generate
# a "linear" parameter for the colorspaces,
# it is (slightly) more convenient to plot
#
#     [cos(2*Pi*x), sin(2*Pi*x)] with 0<=x<=1
#
# rather than
#
#     [cos(x), sin(x)] with 0<=x<=2*Pi
#
# It is also slightly easier(?) to write the
# colorspec using the "HSV" colorspace, which
# is used in the first example
#
  display
  ( [ seq
      ( pointplot
        ( [ cos(2*Pi*x), sin(2*Pi*x) ],
          color= Color
                 ( "HSV",
                   [ piecewise
                     ( x<=1/2,
                       x,
                       1-x
                     ),
                     1.0,
                     1.0
                   ]
                 )
        ),
        x=0..1, 0.001
      )
    ],
    title="Uses HSV colorspace",
    titlefont=[times, bold, 20],
    scaling=constrained
  );
#
# Although it is possible to use the "default"
# RGB colorspace
#
  display
  ( [ seq
      ( pointplot
        ( [ cos(2*Pi*x), sin(2*Pi*x) ],
          color= Color
                 ( [ piecewise
                     ( x<=1/3,
                       1-3*x,
                       x<=2/3,
                       0,
                       x<=1,
                       3*(x-2/3)
                     ),
                     piecewise
                     ( x<=1/3,
                       3*x,
                       x<=2/3,
                       1-3*(x-1/3),
                       x<=1,
                       0
                     ),
                     piecewise
                     ( x<=1/3,
                       0,
                       x<=2/3,
                       3*(x-1/3),
                       x<=1,
                       1-3*(x-2/3)
                     )
                   ]
                 )
        ),
        x=0..1, 0.001
      )
    ],
    title="Uses RGB colorspace",
    titlefont=[times, bold, 20],
    scaling=constrained
  );

 

 

 

 

Download colCircle.mw

 

 

 

quite a lot of "spurious" charactersin the string to be converted - eg \[ ]. Why do these exist? Some sort of copy/paste issue maybe? No idea how the translator may interpret these characters.

Maybe also have a problem with capitalisation??

The attached seems to work as I would expect

restart:

with(MmaTranslator):
interface(rtablesize=10):

Gamma

(1)

MM:=Matrix(convert("{{1/2 (-2 kappa - 4 lambda), -2 Sqrt[2] g, 0}, {g/Sqrt[
  2], -Gamma - kappa/2 - lambda, -Sqrt[2] g}, {0,
  Sqrt[2] g, -2 Gamma}}", FromMma));
simplify~(MM);

Matrix(3, 3, {(1, 1) = -kappa-2*lambda, (1, 2) = -2*sqrt(2)*g, (1, 3) = 0, (2, 1) = g/sqrt(2), (2, 2) = -GAMMA-(1/2)*kappa-lambda, (2, 3) = -sqrt(2)*g, (3, 1) = 0, (3, 2) = sqrt(2)*g, (3, 3) = -2*GAMMA})

 

Matrix(%id = 18446744074370869238)

(2)

 

 

 


 

Download mmaToMaple.mw

In the attached, you will need to convert the filepath to something appropriate for your installation.

There are many options which can be added to the "pointplot()" command

restart;

interface(rtablesize=10):

M:= ExcelTools:-Import("C:/Users/TomLeslie/Desktop/poljska_mreza.xlsx"):
plots:-pointplot( M[..,1..2]);

 

 

Download xlPlot.mw

You have three independent variables (x, y, t). The help page for pdsolve/numeric states clearly (my emphasis)

PDEsys
-
single or set or list of time-dependent partial differential equations in two independent variables

So you will not be able to solve your system numerically (unless some kind of symmetry allows you to reduce it to two independent variables).

So numerical solution is (probably) a non-starter.

You *may* be able to solve the system analytically - but if you want anyone to work on this, then upload your worksheet using the big green up-arrow in the Mapleprimes toolbar. Life is too short fro anyone here to retype your worksheet from a picture!

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