all results were obtained by running in double precision on an IBM RS6000 STRIDE RESULTS, STIFF OPTION (NO SWITCHING BETWEEN STIFF NON-STIFF MODE IS ALLOWED). E4 HAS NOT BEEN INCLUDED BECAUSE OF PROBLEMS ENCOUNTERED AT THE INTEGRATION. These results are obtained with STRIDE, MARK 11, Version 70, 11 June 1991. 0GROUP 1 STRIDE 0 A1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .055 .051 84 5 16 29 .00 1.19 0 -3.00 .082 .077 152 6 17 37 .00 1.58 0 -4.00 .125 .117 255 16 26 57 .00 1.70 0 -5.00 .210 .197 443 34 43 93 .01 3.78 0 -6.00 .200 .192 420 9 18 56 .01 1.75 0 -7.00 .255 .245 518 16 24 59 .04 1.75 0 -8.00 .310 .298 636 14 28 66 .04 1.68 0 -9.00 .385 .371 785 17 31 72 .02 2.01 0 -10.00 .460 .444 912 19 33 76 .01 1.66 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.89687E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.587E-03 *(TOL** .952) APPROX, R.M.S. RESIDUAL= 2.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.48 *(TOL** .983) APPROX, R.M.S. RESIDUAL= 1.3E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.21 .061 .057 98 5 16 30 0 10** -3 -3.22 .092 .086 175 8 19 41 0 10** -4 -4.24 .145 .136 300 20 30 65 0 10** -5 -5.26 .207 .196 437 27 36 83 0 10** -6 -6.27 .215 .207 446 10 19 56 0 10** -7 -7.29 .271 .260 552 15 25 61 0 10** -8 -8.31 .333 .321 682 14 28 67 0 A2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .102 .083 103 2 13 37 .00 .50 0 -3.00 .163 .132 184 6 21 54 .00 .77 0 -4.00 .290 .233 326 16 38 76 .00 1.41 0 -5.00 .370 .321 411 10 26 66 .02 .89 0 -6.00 .530 .465 568 17 33 76 .07 .90 0 -7.00 .680 .594 790 26 41 95 .04 .91 0 -8.00 .780 .701 892 19 30 91 .00 .91 0 -9.00 1.030 .924 1138 29 43 112 .04 .98 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.55669E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 1.210 1.103 1265 25 38 105 .06 .17 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.43961E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.355E-03 *(TOL** .910) APPROX, R.M.S. RESIDUAL= 2.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .644 *(TOL** .974) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.88 .156 .126 174 5 20 52 0 10** -4 -3.91 .278 .224 313 15 36 73 0 10** -5 -4.94 .365 .315 405 10 26 66 0 10** -6 -5.96 .524 .460 561 16 32 75 0 10** -7 -6.99 .678 .593 787 25 40 94 0 10** -8 -8.01 .781 .702 893 18 29 90 0 A3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .068 .058 123 5 18 38 .19 .88 0 -3.00 .110 .094 213 7 20 54 .02 1.22 0 -4.00 .163 .139 325 18 32 68 .25 1.32 0 -5.00 .245 .207 504 36 49 105 .04 2.85 0 -6.00 .270 .232 586 11 23 71 .02 1.36 0 -7.00 .330 .285 690 17 30 78 .01 1.10 0 -8.00 .410 .356 840 17 33 87 .06 .99 0 -9.00 .510 .442 1048 23 39 98 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.05870E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .640 .557 1311 24 41 102 .15 .31 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.88654E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.118E-02 *(TOL** 1.045) APPROX, R.M.S. RESIDUAL= 5.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.24 *(TOL** .997) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.10 .073 .062 132 5 18 39 0 10** -3 -3.10 .116 .099 224 8 21 55 0 10** -4 -4.11 .172 .146 344 19 33 71 0 10** -5 -5.11 .248 .210 513 33 46 101 0 10** -6 -6.11 .277 .238 597 11 23 71 0 10** -7 -7.12 .339 .293 707 17 30 79 0 A4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .163 .137 148 2 15 44 .03 .62 0 -3.00 .295 .243 268 14 30 67 .10 .83 0 -4.00 .490 .428 424 17 32 79 .00 .89 0 -5.00 .810 .710 655 38 52 118 .30 1.99 0 -6.00 .800 .713 759 28 39 100 .15 .84 0 -7.00 1.020 .932 926 23 35 98 .01 .38 0 -8.00 1.340 1.226 1217 30 44 115 .02 .20 0 -9.00 1.700 1.566 1525 32 49 132 .02 .18 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.34510E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 2.140 1.976 1850 46 60 152 .04 .46 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.937E-02 *(TOL** 1.050) APPROX, R.M.S. RESIDUAL= 4.8E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.35 *(TOL** 1.058) APPROX, R.M.S. RESIDUAL= 2.4E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.01 .165 .139 149 2 15 44 0 10** -3 -2.96 .290 .239 263 13 29 66 0 10** -4 -3.90 .471 .410 408 16 31 77 0 10** -5 -4.85 .762 .667 620 34 48 112 0 10** -6 -5.79 .802 .712 737 30 41 103 0 10** -7 -6.74 .963 .875 882 24 36 98 0 10** -8 -7.68 1.239 1.133 1125 27 41 109 0SUMMARY OVER GROUP 1 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .389 .330 458 14 62 148 .19 1.19 0 -3.00 .650 .547 817 33 88 212 .10 1.58 0 -4.00 1.068 .917 1330 67 128 280 .25 1.70 0 -5.00 1.635 1.435 2013 118 170 382 .30 3.78 0 -6.00 1.800 1.603 2333 65 113 303 .15 1.75 0 -7.00 2.285 2.056 2924 82 130 330 .04 1.75 0 -8.00 2.840 2.581 3585 80 135 359 .06 1.68 0 -9.00 3.625 3.303 4496 101 162 414 .04 2.01 0 -10.00 4.450 4.080 5338 114 172 435 .15 1.66 1 0GROUP 2 STRIDE 0 B1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .137 .120 287 21 30 80 .00 3.68 0 -3.00 .250 .221 561 27 33 91 .00 2.46 0 -4.00 .410 .368 891 24 32 84 .04 1.91 0 -5.00 .560 .504 1209 35 39 110 .06 2.69 0 -6.00 .720 .645 1619 45 51 145 .01 3.96 0 -7.00 .990 .901 1976 40 48 135 .02 3.30 0 -8.00 1.240 1.128 2495 53 59 164 .09 3.15 0 -9.00 1.510 1.378 3013 48 59 185 .25 3.93 0 -10.00 1.940 1.776 3827 42 53 220 .37 1.01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.22451E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.579E-03 *(TOL** .820) APPROX, R.M.S. RESIDUAL= 3.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 2.39 *(TOL** .981) APPROX, R.M.S. RESIDUAL= 9.4E-02 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.43 .185 .163 403 23 31 84 0 10** -3 -3.44 .321 .287 707 25 32 87 0 10** -4 -4.46 .480 .431 1038 29 35 96 0 10** -5 -5.48 .637 .572 1407 39 44 126 0 10** -6 -6.50 .856 .774 1798 42 49 139 0 10** -7 -7.52 1.121 1.020 2247 46 53 150 0 10** -8 -8.54 1.387 1.264 2776 50 59 175 0 B2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .064 .058 87 2 10 26 .02 .73 0 -3.00 .102 .093 155 9 14 39 .10 1.05 0 -4.00 .157 .142 243 13 21 50 .01 1.11 0 -5.00 .167 .153 259 13 19 43 .03 1.13 0 -6.00 .270 .249 442 18 26 61 .01 1.14 0 -7.00 .315 .294 489 17 23 56 .03 1.14 0 -8.00 .420 .392 662 20 30 69 .04 1.22 0 -9.00 .480 .452 729 16 28 69 .12 1.57 0 -10.00 .570 .540 810 18 28 77 .01 .78 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.852E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 3.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .911 *(TOL** .988) APPROX, R.M.S. RESIDUAL= 8.8E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -1.98 .064 .058 85 1 9 25 0 10** -3 -3.00 .102 .093 154 8 13 38 0 10** -4 -4.01 .157 .142 243 13 20 49 0 10** -5 -5.02 .169 .155 262 13 19 43 0 10** -6 -6.03 .271 .250 443 17 25 60 0 10** -7 -7.04 .319 .298 496 17 23 56 0 10** -8 -8.05 .423 .396 665 19 29 69 0 10** -9 -9.07 .486 .458 734 16 28 69 0 10**-10 -10.08 .577 .547 816 18 28 77 0 B3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .064 .058 91 2 11 27 .00 .90 0 -3.00 .098 .089 148 6 13 35 .14 1.20 0 -4.00 .143 .131 225 8 17 40 .01 1.27 0 -5.00 .190 .175 304 14 20 46 .03 1.30 0 -6.00 .260 .242 407 10 22 51 .01 1.31 0 -7.00 .340 .318 545 17 22 59 .01 1.35 0 -8.00 .430 .404 686 18 26 71 .06 1.27 0 -9.00 .550 .519 857 17 28 77 .14 1.09 0 -10.00 .690 .652 1050 26 34 86 .10 1.03 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.633E-03 *(TOL** .915) APPROX, R.M.S. RESIDUAL= 4.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.15 *(TOL** .998) APPROX, R.M.S. RESIDUAL= 5.6E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.06 .066 .060 94 2 11 27 0 10** -3 -3.07 .101 .092 153 6 13 35 0 10** -4 -4.07 .147 .134 230 8 17 40 0 10** -5 -5.07 .195 .179 311 13 20 46 0 10** -6 -6.07 .266 .247 417 10 22 51 0 10** -7 -7.07 .347 .325 555 17 22 59 0 10** -8 -8.08 .439 .412 699 17 26 71 0 10** -9 -9.08 .561 .529 872 17 28 77 0 10**-10 -10.08 .701 .663 1065 26 34 86 0 B4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .088 .079 126 7 14 36 .03 1.01 0 -3.00 .143 .131 217 9 18 42 .11 1.11 0 -4.00 .215 .197 353 16 24 62 .01 1.52 0 -5.00 .290 .270 453 15 22 54 .01 1.65 0 -6.00 .375 .351 594 17 24 70 .04 1.81 0 -7.00 .490 .458 779 23 33 80 .01 1.54 0 -8.00 .670 .632 1029 29 36 92 .06 1.41 0 -9.00 .770 .732 1138 22 29 96 .12 1.13 0 -10.00 1.020 .968 1520 33 42 118 .16 2.09 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.282E-02 *(TOL** .918) APPROX, R.M.S. RESIDUAL= 3.9E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.09 *(TOL** .980) APPROX, R.M.S. RESIDUAL= 8.5E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.08 .092 .083 133 7 14 36 0 10** -3 -3.10 .150 .137 230 9 18 43 0 10** -4 -4.12 .224 .206 365 15 23 61 0 10** -5 -5.14 .302 .282 472 15 22 56 0 10** -6 -6.16 .393 .369 623 17 25 71 0 10** -7 -7.18 .522 .490 824 24 33 82 0 10** -8 -8.20 .690 .652 1050 27 34 92 0 10** -9 -9.22 .825 .784 1222 24 31 100 0 B5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .180 .159 282 24 33 77 .04 3.09 0 -3.00 .325 .298 542 27 34 82 .05 2.35 0 -4.00 .570 .535 937 28 33 103 .59 3.01 0 -5.00 .710 .665 1144 39 44 118 .04 3.01 0 -6.00 1.010 .950 1657 50 54 151 .06 3.68 0 -7.00 1.340 1.272 2012 43 53 139 .03 3.81 0 -8.00 1.700 1.619 2516 50 58 162 .02 4.23 0 -9.00 2.130 2.034 3143 51 61 195 .10 3.87 0 -10.00 2.750 2.630 4034 62 70 238 .10 1.75 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.34322E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.453E-02 *(TOL** 1.001) APPROX, R.M.S. RESIDUAL= 3.9E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 2.34 *(TOL** .972) APPROX, R.M.S. RESIDUAL= 4.4E-02 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.44 .243 .220 395 25 33 79 0 10** -3 -3.47 .439 .408 725 27 33 91 0 10** -4 -4.49 .639 .599 1039 33 38 110 0 10** -5 -5.52 .867 .814 1412 44 49 135 0 10** -6 -6.55 1.192 1.128 1852 46 53 144 0 10** -7 -7.58 1.549 1.474 2304 47 55 152 0 10** -8 -8.61 1.962 1.872 2898 50 59 182 0SUMMARY OVER GROUP 2 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .533 .474 873 56 98 246 .04 3.68 0 -3.00 .919 .833 1623 78 112 289 .14 2.46 0 -4.00 1.495 1.373 2649 89 127 339 .59 3.01 0 -5.00 1.917 1.767 3369 116 144 371 .06 3.01 0 -6.00 2.635 2.437 4719 140 177 478 .06 3.96 0 -7.00 3.475 3.245 5801 140 179 469 .03 3.81 0 -8.00 4.460 4.175 7388 170 209 558 .09 4.23 0 -9.00 5.440 5.114 8880 154 205 622 .25 3.93 0 -10.00 6.970 6.566 11241 181 227 739 .37 2.09 1 0GROUP 3 STRIDE 0 C1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .060 .054 100 5 11 32 .00 .98 0 -3.00 .096 .085 185 9 21 46 .00 1.49 0 -4.00 .122 .108 254 14 23 51 .00 1.68 0 -5.00 .183 .162 397 21 28 64 .00 1.74 0 -6.00 .245 .219 520 19 27 67 .00 1.75 0 -7.00 .315 .283 674 14 26 80 .00 1.76 0 -8.00 .400 .359 853 26 34 83 .00 1.69 0 -9.00 .510 .458 1113 27 37 99 .01 1.83 0 -10.00 .570 .519 1123 16 31 88 .02 1.07 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.60727E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.926E-03 *(TOL** .977) APPROX, R.M.S. RESIDUAL= 9.2E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.14 *(TOL** .974) APPROX, R.M.S. RESIDUAL= 5.6E-02 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.11 .064 .057 109 5 12 33 0 10** -3 -3.14 .100 .088 194 9 21 46 0 10** -4 -4.17 .133 .117 277 15 23 53 0 10** -5 -5.19 .195 .173 420 20 27 64 0 10** -6 -6.22 .260 .233 553 17 26 69 0 10** -7 -7.25 .336 .302 718 16 27 80 0 10** -8 -8.27 .430 .386 924 26 34 87 0 C2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .054 .048 88 2 12 31 .00 .91 0 -3.00 .088 .077 171 6 19 45 .00 1.24 0 -4.00 .137 .119 285 15 25 59 .00 1.34 0 -5.00 .220 .190 464 32 43 92 .00 2.86 0 -6.00 .225 .199 482 9 22 67 .00 1.37 0 -7.00 .285 .253 603 14 24 69 .00 1.38 0 -8.00 .370 .329 789 15 27 82 .03 1.32 0 -9.00 .440 .393 896 17 31 83 .00 1.67 0 -10.00 .550 .493 1111 18 32 90 .01 1.37 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.441E-03 *(TOL** .976) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.19 *(TOL** .987) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.10 .057 .051 96 2 12 32 0 10** -3 -3.12 .094 .082 184 7 19 46 0 10** -4 -4.13 .148 .128 308 17 27 63 0 10** -5 -5.14 .221 .191 466 28 39 88 0 10** -6 -6.16 .234 .207 500 9 22 67 0 10** -7 -7.17 .299 .266 634 14 24 71 0 10** -8 -8.18 .383 .340 808 15 27 82 0 10** -9 -9.20 .461 .412 938 17 31 84 0 C3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .056 .049 91 3 16 34 .00 .84 0 -3.00 .086 .075 165 8 19 46 .00 1.21 0 -4.00 .130 .113 253 14 27 57 .00 1.33 0 -5.00 .215 .186 458 31 40 93 .00 2.45 0 -6.00 .230 .202 481 17 29 72 .00 1.38 0 -7.00 .265 .235 559 12 23 73 .00 1.38 0 -8.00 .370 .329 764 18 31 84 .00 1.33 0 -9.00 .440 .391 917 21 33 91 .00 1.59 0 -10.00 .570 .510 1162 21 32 99 .00 1.35 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.12 *(TOL** .985) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.08 .059 .051 96 3 16 34 0 10** -3 -3.10 .090 .079 173 8 19 47 0 10** -4 -4.11 .139 .121 275 15 28 60 0 10** -5 -5.13 .217 .188 460 29 38 90 0 10** -6 -6.14 .235 .207 492 16 28 72 0 10** -7 -7.16 .282 .250 591 12 24 74 0 10** -8 -8.17 .382 .340 790 18 31 85 0 10** -9 -9.19 .465 .414 963 21 32 92 0 C4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .050 .044 61 6 17 33 .00 2.04 0 -3.00 .072 .061 138 11 23 41 .00 1.50 0 -4.00 .112 .101 187 10 17 40 .00 1.19 0 -5.00 .167 .146 331 19 29 64 .00 1.44 0 -6.00 .187 .165 379 17 22 55 .02 1.43 0 -7.00 .270 .237 573 23 33 73 .00 1.44 0 -8.00 .360 .319 761 22 29 81 .01 1.45 0 -9.00 .450 .397 983 29 39 94 .01 1.51 0 -10.00 .580 .515 1234 35 42 103 .00 2.38 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.068E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 8.1E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.41 *(TOL** .993) APPROX, R.M.S. RESIDUAL= 8.3E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.17 .054 .047 73 6 17 34 0 10** -3 -3.17 .079 .068 146 10 21 40 0 10** -4 -4.18 .122 .109 213 11 19 44 0 10** -5 -5.19 .170 .149 340 18 27 62 0 10** -6 -6.20 .203 .179 417 18 24 58 0 10** -7 -7.20 .288 .254 611 22 32 74 0 10** -8 -8.21 .379 .336 807 23 31 83 0 10** -9 -9.22 .478 .423 1037 30 39 95 0 C5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .054 .048 69 6 15 34 .00 .96 0 -3.00 .066 .056 139 11 19 41 .00 1.51 0 -4.00 .112 .099 216 14 20 47 .04 4.03 0 -5.00 .135 .117 291 13 26 60 .00 1.31 0 -6.00 .215 .188 440 27 36 73 .00 1.77 0 -7.00 .255 .221 592 25 33 78 .01 1.94 0 -8.00 .340 .301 731 22 28 81 .00 2.53 0 -9.00 .430 .380 918 31 40 97 .01 1.38 0 -10.00 .530 .469 1155 29 39 98 .03 1.10 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.123E-02 *(TOL** .987) APPROX, R.M.S. RESIDUAL= 2.3E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.71 *(TOL** 1.002) APPROX, R.M.S. RESIDUAL= 1.8E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.23 .056 .050 85 7 15 35 0 10** -3 -3.23 .076 .065 156 11 19 42 0 10** -4 -4.23 .118 .103 232 13 21 49 0 10** -5 -5.22 .153 .133 324 16 28 62 0 10** -6 -6.22 .224 .195 473 26 35 74 0 10** -7 -7.22 .274 .239 622 24 31 78 0 10** -8 -8.22 .360 .318 771 23 30 84 0 10** -9 -9.22 .452 .399 969 30 39 97 0SUMMARY OVER GROUP 3 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .274 .243 409 22 71 164 .00 2.04 0 -3.00 .407 .353 798 45 101 219 .00 1.51 0 -4.00 .614 .539 1195 67 112 254 .04 4.03 0 -5.00 .920 .800 1941 116 166 373 .00 2.86 0 -6.00 1.102 .972 2302 89 136 334 .02 1.77 0 -7.00 1.390 1.229 3001 88 139 373 .01 1.94 0 -8.00 1.840 1.636 3898 103 149 411 .03 2.53 0 -9.00 2.270 2.019 4827 125 180 464 .01 1.83 0 -10.00 2.800 2.506 5785 119 176 478 .03 2.38 1 0GROUP 4 STRIDE 0 D1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .043 .039 74 6 19 36 3.64 1.99 0 -3.00 .067 .062 107 17 24 37 2.43 2.63 0 -4.00 .080 .072 192 20 27 48 4.18 4.10 0 -5.00 .140 .126 341 21 29 66 .61 3.09 0 -6.00 .167 .150 414 22 31 78 1.48 1.48 0 -7.00 .197 .177 500 17 27 74 2.65 2.65 0 -8.00 .310 .268 1108 28 39 139 2.20 4.52 0 -9.00 .330 .296 878 32 44 89 4.26 4.36 0 -10.00 .410 .373 974 35 45 108 4.41 4.95 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.91 *(TOL** .981) APPROX, R.M.S. RESIDUAL= 2.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.83 *(TOL** .962) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.35 .051 .047 85 9 20 36 0 10** -3 -3.39 .072 .066 140 18 25 41 0 10** -4 -4.43 .106 .095 256 20 27 55 0 10** -5 -5.47 .153 .137 375 21 29 71 0 10** -6 -6.51 .182 .164 457 19 28 75 0 10** -7 -7.55 .259 .227 833 23 33 109 0 10** -8 -8.59 .322 .285 973 30 41 109 0 10** -9 -9.63 .380 .344 938 33 44 100 0 D2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .060 .052 95 6 29 42 .23 1.09 0 -3.00 .070 .058 200 12 25 55 .54 3.87 0 -4.00 .140 .124 263 19 37 71 .44 3.03 0 -5.00 .160 .141 366 19 33 72 .50 5.55 0 -6.00 .230 .208 471 16 27 75 2.44 2.81 0 -7.00 .280 .247 728 23 35 99 .19 2.97 0 -8.00 .390 .349 923 23 39 114 .09 2.77 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.46149E-05, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .470 .415 1215 34 55 138 .62 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.16058E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .540 .483 1327 27 42 128 1.67 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.98305E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .311 *(TOL** .969) APPROX, R.M.S. RESIDUAL= 4.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.59 *(TOL** .942) APPROX, R.M.S. RESIDUAL= 1.9E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.34 .063 .054 130 8 27 46 0 10** -3 -3.40 .098 .085 225 14 29 61 0 10** -4 -4.46 .149 .132 310 19 35 71 0 10** -5 -5.52 .196 .176 420 17 29 73 0 10** -6 -6.58 .259 .231 620 20 31 88 0 D3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .088 .077 136 11 32 55 .00 2.76 0 -3.00 .112 .100 197 13 31 66 .00 2.02 0 -4.00 .163 .146 322 15 33 71 .00 1.52 0 -5.00 .220 .193 507 31 50 107 .00 4.00 0 -6.00 .315 .285 626 26 43 90 .00 2.23 0 -7.00 .380 .343 814 27 46 99 .00 1.07 0 -8.00 .480 .437 1042 21 44 103 .00 .19 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.51320E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .650 .592 1415 34 54 127 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 6.87119E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .860 .794 1644 30 53 135 .00 .85 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.30251E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.25 *(TOL** 1.043) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.41 .098 .086 160 11 31 59 0 10** -3 -3.37 .131 .117 242 13 31 67 0 10** -4 -4.33 .182 .161 382 20 38 82 0 10** -5 -5.28 .247 .219 540 29 48 102 0 10** -6 -6.24 .331 .299 671 26 43 92 0 D4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .044 .042 71 2 13 30 .01 1.03 0 -3.00 .060 .057 120 7 20 38 .17 1.41 0 -4.00 .088 .083 190 16 28 56 .25 1.52 0 -5.00 .150 .141 342 31 43 96 .57 3.30 0 -6.00 .157 .148 399 9 21 56 .64 1.57 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.60995E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -7.00 .177 .166 442 13 28 61 .72 1.49 0 -8.00 .210 .198 532 11 27 67 .01 1.19 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.89556E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 .230 .216 603 15 36 74 .11 1.40 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.18557E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -10.00 .330 .312 790 20 37 88 .76 .03 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.56971E-01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.216E-02 *(TOL** .929) APPROX, R.M.S. RESIDUAL= 6.8E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.05 *(TOL** .956) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 5 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.11 .046 .044 76 2 13 30 0 10** -3 -3.16 .065 .061 131 8 21 40 0 10** -4 -4.21 .101 .095 221 19 31 64 0 D5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .032 .030 44 4 18 28 .12 .30 0 -3.00 .059 .056 73 6 19 32 1.25 3.06 0 -4.00 .070 .067 153 8 22 56 10.40 10.96 0 -5.00 .080 .076 174 17 29 50 8.56 10.30 0 -6.00 .150 .141 427 31 51 97 12.54 13.82 0 -7.00 .200 .189 582 43 55 123 15.86 19.88 0 -8.00 .180 .170 600 34 45 85 12.76 17.77 0 -9.00 .250 .238 778 42 53 100 16.81 21.60 0 -10.00 .315 .299 1007 54 65 112 11.53 17.08 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .387 *(TOL** .805) APPROX, R.M.S. RESIDUAL= 4.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .785 *(TOL** .829) APPROX, R.M.S. RESIDUAL= 3.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.29 .040 .038 52 4 18 29 0 10** -3 -3.49 .064 .061 112 6 20 43 0 10** -4 -4.70 .077 .073 167 14 26 51 0 10** -5 -5.90 .143 .135 402 29 48 92 0 10** -6 -7.11 .198 .187 583 42 53 118 0 10** -7 -8.32 .202 .191 656 36 47 89 0 10** -8 -9.52 .284 .270 897 48 59 106 0 D6 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .056 .053 99 4 18 39 .06 .88 0 -3.00 .084 .079 165 5 20 59 .04 1.35 0 -4.00 .120 .112 271 12 31 80 .07 1.59 0 -5.00 .143 .134 352 12 25 65 .03 .58 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.11174E-02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .225 .211 552 18 34 87 .05 .18 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.86390E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -7.00 .255 .240 600 17 31 101 .06 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.08635E-02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .315 .296 776 19 37 90 .05 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.90373E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .380 .356 988 27 45 112 .11 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.60079E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .500 .470 1284 28 47 123 .11 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.77735E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.319E-02 *(TOL** .958) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .507 *(TOL** .871) APPROX, R.M.S. RESIDUAL= 2.7E-02 OVER 3 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -1.96 .055 .052 96 3 17 38 0 10** -3 -3.10 .088 .083 176 5 21 61 0SUMMARY OVER GROUP 4 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .323 .294 519 33 129 230 3.64 2.76 0 -3.00 .452 .413 862 60 139 287 2.43 3.87 0 -4.00 .661 .604 1391 90 178 382 10.40 10.96 0 -5.00 .893 .810 2082 131 209 456 8.56 10.30 0 -6.00 1.243 1.143 2889 122 207 483 12.54 13.82 0 -7.00 1.488 1.363 3666 140 222 557 15.86 19.88 0 -8.00 1.885 1.718 4981 136 231 598 12.76 17.77 0 -9.00 2.310 2.113 5877 184 287 640 16.81 21.60 0 -10.00 2.955 2.732 7026 194 289 694 11.53 17.08 1 0GROUP 5 STRIDE 0 E1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .060 .057 103 5 14 31 .00 1.17 0 -3.00 .094 .089 178 13 19 41 .00 1.57 0 -4.00 .115 .110 228 7 16 39 .00 1.41 0 -5.00 .170 .164 337 11 20 46 .00 1.43 0 -6.00 .200 .193 410 14 21 54 .00 1.43 0 -7.00 .265 .257 544 14 25 62 .00 1.43 0 -8.00 .315 .306 628 14 25 64 .00 2.12 0 -9.00 .370 .361 731 10 22 67 .00 1.43 0 -10.00 .430 .420 834 14 26 66 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.17980E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.979E-03 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 8.1E-04 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.22 *(TOL** .985) APPROX, R.M.S. RESIDUAL= 5.8E-02 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.12 .064 .061 111 5 14 32 0 10** -3 -3.13 .097 .092 184 12 18 40 0 10** -4 -4.15 .123 .118 244 7 16 40 0 10** -5 -5.17 .175 .169 349 11 20 47 0 10** -6 -6.18 .212 .205 434 14 21 55 0 10** -7 -7.20 .275 .266 560 14 25 62 0 10** -8 -8.21 .327 .318 649 13 24 64 0 E2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .060 .054 136 26 39 57 6.00 88.09 0 -3.00 .094 .087 234 23 36 59 4.28 71.78 0 -4.00 .138 .127 387 26 39 84 12.91 412.48 0 -5.00 .200 .183 703 43 57 117 17.63 665.27 0 -6.00 .255 .232 997 55 69 156 24.04 1395.20 0 -7.00 .335 .312 1110 37 49 132 36.70 592.77 0 -8.00 .420 .392 1414 42 54 131 30.59 354.78 0 -9.00 .540 .508 1603 50 61 145 16.49 569.63 0 -10.00 .660 .621 2085 48 62 163 28.25 668.85 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 4.53 *(TOL** .908) APPROX, R.M.S. RESIDUAL= 1.9E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 96.3 *(TOL** .899) APPROX, R.M.S. RESIDUAL= 3.0E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 0 -2.21 .067 .061 156 25 38 57 0 10** -1 -3.32 .108 .100 282 23 36 66 0 10** -2 -4.43 .164 .151 522 33 46 98 0 10** -3 -5.54 .230 .209 862 49 63 138 0 10** -4 -6.65 .307 .285 1070 43 55 140 0 10** -5 -7.77 .400 .373 1342 40 52 131 0 10** -6 -8.88 .525 .494 1579 49 60 143 0 10** -7 -9.99 .659 .620 2079 48 61 162 0 E3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .048 .046 82 4 12 32 .22 .32 0 -3.00 .067 .065 135 7 16 42 .58 1.66 0 -4.00 .100 .097 222 11 25 51 .41 1.47 0 -5.00 .157 .151 368 22 34 76 .69 2.08 0 -6.00 .240 .234 568 18 32 85 .56 6.10 0 -7.00 .260 .254 645 18 30 85 1.23 2.39 0 -8.00 .350 .340 919 36 45 117 .98 7.39 0 -9.00 .420 .410 1115 28 41 112 .23 2.38 0 -10.00 .480 .469 1208 27 42 113 .11 1.95 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .620 *(TOL** 1.025) APPROX, R.M.S. RESIDUAL= 3.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .658 *(TOL** .916) APPROX, R.M.S. RESIDUAL= 3.0E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -1.99 .048 .046 81 3 11 31 0 10** -3 -3.08 .069 .067 141 7 16 42 0 10** -4 -4.17 .110 .106 246 12 26 55 0 10** -5 -5.26 .178 .173 420 20 33 78 0 10** -6 -6.35 .247 .241 595 18 31 85 0 10** -7 -7.45 .300 .292 767 26 36 99 0 10** -8 -8.54 .388 .378 1024 31 42 114 0 10** -9 -9.63 .458 .447 1173 27 41 112 0 E5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .046 .040 65 3 16 35 .01 2.20 0 -3.00 .063 .056 88 6 20 42 .06 5.04 0 -4.00 .086 .078 136 6 19 46 .16 3.37 0 -5.00 .110 .099 188 8 24 45 .46 4.63 0 -6.00 .137 .122 286 14 27 62 .89 8.59 0 -7.00 .170 .153 365 10 23 64 .44 6.25 0 -8.00 .225 .205 432 12 26 65 4.40 2.23 0 -9.00 .295 .267 616 18 34 89 43.85 3.96 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.77724E+02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -10.00 .430 .386 933 35 58 134 438.23 5.79 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.47134E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.234E-03 *(TOL** .509) APPROX, R.M.S. RESIDUAL= 4.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.22 *(TOL** .978) APPROX, R.M.S. RESIDUAL= 2.0E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.56 .055 .049 77 4 18 38 0 10** -3 -3.59 .076 .069 116 6 19 44 0 10** -4 -4.61 .101 .091 167 7 22 45 0 10** -5 -5.63 .127 .113 249 11 25 55 0 10** -6 -6.65 .158 .142 337 11 24 63 0 10** -7 -7.68 .207 .188 410 11 25 64 0SUMMARY OVER GROUP 5 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .213 .197 386 38 81 155 6.00 88.09 0 -3.00 .318 .297 635 49 91 184 4.28 71.78 0 -4.00 .439 .412 973 50 99 220 12.91 412.48 0 -5.00 .637 .597 1596 84 135 284 17.63 665.27 0 -6.00 .832 .781 2261 101 149 357 24.04 1395.20 0 -7.00 1.030 .976 2664 79 127 343 36.70 592.77 0 -8.00 1.310 1.244 3393 104 150 377 30.59 354.78 0 -9.00 1.625 1.546 4065 106 158 413 43.85 569.63 0 -10.00 2.000 1.896 5060 124 188 476 438.23 668.85 1 0GROUP 6 STRIDE 0 F1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .102 .095 160 17 32 64 .01 .91 0 -3.00 .153 .142 280 28 45 93 .02 2.43 0 -4.00 .245 .225 568 47 71 123 .03 3.36 0 -5.00 .345 .317 826 82 93 171 .02 2.90 0 -6.00 .470 .445 924 49 69 138 .03 3.05 0 -7.00 .590 .557 1253 69 83 140 .06 1.46 0 -8.00 .990 .945 1725 96 116 191 .22 2.99 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.28710E+02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 1.100 1.040 2446 100 140 299 .10 16.09 0 -10.00 1.170 1.109 2722 91 119 268 .27 8.34 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.41172E+02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 4.446E-03 *(TOL** .830) APPROX, R.M.S. RESIDUAL= 1.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .729 *(TOL** .885) APPROX, R.M.S. RESIDUAL= 2.5E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.11 .107 .100 172 18 33 67 0 10** -3 -3.24 .175 .162 347 32 51 100 0 10** -4 -4.37 .282 .259 662 59 79 140 0 10** -5 -5.50 .407 .380 874 65 81 154 0 10** -6 -6.63 .545 .515 1129 61 77 139 0 F2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .033 .030 63 3 11 23 .15 .87 0 -3.00 .047 .043 103 5 13 31 .38 1.59 0 -4.00 .075 .067 188 17 24 48 .40 1.92 0 -5.00 .120 .107 330 32 39 82 .61 4.18 0 -6.00 .115 .104 332 8 16 46 .03 1.97 0 -7.00 .127 .115 379 12 21 52 .40 1.98 0 -8.00 .167 .150 509 11 24 59 .26 1.98 0 -9.00 .190 .172 568 12 26 62 .07 2.43 0 -10.00 .235 .214 675 13 27 65 .19 2.24 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .357 *(TOL** 1.041) APPROX, R.M.S. RESIDUAL= 3.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.28 *(TOL** .968) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.18 .035 .032 70 3 11 24 0 10** -3 -3.21 .053 .048 120 7 15 34 0 10** -4 -4.24 .086 .077 222 20 27 56 0 10** -5 -5.27 .119 .106 330 25 32 72 0 10** -6 -6.31 .119 .107 346 9 17 47 0 10** -7 -7.34 .141 .127 423 11 22 54 0 10** -8 -8.37 .175 .158 530 11 24 60 0 10** -9 -9.40 .208 .189 611 12 26 63 0 F3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .084 .070 133 4 30 49 .00 .88 0 -3.00 .135 .116 226 8 28 60 .00 .67 0 -4.00 .215 .189 360 11 27 73 .00 1.18 0 -5.00 .330 .285 602 34 52 126 .00 2.63 0 -6.00 .365 .319 690 16 32 102 .00 1.21 0 -7.00 .500 .437 934 30 45 119 .00 1.06 0 -8.00 .610 .537 1113 26 44 113 .00 1.23 0 -9.00 .740 .654 1319 27 48 121 .00 1.12 0 -10.00 .860 .762 1525 29 48 130 .03 1.13 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.404E-03 *(TOL** .970) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .973 *(TOL** .988) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.01 .085 .071 134 4 29 49 0 10** -3 -3.03 .137 .118 229 8 27 60 0 10** -4 -4.04 .219 .192 369 11 27 75 0 10** -5 -5.05 .332 .286 606 33 50 124 0 10** -6 -6.06 .374 .326 705 16 32 103 0 10** -7 -7.08 .508 .444 947 29 44 118 0 10** -8 -8.09 .621 .547 1131 26 44 113 0 10** -9 -9.10 .752 .665 1339 27 48 121 0 F4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .215 .205 291 43 98 142 9.99 .09 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.21064E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -3.00 .107 .104 86 9 35 53 .62 .07 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.16690E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .315 .302 708 65 98 168 .39 5548.71 0 -5.00 .480 .458 1355 88 158 267 .39 41780.01 0 -6.00 .700 .673 1816 123 162 257 2.00 62150.08 0 -7.00 .930 .896 2446 140 193 346 1.24 134132.36 0 -8.00 1.100 1.065 2952 132 170 337 2.05 115122.53 0 -9.00 1.340 1.297 3768 145 188 344 3.93 102671.08 0 -10.00 1.710 1.663 4193 174 192 338 7.38 74436.66 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.89135E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .717 *(TOL** .936) APPROX, R.M.S. RESIDUAL= 4.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.748E+03 *(TOL** .772) APPROX, R.M.S. RESIDUAL= 2.7E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 0 -4.20 .348 .333 838 69 110 187 0 10** -1 -5.50 .589 .565 1584 105 159 262 0 10** -2 -6.79 .883 .850 2315 136 186 327 0 10** -3 -8.09 1.121 1.085 3024 133 171 337 0 F5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .088 .082 101 5 28 58 .00 .35 0 -3.00 .105 .096 185 8 34 66 .00 .40 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.33794E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .157 .146 283 15 38 93 .00 1.25 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.21657E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .230 .213 520 28 58 131 .02 3.40 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.54915E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .295 .280 551 18 46 123 .16 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.73169E-10, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -7.00 .420 .397 924 29 61 161 .60 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.84035E-11, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -8.00 .530 .506 1051 27 63 162 .72 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.12510E-09, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .710 .664 1556 59 142 235 .70 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.91432E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 1.370 1.269 2546 161 368 527 8.74 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.96803E-13, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.064E-04 *(TOL** .625) APPROX, R.M.S. RESIDUAL= 3.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR 1 VALUES, TOO FEW TO GET STATISTICS 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0SUMMARY OVER GROUP 6 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .522 .482 748 72 199 336 9.99 .91 0 -3.00 .547 .502 880 58 155 303 .62 2.43 0 -4.00 1.007 .929 2107 155 258 505 .40 5548.71 0 -5.00 1.505 1.379 3633 264 400 777 .61 41780.01 0 -6.00 1.945 1.821 4313 214 325 666 2.00 62150.08 0 -7.00 2.567 2.402 5936 280 403 818 1.24 134132.36 0 -8.00 3.397 3.202 7350 292 417 862 2.05 115122.53 0 -9.00 4.080 3.828 9657 343 544 1061 3.93 102671.08 0 -10.00 5.345 5.016 11661 468 754 1328 8.74 74436.66 1SUMMARY OVER ALL GROUPS STRIDE LOG10 TIME OVHD FCN JAC MAT NO OF TOL CALLS CALLS FACT STEPS 0 -2.00 2.254 2.021 3393 235 640 1279 0 -3.00 3.294 2.943 5615 323 686 1494 0 -4.00 5.284 4.775 9645 518 902 1980 0 -5.00 7.507 6.789 14634 829 1224 2643 0 -6.00 9.557 8.756 18817 731 1107 2621 0 -7.00 12.236 11.271 23992 809 1200 2890 0 -8.00 15.732 14.555 30595 885 1291 3165 0 -9.00 19.350 17.923 37802 1013 1536 3614 0 -10.00 24.520 22.795 46111 1200 1806 4150 0 OVERALL SUMMARY 99.733 91.829 190604 6543 10392 23836 0STIFF DETEST PACKAGE OPT= 2, NORMEF= 2, NRMTYP= 3 ON ...IBM RISK 6000... These results are obtained using the radau5 program in the book of Hairer and Wanner. 0GROUP 1 RADAU 0 A1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .019 .016 70 1 16 16 .00 .01 0 -3.00 .026 .022 97 1 21 22 .00 .01 0 -4.00 .034 .029 140 1 24 32 .01 .01 0 -5.00 .050 .043 218 1 28 50 .00 .01 0 -6.00 .077 .068 358 1 33 82 .00 .01 0 -7.00 .127 .113 614 1 47 140 .00 .01 0 -8.00 .205 .185 1072 1 55 244 .00 .01 0 -9.00 .360 .329 1904 1 67 431 .00 .01 0 -10.00 .620 .571 3384 1 83 765 .00 .01 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.001E-02 *(TOL** .999) APPROX, R.M.S. RESIDUAL= 1.3E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.00 .019 .016 70 1 16 16 0 10** -5 -3.00 .026 .022 97 1 21 22 0 10** -6 -4.00 .034 .029 140 1 24 32 0 10** -7 -5.00 .050 .043 218 1 28 50 0 10** -8 -6.00 .077 .068 359 1 33 82 0 10** -9 -7.01 .128 .114 616 1 47 140 0 10**-10 -8.01 .206 .186 1077 1 55 245 0 10**-11 -9.01 .362 .331 1914 1 67 433 0 10**-12 -10.01 .622 .573 3395 1 83 767 0 A2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .075 .053 78 1 18 18 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -3.00 .102 .073 109 1 24 25 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .143 .103 163 1 32 37 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .193 .145 256 1 35 58 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .295 .230 423 1 43 96 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -7.00 .450 .362 729 1 49 165 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .760 .618 1281 1 74 288 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 1.250 1.050 2275 1 80 508 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -10.00 2.190 1.859 4099 1 115 904 .05 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.440E-03 *(TOL** .956) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR 0 VALUES, TOO FEW TO GET STATISTICS 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0 A3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .024 .017 78 1 18 18 .00 .01 0 -3.00 .031 .021 109 1 23 25 .00 .01 0 -4.00 .047 .032 167 1 30 38 .00 .01 0 -5.00 .067 .046 272 1 35 62 .00 .01 0 -6.00 .105 .072 451 1 42 103 .00 .01 0 -7.00 .163 .110 781 1 50 178 .00 .01 0 -8.00 .280 .188 1377 1 75 312 .00 .01 0 -9.00 .480 .324 2444 1 91 551 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.05870E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .800 .530 4363 1 104 979 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.75009E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 9.865E-03 *(TOL** .994) APPROX, R.M.S. RESIDUAL= 5.1E-02 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.01 .024 .017 78 1 18 18 0 10** -5 -3.01 .031 .021 109 1 23 25 0 10** -6 -4.02 .047 .032 168 1 30 38 0 10** -7 -5.02 .068 .046 275 1 35 62 0 10** -8 -6.03 .107 .073 459 1 42 105 0 10** -9 -7.03 .167 .113 800 1 50 182 0 10**-10 -8.04 .284 .191 1399 1 75 317 0 A4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .086 .058 82 1 19 19 .00 .01 0 -3.00 .133 .091 121 1 28 28 .00 .01 0 -4.00 .187 .128 191 1 39 44 .00 .01 0 -5.00 .270 .200 319 1 43 73 .00 .01 0 -6.00 .410 .323 548 1 49 125 .00 .01 0 -7.00 .660 .542 960 1 59 218 .00 .01 0 -8.00 1.120 .930 1692 1 90 383 .00 .01 0 -9.00 1.860 1.594 2990 1 104 676 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.45620E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 3.240 2.836 5320 1 132 1200 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.84639E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.00 .086 .058 82 1 19 19 0 10** -5 -3.00 .133 .091 121 1 28 28 0 10** -6 -4.00 .187 .128 191 1 39 44 0 10** -7 -5.00 .270 .200 319 1 43 73 0 10** -8 -6.00 .410 .323 548 1 49 125 0 10** -9 -7.00 .660 .542 960 1 59 218 0 10**-10 -8.00 1.120 .930 1692 1 90 383 0SUMMARY OVER GROUP 1 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .204 .143 308 4 71 71 .00 .01 0 -3.00 .292 .206 436 4 96 100 .00 .01 0 -4.00 .411 .291 661 4 125 151 .01 .01 0 -5.00 .580 .434 1065 4 141 243 .00 .01 0 -6.00 .887 .692 1780 4 167 406 .01 .01 0 -7.00 1.401 1.128 3084 4 205 701 .00 .01 0 -8.00 2.365 1.921 5422 4 294 1227 .00 .01 0 -9.00 3.950 3.297 9613 4 342 2166 .01 .01 0 -10.00 6.850 5.796 17166 4 434 3848 .05 .01 1 0GROUP 2 RADAU 0 B1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .040 .030 168 1 23 39 .00 .34 0 -3.00 .064 .048 296 1 28 68 .00 .36 0 -4.00 .110 .083 526 1 39 121 .00 .39 0 -5.00 .190 .145 950 1 46 218 .00 .37 0 -6.00 .330 .252 1701 1 60 390 .00 .35 0 -7.00 .570 .437 3046 1 67 697 .01 .38 0 -8.00 1.070 .836 5475 1 84 1248 .17 .40 0 -9.00 1.760 1.347 9838 1 99 2233 .25 .33 0 -10.00 3.200 2.473 17530 1 114 3967 .16 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.65745E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.914E-03 *(TOL** .807) APPROX, R.M.S. RESIDUAL= 3.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .357 *(TOL** .998) APPROX, R.M.S. RESIDUAL= 2.7E-02 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.56 .054 .040 239 1 25 55 0 10** -4 -3.56 .090 .067 424 1 34 97 0 10** -5 -4.56 .155 .117 763 1 42 175 0 10** -6 -5.56 .269 .205 1371 1 53 314 0 10** -7 -6.56 .465 .356 2457 1 63 562 0 10** -8 -7.56 .852 .662 4415 1 76 1007 0 10** -9 -8.57 1.460 1.125 7941 1 92 1804 0 B2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .031 .023 63 1 15 15 .00 .01 0 -3.00 .041 .031 86 1 20 20 .00 .01 0 -4.00 .059 .045 128 1 26 29 .00 .01 0 -5.00 .080 .065 202 1 26 46 .00 .01 0 -6.00 .117 .098 330 1 31 75 .00 .01 0 -7.00 .187 .159 560 1 38 128 .00 .01 0 -8.00 .325 .283 978 1 50 222 .00 .00 0 -9.00 .530 .466 1733 1 64 392 .00 .01 0 -10.00 .910 .814 3069 1 70 693 .00 .00 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.00 .031 .023 63 1 15 15 0 10** -5 -3.00 .041 .031 86 1 20 20 0 10** -6 -4.00 .059 .045 128 1 26 29 0 10** -7 -5.00 .080 .065 202 1 26 46 0 10** -8 -6.00 .117 .098 330 1 31 75 0 10** -9 -7.00 .187 .159 560 1 38 128 0 10**-10 -8.00 .325 .283 978 1 50 222 0 10**-11 -9.00 .530 .466 1733 1 64 392 0 10**-12 -10.00 .910 .814 3069 1 70 693 0 B3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .033 .025 70 1 16 16 .00 .01 0 -3.00 .043 .033 90 1 20 21 .00 .01 0 -4.00 .059 .045 136 1 25 31 .00 .01 0 -5.00 .086 .070 218 1 28 50 .01 .01 0 -6.00 .125 .104 358 1 33 82 .00 .01 0 -7.00 .200 .172 614 1 36 140 .00 .01 0 -8.00 .340 .295 1078 1 51 244 .00 .00 0 -9.00 .590 .520 1908 1 68 432 .00 .01 0 -10.00 1.000 .894 3394 1 75 766 .00 .00 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.472E-02 *(TOL** 1.020) APPROX, R.M.S. RESIDUAL= 3.3E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.13 .034 .026 72 1 16 16 0 10** -5 -3.11 .045 .034 94 1 20 22 0 10** -6 -4.09 .061 .047 143 1 25 32 0 10** -7 -5.07 .089 .072 227 1 28 52 0 10** -8 -6.05 .129 .107 370 1 33 84 0 10** -9 -7.03 .204 .175 627 1 36 142 0 10**-10 -8.01 .342 .297 1085 1 51 245 0 10**-11 -8.99 .587 .518 1899 1 67 430 0 10**-12 -9.97 .988 .883 3349 1 74 756 0 B4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .041 .031 86 1 19 20 .00 .06 0 -3.00 .055 .043 125 1 23 29 .00 .06 0 -4.00 .078 .063 195 1 27 45 .00 .05 0 -5.00 .118 .097 323 1 33 74 .00 .06 0 -6.00 .187 .158 556 1 39 127 .00 .04 0 -7.00 .300 .261 964 1 44 220 .00 .03 0 -8.00 .520 .460 1708 1 55 388 .00 .02 0 -9.00 .880 .786 3044 1 66 689 .00 .01 0 -10.00 1.550 1.399 5428 1 77 1225 .00 .01 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .131 *(TOL** 1.099) APPROX, R.M.S. RESIDUAL= 9.8E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -1.93 .040 .030 83 1 18 19 0 10** -4 -2.84 .053 .041 118 1 22 27 0 10** -5 -3.75 .072 .058 177 1 25 40 0 10** -6 -4.66 .104 .085 278 1 30 64 0 10** -7 -5.57 .157 .132 454 1 36 103 0 10** -8 -6.48 .241 .207 749 1 41 171 0 10** -9 -7.39 .385 .337 1250 1 48 284 0 10**-10 -8.29 .626 .556 2102 1 58 476 0 10**-11 -9.20 1.017 .911 3532 1 68 798 0 B5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .060 .048 156 1 22 36 .00 .36 0 -3.00 .100 .083 273 1 27 63 .00 .41 0 -4.00 .167 .142 491 1 34 113 .00 .35 0 -5.00 .285 .247 883 1 46 202 .01 .33 0 -6.00 .480 .423 1583 1 55 362 .00 .41 0 -7.00 .840 .750 2831 1 68 647 .00 .31 0 -8.00 1.460 1.316 5077 1 79 1156 .00 .32 0 -9.00 2.580 2.341 9106 1 92 2065 .00 .27 0 -10.00 4.550 4.149 16260 1 102 3672 .00 .20 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .470 *(TOL** 1.027) APPROX, R.M.S. RESIDUAL= 5.5E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.60 .084 .069 226 1 25 52 0 10** -4 -3.58 .138 .117 398 1 31 91 0 10** -5 -4.55 .232 .199 706 1 40 161 0 10** -6 -5.52 .387 .339 1249 1 50 285 0 10** -7 -6.50 .659 .585 2203 1 61 503 0 10** -8 -7.47 1.132 1.016 3888 1 73 886 0 10** -9 -8.44 1.958 1.771 6867 1 84 1559 0 10**-10 -9.42 3.404 3.097 12096 1 96 2736 0SUMMARY OVER GROUP 2 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .205 .157 543 5 95 126 .00 .36 0 -3.00 .303 .238 870 5 118 201 .00 .41 0 -4.00 .472 .378 1476 5 151 339 .00 .39 0 -5.00 .759 .623 2576 5 179 590 .01 .37 0 -6.00 1.239 1.034 4528 5 218 1036 .00 .41 0 -7.00 2.097 1.778 8015 5 253 1832 .01 .38 0 -8.00 3.715 3.189 14316 5 319 3258 .17 .40 0 -9.00 6.340 5.460 25629 5 389 5811 .25 .33 0 -10.00 11.210 9.729 45681 5 438 10323 .16 .20 1 0GROUP 3 RADAU 0 C1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .030 .022 112 12 19 19 .00 .01 0 -3.00 .038 .028 142 13 25 25 .00 .29 0 -4.00 .054 .040 205 16 33 37 .00 .37 0 -5.00 .080 .059 323 19 45 59 .00 .10 0 -6.00 .118 .088 518 16 52 98 .00 .07 0 -7.00 .180 .135 855 15 61 168 .00 .08 0 -8.00 .295 .223 1475 11 79 293 .00 .15 0 -9.00 .500 .379 2599 8 101 517 .00 .22 0 -10.00 .850 .645 4610 5 116 917 .01 .38 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.830E-02 *(TOL** .915) APPROX, R.M.S. RESIDUAL= 4.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.82 .037 .027 136 12 23 23 0 10** -5 -3.91 .052 .039 199 15 32 35 0 10** -6 -5.01 .080 .059 324 18 45 59 0 10** -7 -6.10 .124 .093 551 15 52 104 0 10** -8 -7.19 .202 .152 973 14 64 191 0 10** -9 -8.28 .353 .267 1793 10 85 356 0 10**-10 -9.38 .632 .479 3354 6 106 667 0 C2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .023 .016 89 7 17 17 .01 .05 0 -3.00 .031 .021 122 7 23 23 .00 .04 0 -4.00 .046 .032 184 9 30 34 .00 .03 0 -5.00 .066 .045 294 12 38 54 .00 .02 0 -6.00 .102 .072 473 14 46 89 .00 .02 0 -7.00 .157 .111 784 13 54 151 .00 .03 0 -8.00 .265 .188 1358 14 80 263 .00 .03 0 -9.00 .440 .315 2373 12 92 465 .00 .04 0 -10.00 .760 .547 4191 10 116 825 .00 .04 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.237E-02 *(TOL** 1.003) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.50 .027 .018 105 7 20 20 0 10** -5 -3.50 .038 .026 152 7 26 28 0 10** -6 -4.50 .056 .038 238 10 33 43 0 10** -7 -5.49 .084 .058 382 12 41 71 0 10** -8 -6.49 .129 .091 625 13 49 119 0 10** -9 -7.49 .210 .149 1063 13 66 205 0 10**-10 -8.48 .350 .250 1850 13 85 360 0 10**-11 -9.48 .594 .427 3248 11 103 638 0 C3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .026 .018 104 11 17 17 .00 .02 0 -3.00 .036 .025 137 15 23 23 .00 .04 0 -4.00 .051 .035 205 21 33 34 .00 .03 0 -5.00 .073 .051 314 24 41 53 .00 .04 0 -6.00 .118 .083 508 32 60 88 .00 .06 0 -7.00 .183 .130 834 38 80 150 .00 .06 0 -8.00 .295 .210 1429 48 105 262 .00 .06 0 -9.00 .480 .344 2465 49 124 461 .00 .06 0 -10.00 .800 .579 4296 39 129 816 .01 .09 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.948E-02 *(TOL** .936) APPROX, R.M.S. RESIDUAL= 6.2E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.45 .030 .021 118 12 19 19 0 10** -5 -3.51 .044 .030 172 18 28 28 0 10** -6 -4.58 .064 .044 268 22 37 45 0 10** -7 -5.65 .102 .072 440 29 53 75 0 10** -8 -6.72 .165 .117 742 36 74 132 0 10** -9 -7.79 .271 .193 1303 45 99 238 0 10**-10 -8.86 .454 .325 2316 48 121 432 0 10**-11 -9.93 .776 .562 4159 39 128 789 0 C4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .029 .020 114 10 19 18 .00 .96 0 -3.00 .034 .023 143 15 21 20 .00 .10 0 -4.00 .044 .030 183 20 27 27 .00 .28 0 -5.00 .067 .046 278 30 41 41 .00 .31 0 -6.00 .105 .072 440 50 62 65 .00 .31 0 -7.00 .160 .110 694 73 90 109 .00 .34 0 -8.00 .260 .179 1166 109 134 188 .00 .24 0 -9.00 .420 .292 1984 142 181 331 .00 .15 0 -10.00 .670 .474 3380 153 204 590 .01 .12 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .539 *(TOL** 1.055) APPROX, R.M.S. RESIDUAL= 2.4E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.59 .032 .022 131 12 20 19 0 10** -4 -3.54 .039 .027 164 17 24 23 0 10** -5 -4.48 .055 .038 228 24 33 33 0 10** -6 -5.43 .083 .057 347 38 50 51 0 10** -7 -6.38 .126 .086 536 58 72 81 0 10** -8 -7.33 .193 .133 847 84 104 134 0 10** -9 -8.27 .304 .210 1389 118 146 227 0 10**-10 -9.22 .475 .332 2291 144 186 388 0 C5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .028 .019 118 11 17 16 .00 .79 0 -3.00 .034 .023 140 15 21 20 .00 .56 0 -4.00 .043 .030 176 19 26 26 .00 .39 0 -5.00 .063 .043 258 28 38 39 .00 .30 0 -6.00 .100 .069 419 47 59 62 .00 .33 0 -7.00 .157 .108 664 75 90 103 .00 .35 0 -8.00 .255 .176 1127 115 133 179 .00 .25 0 -9.00 .410 .286 1918 146 177 316 .01 .16 0 -10.00 .650 .461 3241 155 200 562 .00 .12 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.04 *(TOL** 1.086) APPROX, R.M.S. RESIDUAL= 7.5E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.78 .033 .022 135 14 20 19 0 10** -4 -3.70 .040 .028 165 17 24 24 0 10** -5 -4.62 .055 .038 226 24 33 34 0 10** -6 -5.54 .083 .057 344 38 49 51 0 10** -7 -6.46 .126 .087 531 59 73 80 0 10** -8 -7.38 .194 .134 838 90 106 131 0 10** -9 -8.30 .301 .209 1363 124 146 219 0 10**-10 -9.22 .463 .324 2207 147 182 369 0SUMMARY OVER GROUP 3 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .136 .095 537 51 89 87 .01 .96 0 -3.00 .173 .121 684 65 113 111 .00 .56 0 -4.00 .238 .167 953 85 149 158 .00 .39 0 -5.00 .349 .245 1467 113 203 246 .00 .31 0 -6.00 .542 .384 2358 159 279 402 .00 .33 0 -7.00 .837 .594 3831 214 375 681 .00 .35 0 -8.00 1.370 .976 6555 297 531 1185 .00 .25 0 -9.00 2.250 1.616 11339 357 675 2090 .01 .22 0 -10.00 3.730 2.706 19718 362 765 3710 .01 .38 1 0GROUP 4 RADAU 0 D1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .025 .019 153 7 20 15 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -3.00 .028 .020 182 8 22 17 .05 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .038 .028 241 13 27 22 .02 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .046 .034 285 20 33 30 .03 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .060 .045 356 36 47 47 .02 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -7.00 .096 .072 554 67 79 80 .02 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .163 .122 942 121 137 141 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 .290 .216 1692 220 239 252 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -10.00 .490 .364 2927 321 385 449 .03 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.407E-02 *(TOL** 1.017) APPROX, R.M.S. RESIDUAL= 2.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR 0 VALUES, TOO FEW TO GET STATISTICS 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0 D2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .022 .014 126 12 18 18 .01 1.51 0 -3.00 .025 .015 160 16 21 22 .01 1.38 0 -4.00 .035 .022 195 22 30 30 .04 .09 0 -5.00 .054 .035 297 34 46 45 .02 .05 0 -6.00 .086 .056 479 54 68 74 .01 .03 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.15984E-01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -7.00 .130 .085 764 74 94 122 .01 .12 0 -8.00 .220 .145 1305 117 151 210 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.52865E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .370 .243 2254 188 241 367 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.16058E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .650 .430 3956 321 405 647 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.98305E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.832E-02 *(TOL** 1.024) APPROX, R.M.S. RESIDUAL= 2.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.43 *(TOL** 1.269) APPROX, R.M.S. RESIDUAL= 4.3E-01 OVER 5 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.00 .022 .014 125 11 17 17 0 10** -3 -2.79 .024 .015 152 15 20 21 0 10** -4 -3.57 .031 .019 180 19 26 26 0 10** -5 -4.36 .042 .027 232 26 35 35 0 D3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .060 .045 252 23 34 27 .00 .60 0 -3.00 .054 .040 224 22 31 29 .00 .44 0 -4.00 .068 .051 273 30 40 42 .00 .39 0 -5.00 .105 .078 423 47 58 66 .00 .21 0 -6.00 .167 .125 685 71 88 109 .00 .07 0 -7.00 .245 .186 1112 78 104 188 .00 .08 0 -8.00 .365 .281 1825 59 113 330 .00 .16 0 -9.00 .590 .460 3078 50 139 578 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 6.87119E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 1.000 .790 5367 34 168 1022 .00 .16 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.56992E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.08 *(TOL** 1.141) APPROX, R.M.S. RESIDUAL= 1.9E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.66 .056 .041 233 22 32 28 0 10** -4 -3.53 .062 .046 250 26 35 35 0 10** -5 -4.41 .083 .062 334 36 47 51 0 10** -6 -5.29 .123 .092 497 53 66 78 0 10** -7 -6.16 .179 .135 754 72 90 121 0 10** -8 -7.04 .250 .190 1139 77 104 193 0 10** -9 -7.91 .355 .273 1764 60 112 317 0 D4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .013 .011 62 2 14 14 .02 .01 0 -3.00 .016 .014 77 1 16 17 .02 .13 0 -4.00 .020 .017 106 2 19 22 .00 .02 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.17349E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .027 .023 152 4 22 32 .00 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.45124E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .039 .033 238 6 30 49 .00 .02 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.69140E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -7.00 .061 .052 393 11 35 81 .02 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.80704E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .105 .089 672 20 53 138 .00 .01 0 -9.00 .177 .150 1161 30 71 240 .00 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.44991E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .295 .249 2028 43 93 423 .02 .05 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.590E-02 *(TOL** 1.014) APPROX, R.M.S. RESIDUAL= 1.3E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 2.979E-02 *(TOL** 1.003) APPROX, R.M.S. RESIDUAL= 4.8E-01 OVER 4 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.47 .014 .012 69 1 14 15 0 D5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .020 .016 183 13 25 18 .04 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -3.00 .024 .019 209 17 31 23 .11 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .027 .022 247 14 33 25 .17 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .031 .025 308 16 39 29 .18 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .040 .032 361 23 46 40 .51 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -7.00 .042 .034 359 29 47 56 .95 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .066 .053 572 50 73 95 .16 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 .113 .091 1001 89 118 164 .02 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -10.00 .197 .160 1771 157 197 289 .24 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .112 *(TOL** .976) APPROX, R.M.S. RESIDUAL= 4.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR 0 VALUES, TOO FEW TO GET STATISTICS 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0 D6 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .018 .015 95 7 17 15 .00 .15 0 -3.00 .022 .018 121 7 21 20 .00 .04 0 -4.00 .032 .026 175 9 29 29 .01 .07 0 -5.00 .044 .036 251 15 37 42 .00 .04 0 -6.00 .067 .055 394 24 50 70 .01 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.99339E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -7.00 .107 .089 650 36 70 116 .01 .04 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.44317E-03, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .173 .144 1080 56 93 198 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.66779E-03, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 .285 .236 1863 79 132 347 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.60079E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .470 .390 3196 108 172 609 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.77735E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.040E-02 *(TOL** 1.002) APPROX, R.M.S. RESIDUAL= 1.7E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .198 *(TOL** 1.136) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 4 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.02 .018 .015 95 7 17 15 0 10** -4 -2.90 .022 .018 118 7 20 19 0 10** -5 -3.78 .030 .025 163 8 27 27 0 10** -6 -4.66 .040 .033 225 12 34 37 0SUMMARY OVER GROUP 4 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .158 .119 871 64 128 107 .04 1.51 0 -3.00 .169 .127 973 71 142 128 .11 1.38 0 -4.00 .220 .167 1237 90 178 170 .17 .39 0 -5.00 .306 .231 1716 136 235 244 .18 .21 0 -6.00 .458 .346 2513 214 329 389 .51 .07 0 -7.00 .682 .518 3832 295 429 643 .95 .12 0 -8.00 1.092 .834 6396 423 620 1112 .16 .16 0 -9.00 1.824 1.397 11049 656 940 1948 .02 .01 0 -10.00 3.102 2.384 19245 984 1420 3439 .24 .16 1 0GROUP 5 RADAU 0 E1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .022 .019 74 1 15 17 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -3.00 .029 .025 105 1 19 24 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .040 .035 159 1 22 36 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .060 .054 263 1 23 59 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .098 .089 441 1 32 99 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -7.00 .157 .145 759 1 36 171 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .270 .252 1336 1 50 301 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 .460 .434 2359 1 57 529 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -10.00 .810 .770 4228 1 74 943 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 0.00000E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.976E-03 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 9.3E-04 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR 0 VALUES, TOO FEW TO GET STATISTICS 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0 E2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .025 .018 225 18 31 24 .14 .85 0 -3.00 .034 .025 309 26 40 33 .34 9.67 0 -4.00 .048 .035 421 40 58 49 .34 .39 0 -5.00 .070 .051 608 61 87 77 .35 3.64 0 -6.00 .092 .067 816 89 109 126 .26 2.39 0 -7.00 .150 .113 1356 111 153 222 .19 4.24 0 -8.00 .245 .187 2284 135 224 391 .06 2.53 0 -9.00 .390 .305 3828 95 294 693 .90 16.86 0 -10.00 .680 .544 6612 78 426 1233 1.07 23.40 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .145 *(TOL** .949) APPROX, R.M.S. RESIDUAL= 3.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .558 *(TOL** .864) APPROX, R.M.S. RESIDUAL= 4.2E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.02 .025 .019 226 18 31 24 0 10** -3 -3.18 .036 .027 329 28 43 35 0 10** -4 -4.34 .055 .041 484 47 67 58 0 10** -5 -5.49 .081 .059 710 74 97 101 0 10** -6 -6.65 .130 .097 1168 103 137 188 0 10** -7 -7.81 .227 .173 2107 130 210 358 0 10** -8 -8.97 .385 .302 3778 96 291 683 0 E3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .020 .018 111 7 18 18 .00 .03 0 -3.00 .024 .021 133 10 22 22 .01 .05 0 -4.00 .036 .032 196 16 32 31 .01 .05 0 -5.00 .052 .047 290 24 45 47 .01 .07 0 -6.00 .078 .070 453 42 62 75 .01 .02 0 -7.00 .125 .112 740 66 89 125 .01 .02 0 -8.00 .205 .185 1266 101 133 216 .01 .11 0 -9.00 .340 .310 2162 147 187 377 .01 .03 0 -10.00 .550 .506 3717 181 242 666 .01 .07 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.024E-02 *(TOL** 1.001) APPROX, R.M.S. RESIDUAL= 1.5E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.206E-02 *(TOL** .979) APPROX, R.M.S. RESIDUAL= 2.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.56 .022 .020 123 8 20 20 0 10** -5 -3.58 .031 .028 169 13 27 27 0 10** -6 -4.60 .046 .041 252 20 39 40 0 10** -7 -5.63 .069 .061 392 35 55 64 0 10** -8 -6.65 .109 .097 639 57 79 107 0 10** -9 -7.67 .179 .161 1092 89 118 185 0 10**-10 -8.69 .298 .271 1886 132 170 327 0 10**-11 -9.71 .490 .450 3272 171 226 583 0 E4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR EXIT OF RADAU5 AT X= .2091165D+03 H= .1414649D-12 IER= 0 0 -2.00 ************** 7767 181 758 1331 ******** ********* METHOD FAILED AT X = 2.09117E+02 0 -3.00 .096 .072 350 34 51 41 .00 .21 0 -4.00 .115 .087 418 41 60 55 .00 1.12 0 -5.00 .163 .123 575 66 83 86 .00 .55 0 -6.00 .240 .183 894 90 112 144 .00 .07 0 -7.00 .365 .284 1465 101 148 247 .00 .53 0 -8.00 .580 .463 2423 107 198 431 .00 .86 0 -9.00 .910 .739 4145 94 242 764 .00 1.21 0 -10.00 1.510 1.242 7234 65 329 1354 .00 2.02 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 8 VALUES 0 MAXIMUM GLOBAL ERROR = .124 *(TOL** .899) APPROX, R.M.S. RESIDUAL= 3.8E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -3.44 .104 .079 380 37 54 47 0 10** -5 -4.55 .142 .107 504 54 72 72 0 10** -6 -5.67 .214 .163 787 81 102 124 0 10** -7 -6.78 .337 .261 1338 98 140 224 0 10** -8 -7.89 .556 .443 2318 106 192 410 0 10** -9 -9.00 .912 .740 4154 93 242 765 0 E5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .023 .017 87 6 15 15 .00 .58 0 -3.00 .028 .021 107 8 18 17 .00 .23 0 -4.00 .037 .028 143 14 24 23 .00 .07 0 -5.00 .051 .039 197 22 32 32 .00 .02 0 -6.00 .077 .058 297 29 44 48 .04 .02 0 -7.00 .105 .080 449 32 50 77 .44 .06 0 -8.00 .157 .120 720 33 61 129 4.38 .08 0 -9.00 .245 .188 1210 35 75 223 43.81 .14 0 -10.00 .420 .327 2096 37 103 389 438.18 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.82388E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.687E-05 *(TOL** .393) APPROX, R.M.S. RESIDUAL= 6.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .232 *(TOL** 1.080) APPROX, R.M.S. RESIDUAL= 4.3E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.19 .024 .018 90 6 15 15 0 10** -4 -3.12 .029 .022 111 8 18 17 0 10** -5 -4.04 .038 .028 145 14 24 23 0 10** -6 -4.97 .051 .038 195 21 31 31 0 10** -7 -5.89 .074 .056 286 28 42 46 0 10** -8 -6.82 .100 .076 421 31 48 71 0 10** -9 -7.75 .144 .110 650 32 58 115 0 10**-10 -8.67 .216 .166 1048 34 70 192 0SUMMARY OVER GROUP 5 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .090 .072 497 32 79 74 .14 .85 0 -3.00 .211 .165 1004 79 150 137 .34 9.67 0 -4.00 .276 .217 1337 112 196 194 .34 1.12 0 -5.00 .397 .314 1933 174 270 301 .35 3.64 0 -6.00 .585 .467 2901 251 359 492 .26 2.39 0 -7.00 .902 .734 4769 311 476 842 .44 4.24 0 -8.00 1.457 1.207 8029 377 666 1468 4.38 2.53 0 -9.00 2.345 1.977 13704 372 855 2586 43.81 16.86 0 -10.00 3.970 3.388 23887 362 1174 4585 438.18 23.40 1 0GROUP 6 RADAU 0 F1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .092 .078 401 28 49 38 .00 .04 0 -3.00 .103 .087 439 32 55 46 .00 .08 0 -4.00 .125 .107 534 37 64 57 .00 .05 0 -5.00 .160 .137 698 43 79 83 .01 .05 0 -6.00 .225 .195 1007 52 99 128 .01 .09 0 -7.00 .315 .274 1454 61 121 206 .00 .34 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.05634E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .460 .402 2228 80 154 350 .00 .75 0 -9.00 .740 .652 3610 117 215 613 .00 1.00 0 -10.00 1.240 1.099 6111 188 303 1092 .00 .03 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.60542E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.118E-02 *(TOL** .800) APPROX, R.M.S. RESIDUAL= 2.5E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.56 .098 .083 422 30 52 42 0 10** -5 -3.81 .121 .103 516 36 62 54 0 10** -6 -5.06 .164 .141 717 43 80 85 0 F2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .010 .007 75 3 15 15 .01 .03 0 -3.00 .012 .008 90 3 17 18 .00 .01 0 -4.00 .014 .009 130 5 21 25 .01 .04 0 -5.00 .023 .015 193 8 26 37 .00 .04 0 -6.00 .033 .022 302 11 31 59 .02 .02 0 -7.00 .051 .035 490 8 36 97 .04 .04 0 -8.00 .086 .059 827 6 47 167 .05 .05 0 -9.00 .140 .096 1418 5 54 290 .09 .10 0 -10.00 .245 .170 2491 4 65 511 .15 .17 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.764E-03 *(TOL** .840) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.155E-02 *(TOL** .904) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.28 .011 .007 79 3 15 15 0 10** -5 -3.39 .013 .008 105 3 18 20 0 10** -6 -4.49 .018 .012 161 6 23 30 0 10** -7 -5.60 .029 .019 258 9 28 50 0 10** -8 -6.70 .046 .031 434 8 34 85 0 10** -9 -7.81 .079 .054 762 6 44 153 0 10**-10 -8.92 .135 .093 1368 5 53 279 0 10**-11 -10.02 .247 .172 2513 3 65 515 0 F3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .043 .032 117 7 21 21 .00 .24 0 -3.00 .060 .045 159 8 28 29 .00 1.40 0 -4.00 .082 .061 225 15 37 42 .00 .01 0 -5.00 .120 .089 351 22 50 66 .00 .93 0 -6.00 .193 .145 586 39 72 109 .00 .36 0 -7.00 .315 .235 1001 67 106 185 .00 .19 0 -8.00 .530 .394 1751 118 171 323 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.06731E-05, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .790 .584 2933 108 176 569 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.96305E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 1.320 .979 5107 136 223 1009 .01 .03 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.916E-03 *(TOL** .988) APPROX, R.M.S. RESIDUAL= 4.5E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .647 *(TOL** 1.100) APPROX, R.M.S. RESIDUAL= 6.4E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.55 .052 .039 140 7 24 25 0 10** -4 -3.46 .070 .053 189 11 32 35 0 10** -5 -4.37 .096 .072 271 17 41 50 0 10** -6 -5.28 .141 .105 416 26 56 78 0 10** -7 -6.19 .216 .162 664 44 78 123 0 F4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .325 .289 2070 148 269 159 51.65 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.15474E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -3.00 .150 .134 987 68 115 78 .26 322.10 0 -4.00 .157 .140 1040 74 117 86 .05 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.13104E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .197 .175 1290 100 147 123 .17 769.57 0 -6.00 .265 .236 1638 150 201 192 .03 1197.09 0 -7.00 .375 .335 2315 208 269 322 .08 2.95 0 -8.00 .560 .503 3581 269 362 557 .03 424.01 0 -9.00 .890 .808 5820 310 497 984 .01 1603.87 0 -10.00 1.460 1.340 9801 329 684 1749 .09 1129.12 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.92761E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 4.77 *(TOL** 1.261) APPROX, R.M.S. RESIDUAL= 7.3E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 289. *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 9.2E-01 OVER 6 VALUES 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0 F5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .032 .027 130 11 19 18 .00 .03 0 -3.00 .034 .028 135 14 20 20 .00 .04 0 -4.00 .043 .036 164 16 25 25 .00 .52 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.00036E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .084 .070 331 22 51 51 .01 .06 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.60072E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .140 .118 565 39 77 86 .10 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.73169E-10, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -7.00 .205 .174 876 58 105 139 .02 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.84035E-11, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -8.00 1.070 .901 4621 258 589 485 1.10 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.12510E-09, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 6.990 5.880 29713 1513 3960 2677 16.30 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.91432E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 58.520 49.109 248222 12180 33986 21056 51.79 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.96803E-13, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.789E-04 *(TOL** .519) APPROX, R.M.S. RESIDUAL= 6.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR 2 VALUES, TOO FEW TO GET STATISTICS 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0SUMMARY OVER GROUP 6 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .502 .433 2793 197 373 251 51.65 .24 0 -3.00 .359 .303 1810 125 235 191 .26 322.10 0 -4.00 .421 .353 2093 147 264 235 .05 .52 0 -5.00 .584 .488 2863 195 353 360 .17 769.57 0 -6.00 .856 .715 4098 291 480 574 .10 1197.09 0 -7.00 1.261 1.053 6136 402 637 949 .08 2.95 0 -8.00 2.706 2.260 13008 731 1323 1882 1.10 424.01 0 -9.00 9.550 8.021 43494 2053 4902 5133 16.30 1603.87 0 -10.00 62.785 52.697 271732 12837 35261 25417 51.79 1129.12 1SUMMARY OVER ALL GROUPS RADAU LOG10 TIME OVHD FCN JAC MAT NO OF TOL CALLS CALLS FACT STEPS 0 -2.00 1.295 1.019 5549 353 835 716 0 -3.00 1.507 1.158 5777 349 854 868 0 -4.00 2.037 1.572 7757 443 1063 1247 0 -5.00 2.975 2.334 11620 627 1381 1984 0 -6.00 4.568 3.638 18178 924 1832 3299 0 -7.00 7.179 5.804 29667 1231 2375 5648 0 -8.00 12.705 10.387 53726 1837 3753 10132 0 -9.00 26.259 21.768 114828 3447 8103 19734 0 -10.00 91.647 76.702 397429 14554 39492 51322 0 OVERALL SUMMARY 150.171124.383 644531 23765 59688 94950 0STIFF DETEST PACKAGE OPT= 2, NORMEF= 2, NRMTYP= 3 ON ...IBM RISK 6000... These results were obtained using the version of LSODE obtained from NETLIB. 0GROUP 1 LSODE 0 A1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .022 .019 51 13 13 37 .02 1.06 0 -3.00 .030 .027 69 12 12 58 .00 .90 0 -4.00 .044 .040 102 17 17 85 .11 .75 0 -5.00 .064 .059 144 19 19 119 .24 1.66 0 -6.00 .090 .083 198 23 23 164 .43 1.29 0 -7.00 .113 .105 231 23 23 201 .26 2.16 0 -8.00 .167 .155 361 35 35 309 .85 2.84 0 -9.00 .215 .201 478 40 40 414 1.20 4.86 0 -10.00 .290 .275 621 41 41 559 1.19 7.31 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.026E-03 *(TOL** .745) APPROX, R.M.S. RESIDUAL= 2.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .395 *(TOL** .886) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.93 .029 .026 67 12 12 56 0 10** -4 -4.06 .046 .041 104 17 17 86 0 10** -5 -5.19 .069 .063 154 19 19 127 0 10** -6 -6.32 .097 .090 208 23 23 175 0 10** -7 -7.44 .137 .128 288 28 28 248 0 10** -8 -8.57 .194 .182 428 37 37 369 0 10** -9 -9.70 .268 .253 578 40 40 515 0 A2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .056 .037 56 15 15 45 .01 .52 0 -3.00 .080 .057 84 17 17 68 .37 .95 0 -4.00 .118 .090 123 19 19 105 .08 .83 0 -5.00 .177 .139 184 25 25 151 .56 1.13 0 -6.00 .230 .186 239 28 28 203 .31 1.93 0 -7.00 .330 .272 340 36 36 288 .39 1.85 0 -8.00 .490 .407 525 50 50 430 .65 3.67 0 -9.00 .610 .516 657 53 53 543 1.14 3.58 0 -10.00 .860 .735 914 69 69 771 .22 5.81 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.57620E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.424E-02 *(TOL** .858) APPROX, R.M.S. RESIDUAL= 4.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .322 *(TOL** .880) APPROX, R.M.S. RESIDUAL= 7.2E-02 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.85 .076 .054 79 16 16 64 0 10** -4 -3.99 .117 .089 122 18 18 104 0 10** -5 -5.12 .183 .145 190 25 25 157 0 10** -6 -6.26 .256 .208 265 30 30 224 0 10** -7 -7.39 .393 .325 412 41 41 343 0 10** -8 -8.53 .554 .465 595 51 51 489 0 A3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .028 .021 68 17 17 48 .60 2.77 0 -3.00 .039 .031 88 17 17 72 .63 1.32 0 -4.00 .060 .048 133 21 21 113 .92 1.46 0 -5.00 .086 .071 191 23 23 157 .02 1.51 0 -6.00 .130 .106 285 39 39 228 .15 1.81 0 -7.00 .160 .132 358 36 36 294 .55 2.25 0 -8.00 .225 .187 493 52 52 411 1.31 .69 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.04098E-05, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .290 .243 634 55 55 547 2.64 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.05870E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .405 .342 883 65 65 763 6.52 3.47 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.45087E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .107 *(TOL** .872) APPROX, R.M.S. RESIDUAL= 5.8E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.81 *(TOL** 1.001) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.25 .031 .023 73 17 17 54 0 10** -3 -3.25 .044 .035 99 18 18 82 0 10** -4 -4.25 .067 .054 147 21 21 124 0 10** -5 -5.25 .097 .080 214 27 27 174 0 10** -6 -6.25 .138 .113 303 38 38 244 0 A4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .082 .052 77 19 19 57 .45 .90 0 -3.00 .125 .086 118 24 24 93 .30 .72 0 -4.00 .170 .125 161 27 27 135 .52 .70 0 -5.00 .245 .191 218 32 32 183 .02 .87 0 -6.00 .305 .244 277 35 35 239 .13 1.23 0 -7.00 .400 .335 369 35 35 327 .31 2.28 0 -8.00 .570 .486 537 43 43 469 .11 3.10 0 -9.00 .800 .689 768 55 55 662 1.26 2.87 0 -10.00 1.090 .953 1034 65 65 928 1.89 4.70 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .113 *(TOL** .930) APPROX, R.M.S. RESIDUAL= 5.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .354 *(TOL** .894) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.85 .119 .081 111 23 23 87 0 10** -4 -3.97 .169 .124 159 26 26 133 0 10** -5 -5.09 .250 .195 223 32 32 187 0 10** -6 -6.21 .325 .263 296 35 35 257 0 10** -7 -7.33 .456 .384 423 37 37 373 0 10** -8 -8.45 .672 .576 639 48 48 554 0 10** -9 -9.56 .964 .838 918 60 60 812 0SUMMARY OVER GROUP 1 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .188 .128 252 64 64 187 .60 2.77 0 -3.00 .274 .200 359 70 70 291 .63 1.32 0 -4.00 .392 .303 519 84 84 438 .92 1.46 0 -5.00 .572 .459 737 99 99 610 .56 1.66 0 -6.00 .755 .619 999 125 125 834 .43 1.93 0 -7.00 1.003 .844 1298 130 130 1110 .55 2.28 0 -8.00 1.452 1.235 1916 180 180 1619 1.31 3.67 0 -9.00 1.915 1.650 2537 203 203 2166 2.64 4.86 0 -10.00 2.645 2.305 3452 240 240 3021 6.52 7.31 1 0GROUP 2 LSODE 0 B1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .075 .064 172 23 23 144 .00 3.64 0 -3.00 .092 .080 210 21 21 184 .00 6.56 0 -4.00 .133 .116 297 28 28 257 .00 10.43 0 -5.00 .225 .197 510 39 39 431 .00 11.18 0 -6.00 .300 .265 655 45 45 595 .00 15.77 0 -7.00 .430 .383 923 51 51 863 1.05 22.77 0 -8.00 .600 .534 1307 69 69 1225 3.98 35.14 0 -9.00 .890 .796 1887 96 96 1774 3.22 51.52 0 -10.00 1.310 1.173 2750 138 138 2595 3.88 72.71 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.714E-04 *(TOL** .582) APPROX, R.M.S. RESIDUAL= 5.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 2.04 *(TOL** .846) APPROX, R.M.S. RESIDUAL= 4.4E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.73 .087 .075 199 21 21 173 0 10** -3 -3.91 .130 .113 289 27 27 250 0 10** -4 -5.10 .232 .204 523 39 39 446 0 10** -5 -6.28 .336 .298 729 46 46 669 0 10** -6 -7.46 .508 .453 1099 59 59 1029 0 10** -7 -8.64 .786 .703 1679 86 86 1578 0 10** -8 -9.83 1.237 1.107 2599 130 130 2451 0 B2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .025 .020 40 9 9 31 .15 .95 0 -3.00 .040 .034 63 11 11 52 .06 1.34 0 -4.00 .056 .048 90 15 15 74 .09 1.47 0 -5.00 .075 .065 116 16 16 97 .23 1.51 0 -6.00 .096 .085 149 17 17 126 .26 1.84 0 -7.00 .125 .113 193 18 18 172 .50 2.16 0 -8.00 .177 .161 262 22 22 238 .85 3.28 0 -9.00 .240 .221 362 25 25 335 1.32 5.04 0 -10.00 .335 .310 517 30 30 480 2.10 11.58 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.632E-02 *(TOL** .816) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .475 *(TOL** .885) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -1.90 .023 .019 37 8 8 28 0 10** -3 -3.03 .040 .034 63 11 11 52 0 10** -4 -4.16 .059 .050 94 15 15 77 0 10** -5 -5.29 .081 .071 125 16 16 105 0 10** -6 -6.42 .108 .097 167 17 17 145 0 10** -7 -7.55 .153 .139 230 20 20 208 0 10** -8 -8.68 .220 .202 329 24 24 303 0 10** -9 -9.81 .317 .293 487 29 29 452 0 B3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .027 .021 47 11 11 35 .25 .73 0 -3.00 .043 .036 69 13 13 56 .13 1.38 0 -4.00 .060 .051 97 15 15 80 .12 1.48 0 -5.00 .082 .071 130 18 18 109 .25 1.52 0 -6.00 .120 .106 190 21 21 158 .25 1.81 0 -7.00 .140 .126 218 20 20 191 .25 2.53 0 -8.00 .190 .173 288 24 24 262 .87 3.96 0 -9.00 .260 .240 396 26 26 368 1.34 5.90 0 -10.00 .365 .338 559 33 33 525 2.23 9.20 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 5.245E-02 *(TOL** .857) APPROX, R.M.S. RESIDUAL= 2.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .431 *(TOL** .877) APPROX, R.M.S. RESIDUAL= 8.0E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -3.00 .043 .036 69 13 13 56 0 10** -4 -4.14 .063 .054 101 15 15 84 0 10** -5 -5.28 .093 .081 147 18 18 122 0 10** -6 -6.42 .128 .115 201 20 20 171 0 10** -7 -7.56 .168 .153 257 22 22 231 0 10** -8 -8.70 .239 .220 364 25 25 336 0 10** -9 -9.84 .349 .323 533 31 31 500 0 B4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .150 .137 239 17 17 207 .38 2.22 0 -3.00 .057 .049 95 15 15 80 .14 1.48 0 -4.00 .082 .072 132 17 17 112 .09 1.94 0 -5.00 .200 .180 319 28 28 271 .17 5.27 0 -6.00 .170 .153 272 24 24 233 .39 4.08 0 -7.00 .460 .425 710 43 43 625 .57 5.89 0 -8.00 .460 .423 715 48 48 641 .76 8.66 0 -9.00 .530 .489 822 52 52 729 1.29 13.33 0 -10.00 .630 .585 966 54 54 894 1.91 19.79 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.293E-02 *(TOL** .865) APPROX, R.M.S. RESIDUAL= 2.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .784 *(TOL** .866) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.19 .133 .121 212 16 16 183 0 10** -3 -3.34 .066 .056 107 15 15 90 0 10** -4 -4.49 .140 .125 224 22 22 190 0 10** -5 -5.65 .181 .163 288 25 25 246 0 10** -6 -6.80 .403 .372 623 39 39 547 0 10** -7 -7.96 .460 .423 714 47 47 640 0 10** -8 -9.11 .541 .499 838 52 52 747 0 B5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 1.570 1.459 2596 120 120 2355 4.67 12.74 0 -3.00 1.620 1.507 2580 126 126 2296 4.12 11.54 0 -4.00 1.610 1.496 2647 125 125 2400 3.51 13.14 0 -5.00 1.690 1.570 2752 133 133 2505 7.69 11.76 0 -6.00 1.820 1.694 2845 142 142 2531 2.09 16.14 0 -7.00 1.920 1.786 3070 149 149 2826 3.38 24.02 0 -8.00 .950 .879 1490 85 85 1350 .63 33.80 0 -9.00 2.450 2.278 3879 193 193 3528 3.84 50.91 0 -10.00 2.270 2.112 3492 182 182 3205 2.44 76.10 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.15 *(TOL** 1.051) APPROX, R.M.S. RESIDUAL= 2.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 5.29 *(TOL** .897) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -1 -1.92 1.566 1.455 2597 119 119 2359 0 10** -2 -3.04 1.620 1.507 2582 125 125 2299 0 10** -3 -4.15 1.622 1.507 2662 126 126 2415 0 10** -4 -5.26 1.724 1.603 2776 135 135 2511 0 10** -5 -6.38 1.858 1.729 2930 144 144 2642 0 10** -6 -7.49 1.441 1.338 2289 117 117 2097 0 10** -7 -8.61 1.863 1.731 2943 150 150 2675 0 10** -8 -9.72 2.320 2.158 3599 185 185 3294 0SUMMARY OVER GROUP 2 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 1.847 1.701 3094 180 180 2772 4.67 12.74 0 -3.00 1.853 1.705 3017 186 186 2668 4.12 11.54 0 -4.00 1.942 1.782 3263 200 200 2923 3.51 13.14 0 -5.00 2.272 2.084 3827 234 234 3413 7.69 11.76 0 -6.00 2.506 2.304 4111 249 249 3643 2.09 16.14 0 -7.00 3.075 2.833 5114 281 281 4677 3.38 24.02 0 -8.00 2.377 2.171 4062 248 248 3716 3.98 35.14 0 -9.00 4.370 4.024 7346 392 392 6734 3.84 51.52 0 -10.00 4.910 4.518 8284 437 437 7699 3.88 76.10 1 0GROUP 3 LSODE 0 C1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .024 .019 52 14 14 43 .00 .40 0 -3.00 .035 .028 83 17 17 68 .00 1.18 0 -4.00 .054 .045 119 19 19 99 .01 1.75 0 -5.00 .075 .064 165 22 22 135 .06 1.82 0 -6.00 .096 .083 208 23 23 178 .06 2.00 0 -7.00 .125 .109 266 26 26 237 .13 3.11 0 -8.00 .170 .149 358 29 29 327 .17 6.99 0 -9.00 .260 .229 551 41 41 493 .16 9.98 0 -10.00 .345 .306 740 43 43 669 .00 14.77 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.458E-03 *(TOL** .893) APPROX, R.M.S. RESIDUAL= 4.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .248 *(TOL** .825) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.90 .034 .027 79 16 16 65 0 10** -4 -4.11 .056 .047 124 19 19 103 0 10** -5 -5.32 .082 .070 178 22 22 148 0 10** -6 -6.54 .112 .097 239 24 24 209 0 10** -7 -7.75 .159 .139 334 28 28 304 0 10** -8 -8.96 .256 .226 543 40 40 486 0 C2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .022 .017 49 12 12 37 .00 .47 0 -3.00 .034 .027 74 15 15 62 .00 .61 0 -4.00 .049 .040 109 19 19 93 .01 .73 0 -5.00 .073 .062 164 20 20 131 .00 1.23 0 -6.00 .098 .082 213 29 29 171 .00 1.63 0 -7.00 .137 .116 306 31 31 245 .02 2.03 0 -8.00 .177 .152 380 35 35 330 .21 3.12 0 -9.00 .255 .220 560 46 46 479 .19 4.62 0 -10.00 .335 .292 716 47 47 640 .33 6.77 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.628E-03 *(TOL** .788) APPROX, R.M.S. RESIDUAL= 3.3E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .217 *(TOL** .854) APPROX, R.M.S. RESIDUAL= 3.2E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.74 .031 .025 67 14 14 55 0 10** -4 -3.91 .048 .039 105 18 18 90 0 10** -5 -5.08 .075 .063 167 20 20 134 0 10** -6 -6.25 .108 .091 236 29 29 189 0 10** -7 -7.42 .153 .131 337 32 32 280 0 10** -8 -8.59 .223 .192 486 41 41 418 0 10** -9 -9.76 .316 .275 678 46 46 601 0 C3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .020 .016 47 11 11 36 .00 .68 0 -3.00 .034 .027 78 17 17 63 .00 .69 0 -4.00 .057 .047 133 18 18 104 .01 .69 0 -5.00 .072 .060 154 22 22 127 .00 .85 0 -6.00 .090 .076 194 22 22 164 .05 1.24 0 -7.00 .123 .104 281 25 25 231 .01 2.50 0 -8.00 .187 .161 404 36 36 345 .03 2.42 0 -9.00 .250 .217 542 37 37 476 .32 4.45 0 -10.00 .320 .280 695 40 40 619 .02 6.40 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 4.419E-03 *(TOL** .885) APPROX, R.M.S. RESIDUAL= 3.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .256 *(TOL** .869) APPROX, R.M.S. RESIDUAL= 9.8E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.77 .031 .024 70 15 15 56 0 10** -4 -3.92 .055 .046 128 17 17 100 0 10** -5 -5.08 .073 .061 157 22 22 129 0 10** -6 -6.23 .097 .083 213 22 22 179 0 10** -7 -7.38 .147 .126 327 29 29 274 0 10** -8 -8.53 .220 .191 476 36 36 414 0 10** -9 -9.68 .298 .260 646 39 39 573 0 C4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .016 .012 40 10 10 25 .01 2.26 0 -3.00 .026 .021 62 10 10 49 .14 1.73 0 -4.00 .038 .031 90 14 14 70 .00 2.29 0 -5.00 .059 .048 138 18 18 107 .32 3.35 0 -6.00 .094 .079 215 26 26 168 .13 2.76 0 -7.00 .115 .097 250 29 29 208 .00 3.87 0 -8.00 .143 .123 322 28 28 261 .28 3.42 0 -9.00 .210 .181 474 34 34 381 .72 7.21 0 -10.00 .275 .237 612 45 45 531 .45 9.50 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.744E-03 *(TOL** .835) APPROX, R.M.S. RESIDUAL= 5.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.16 *(TOL** .921) APPROX, R.M.S. RESIDUAL= 9.7E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.24 .018 .014 45 10 10 30 0 10** -3 -3.33 .030 .024 71 11 11 55 0 10** -4 -4.42 .047 .038 109 15 15 85 0 10** -5 -5.50 .076 .064 176 22 22 137 0 10** -6 -6.59 .106 .090 235 27 27 191 0 10** -7 -7.67 .134 .114 298 28 28 243 0 10** -8 -8.76 .194 .167 437 32 32 352 0 10** -9 -9.85 .265 .229 590 43 43 508 0 C5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .016 .013 37 8 8 30 .01 1.15 0 -3.00 .028 .023 71 10 10 50 .07 2.69 0 -4.00 .036 .030 86 10 10 70 .02 2.51 0 -5.00 .060 .050 141 18 18 108 .41 2.67 0 -6.00 .080 .068 179 20 20 149 .13 3.97 0 -7.00 .107 .091 244 25 25 198 .05 2.96 0 -8.00 .163 .139 365 34 34 293 .16 1.87 0 -9.00 .180 .156 395 29 29 335 .20 7.06 0 -10.00 .280 .242 621 44 44 524 .50 9.50 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.329E-02 *(TOL** .857) APPROX, R.M.S. RESIDUAL= 3.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.06 *(TOL** .921) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.20 .018 .015 43 8 8 33 0 10** -3 -3.28 .030 .025 75 10 10 55 0 10** -4 -4.37 .045 .037 106 12 12 84 0 10** -5 -5.45 .069 .058 158 18 18 126 0 10** -6 -6.54 .095 .080 214 22 22 175 0 10** -7 -7.63 .142 .121 319 30 30 257 0 10** -8 -8.71 .175 .151 386 30 30 322 0 10** -9 -9.80 .260 .225 575 40 40 485 0SUMMARY OVER GROUP 3 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .098 .076 225 55 55 171 .01 2.26 0 -3.00 .157 .126 368 69 69 292 .14 2.69 0 -4.00 .234 .193 537 80 80 436 .02 2.51 0 -5.00 .339 .284 762 100 100 608 .41 3.35 0 -6.00 .458 .388 1009 120 120 830 .13 3.97 0 -7.00 .607 .518 1347 136 136 1119 .13 3.87 0 -8.00 .840 .724 1829 162 162 1556 .28 6.99 0 -9.00 1.155 1.003 2522 187 187 2164 .72 9.98 0 -10.00 1.555 1.358 3384 219 219 2983 .50 14.77 1 0GROUP 4 LSODE 0 D1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .014 .011 57 13 13 17 2.21 2.21 0 -3.00 .020 .016 78 14 14 33 4.66 4.66 0 -4.00 .028 .023 107 15 15 53 4.99 4.99 0 -5.00 .048 .041 148 25 25 93 2.87 3.23 0 -6.00 .064 .056 202 23 23 131 3.61 6.00 0 -7.00 .092 .081 262 31 31 201 5.53 5.53 0 -8.00 .153 .134 444 59 59 323 6.93 6.94 0 -9.00 .190 .167 566 55 55 396 6.76 7.63 0 -10.00 .240 .212 675 72 72 506 21.11 21.11 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.66 *(TOL** .917) APPROX, R.M.S. RESIDUAL= 1.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.76 *(TOL** .915) APPROX, R.M.S. RESIDUAL= 1.3E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.45 .017 .014 66 13 13 24 0 10** -3 -3.55 .024 .020 93 14 14 43 0 10** -4 -4.64 .041 .035 133 21 21 78 0 10** -5 -5.73 .060 .052 187 23 23 120 0 10** -6 -6.82 .087 .076 251 29 29 188 0 10** -7 -7.92 .148 .130 428 56 56 312 0 10** -8 -9.01 .190 .167 566 55 55 397 0 10** -9 -10.10 .245 .216 686 73 73 517 0 D2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .018 .014 51 12 12 37 .56 2.19 0 -3.00 .032 .025 95 19 19 72 1.60 2.75 0 -4.00 .050 .039 153 26 26 110 .29 3.69 0 -5.00 .064 .053 186 25 25 142 .89 2.93 0 -6.00 .107 .089 309 39 39 237 .59 3.30 0 -7.00 .160 .132 466 57 57 342 .35 4.87 0 -8.00 .170 .141 482 58 58 370 1.63 5.07 0 -9.00 .235 .196 671 73 73 512 2.30 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.16058E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .355 .297 1010 106 106 760 1.75 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.98305E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .392 *(TOL** .941) APPROX, R.M.S. RESIDUAL= 2.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.81 *(TOL** .945) APPROX, R.M.S. RESIDUAL= 5.4E-02 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.39 .023 .018 68 14 14 50 0 10** -3 -3.45 .040 .031 120 22 22 88 0 10** -4 -4.51 .057 .046 169 25 25 126 0 10** -5 -5.56 .089 .073 255 32 32 195 0 10** -6 -6.62 .140 .116 406 50 50 302 0 10** -7 -7.68 .167 .138 476 57 57 361 0 D3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .030 .023 69 19 19 52 .00 .95 0 -3.00 .042 .035 95 19 19 78 .00 1.45 0 -4.00 .070 .058 157 29 29 126 .14 1.69 0 -5.00 .094 .080 207 31 31 173 .06 1.77 0 -6.00 .147 .126 323 45 45 262 .02 2.73 0 -7.00 .187 .162 415 50 50 341 .00 3.57 0 -8.00 .245 .216 527 51 51 449 .03 5.45 0 -9.00 .310 .276 667 54 54 594 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 6.87119E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .420 .376 899 61 61 820 .17 13.85 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.428E-02 *(TOL** .954) APPROX, R.M.S. RESIDUAL= 4.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .467 *(TOL** .864) APPROX, R.M.S. RESIDUAL= 7.0E-02 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -1.93 .029 .023 67 19 19 50 0 10** -3 -3.09 .045 .037 100 19 19 82 0 10** -4 -4.25 .076 .064 169 29 29 137 0 10** -5 -5.41 .115 .099 254 36 36 209 0 10** -6 -6.56 .169 .146 374 47 47 306 0 10** -7 -7.72 .229 .201 495 50 50 418 0 D4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .015 .013 41 13 13 31 .60 1.30 0 -3.00 .021 .019 57 13 13 47 .43 .57 0 -4.00 .026 .024 72 14 14 61 .15 .99 0 -5.00 .040 .037 114 17 17 90 .39 2.16 0 -6.00 .052 .049 142 18 18 120 1.06 1.86 0 -7.00 .070 .065 198 22 22 161 4.80 4.80 0 -8.00 .096 .089 261 34 34 211 .23 2.91 0 -9.00 .123 .113 346 33 33 283 2.07 4.79 0 -10.00 .157 .146 407 40 40 357 .60 3.26 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .291 *(TOL** .941) APPROX, R.M.S. RESIDUAL= 4.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .557 *(TOL** .906) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -1.93 .015 .013 39 13 13 29 0 10** -3 -3.03 .021 .019 57 13 13 47 0 10** -4 -4.14 .028 .025 77 14 14 64 0 10** -5 -5.24 .043 .040 120 17 17 97 0 10** -6 -6.34 .059 .054 161 19 19 134 0 10** -7 -7.45 .082 .075 226 27 27 183 0 10** -8 -8.55 .111 .102 307 33 33 250 0 10** -9 -9.66 .145 .135 386 37 37 331 0 D5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .005 .004 18 8 8 15 2.44 2.48 0 -3.00 .012 .010 51 14 14 21 1.57 1.53 0 -4.00 .019 .016 82 19 19 41 6.06 6.22 0 -5.00 .027 .024 107 19 19 68 7.43 7.45 0 -6.00 .036 .032 145 21 21 96 9.60 9.72 0 -7.00 .055 .050 205 26 26 153 23.28 26.28 0 -8.00 .092 .083 348 50 50 237 25.16 33.09 0 -9.00 .110 .102 397 43 43 307 26.40 33.23 0 -10.00 .167 .154 584 69 69 455 39.21 50.60 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .947 *(TOL** .829) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .831 *(TOL** .813) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.36 .008 .006 29 10 10 17 0 10** -3 -3.59 .016 .014 69 16 16 32 0 10** -4 -4.82 .026 .022 102 19 19 63 0 10** -5 -6.05 .037 .033 148 21 21 99 0 10** -6 -7.29 .066 .060 245 32 32 176 0 10** -7 -8.52 .101 .093 373 46 46 273 0 10** -8 -9.75 .152 .140 536 62 62 417 0 D6 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .017 .015 48 14 14 38 .03 .65 0 -3.00 .029 .026 80 18 18 65 .10 .74 0 -4.00 .036 .032 106 18 18 86 .11 .84 0 -5.00 .059 .052 183 29 29 134 1.23 1.23 0 -6.00 .082 .074 240 29 29 189 .71 2.60 0 -7.00 .118 .106 336 46 46 254 .57 1.03 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 6.16664E-02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .140 .127 392 47 47 314 .06 .18 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.67354E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .210 .192 582 61 61 448 1.40 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.60079E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .275 .252 756 74 74 600 1.86 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.77735E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.065E-02 *(TOL** .833) APPROX, R.M.S. RESIDUAL= 4.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .284 *(TOL** .858) APPROX, R.M.S. RESIDUAL= 8.1E-02 OVER 5 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.86 .027 .024 75 17 17 61 0 10** -4 -4.03 .037 .033 108 18 18 87 0 10** -5 -5.19 .063 .056 193 29 29 144 0SUMMARY OVER GROUP 4 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .099 .080 284 79 79 190 2.44 2.48 0 -3.00 .156 .131 456 97 97 316 4.66 4.66 0 -4.00 .229 .193 677 121 121 477 6.06 6.22 0 -5.00 .332 .286 945 146 146 700 7.43 7.45 0 -6.00 .489 .425 1361 175 175 1035 9.60 9.72 0 -7.00 .681 .596 1882 232 232 1452 23.28 26.28 0 -8.00 .896 .791 2454 299 299 1904 25.16 33.09 0 -9.00 1.178 1.046 3229 319 319 2540 26.40 33.23 0 -10.00 1.613 1.438 4331 422 422 3498 39.21 50.60 1 0GROUP 5 LSODE 0 E1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .027 .024 58 11 11 47 .00 .82 0 -3.00 .035 .032 71 12 12 61 .00 .60 0 -4.00 .046 .042 94 13 13 82 .00 1.11 0 -5.00 .068 .064 141 16 16 122 .01 1.39 0 -6.00 .088 .083 186 19 19 161 .00 2.79 0 -7.00 .118 .111 241 23 23 216 .06 3.21 0 -8.00 .160 .153 324 27 27 296 .01 6.59 0 -9.00 .220 .211 459 32 32 418 .01 9.68 0 -10.00 .315 .302 646 46 46 595 .04 12.59 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.587E-03 *(TOL** .941) APPROX, R.M.S. RESIDUAL= 2.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .245 *(TOL** .829) APPROX, R.M.S. RESIDUAL= 9.1E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.88 .034 .031 69 11 11 59 0 10** -4 -4.09 .048 .044 98 13 13 85 0 10** -5 -5.30 .074 .070 154 16 16 133 0 10** -6 -6.50 .103 .097 213 21 21 188 0 10** -7 -7.71 .148 .141 299 25 25 272 0 10** -8 -8.91 .215 .206 447 31 31 407 0 10** -9 -10.12 .326 .313 668 47 47 616 0 E2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .026 .021 115 29 29 54 17.03 81.90 0 -3.00 .033 .028 144 22 22 79 26.43 377.92 0 -4.00 .046 .040 180 23 23 124 49.29 799.04 0 -5.00 .061 .055 220 24 24 163 32.26 850.33 0 -6.00 .084 .076 306 26 26 233 36.07 709.52 0 -7.00 .112 .102 399 33 33 316 85.05 1391.12 0 -8.00 .143 .131 494 35 35 410 76.36 1255.34 0 -9.00 .200 .184 680 43 43 585 140.71 2302.03 0 -10.00 .310 .288 953 56 56 838 238.33 3657.31 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.85 *(TOL** .874) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 93.5 *(TOL** .841) APPROX, R.M.S. RESIDUAL= 1.8E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 0 -2.34 .028 .023 124 26 26 62 0 10** -1 -3.53 .040 .034 163 22 22 103 0 10** -2 -4.72 .057 .051 208 23 23 152 0 10** -3 -5.91 .082 .074 298 25 25 226 0 10** -4 -7.10 .116 .105 408 33 33 325 0 10** -5 -8.29 .160 .147 548 37 37 461 0 10** -6 -9.48 .253 .234 811 49 49 706 0 E3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .020 .019 62 10 10 44 .66 2.03 0 -3.00 .030 .027 92 19 19 60 .95 3.93 0 -4.00 .042 .040 120 17 17 94 1.04 1.79 0 -5.00 .055 .052 160 19 19 129 2.58 2.74 0 -6.00 .090 .085 258 32 32 197 .71 4.10 0 -7.00 .118 .112 337 35 35 257 .90 4.13 0 -8.00 .160 .152 445 53 53 348 1.05 3.44 0 -9.00 .270 .257 758 84 84 567 3.84 6.77 0 -10.00 .335 .319 943 98 98 731 1.84 14.40 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .607 *(TOL** .947) APPROX, R.M.S. RESIDUAL= 2.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.28 *(TOL** .919) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.29 .023 .021 70 12 12 48 0 10** -3 -3.38 .035 .032 102 18 18 72 0 10** -4 -4.47 .048 .045 138 17 17 110 0 10** -5 -5.56 .075 .071 214 26 26 166 0 10** -6 -6.65 .108 .102 309 33 33 235 0 10** -7 -7.73 .149 .141 416 48 48 323 0 10** -8 -8.82 .250 .238 702 78 78 528 0 10** -9 -9.91 .329 .314 926 96 96 716 0 E4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .040 .031 91 21 21 58 .05 7.22 0 -3.00 .054 .043 120 23 23 84 .02 17.85 0 -4.00 .088 .072 198 32 32 143 .02 47.38 0 -5.00 .125 .107 262 34 34 215 .02 89.50 0 -6.00 .163 .140 342 42 42 286 .21 25.56 0 -7.00 .235 .206 477 50 50 402 .10 34.49 0 -8.00 .315 .278 655 58 58 564 .15 69.41 0 -9.00 .430 .384 901 66 66 782 .34 88.74 0 -10.00 .620 .555 1298 90 90 1122 .49 103.91 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.768E-03 *(TOL** .836) APPROX, R.M.S. RESIDUAL= 2.8E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 8.83 *(TOL** .889) APPROX, R.M.S. RESIDUAL= 2.3E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -1 -2.19 .043 .033 96 21 21 62 0 10** -2 -3.31 .064 .052 144 25 25 102 0 10** -3 -4.44 .104 .087 225 32 32 174 0 10** -4 -5.56 .147 .126 306 38 38 254 0 10** -5 -6.69 .212 .185 434 47 47 365 0 10** -6 -7.81 .300 .265 621 56 56 533 0 10** -7 -8.93 .422 .377 884 65 65 767 0 10** -8 -10.06 .631 .566 1321 91 91 1142 0 E5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .014 .011 33 9 9 25 .02 1.55 0 -3.00 .021 .017 49 10 10 39 .13 3.01 0 -4.00 .031 .026 72 15 15 54 .28 3.15 0 -5.00 .048 .040 113 19 19 87 .27 2.96 0 -6.00 .056 .048 132 19 19 105 .77 4.79 0 -7.00 .092 .079 214 28 28 162 .78 3.71 0 -8.00 .147 .130 301 35 35 237 4.29 7.74 0 -9.00 .215 .190 451 49 49 333 41.81 7.14 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.63249E+02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -10.00 .305 .265 694 81 81 526 437.87 6.77 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.41469E+02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.295E-03 *(TOL** .542) APPROX, R.M.S. RESIDUAL= 4.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.26 *(TOL** .912) APPROX, R.M.S. RESIDUAL= 9.1E-02 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.30 .016 .013 37 9 9 29 0 10** -3 -3.40 .025 .021 58 11 11 44 0 10** -4 -4.50 .039 .033 92 16 16 70 0 10** -5 -5.59 .053 .045 124 19 19 97 0 10** -6 -6.69 .081 .070 188 25 25 144 0 10** -7 -7.78 .135 .119 282 33 33 220 0SUMMARY OVER GROUP 5 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .127 .106 359 80 80 228 17.03 81.90 0 -3.00 .173 .148 476 86 86 323 26.43 377.92 0 -4.00 .252 .220 664 100 100 497 49.29 799.04 0 -5.00 .358 .319 896 112 112 716 32.26 850.33 0 -6.00 .482 .433 1224 138 138 982 36.07 709.52 0 -7.00 .674 .611 1668 169 169 1353 85.05 1391.12 0 -8.00 .925 .844 2219 208 208 1855 76.36 1255.34 0 -9.00 1.335 1.226 3249 274 274 2685 140.71 2302.03 0 -10.00 1.885 1.730 4534 371 371 3812 437.87 3657.31 1 0GROUP 6 LSODE 0 F1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .037 .032 91 20 20 60 .01 1.07 0 -3.00 .061 .054 146 30 30 101 .05 1.46 0 -4.00 .090 .081 226 34 34 150 .07 1.62 0 -5.00 .150 .136 356 48 48 249 .24 1.67 0 -6.00 .205 .187 514 61 61 343 .15 1.81 0 -7.00 .275 .253 646 74 74 443 .86 2.24 0 -8.00 .345 .318 814 86 86 586 1.07 3.85 0 -9.00 .550 .509 1263 128 128 959 1.39 4.92 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.37719E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .800 .742 1827 178 178 1356 1.90 4.92 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.65069E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 5.793E-03 *(TOL** .729) APPROX, R.M.S. RESIDUAL= 2.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .770 *(TOL** .925) APPROX, R.M.S. RESIDUAL= 5.9E-02 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.04 .038 .033 93 20 20 61 0 10** -3 -3.12 .065 .057 155 30 30 106 0 10** -4 -4.20 .102 .092 252 36 36 169 0 10** -5 -5.28 .165 .151 400 51 51 275 0 10** -6 -6.36 .230 .211 561 65 65 379 0 10** -7 -7.44 .306 .282 720 79 79 506 0 F2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .012 .010 42 12 12 29 .14 .85 0 -3.00 .017 .014 58 13 13 45 1.09 1.83 0 -4.00 .021 .018 74 13 13 61 .08 1.39 0 -5.00 .029 .024 107 15 15 87 1.02 1.49 0 -6.00 .040 .034 137 17 17 116 .80 1.81 0 -7.00 .051 .044 172 20 20 149 2.81 2.81 0 -8.00 .073 .063 246 29 29 210 4.26 4.26 0 -9.00 .096 .084 325 28 28 284 2.76 5.14 0 -10.00 .132 .116 451 34 34 393 5.77 7.68 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.260E-02 *(TOL** .806) APPROX, R.M.S. RESIDUAL= 3.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .549 *(TOL** .893) APPROX, R.M.S. RESIDUAL= 9.2E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -1.95 .012 .009 41 11 11 28 0 10** -3 -3.07 .017 .014 59 13 13 46 0 10** -4 -4.19 .023 .019 80 13 13 65 0 10** -5 -5.31 .032 .027 116 15 15 95 0 10** -6 -6.43 .045 .039 151 18 18 130 0 10** -7 -7.55 .063 .055 212 24 24 182 0 10** -8 -8.67 .088 .077 298 28 28 259 0 10** -9 -9.79 .125 .109 424 32 32 369 0 F3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .036 .028 66 18 18 51 .00 .92 0 -3.00 .051 .042 97 19 19 81 .00 1.33 0 -4.00 .090 .075 165 28 28 132 .00 1.15 0 -5.00 .125 .105 239 31 31 190 .00 1.38 0 -6.00 .180 .151 330 47 47 261 .00 2.33 0 -7.00 .255 .215 488 55 55 386 .00 2.17 0 -8.00 .330 .282 617 61 61 488 .00 .68 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.04233E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .410 .351 778 68 68 631 .00 4.66 0 -10.00 .590 .508 1097 89 89 893 .03 .19 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.65001E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.397E-03 *(TOL** .970) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .568 *(TOL** .906) APPROX, R.M.S. RESIDUAL= 6.8E-02 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -1.94 .035 .028 64 17 17 49 0 10** -3 -3.04 .053 .043 99 19 19 83 0 10** -4 -4.14 .095 .079 175 28 28 140 0 10** -5 -5.25 .139 .116 261 34 34 207 0 10** -6 -6.35 .206 .174 385 49 49 304 0 F4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .005 .005 12 4 4 11 .04 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.14708E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -3.00 .007 .006 21 7 7 13 1.63 .19 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.16168E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .120 .111 390 67 67 224 .39 10.28 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.17603E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .170 .159 553 75 75 332 .53 51802.18 0 -6.00 .235 .221 718 94 94 463 2.57 62634.38 0 -7.00 .310 .293 914 108 108 635 1.10 86726.27 0 -8.00 .400 .380 1142 124 124 840 .23 112721.51 0 -9.00 .550 .524 1554 155 155 1155 1.40 191363.75 0 -10.00 .760 .726 2140 195 195 1650 4.95 290087.75 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.90226E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .118 *(TOL** .867) APPROX, R.M.S. RESIDUAL= 4.8E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 9.627E+03 *(TOL** .861) APPROX, R.M.S. RESIDUAL= 3.5E-02 OVER 5 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -1 -5.79 .221 .208 683 89 89 435 0 10** -2 -6.95 .306 .289 904 107 107 626 0 10** -3 -8.11 .417 .396 1187 127 127 874 0 F5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .027 .022 58 20 20 48 .00 .46 0 -3.00 .039 .033 86 25 25 71 .00 1.34 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.92319E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .058 .050 133 27 27 108 .00 1.55 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.55410E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .082 .073 192 33 33 153 .00 1.52 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.15993E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .117 .105 269 43 43 210 .02 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.73169E-10, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -7.00 .183 .168 386 49 49 303 .40 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.84035E-11, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -8.00 .245 .221 564 78 78 432 .39 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.12510E-09, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .315 .287 710 91 91 547 1.39 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.91432E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .730 .628 1793 373 373 1096 334.59 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.96803E-13, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.605E-04 *(TOL** .512) APPROX, R.M.S. RESIDUAL= 7.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR 1 VALUES, TOO FEW TO GET STATISTICS 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0SUMMARY OVER GROUP 6 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .117 .097 269 74 74 199 .14 1.07 0 -3.00 .176 .149 408 94 94 311 1.63 1.83 0 -4.00 .379 .334 988 169 169 675 .39 10.28 0 -5.00 .556 .497 1447 202 202 1011 1.02 51802.18 0 -6.00 .777 .698 1968 262 262 1393 2.57 62634.38 0 -7.00 1.075 .973 2606 306 306 1916 2.81 86726.27 0 -8.00 1.393 1.264 3383 378 378 2556 4.26 112721.51 0 -9.00 1.921 1.755 4630 470 470 3576 2.76 191363.75 0 -10.00 3.013 2.720 7308 869 869 5388 334.59 290087.75 1SUMMARY OVER ALL GROUPS LSODE LOG10 TIME OVHD FCN JAC MAT NO OF TOL CALLS CALLS FACT STEPS 0 -2.00 2.476 2.189 4483 532 532 3747 0 -3.00 2.788 2.458 5084 602 602 4201 0 -4.00 3.427 3.025 6648 754 754 5446 0 -5.00 4.428 3.929 8614 893 893 7058 0 -6.00 5.467 4.867 10672 1069 1069 8717 0 -7.00 7.114 6.375 13915 1254 1254 11627 0 -8.00 7.883 7.028 15863 1475 1475 13206 0 -9.00 11.873 10.703 23513 1845 1845 19865 0 -10.00 15.621 14.068 31293 2558 2558 26401 0 OVERALL SUMMARY 61.078 54.641 120085 10982 10982 100268 These results were obtained using Diagonally Extended Singly Implict Runge- Kutta Methods. 0GROUP 1 DESI RUNG 0 A1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .012 .010 41 1 11 11 .00 .12 0 -3.00 .024 .020 83 1 21 23 .00 .10 0 -4.00 .039 .035 104 1 15 15 .02 .44 0 -5.00 .057 .052 163 1 22 23 .05 .48 0 -6.00 .064 .060 172 1 18 19 .01 .06 0 -7.00 .088 .082 232 1 22 26 .01 .20 0 -8.00 .133 .125 327 1 28 37 .03 .38 0 -9.00 .173 .165 392 1 25 35 .04 .61 0 -10.00 .230 .220 564 2 27 52 .08 1.11 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.874E-03 *(TOL** .914) APPROX, R.M.S. RESIDUAL= 2.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 7.144E-02 *(TOL** .904) APPROX, R.M.S. RESIDUAL= 3.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.05 .013 .010 43 1 11 11 0 10** -4 -3.16 .026 .022 86 1 20 21 0 10** -5 -4.26 .044 .040 119 1 16 17 0 10** -6 -5.37 .060 .055 166 1 20 21 0 10** -7 -6.48 .076 .070 200 1 19 22 0 10** -8 -7.58 .114 .107 287 1 25 32 0 10** -9 -8.69 .161 .153 371 1 25 35 0 10**-10 -9.79 .218 .208 528 1 26 48 0 A2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .039 .023 48 1 13 13 .00 .09 0 -3.00 .070 .041 90 1 24 25 .00 .24 0 -4.00 .110 .084 136 1 19 20 .01 .42 0 -5.00 .163 .127 195 1 26 29 .01 .48 0 -6.00 .210 .173 224 1 25 25 .01 .07 0 -7.00 .275 .228 300 1 31 34 .01 .12 0 -8.00 .410 .351 420 1 37 48 .02 .28 0 -9.00 .560 .488 606 1 40 64 .03 .50 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.65834E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .730 .654 694 2 39 61 .02 .16 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.97348E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.338E-03 *(TOL** .954) APPROX, R.M.S. RESIDUAL= 8.8E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .194 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 3.1E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.29 .048 .028 60 1 16 16 0 10** -4 -3.29 .082 .053 103 1 22 23 0 10** -5 -4.29 .125 .096 153 1 21 22 0 10** -6 -5.29 .177 .140 203 1 25 27 0 10** -7 -6.29 .229 .189 245 1 26 27 0 10** -8 -7.29 .314 .264 334 1 32 38 0 A3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .017 .012 51 1 14 14 .10 .10 0 -3.00 .032 .021 107 1 29 30 .04 .13 0 -4.00 .051 .039 150 1 22 21 .02 .41 0 -5.00 .073 .058 201 1 25 30 .08 .46 0 -6.00 .090 .073 232 1 25 26 .00 .05 0 -7.00 .125 .102 318 1 31 36 .05 .16 0 -8.00 .170 .139 429 1 35 49 .14 .32 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.51455E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .250 .213 537 2 35 47 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.05870E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .315 .267 709 3 40 63 .00 .25 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.39203E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.949E-02 *(TOL** 1.073) APPROX, R.M.S. RESIDUAL= 3.8E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .167 *(TOL** 1.003) APPROX, R.M.S. RESIDUAL= 3.4E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.22 .020 .014 63 1 17 17 0 10** -4 -3.21 .036 .025 116 1 27 28 0 10** -5 -4.21 .056 .043 160 1 22 22 0 10** -6 -5.21 .077 .061 207 1 25 29 0 10** -7 -6.21 .097 .078 249 1 26 28 0 A4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .058 .034 58 1 16 16 .00 .12 0 -3.00 .113 .065 118 1 33 33 .01 .08 0 -4.00 .177 .137 169 1 25 25 .00 .43 0 -5.00 .245 .186 247 1 37 37 .03 .43 0 -6.00 .305 .251 282 1 32 32 .00 .05 0 -7.00 .395 .323 385 1 43 44 .00 .15 0 -8.00 .590 .497 538 1 54 62 .01 .26 0 -9.00 .830 .732 663 1 53 60 .00 .07 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.48119E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 1.220 1.091 1126 1 62 120 .00 .42 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.44294E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.295E-02 *(TOL** 1.009) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .124 *(TOL** .976) APPROX, R.M.S. RESIDUAL= 3.4E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.15 .065 .039 66 1 18 18 0 10** -4 -3.17 .123 .077 126 1 31 31 0 10** -5 -4.19 .190 .147 184 1 27 27 0 10** -6 -5.22 .258 .201 254 1 35 35 0 10** -7 -6.24 .327 .269 307 1 34 34 0 10** -8 -7.27 .447 .369 426 1 45 48 0SUMMARY OVER GROUP 1 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .126 .079 198 4 54 54 .10 .12 0 -3.00 .239 .147 398 4 107 111 .04 .24 0 -4.00 .377 .295 559 4 81 81 .02 .44 0 -5.00 .539 .423 806 4 110 119 .08 .48 0 -6.00 .669 .556 910 4 100 102 .01 .07 0 -7.00 .883 .734 1235 4 127 140 .05 .20 0 -8.00 1.303 1.112 1714 4 154 196 .14 .38 0 -9.00 1.813 1.599 2198 5 153 206 .04 .61 0 -10.00 2.495 2.232 3093 8 168 296 .08 1.11 1 0GROUP 2 DESI RUNG 0 B1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .036 .028 118 1 24 33 .01 3.72 0 -3.00 .075 .057 303 1 40 86 .02 4.86 0 -4.00 .137 .115 416 1 35 62 .03 3.48 0 -5.00 .220 .187 650 1 44 99 .03 5.70 0 -6.00 .250 .217 699 1 31 81 .12 4.05 0 -7.00 .365 .318 1031 1 34 120 .21 5.12 0 -8.00 .550 .483 1516 1 37 177 .55 6.97 0 -9.00 .710 .636 1721 1 32 162 .32 3.58 0 -10.00 .990 .890 2325 1 37 217 .40 4.83 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.840E-03 *(TOL** .773) APPROX, R.M.S. RESIDUAL= 1.8E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.98 *(TOL** .990) APPROX, R.M.S. RESIDUAL= 9.2E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.63 .060 .046 233 1 34 66 0 10** -3 -3.64 .114 .094 375 1 36 70 0 10** -4 -4.65 .191 .162 567 1 40 85 0 10** -5 -5.66 .240 .207 682 1 35 87 0 10** -6 -6.67 .327 .285 920 1 33 107 0 10** -7 -7.68 .490 .430 1360 1 36 158 0 10** -8 -8.69 .660 .588 1657 1 33 166 0 10** -9 -9.70 .906 .814 2143 1 35 200 0 B2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .017 .013 34 1 9 9 .02 .10 0 -3.00 .033 .024 72 1 19 20 .01 .11 0 -4.00 .049 .042 91 1 13 13 .02 .41 0 -5.00 .073 .063 136 1 18 20 .04 .49 0 -6.00 .090 .080 155 1 16 17 .02 .08 0 -7.00 .122 .109 207 1 21 23 .02 .20 0 -8.00 .170 .153 292 1 25 33 .03 .37 0 -9.00 .230 .212 347 1 25 31 .04 .59 0 -10.00 .310 .289 464 1 27 42 .06 1.07 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.380E-02 *(TOL** .954) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 7.034E-02 *(TOL** .902) APPROX, R.M.S. RESIDUAL= 2.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.05 .018 .013 35 1 9 9 0 10** -4 -3.16 .035 .026 74 1 18 18 0 10** -5 -4.26 .055 .047 102 1 14 14 0 10** -6 -5.37 .080 .069 143 1 17 18 0 10** -7 -6.48 .106 .094 179 1 18 19 0 10** -8 -7.59 .150 .135 257 1 23 28 0 10** -9 -8.70 .212 .194 330 1 25 31 0 10**-10 -9.81 .294 .274 441 1 26 39 0 B3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .019 .014 37 1 10 10 .01 .15 0 -3.00 .037 .027 79 1 20 22 .01 .23 0 -4.00 .059 .050 104 1 15 15 .02 .41 0 -5.00 .082 .071 149 1 19 22 .05 .62 0 -6.00 .100 .089 163 1 17 18 .01 .21 0 -7.00 .128 .114 224 1 21 25 .02 .32 0 -8.00 .190 .172 317 1 27 36 .02 .56 0 -9.00 .265 .246 381 1 26 34 .03 .71 0 -10.00 .370 .347 546 1 27 51 .04 1.45 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.006E-03 *(TOL** .942) APPROX, R.M.S. RESIDUAL= 2.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .120 *(TOL** .911) APPROX, R.M.S. RESIDUAL= 1.8E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.28 .024 .018 48 1 12 13 0 10** -4 -3.38 .045 .036 88 1 18 19 0 10** -5 -4.48 .070 .060 125 1 16 18 0 10** -6 -5.58 .092 .082 157 1 17 19 0 10** -7 -6.68 .119 .106 204 1 19 22 0 10** -8 -7.77 .176 .159 295 1 25 33 0 10** -9 -8.87 .255 .236 372 1 26 34 0 10**-10 -9.97 .367 .344 541 1 26 50 0 B4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .022 .016 51 1 13 14 .02 .65 0 -3.00 .048 .035 111 1 24 31 .02 .94 0 -4.00 .075 .064 149 1 18 22 .01 .90 0 -5.00 .110 .096 221 1 22 33 .03 1.41 0 -6.00 .150 .136 248 1 21 28 .02 .81 0 -7.00 .205 .187 351 1 25 40 .03 1.07 0 -8.00 .305 .282 496 1 29 57 .01 1.62 0 -9.00 .410 .385 595 1 30 54 .05 1.03 0 -10.00 .550 .518 837 1 32 77 .04 2.63 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.094E-02 *(TOL** .950) APPROX, R.M.S. RESIDUAL= 1.8E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .576 *(TOL** .951) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.90 .045 .034 105 1 22 29 0 10** -4 -3.95 .074 .063 147 1 18 22 0 10** -5 -5.00 .110 .096 221 1 21 32 0 10** -6 -6.06 .153 .139 253 1 21 28 0 10** -7 -7.11 .216 .197 366 1 25 41 0 10** -8 -8.16 .322 .298 511 1 29 56 0 10** -9 -9.21 .439 .413 645 1 30 58 0 B5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .047 .035 104 1 23 29 .01 4.20 0 -3.00 .100 .080 268 1 34 76 .01 4.77 0 -4.00 .190 .168 390 1 32 59 .02 3.57 0 -5.00 .300 .269 611 1 42 93 .03 5.79 0 -6.00 .350 .324 656 1 28 76 .02 3.94 0 -7.00 .530 .495 979 1 33 114 .03 4.96 0 -8.00 .820 .771 1439 1 42 168 .03 6.74 0 -9.00 1.110 1.056 1733 1 39 159 .03 3.96 0 -10.00 1.570 1.501 2434 1 38 225 .04 .96 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.19632E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.666E-03 *(TOL** .935) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 4.09 *(TOL** .990) APPROX, R.M.S. RESIDUAL= 8.4E-02 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.64 .081 .064 208 1 30 59 0 10** -3 -3.65 .158 .137 347 1 32 64 0 10** -4 -4.66 .262 .235 535 1 38 81 0 10** -5 -5.67 .333 .306 641 1 32 81 0 10** -6 -6.68 .472 .440 875 1 31 101 0 10** -7 -7.69 .730 .685 1295 1 39 151 0 10** -8 -8.70 1.023 .970 1644 1 39 161 0SUMMARY OVER GROUP 2 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .141 .105 344 5 79 95 .02 4.20 0 -3.00 .293 .223 833 5 137 235 .02 4.86 0 -4.00 .509 .439 1150 5 113 171 .03 3.57 0 -5.00 .785 .686 1767 5 145 267 .05 5.79 0 -6.00 .940 .846 1921 5 113 220 .12 4.05 0 -7.00 1.350 1.223 2792 5 134 322 .21 5.12 0 -8.00 2.035 1.862 4060 5 160 471 .55 6.97 0 -9.00 2.725 2.534 4777 5 152 440 .32 3.96 0 -10.00 3.790 3.545 6606 5 161 612 .40 4.83 1 0GROUP 3 DESI RUNG 0 C1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .014 .010 50 9 12 12 .00 .82 0 -3.00 .030 .021 103 18 26 26 .00 .19 0 -4.00 .059 .049 156 12 18 19 .00 .48 0 -5.00 .080 .066 222 17 26 27 .00 .75 0 -6.00 .110 .094 293 15 24 24 .00 .59 0 -7.00 .150 .128 383 21 32 33 .00 .82 0 -8.00 .210 .180 542 26 43 47 .01 1.10 0 -9.00 .270 .232 701 34 54 66 .00 1.89 0 -10.00 .355 .307 899 38 61 86 .00 3.10 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .206 *(TOL** .899) APPROX, R.M.S. RESIDUAL= 1.9E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.57 .023 .016 80 14 20 20 0 10** -4 -3.68 .050 .040 139 13 20 21 0 10** -5 -4.80 .076 .063 208 15 24 25 0 10** -6 -5.91 .107 .091 286 15 24 24 0 10** -7 -7.02 .151 .129 386 21 32 33 0 10** -8 -8.13 .218 .187 562 27 44 49 0 10** -9 -9.24 .291 .250 749 34 55 70 0 C2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .014 .010 46 10 11 11 .00 .12 0 -3.00 .027 .018 94 18 23 23 .00 .09 0 -4.00 .050 .041 131 12 17 17 .00 .43 0 -5.00 .063 .049 190 15 24 25 .00 .46 0 -6.00 .102 .087 248 11 22 22 .00 .07 0 -7.00 .132 .112 320 14 29 30 .00 .18 0 -8.00 .177 .150 423 16 36 42 .00 .35 0 -9.00 .240 .204 610 19 44 60 .02 .63 0 -10.00 .335 .287 839 24 51 86 .01 1.03 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.457E-03 *(TOL** .982) APPROX, R.M.S. RESIDUAL= 4.7E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 7.092E-02 *(TOL** .905) APPROX, R.M.S. RESIDUAL= 2.9E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.04 .015 .010 48 10 11 11 0 10** -4 -3.15 .030 .021 99 17 22 22 0 10** -5 -4.25 .053 .043 146 12 18 19 0 10** -6 -5.36 .077 .063 210 13 23 23 0 10** -7 -6.46 .116 .099 281 12 25 25 0 10** -8 -7.57 .158 .134 378 15 32 36 0 10** -9 -8.67 .219 .186 549 18 41 54 0 10**-10 -9.78 .314 .269 788 22 49 80 0 C3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .016 .012 47 10 11 11 .00 .09 0 -3.00 .030 .021 94 22 23 23 .00 .09 0 -4.00 .056 .045 153 17 18 18 .00 .44 0 -5.00 .080 .064 225 23 27 26 .00 .43 0 -6.00 .120 .102 293 18 22 22 .00 .09 0 -7.00 .150 .127 375 25 29 30 .00 .23 0 -8.00 .205 .173 528 31 38 42 .00 .38 0 -9.00 .260 .219 681 39 49 59 .00 .62 0 -10.00 .375 .319 950 49 61 85 .01 .96 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 6.613E-02 *(TOL** .898) APPROX, R.M.S. RESIDUAL= 2.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.03 .016 .012 48 10 11 11 0 10** -4 -3.14 .034 .024 102 21 22 22 0 10** -5 -4.25 .062 .050 171 18 20 20 0 10** -6 -5.37 .095 .078 249 21 25 24 0 10** -7 -6.48 .134 .114 332 21 25 25 0 10** -8 -7.59 .183 .154 465 28 34 37 0 10** -9 -8.71 .244 .205 636 36 45 54 0 10**-10 -9.82 .354 .301 902 47 58 80 0 C4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .012 .009 39 7 8 8 .00 .30 0 -3.00 .021 .015 69 15 16 16 .00 .22 0 -4.00 .052 .042 154 15 16 16 .00 .19 0 -5.00 .078 .063 234 22 23 23 .00 .34 0 -6.00 .118 .099 317 17 18 18 .00 .46 0 -7.00 .153 .129 425 23 25 25 .01 .69 0 -8.00 .205 .172 566 31 34 34 .01 2.16 0 -9.00 .285 .241 748 42 47 47 .01 4.09 0 -10.00 .370 .311 992 59 66 67 .01 3.32 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.442E-03 *(TOL** .994) APPROX, R.M.S. RESIDUAL= 1.8E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 6.364E-02 *(TOL** .827) APPROX, R.M.S. RESIDUAL= 1.9E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.18 .014 .010 44 8 9 9 0 10** -4 -3.39 .033 .025 102 15 16 16 0 10** -5 -4.60 .068 .055 202 19 20 20 0 10** -6 -5.81 .110 .092 301 17 18 18 0 10** -7 -7.02 .154 .130 428 23 25 25 0 10** -8 -8.23 .224 .188 608 33 37 37 0 10** -9 -9.44 .322 .272 855 49 55 55 0 C5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .012 .009 39 7 8 8 .00 .42 0 -3.00 .020 .014 65 14 15 15 .00 .23 0 -4.00 .054 .044 152 14 15 15 .00 .24 0 -5.00 .080 .064 239 22 24 23 .00 .48 0 -6.00 .115 .097 322 16 18 18 .00 .30 0 -7.00 .150 .126 416 22 24 24 .00 .93 0 -8.00 .205 .173 548 29 32 32 .00 1.35 0 -9.00 .285 .242 739 41 46 45 .01 3.54 0 -10.00 .375 .317 981 58 63 64 .02 5.42 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.795E-03 *(TOL** .987) APPROX, R.M.S. RESIDUAL= 5.1E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 7.889E-02 *(TOL** .836) APPROX, R.M.S. RESIDUAL= 2.2E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.27 .014 .010 45 8 9 9 0 10** -4 -3.46 .036 .028 105 14 15 15 0 10** -5 -4.66 .071 .057 209 19 20 20 0 10** -6 -5.85 .110 .092 309 16 18 18 0 10** -7 -7.05 .153 .128 422 22 24 24 0 10** -8 -8.25 .225 .190 594 31 35 35 0 10** -9 -9.44 .325 .275 845 48 53 53 0SUMMARY OVER GROUP 3 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .068 .048 221 43 50 50 .00 .82 0 -3.00 .128 .088 425 87 103 103 .00 .23 0 -4.00 .271 .221 746 70 84 85 .00 .48 0 -5.00 .381 .307 1110 99 124 124 .00 .75 0 -6.00 .565 .478 1473 77 104 104 .00 .59 0 -7.00 .736 .622 1919 105 139 142 .01 .93 0 -8.00 1.002 .849 2607 133 183 197 .01 2.16 0 -9.00 1.340 1.137 3479 175 240 277 .02 4.09 0 -10.00 1.810 1.541 4661 228 302 388 .02 5.42 1 0GROUP 4 DESI RUNG 0 D1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .018 .014 90 6 13 7 .18 .18 0 -3.00 .022 .017 113 11 20 12 .69 .69 0 -4.00 .059 .048 254 13 19 14 .57 .58 0 -5.00 .068 .057 267 20 25 21 .68 .68 0 -6.00 .105 .088 434 30 35 31 .82 .87 0 -7.00 .147 .123 598 44 49 46 .88 .92 0 -8.00 .240 .201 959 74 80 76 .81 .91 0 -9.00 .220 .186 883 31 37 35 2.23 3.75 0 -10.00 .265 .226 1023 46 50 50 4.47 4.47 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .154 *(TOL** .875) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .140 *(TOL** .862) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.49 .020 .015 101 8 16 9 0 10** -4 -3.65 .046 .037 204 12 19 13 0 10** -5 -4.81 .066 .056 264 18 23 19 0 10** -6 -5.97 .104 .087 429 29 34 30 0 10** -7 -7.13 .159 .133 645 47 53 49 0 10** -8 -8.29 .234 .197 936 61 67 64 0 10** -9 -9.45 .240 .204 946 37 42 41 0 D2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .012 .008 49 9 11 11 .07 .08 0 -3.00 .023 .015 95 21 23 22 .06 .47 0 -4.00 .047 .037 180 16 18 18 .15 .64 0 -5.00 .073 .058 279 24 29 27 .15 .62 0 -6.00 .115 .095 421 20 24 24 .15 .31 0 -7.00 .143 .118 515 26 31 30 .41 .58 0 -8.00 .180 .148 642 34 42 41 .84 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.52865E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .240 .199 838 45 56 55 1.65 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.16058E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .310 .254 1139 61 73 76 2.89 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.98305E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.617E-02 *(TOL** .787) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .120 *(TOL** .892) APPROX, R.M.S. RESIDUAL= 2.7E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.33 .016 .011 64 12 14 14 0 10** -4 -3.45 .034 .025 133 18 20 20 0 10** -5 -4.58 .062 .049 237 20 24 23 0 10** -6 -5.70 .102 .084 378 21 25 24 0 10** -7 -6.82 .138 .114 497 24 29 28 0 D3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .019 .014 62 14 15 15 .00 1.20 0 -3.00 .037 .027 118 26 29 29 .00 .15 0 -4.00 .080 .066 248 22 26 25 .00 .37 0 -5.00 .103 .084 342 28 32 31 .00 .69 0 -6.00 .193 .167 572 30 35 34 .00 .33 0 -7.00 .225 .193 661 39 45 44 .00 .40 0 -8.00 .285 .245 803 50 59 59 .00 .73 0 -9.00 .390 .337 1079 66 77 81 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 6.87119E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .580 .507 1495 92 105 115 .00 1.69 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.55082E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .434 *(TOL** .995) APPROX, R.M.S. RESIDUAL= 2.7E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.65 .031 .022 98 21 24 24 0 10** -4 -3.66 .065 .053 203 23 27 26 0 10** -5 -4.66 .095 .078 310 25 29 28 0 10** -6 -5.67 .163 .139 495 29 34 33 0 10** -7 -6.67 .215 .185 631 36 41 40 0 10** -8 -7.68 .266 .229 757 46 54 54 0 D4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .010 .009 42 4 10 10 .04 .12 0 -3.00 .017 .015 71 5 17 17 .13 .13 0 -4.00 .032 .029 114 6 15 15 .00 .43 0 -5.00 .039 .035 145 7 17 19 .01 .47 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.97516E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .068 .063 226 8 19 19 .00 .05 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.01044E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -7.00 .073 .067 263 9 21 23 .04 .20 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.79461E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .096 .088 331 9 24 29 .02 .37 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.81319E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 .143 .133 444 11 26 31 .15 .58 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.78700E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .167 .154 539 12 32 51 .10 .24 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.02883E-01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.674E-02 *(TOL** .951) APPROX, R.M.S. RESIDUAL= 4.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.003E-02 *(TOL** .731) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 3 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.02 .010 .009 42 4 10 10 0 10** -4 -3.39 .023 .020 87 5 16 16 0 D5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .010 .008 51 8 13 8 4.01 3.96 0 -3.00 .009 .008 41 7 10 8 8.56 8.60 0 -4.00 .027 .023 173 12 25 13 .27 .73 0 -5.00 .033 .028 177 20 34 23 2.05 2.18 0 -6.00 .086 .078 476 24 40 28 1.37 1.70 0 -7.00 .103 .093 542 31 45 35 1.38 1.69 0 -8.00 .122 .111 644 40 52 45 1.99 2.55 0 -9.00 .157 .142 807 53 70 62 2.25 2.88 0 -10.00 .240 .224 1291 35 53 48 4.55 5.49 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.06 *(TOL** .999) APPROX, R.M.S. RESIDUAL= 4.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 2.57 *(TOL** .998) APPROX, R.M.S. RESIDUAL= 3.0E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.41 .010 .008 46 7 11 8 0 10** -3 -3.42 .016 .014 95 9 16 10 0 10** -4 -4.42 .030 .025 174 15 28 17 0 10** -5 -5.42 .055 .049 302 21 36 25 0 10** -6 -6.42 .093 .084 503 26 42 30 0 10** -7 -7.42 .111 .101 585 34 47 39 0 10** -8 -8.43 .137 .125 713 45 59 52 0 10** -9 -9.43 .192 .177 1014 45 62 55 0 D6 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .015 .013 55 6 13 13 .01 .12 0 -3.00 .020 .016 95 12 23 23 .01 .13 0 -4.00 .047 .041 164 17 26 26 .00 .75 0 -5.00 .075 .065 288 36 48 48 .05 2.66 0 -6.00 .096 .087 330 13 25 25 .02 .05 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.27030E-02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -7.00 .118 .107 395 16 30 31 .03 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.01470E-02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .147 .134 500 20 35 40 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.99577E-03, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 .240 .223 696 23 36 40 .05 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.85302E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .280 .259 872 26 41 50 .12 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.18015E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 5.265E-03 *(TOL** .895) APPROX, R.M.S. RESIDUAL= 2.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 8.439E-03 *(TOL** .517) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 4 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -3.73 .039 .034 145 15 25 25 0SUMMARY OVER GROUP 4 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .084 .066 349 47 75 64 4.01 3.96 0 -3.00 .128 .098 533 82 122 111 8.56 8.60 0 -4.00 .291 .245 1133 86 129 111 .57 .75 0 -5.00 .391 .328 1498 135 185 169 2.05 2.66 0 -6.00 .664 .577 2459 125 178 161 1.37 1.70 0 -7.00 .808 .702 2974 165 221 209 1.38 1.69 0 -8.00 1.070 .929 3879 227 292 290 1.99 2.55 0 -9.00 1.390 1.221 4747 229 302 304 2.25 3.75 0 -10.00 1.842 1.624 6359 272 354 390 4.55 5.49 1 0GROUP 5 DESI RUNG 0 E1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .017 .014 50 1 12 13 .00 .38 0 -3.00 .034 .029 116 1 22 32 .00 .78 0 -4.00 .047 .043 119 1 14 17 .00 .55 0 -5.00 .063 .058 171 1 18 25 .00 .89 0 -6.00 .078 .074 190 1 16 21 .00 .33 0 -7.00 .100 .095 250 1 19 28 .00 .55 0 -8.00 .150 .144 354 1 21 40 .00 .85 0 -9.00 .193 .187 403 1 22 36 .00 .98 0 -10.00 .240 .232 524 2 25 46 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.18093E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.978E-03 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 8.8E-04 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .413 *(TOL** .968) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.70 .029 .025 96 1 19 26 0 10** -4 -3.73 .043 .040 118 1 16 20 0 10** -5 -4.77 .059 .055 158 1 17 23 0 10** -6 -5.80 .075 .071 186 1 16 21 0 10** -7 -6.83 .096 .091 240 1 18 26 0 10** -8 -7.87 .143 .137 340 1 20 38 0 10** -9 -8.90 .189 .182 398 1 21 36 0 E2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .017 .013 124 14 23 15 .28 5.53 0 -3.00 .030 .023 197 30 41 31 3.98 71.47 0 -4.00 .086 .074 491 27 40 29 .22 20.11 0 -5.00 .096 .082 536 40 51 41 2.02 46.78 0 -6.00 .137 .118 733 53 66 55 3.09 76.90 0 -7.00 .220 .195 1159 48 59 49 1.48 40.21 0 -8.00 .260 .230 1387 62 76 66 6.93 109.72 0 -9.00 .345 .307 1695 87 105 93 16.30 243.73 0 -10.00 .375 .330 1918 118 128 127 39.27 605.51 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .132 *(TOL** .779) APPROX, R.M.S. RESIDUAL= 4.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 4.91 *(TOL** .814) APPROX, R.M.S. RESIDUAL= 2.8E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -1 -2.08 .018 .014 129 15 24 16 0 10** -2 -3.31 .047 .038 287 29 40 30 0 10** -3 -4.54 .091 .078 515 33 45 35 0 10** -4 -5.76 .127 .109 686 49 62 51 0 10** -5 -6.99 .219 .195 1155 48 59 49 0 10** -6 -8.22 .279 .247 1455 67 82 71 0 10** -7 -9.45 .358 .317 1795 100 115 108 0 E3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .010 .009 48 8 10 10 .05 .54 0 -3.00 .021 .018 97 16 22 20 .16 .78 0 -4.00 .046 .043 175 15 20 19 .17 1.22 0 -5.00 .059 .055 228 18 25 24 .13 .42 0 -6.00 .094 .090 340 16 21 21 .42 1.07 0 -7.00 .130 .125 480 19 29 27 .26 .69 0 -8.00 .143 .137 532 24 34 35 .38 1.11 0 -9.00 .225 .216 734 34 48 51 .77 1.74 0 -10.00 .270 .259 959 44 60 70 1.19 2.79 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.660E-02 *(TOL** .857) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .389 *(TOL** .933) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.78 .019 .016 86 14 19 17 0 10** -4 -3.85 .042 .039 163 15 20 19 0 10** -5 -4.92 .058 .054 223 17 24 23 0 10** -6 -5.99 .094 .090 339 16 21 21 0 10** -7 -7.06 .131 .125 483 19 29 27 0 10** -8 -8.14 .154 .148 559 25 35 37 0 10** -9 -9.21 .234 .225 780 36 50 54 0 E4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .034 .023 118 19 26 21 .00 1.08 0 -3.00 .052 .036 167 34 40 36 .01 6.11 0 -4.00 .110 .091 326 26 33 30 .01 2.49 0 -5.00 .157 .130 482 35 45 41 .00 1.70 0 -6.00 .225 .191 650 45 56 52 .00 4.61 0 -7.00 .355 .312 932 48 61 57 .00 4.79 0 -8.00 .440 .384 1185 64 80 78 .01 5.50 0 -9.00 .610 .537 1508 87 109 109 .01 9.67 0 -10.00 .780 .683 1985 121 143 155 .01 14.35 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.111E-02 *(TOL** 1.003) APPROX, R.M.S. RESIDUAL= 5.2E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.02 *(TOL** .896) APPROX, R.M.S. RESIDUAL= 2.0E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.24 .038 .026 129 22 29 24 0 10** -3 -3.36 .073 .056 223 31 37 33 0 10** -4 -4.47 .132 .110 399 30 38 35 0 10** -5 -5.59 .197 .166 580 40 51 47 0 10** -6 -6.70 .316 .276 848 47 59 55 0 10** -7 -7.82 .425 .371 1139 61 76 74 0 10** -8 -8.93 .599 .527 1486 85 107 106 0 10** -9 -10.05 .789 .690 2009 122 144 157 0 E5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .012 .009 39 5 9 8 .00 .42 0 -3.00 .021 .016 66 11 16 15 .01 .38 0 -4.00 .052 .044 151 11 20 17 .00 .86 0 -5.00 .060 .049 190 16 25 22 .02 .86 0 -6.00 .094 .081 262 11 19 18 .05 .50 0 -7.00 .118 .100 340 21 30 29 .44 .72 0 -8.00 .147 .127 407 20 31 29 4.39 .67 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.89685E+02, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -9.00 .200 .175 497 29 38 36 43.83 .04 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.03323E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -10.00 .265 .231 693 42 52 49 438.20 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.87735E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.784E-05 *(TOL** .398) APPROX, R.M.S. RESIDUAL= 5.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .373 *(TOL** .956) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.69 .018 .014 57 9 13 12 0 10** -4 -3.74 .044 .036 128 11 18 16 0 10** -5 -4.78 .058 .048 181 14 23 20 0 10** -6 -5.83 .088 .076 249 11 20 18 0 10** -7 -6.88 .115 .098 330 19 28 27 0SUMMARY OVER GROUP 5 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .090 .068 379 47 80 67 .28 5.53 0 -3.00 .158 .122 643 92 141 134 3.98 71.47 0 -4.00 .341 .295 1262 80 127 112 .22 20.11 0 -5.00 .434 .375 1607 110 164 153 2.02 46.78 0 -6.00 .628 .554 2175 126 178 167 3.09 76.90 0 -7.00 .922 .826 3161 137 198 190 1.48 40.21 0 -8.00 1.140 1.021 3865 171 242 248 6.93 109.72 0 -9.00 1.573 1.422 4837 238 322 325 43.83 243.73 0 -10.00 1.930 1.734 6079 327 408 447 438.20 605.51 1 0GROUP 6 DESI RUNG 0 F1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .055 .045 211 24 41 29 .01 .10 0 -3.00 .063 .051 260 30 50 41 .00 .13 0 -4.00 .173 .157 587 31 43 38 .01 .47 0 -5.00 .200 .181 688 34 51 47 .04 .50 0 -6.00 .255 .233 852 39 53 50 .06 .35 0 -7.00 .335 .308 1038 53 71 70 .19 .62 0 -8.00 .500 .463 1355 75 98 101 .35 1.21 0 -9.00 .720 .666 2031 115 140 146 .61 1.85 0 -10.00 .900 .832 2619 137 175 189 .09 1.59 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.563E-03 *(TOL** .795) APPROX, R.M.S. RESIDUAL= 3.3E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 5.996E-02 *(TOL** .845) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.10 .056 .046 216 24 41 30 0 10** -4 -3.29 .094 .082 353 30 47 40 0 10** -5 -4.47 .186 .169 634 32 46 42 0 10** -6 -5.65 .236 .215 794 37 52 48 0 10** -7 -6.83 .322 .295 1007 50 68 66 0 10** -8 -8.02 .504 .467 1366 75 98 101 0 10** -9 -9.20 .756 .699 2148 119 147 154 0 F2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .006 .004 34 4 8 8 .05 .09 0 -3.00 .015 .012 66 5 15 16 .01 .11 0 -4.00 .022 .018 93 5 12 12 .11 .42 0 -5.00 .025 .020 121 4 14 15 .23 .47 0 -6.00 .039 .033 165 6 15 15 .05 .13 0 -7.00 .049 .042 205 7 18 20 .15 .18 0 -8.00 .066 .056 264 8 21 26 .54 .59 0 -9.00 .090 .077 373 10 26 37 1.10 1.13 0 -10.00 .128 .110 528 13 32 52 1.78 1.82 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.476E-03 *(TOL** .782) APPROX, R.M.S. RESIDUAL= 3.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 5.029E-02 *(TOL** .863) APPROX, R.M.S. RESIDUAL= 2.6E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -1.97 .006 .004 33 3 7 7 0 10** -4 -3.13 .016 .013 69 5 14 15 0 10** -5 -4.29 .023 .019 101 4 12 12 0 10** -6 -5.45 .031 .026 140 4 14 15 0 10** -7 -6.61 .045 .038 189 6 16 18 0 10** -8 -7.76 .062 .053 250 7 20 24 0 10** -9 -8.92 .088 .076 364 9 25 36 0 10**-10 -10.08 .131 .113 540 13 32 53 0 F3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .030 .023 67 10 16 16 .00 .09 0 -3.00 .048 .034 127 15 32 32 .00 .08 0 -4.00 .088 .071 205 11 25 25 .00 .41 0 -5.00 .117 .093 297 15 34 35 .00 .49 0 -6.00 .190 .160 407 13 31 31 .00 .82 0 -7.00 .275 .232 570 18 48 47 .00 1.10 0 -8.00 .310 .262 665 21 49 57 .00 .46 0 -9.00 .470 .408 905 23 48 56 .00 .17 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.74383E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .590 .510 1177 29 57 73 .03 .35 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.17395E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.405E-03 *(TOL** .970) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 5.093E-02 *(TOL** .833) APPROX, R.M.S. RESIDUAL= 2.3E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.05 .031 .023 69 10 16 16 0 10** -4 -3.25 .058 .043 146 14 30 30 0 10** -5 -4.45 .101 .081 246 12 29 29 0 10** -6 -5.65 .165 .137 368 13 32 32 0 10** -7 -6.85 .262 .221 545 17 45 44 0 10** -8 -8.05 .312 .263 669 21 49 57 0 F4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .105 .092 551 59 120 60 .07 56.84 0 -3.00 .080 .070 411 47 86 60 .04 327.62 0 -4.00 .255 .238 1118 71 104 72 .38 468.47 0 -5.00 .300 .282 1246 84 106 85 .38 843.24 0 -6.00 .375 .353 1502 104 129 111 .20 7793.03 0 -7.00 .600 .567 2462 141 178 157 .17 2920.31 0 -8.00 .650 .617 2640 132 164 157 .56 6210.43 0 -9.00 1.050 1.004 3798 181 218 187 .33 10124.15 0 -10.00 1.220 1.162 4744 228 274 242 .29 35903.22 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.17675E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.480E-02 *(TOL** .915) APPROX, R.M.S. RESIDUAL= 2.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 28.7 *(TOL** .697) APPROX, R.M.S. RESIDUAL= 2.6E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 0 -2.09 .103 .090 537 57 116 60 0 10** -1 -3.53 .173 .159 785 59 95 66 0 10** -2 -4.97 .298 .280 1241 83 105 84 0 10** -3 -6.40 .465 .439 1887 118 148 129 0 10** -4 -7.84 .642 .609 2611 133 166 157 0 F5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .025 .020 83 12 20 18 .00 .26 0 -3.00 .036 .029 121 18 29 27 .00 .12 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.54156E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .073 .065 211 18 28 28 .00 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.36896E-09, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -5.00 .100 .089 299 23 38 35 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.13645E-06, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .210 .195 558 23 42 40 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.73169E-10, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -7.00 .210 .195 582 27 42 43 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.84035E-11, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -8.00 .265 .246 726 33 52 53 .02 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.12512E-09, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .335 .312 907 42 62 68 .18 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.90197E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .470 .438 1288 59 84 95 .18 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.96803E-13, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.394E-03 *(TOL** .846) APPROX, R.M.S. RESIDUAL= 3.3E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR 1 VALUES, TOO FEW TO GET STATISTICS 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0SUMMARY OVER GROUP 6 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .221 .184 946 109 205 131 .07 56.84 0 -3.00 .242 .196 985 115 212 176 .04 327.62 0 -4.00 .612 .550 2214 136 212 175 .38 468.47 0 -5.00 .742 .666 2651 160 243 217 .38 843.24 0 -6.00 1.069 .975 3484 185 270 247 .20 7793.03 0 -7.00 1.469 1.343 4857 246 357 337 .19 2920.31 0 -8.00 1.791 1.645 5650 269 384 394 .56 6210.43 0 -9.00 2.665 2.467 8014 371 494 494 1.10 10124.15 0 -10.00 3.308 3.052 10356 466 622 651 1.78 35903.22 1SUMMARY OVER ALL GROUPS DESI RUNG LOG10 TIME OVHD FCN JAC MAT NO OF TOL CALLS CALLS FACT STEPS 0 -2.00 .729 .550 2437 255 543 461 0 -3.00 1.187 .873 3817 385 822 870 0 -4.00 2.400 2.045 7064 381 746 735 0 -5.00 3.273 2.784 9439 513 971 1049 0 -6.00 4.535 3.987 12422 522 943 1001 0 -7.00 6.169 5.451 16938 662 1176 1340 0 -8.00 8.341 7.417 21775 809 1415 1796 0 -9.00 11.507 10.379 28052 1023 1663 2046 0 -10.00 15.174 13.728 37154 1306 2015 2784 0 OVERALL SUMMARY 53.315 47.215 139098 5856 10294 12082 0STIFF DETEST PACKAGE OPT= 2, NORMEF= 2, NRMTYP= 3 ON ...IBM RISK 6000... 0GROUP 1 MEBDF 0 A1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .024 .022 64 1 11 42 .00 .10 0 -3.00 .039 .036 96 1 14 65 .00 .04 0 -4.00 .056 .052 126 2 16 89 .00 .03 0 -5.00 .076 .071 166 1 17 113 .00 .04 0 -6.00 .102 .097 203 2 20 144 .00 .07 0 -7.00 .127 .120 246 2 24 175 .01 .04 0 -8.00 .156 .148 301 2 29 219 .01 .04 0 -9.00 .202 .193 367 2 32 269 .00 .04 0 -10.00 .246 .236 454 1 35 338 .00 .02 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 7.228E-02 *(TOL** 1.039) APPROX, R.M.S. RESIDUAL= 1.8E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.75 .035 .032 88 1 13 59 0 10** -5 -3.71 .051 .047 117 1 15 82 0 10** -6 -4.67 .069 .065 152 1 16 105 0 10** -7 -5.64 .093 .087 189 1 18 132 0 10** -8 -6.60 .117 .111 228 2 22 162 0 10** -9 -7.56 .143 .136 276 2 26 199 0 10**-10 -8.52 .180 .172 335 2 30 245 0 10**-11 -9.49 .223 .214 409 1 33 302 0 A2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .067 .048 80 2 15 51 .00 .06 0 -3.00 .110 .086 119 1 18 79 .00 .03 0 -4.00 .173 .143 162 1 21 115 .00 .02 0 -5.00 .233 .196 220 2 25 154 .00 .03 0 -6.00 .328 .282 288 3 30 206 .01 .33 0 -7.00 .395 .345 336 1 32 243 .00 .04 0 -8.00 .482 .423 414 1 37 297 .00 .16 0 -9.00 .606 .535 501 2 44 368 .00 .04 0 -10.00 .780 .694 638 1 52 466 .04 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.92644E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.622E-03 *(TOL** .959) APPROX, R.M.S. RESIDUAL= 1.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 2.930E-02 *(TOL** .951) APPROX, R.M.S. RESIDUAL= 3.8E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.59 .092 .070 103 1 16 67 0 10** -5 -3.64 .151 .123 146 1 19 102 0 10** -6 -4.69 .215 .180 202 1 23 142 0 10** -7 -5.75 .304 .261 270 2 28 192 0 10** -8 -6.80 .381 .332 326 1 31 235 0 10** -9 -7.85 .469 .411 402 1 36 288 0 10**-10 -8.90 .593 .524 492 1 43 360 0 A3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .035 .027 87 2 15 58 .01 .06 0 -3.00 .052 .042 127 1 18 86 .01 .04 0 -4.00 .075 .061 172 2 22 120 .02 .02 0 -5.00 .103 .086 222 1 23 154 .00 .03 0 -6.00 .141 .121 274 1 26 190 .00 .12 0 -7.00 .187 .162 337 1 32 243 .00 .04 0 -8.00 .215 .185 413 1 37 298 .00 .04 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.48212E-05, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .265 .229 500 1 43 367 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.05953E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .349 .303 657 2 50 477 .00 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.47353E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.535E-02 *(TOL** 1.022) APPROX, R.M.S. RESIDUAL= 8.6E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.641E-02 *(TOL** .984) APPROX, R.M.S. RESIDUAL= 2.4E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.60 .045 .036 111 1 16 74 0 10** -5 -3.62 .066 .054 154 1 20 107 0 10** -6 -4.63 .093 .077 203 1 22 141 0 10** -7 -5.65 .128 .109 255 1 24 177 0 10** -8 -6.67 .172 .149 316 1 30 225 0 A4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .100 .074 100 1 17 67 .13 .13 0 -3.00 .166 .132 150 1 21 104 .02 .03 0 -4.00 .242 .201 208 1 25 147 .00 .02 0 -5.00 .336 .288 274 2 28 193 .03 .03 0 -6.00 .454 .398 348 3 32 246 .00 .30 0 -7.00 .550 .484 407 1 37 297 .00 .03 0 -8.00 .683 .604 511 1 44 370 .00 .01 0 -9.00 .866 .767 637 2 55 465 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.05730E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 1.085 .967 802 1 64 589 .05 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.54586E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.973E-02 *(TOL** 1.050) APPROX, R.M.S. RESIDUAL= 3.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .104 *(TOL** 1.082) APPROX, R.M.S. RESIDUAL= 4.4E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.79 .152 .120 139 1 20 96 0 10** -5 -3.71 .220 .181 191 1 23 134 0 10** -6 -4.64 .302 .256 249 1 26 176 0 10** -7 -5.56 .402 .349 315 2 30 222 0 10** -8 -6.48 .501 .440 376 2 34 270 0 10** -9 -7.41 .604 .533 449 1 39 326 0SUMMARY OVER GROUP 1 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .226 .170 331 6 58 218 .13 .13 0 -3.00 .367 .295 492 4 71 334 .02 .04 0 -4.00 .546 .457 668 6 84 471 .02 .03 0 -5.00 .748 .642 882 6 93 614 .03 .04 0 -6.00 1.025 .898 1113 9 108 786 .01 .33 0 -7.00 1.259 1.112 1326 5 125 958 .01 .04 0 -8.00 1.537 1.361 1639 5 147 1184 .01 .16 0 -9.00 1.939 1.724 2005 7 174 1469 .00 .04 0 -10.00 2.460 2.200 2551 5 201 1870 .05 .02 1 0GROUP 2 MEBDF 0 B1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .073 .064 178 1 14 124 .00 .61 0 -3.00 .120 .106 271 1 23 191 .00 .24 0 -4.00 .177 .158 372 2 26 272 .00 .14 0 -5.00 .270 .244 516 1 31 386 .00 .09 0 -6.00 .353 .321 666 1 33 506 .00 .09 0 -7.00 .479 .438 876 2 35 669 .05 .09 0 -8.00 .702 .648 1156 1 49 885 .05 .10 0 -9.00 .812 .746 1493 2 39 1162 .05 .10 0 -10.00 1.070 .982 1974 2 53 1533 .06 .10 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.841E-03 *(TOL** .877) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .394 *(TOL** 1.078) APPROX, R.M.S. RESIDUAL= 1.8E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.41 .092 .081 215 1 17 151 0 10** -4 -3.34 .139 .123 304 1 24 218 0 10** -5 -4.26 .201 .181 409 1 27 302 0 10** -6 -5.19 .286 .259 544 1 31 408 0 10** -7 -6.12 .368 .335 690 1 33 525 0 10** -8 -7.05 .489 .448 888 1 35 678 0 10** -9 -7.97 .696 .642 1148 1 48 879 0 10**-10 -8.90 .801 .736 1459 1 39 1134 0 10**-11 -9.83 1.026 .942 1891 2 50 1469 0 B2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .031 .026 57 1 10 37 .01 .08 0 -3.00 .051 .044 83 2 13 57 .01 .03 0 -4.00 .075 .067 113 1 14 78 .00 .03 0 -5.00 .102 .092 146 1 16 100 .00 .03 0 -6.00 .129 .118 173 2 17 123 .00 .05 0 -7.00 .160 .147 209 2 21 152 .01 .04 0 -8.00 .197 .181 259 1 25 189 .00 .04 0 -9.00 .252 .233 329 2 29 238 .00 .04 0 -10.00 .320 .297 410 1 34 302 .00 .03 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.029E-02 *(TOL** 1.002) APPROX, R.M.S. RESIDUAL= 6.3E-03 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 4.738E-02 *(TOL** 1.019) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.63 .044 .037 73 1 11 49 0 10** -5 -3.61 .066 .058 101 1 13 69 0 10** -6 -4.59 .091 .082 132 1 15 90 0 10** -7 -5.57 .117 .107 161 1 16 113 0 10** -8 -6.55 .146 .134 192 2 19 139 0 10** -9 -7.53 .180 .165 235 1 23 171 0 10**-10 -8.52 .225 .208 295 1 27 214 0 10**-11 -9.50 .286 .265 369 1 31 269 0 B3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .032 .027 59 1 10 38 .01 .15 0 -3.00 .052 .045 87 1 13 60 .01 .03 0 -4.00 .080 .071 122 1 15 84 .00 .04 0 -5.00 .108 .098 152 1 17 109 .00 .03 0 -6.00 .141 .129 189 1 18 134 .01 .03 0 -7.00 .177 .163 232 2 22 166 .00 .04 0 -8.00 .220 .203 287 2 27 206 .01 .04 0 -9.00 .273 .253 354 2 30 260 .00 .05 0 -10.00 .349 .325 451 2 35 332 .00 .04 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.183E-02 *(TOL** 1.007) APPROX, R.M.S. RESIDUAL= 4.9E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 6.252E-02 *(TOL** 1.030) APPROX, R.M.S. RESIDUAL= 1.9E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.71 .046 .040 78 1 12 53 0 10** -5 -3.68 .071 .063 110 1 14 76 0 10** -6 -4.65 .098 .088 141 1 16 100 0 10** -7 -5.62 .129 .118 175 1 17 124 0 10** -8 -6.59 .162 .149 214 1 20 153 0 10** -9 -7.57 .201 .185 263 2 24 188 0 10**-10 -8.54 .248 .230 322 2 28 234 0 10**-11 -9.51 .311 .289 403 2 32 296 0 B4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .044 .036 81 1 14 53 .01 .13 0 -3.00 .074 .065 119 1 15 82 .00 .05 0 -4.00 .112 .100 166 2 20 117 .00 .03 0 -5.00 .157 .143 218 1 22 155 .00 .03 0 -6.00 .207 .191 276 1 25 199 .00 .04 0 -7.00 .259 .240 341 1 29 249 .00 .04 0 -8.00 .337 .314 433 2 33 318 .00 .04 0 -9.00 .434 .406 557 2 39 416 .00 .04 0 -10.00 .565 .532 727 1 41 547 .00 .04 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.031E-02 *(TOL** 1.002) APPROX, R.M.S. RESIDUAL= 6.8E-03 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 7.674E-02 *(TOL** 1.042) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.77 .067 .059 110 1 14 75 0 10** -5 -3.73 .102 .091 153 1 18 107 0 10** -6 -4.69 .143 .130 201 1 21 143 0 10** -7 -5.65 .189 .174 255 1 23 183 0 10** -8 -6.61 .238 .220 315 1 27 229 0 10** -9 -7.56 .303 .282 392 1 31 287 0 10**-10 -8.52 .388 .362 498 2 36 369 0 10**-11 -9.48 .497 .467 639 1 39 479 0 B5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .094 .084 156 1 15 113 .01 .38 0 -3.00 .181 .165 261 1 24 191 .01 .14 0 -4.00 .273 .254 356 1 26 264 .01 .15 0 -5.00 .374 .351 481 2 30 362 .00 .09 0 -6.00 .487 .459 633 1 33 482 .00 .09 0 -7.00 .654 .620 845 1 39 643 .00 .09 0 -8.00 .886 .842 1129 1 46 867 .00 .11 0 -9.00 1.170 1.118 1483 2 47 1145 .00 .10 0 -10.00 1.697 1.623 2141 1 64 1634 .00 .03 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.03238E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.049E-02 *(TOL** 1.003) APPROX, R.M.S. RESIDUAL= 1.1E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .276 *(TOL** 1.062) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.30 .120 .109 187 1 17 136 0 10** -4 -3.24 .203 .187 283 1 24 208 0 10** -5 -4.18 .291 .272 378 1 26 281 0 10** -6 -5.12 .388 .364 499 1 30 376 0 10** -7 -6.06 .497 .469 646 1 33 492 0 10** -8 -7.01 .656 .621 846 1 39 644 0 10** -9 -7.95 .874 .831 1114 1 45 855 0 10**-10 -8.89 1.138 1.087 1443 1 46 1114 0SUMMARY OVER GROUP 2 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .274 .237 531 5 63 365 .01 .61 0 -3.00 .478 .425 821 6 88 581 .01 .24 0 -4.00 .717 .650 1129 7 101 815 .01 .15 0 -5.00 1.011 .929 1513 6 116 1112 .00 .09 0 -6.00 1.317 1.219 1937 6 126 1444 .01 .09 0 -7.00 1.729 1.607 2503 8 146 1879 .05 .09 0 -8.00 2.342 2.187 3264 7 180 2465 .05 .11 0 -9.00 2.941 2.755 4216 10 184 3221 .05 .10 0 -10.00 4.001 3.759 5703 7 227 4348 .06 .10 1 0GROUP 3 MEBDF 0 C1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .028 .022 73 13 13 49 .00 .10 0 -3.00 .047 .039 113 17 17 78 .00 .05 0 -4.00 .070 .060 156 20 20 109 .00 .04 0 -5.00 .099 .087 197 21 21 142 .00 .02 0 -6.00 .133 .118 251 25 25 179 .00 .05 0 -7.00 .159 .141 299 28 28 217 .00 .04 0 -8.00 .198 .176 375 34 34 269 .00 .06 0 -9.00 .249 .222 462 41 41 339 .00 .04 0 -10.00 .318 .284 590 49 49 431 .00 .04 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 6.776E-02 *(TOL** 1.027) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.76 .042 .035 103 16 16 70 0 10** -5 -3.73 .064 .054 144 19 19 100 0 10** -6 -4.71 .090 .079 184 20 20 132 0 10** -7 -5.68 .122 .108 233 23 23 167 0 10** -8 -6.65 .150 .133 282 26 26 203 0 10** -9 -7.63 .183 .163 346 31 31 249 0 10**-10 -8.60 .229 .203 427 38 38 311 0 10**-11 -9.58 .289 .257 535 45 45 391 0 C2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .026 .020 67 12 12 44 .00 .06 0 -3.00 .043 .035 105 15 15 71 .00 .03 0 -4.00 .064 .054 142 17 17 99 .00 .02 0 -5.00 .091 .078 189 19 19 131 .00 .03 0 -6.00 .118 .103 231 21 21 163 .00 .12 0 -7.00 .146 .128 277 25 25 200 .00 .04 0 -8.00 .184 .162 346 31 31 249 .00 .06 0 -9.00 .243 .215 432 37 37 313 .00 .03 0 -10.00 .294 .259 556 47 47 402 .00 .16 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 2.819E-02 *(TOL** .960) APPROX, R.M.S. RESIDUAL= 2.6E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.55 .035 .028 87 13 13 58 0 10** -5 -3.59 .055 .046 126 16 16 87 0 10** -6 -4.64 .081 .069 171 18 18 119 0 10** -7 -5.68 .109 .095 217 20 20 152 0 10** -8 -6.72 .138 .121 264 23 23 189 0 10** -9 -7.76 .175 .154 329 29 29 237 0 10**-10 -8.80 .231 .205 415 35 35 300 0 10**-11 -9.84 .286 .252 536 45 45 388 0 C3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .027 .021 69 12 12 45 .00 .04 0 -3.00 .045 .037 108 14 14 72 .00 .10 0 -4.00 .064 .054 142 18 18 99 .00 .03 0 -5.00 .089 .076 186 20 20 130 .00 .03 0 -6.00 .123 .107 241 24 24 167 .03 .32 0 -7.00 .150 .132 277 26 26 200 .00 .04 0 -8.00 .182 .160 349 30 30 249 .00 .10 0 -9.00 .228 .200 431 38 38 312 .00 .04 0 -10.00 .335 .301 540 43 43 397 .00 .01 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.149E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 7.262E-02 *(TOL** 1.026) APPROX, R.M.S. RESIDUAL= 3.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.79 .041 .034 99 13 13 66 0 10** -5 -3.76 .059 .050 133 17 17 92 0 10** -6 -4.74 .082 .070 174 19 19 121 0 10** -7 -5.71 .113 .098 225 22 22 156 0 10** -8 -6.69 .142 .124 265 25 25 189 0 10** -9 -7.66 .171 .150 324 28 28 232 0 10**-10 -8.63 .211 .185 401 35 35 288 0 10**-11 -9.61 .293 .262 497 41 41 363 0 C4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .021 .017 62 7 7 35 .00 .62 0 -3.00 .032 .026 82 13 13 54 .00 .08 0 -4.00 .051 .042 126 15 15 79 .00 .35 0 -5.00 .071 .060 162 18 18 109 .00 .11 0 -6.00 .090 .077 196 21 21 137 .00 .06 0 -7.00 .121 .105 244 24 24 172 .00 .03 0 -8.00 .153 .134 300 27 27 213 .01 .03 0 -9.00 .196 .173 364 31 31 268 .00 .04 0 -10.00 .248 .219 460 39 39 335 .00 .05 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .562 *(TOL** 1.139) APPROX, R.M.S. RESIDUAL= 2.6E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.42 .026 .020 70 9 9 42 0 10** -4 -3.29 .038 .030 94 13 13 61 0 10** -5 -4.17 .054 .045 132 15 15 84 0 10** -6 -5.05 .072 .061 163 18 18 110 0 10** -7 -5.93 .089 .075 193 20 20 134 0 10** -8 -6.81 .115 .099 234 23 23 165 0 10** -9 -7.69 .143 .124 282 26 26 200 0 10**-10 -8.56 .177 .156 336 29 29 243 0 10**-11 -9.44 .219 .193 406 34 34 297 0 C5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .017 .013 46 9 9 30 .00 .17 0 -3.00 .029 .023 73 11 11 48 .00 .15 0 -4.00 .044 .036 119 14 14 73 .00 .29 0 -5.00 .067 .057 145 17 17 99 .00 .07 0 -6.00 .091 .078 186 20 20 130 .00 .07 0 -7.00 .118 .103 231 21 21 162 .00 .03 0 -8.00 .148 .130 280 24 24 201 .00 .03 0 -9.00 .187 .164 354 30 30 255 .00 .03 0 -10.00 .236 .208 439 36 36 319 .00 .03 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .362 *(TOL** 1.119) APPROX, R.M.S. RESIDUAL= 1.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.29 .020 .016 53 9 9 35 0 10** -4 -3.18 .032 .026 81 11 11 52 0 10** -5 -4.07 .046 .037 120 14 14 74 0 10** -6 -4.97 .066 .056 144 16 16 98 0 10** -7 -5.86 .088 .075 180 19 19 125 0 10** -8 -6.75 .111 .097 219 20 20 154 0 10** -9 -7.65 .137 .120 262 22 22 187 0 10**-10 -8.54 .169 .149 319 27 27 230 0 10**-11 -9.43 .208 .183 390 32 32 282 0SUMMARY OVER GROUP 3 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .119 .094 317 53 53 203 .00 .62 0 -3.00 .196 .160 481 70 70 323 .00 .15 0 -4.00 .293 .245 685 84 84 459 .00 .35 0 -5.00 .417 .358 879 95 95 611 .00 .11 0 -6.00 .555 .482 1105 111 111 776 .03 .32 0 -7.00 .694 .609 1328 124 124 951 .00 .04 0 -8.00 .865 .761 1650 146 146 1181 .01 .10 0 -9.00 1.103 .975 2043 177 177 1487 .00 .04 0 -10.00 1.431 1.271 2585 214 214 1884 .00 .16 1 0GROUP 4 MEBDF 0 D1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .012 .009 61 8 8 20 .83 .83 0 -3.00 .016 .012 85 10 10 29 1.65 1.65 0 -4.00 .025 .020 115 12 12 47 .92 .91 0 -5.00 .036 .029 164 12 12 66 .68 .69 0 -6.00 .049 .042 185 15 15 88 .85 .84 0 -7.00 .065 .056 235 19 19 117 .82 .82 0 -8.00 .086 .074 310 21 21 150 .99 1.04 0 -9.00 .110 .096 342 26 26 188 .61 .61 0 -10.00 .174 .154 487 41 41 299 .36 .42 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.45 *(TOL** 1.043) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.38 *(TOL** 1.038) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.06 .012 .010 62 8 8 20 0 10** -3 -3.02 .016 .013 85 10 10 29 0 10** -4 -3.99 .025 .020 114 11 11 46 0 10** -5 -4.95 .035 .029 161 12 12 65 0 10** -6 -5.91 .048 .041 183 14 14 86 0 10** -7 -6.88 .063 .054 228 18 18 113 0 10** -8 -7.84 .083 .071 297 20 20 144 0 10** -9 -8.80 .105 .092 335 25 25 180 0 10**-10 -9.77 .159 .141 453 37 37 272 0 D2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .021 .015 78 15 15 47 .07 .11 0 -3.00 .032 .025 110 18 18 69 .01 .48 0 -4.00 .047 .038 148 19 19 94 .03 .07 0 -5.00 .068 .056 202 23 23 130 .03 1.07 0 -6.00 .093 .078 281 26 26 177 .03 .66 0 -7.00 .129 .109 354 34 34 232 .01 .63 0 -8.00 .152 .131 409 30 30 273 .02 .44 0 -9.00 .198 .170 520 45 45 344 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.56617E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .241 .208 622 52 52 424 .02 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.65296E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.806E-02 *(TOL** 1.045) APPROX, R.M.S. RESIDUAL= 2.3E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 9.780E-02 *(TOL** .889) APPROX, R.M.S. RESIDUAL= 3.5E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.24 .024 .017 85 15 15 52 0 10** -4 -3.36 .037 .029 123 18 18 78 0 10** -5 -4.49 .057 .047 174 20 20 111 0 10** -6 -5.61 .083 .069 250 24 24 158 0 10** -7 -6.74 .120 .101 334 31 31 217 0 10** -8 -7.86 .149 .128 401 30 30 267 0 D3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .034 .027 91 17 17 60 .00 .10 0 -3.00 .056 .047 137 21 21 94 .00 .06 0 -4.00 .087 .075 195 25 25 137 .00 .04 0 -5.00 .120 .105 254 29 29 181 .00 .04 0 -6.00 .172 .153 349 31 31 240 .00 .23 0 -7.00 .207 .184 417 39 39 295 .00 .03 0 -8.00 .268 .240 519 46 46 371 .00 .02 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.44379E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .338 .304 644 55 55 460 .01 .03 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.27647E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .448 .406 811 67 67 577 .00 .04 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.45151E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 9.280E-02 *(TOL** 1.037) APPROX, R.M.S. RESIDUAL= 3.0E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.86 .053 .044 130 20 20 89 0 10** -5 -3.83 .082 .070 184 24 24 129 0 10** -6 -4.79 .113 .099 241 28 28 171 0 10** -7 -5.76 .159 .142 325 30 30 225 0 10** -8 -6.72 .197 .176 397 36 36 279 0 D4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .017 .015 57 10 10 36 .00 .07 0 -3.00 .025 .023 74 12 12 51 .01 .02 0 -4.00 .034 .031 100 14 14 67 .02 .03 0 -5.00 .047 .043 132 15 15 90 .01 .03 0 -6.00 .065 .060 174 19 19 119 .01 .10 0 -7.00 .078 .073 196 21 21 140 .00 .04 0 -8.00 .095 .089 241 24 24 171 .00 .05 0 -9.00 .115 .108 285 27 27 203 .01 .02 0 -10.00 .148 .139 364 31 31 257 .02 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.38211E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.606E-03 *(TOL** .984) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 4.263E-02 *(TOL** 1.006) APPROX, R.M.S. RESIDUAL= 2.2E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.61 .022 .020 67 11 11 45 0 10** -5 -3.61 .030 .028 89 13 13 60 0 10** -6 -4.60 .042 .039 119 14 14 80 0 10** -7 -5.60 .058 .054 157 17 17 107 0 10** -8 -6.59 .073 .068 187 20 20 131 0 10** -9 -7.59 .088 .082 222 22 22 158 0 10**-10 -8.58 .107 .100 266 25 25 189 0 D5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .013 .011 57 14 14 22 .81 .83 0 -3.00 .017 .014 88 18 18 40 1.64 1.67 0 -4.00 .020 .017 107 16 16 52 3.56 4.05 0 -5.00 .027 .024 136 16 16 71 6.02 6.09 0 -6.00 .037 .033 170 19 19 93 4.19 5.79 0 -7.00 .051 .047 229 19 19 121 5.14 7.60 0 -8.00 .074 .069 319 22 22 176 4.57 7.31 0 -9.00 .101 .094 418 33 33 231 1.75 3.20 0 -10.00 .108 .100 457 33 33 251 2.43 3.85 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.73 *(TOL** .964) APPROX, R.M.S. RESIDUAL= 2.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.44 *(TOL** .931) APPROX, R.M.S. RESIDUAL= 2.4E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.32 .014 .012 66 15 15 27 0 10** -3 -3.39 .018 .015 95 17 17 44 0 10** -4 -4.46 .023 .020 120 16 16 60 0 10** -5 -5.54 .032 .029 154 17 17 82 0 10** -6 -6.61 .046 .042 206 19 19 110 0 10** -7 -7.69 .067 .062 290 21 21 158 0 10** -8 -8.76 .095 .088 394 30 30 217 0 10** -9 -9.83 .107 .099 450 33 33 247 0 D6 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .022 .019 77 14 14 49 .01 .08 0 -3.00 .034 .030 101 16 16 68 .01 .03 0 -4.00 .047 .042 139 19 19 94 .00 .03 0 -5.00 .065 .059 197 19 19 123 .01 .16 0 -6.00 .088 .081 241 26 26 161 .01 .19 0 -7.00 .102 .094 265 28 28 187 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.07584E-03, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -8.00 .130 .120 334 33 33 237 .00 .03 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.85634E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .166 .154 431 36 36 295 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.98353E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .206 .191 521 41 41 361 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.94899E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.684E-02 *(TOL** .842) APPROX, R.M.S. RESIDUAL= 2.8E-01 OVER 5 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.64 .030 .026 92 15 15 61 0 10** -5 -3.83 .045 .040 132 18 18 89 0 10** -6 -5.02 .065 .059 197 19 19 123 0SUMMARY OVER GROUP 4 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .119 .097 421 78 78 234 .83 .83 0 -3.00 .180 .151 595 95 95 351 1.65 1.67 0 -4.00 .260 .224 804 105 105 491 3.56 4.05 0 -5.00 .363 .317 1085 114 114 661 6.02 6.09 0 -6.00 .504 .447 1400 136 136 878 4.19 5.79 0 -7.00 .632 .563 1696 160 160 1092 5.14 7.60 0 -8.00 .805 .723 2132 176 176 1378 4.57 7.31 0 -9.00 1.028 .926 2640 222 222 1721 1.75 3.20 0 -10.00 1.325 1.198 3262 265 265 2169 2.43 3.85 1 0GROUP 5 MEBDF 0 E1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .029 .026 69 11 11 46 .00 .03 0 -3.00 .045 .042 97 12 12 68 .00 .03 0 -4.00 .065 .061 137 15 15 92 .00 .03 0 -5.00 .083 .079 163 16 16 112 .00 .16 0 -6.00 .102 .097 195 20 20 139 .00 .04 0 -7.00 .123 .117 235 22 22 169 .00 .05 0 -8.00 .154 .147 286 24 24 210 .00 .04 0 -9.00 .196 .188 362 27 27 270 .00 .04 0 -10.00 .252 .243 469 32 32 345 .01 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.18104E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.183E-02 *(TOL** .979) APPROX, R.M.S. RESIDUAL= 2.3E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.56 .038 .035 84 11 11 58 0 10** -5 -3.58 .057 .053 120 13 13 81 0 10** -6 -4.60 .076 .072 152 15 15 104 0 10** -7 -5.62 .095 .090 182 18 18 128 0 10** -8 -6.64 .116 .110 220 21 21 158 0 10** -9 -7.67 .144 .137 268 23 23 196 0 10**-10 -8.69 .183 .176 338 26 26 251 0 E2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .027 .021 195 24 24 63 6.70 79.87 0 -3.00 .031 .026 172 22 22 83 7.48 141.90 0 -4.00 .043 .038 213 18 18 111 12.28 131.09 0 -5.00 .067 .060 273 25 25 168 10.69 118.52 0 -6.00 .081 .073 322 26 26 190 12.50 78.16 0 -7.00 .111 .101 417 31 31 256 4.75 72.96 0 -8.00 .141 .129 500 33 33 320 8.06 129.50 0 -9.00 .185 .170 629 44 44 423 5.55 64.72 0 -10.00 .236 .217 786 54 54 545 3.24 76.16 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 12.5 *(TOL** 1.039) APPROX, R.M.S. RESIDUAL= 1.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 129. *(TOL** 1.022) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 0 -2.07 .027 .021 193 23 23 64 0 10** -1 -3.04 .032 .026 173 21 21 84 0 10** -2 -4.02 .044 .038 214 18 18 112 0 10** -3 -5.00 .067 .060 273 25 25 168 0 10** -4 -5.98 .081 .073 320 25 25 189 0 10** -5 -6.96 .110 .100 412 30 30 253 0 10** -6 -7.94 .139 .127 494 32 32 315 0 10** -7 -8.91 .181 .166 617 43 43 414 0 10** -8 -9.89 .231 .212 769 52 52 531 0 E3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .019 .017 71 11 11 41 .04 .55 0 -3.00 .026 .024 98 11 11 54 .12 .51 0 -4.00 .044 .042 143 15 15 85 .03 .54 0 -5.00 .062 .059 193 20 20 122 .03 .39 0 -6.00 .078 .075 221 21 21 148 .02 .13 0 -7.00 .107 .103 289 25 25 191 .02 .11 0 -8.00 .132 .127 343 29 29 236 .03 .14 0 -9.00 .165 .159 418 36 36 288 .02 .05 0 -10.00 .205 .198 507 39 39 356 .04 .10 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 5.529E-02 *(TOL** 1.042) APPROX, R.M.S. RESIDUAL= 2.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.23 *(TOL** 1.132) APPROX, R.M.S. RESIDUAL= 1.6E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.73 .024 .022 90 11 11 50 0 10** -4 -3.61 .037 .035 125 13 13 73 0 10** -5 -4.50 .053 .050 167 17 17 103 0 10** -6 -5.38 .068 .065 203 20 20 131 0 10** -7 -6.26 .086 .082 239 22 22 159 0 10** -8 -7.15 .111 .106 297 25 25 197 0 10** -9 -8.03 .133 .128 345 29 29 237 0 10**-10 -8.92 .162 .156 411 35 35 283 0 10**-11 -9.80 .197 .190 489 38 38 342 0 E4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .042 .033 123 18 18 66 .02 3.67 0 -3.00 .064 .052 170 24 24 99 .00 4.47 0 -4.00 .106 .091 233 26 26 152 .00 2.11 0 -5.00 .147 .128 323 30 30 212 .00 1.64 0 -6.00 .219 .194 447 39 39 298 .00 4.72 0 -7.00 .277 .247 549 45 45 371 .00 2.45 0 -8.00 .346 .311 658 53 53 463 .00 .53 0 -9.00 .468 .423 848 67 67 604 .00 1.38 0 -10.00 .571 .517 1054 78 78 753 .01 .95 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.397E-02 *(TOL** 1.019) APPROX, R.M.S. RESIDUAL= 7.5E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 6.11 *(TOL** 1.082) APPROX, R.M.S. RESIDUAL= 2.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.58 .055 .044 150 21 21 84 0 10** -3 -3.50 .085 .071 201 24 24 125 0 10** -4 -4.42 .123 .107 271 27 27 177 0 10** -5 -5.35 .172 .151 366 33 33 241 0 10** -6 -6.27 .235 .209 474 40 40 317 0 10** -7 -7.20 .291 .260 570 46 46 389 0 10** -8 -8.12 .361 .324 680 54 54 480 0 10** -9 -9.05 .472 .427 857 67 67 610 0 10**-10 -9.97 .568 .515 1047 77 77 748 0 E5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .026 .022 56 11 11 32 .00 .15 0 -3.00 .028 .023 72 14 14 46 .00 .10 0 -4.00 .040 .033 108 16 16 63 .00 .47 0 -5.00 .051 .043 128 17 17 80 .00 .52 0 -6.00 .066 .057 154 19 19 102 .04 .11 0 -7.00 .082 .072 175 20 20 120 .44 .10 0 -8.00 .115 .102 245 26 26 164 4.38 .65 0 -9.00 .152 .134 329 33 33 215 43.82 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.19509E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .197 .177 382 35 35 269 438.18 .67 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.10086E+01, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.717E-05 *(TOL** .393) APPROX, R.M.S. RESIDUAL= 6.1E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .126 *(TOL** .951) APPROX, R.M.S. RESIDUAL= 3.3E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.21 .026 .022 59 11 11 34 0 10** -4 -3.26 .031 .026 81 14 14 50 0 10** -5 -4.31 .043 .036 114 16 16 68 0 10** -6 -5.36 .056 .048 137 17 17 88 0 10** -7 -6.42 .073 .063 162 19 19 109 0 10** -8 -7.47 .097 .086 207 22 22 140 0SUMMARY OVER GROUP 5 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .143 .120 514 75 75 248 6.70 79.87 0 -3.00 .194 .166 609 83 83 350 7.48 141.90 0 -4.00 .298 .265 834 90 90 503 12.28 131.09 0 -5.00 .410 .369 1080 108 108 694 10.69 118.52 0 -6.00 .546 .495 1339 125 125 877 12.50 78.16 0 -7.00 .700 .640 1665 143 143 1107 4.75 72.96 0 -8.00 .888 .816 2032 165 165 1393 8.06 129.50 0 -9.00 1.166 1.074 2586 207 207 1800 43.82 64.72 0 -10.00 1.461 1.352 3198 238 238 2268 438.18 76.16 1 0GROUP 6 MEBDF 0 F1 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .044 .038 120 22 22 73 .00 .20 0 -3.00 .077 .068 217 31 31 123 .01 .12 0 -4.00 .131 .120 306 37 37 179 .01 .10 0 -5.00 .181 .168 414 41 41 235 .00 .17 0 -6.00 .231 .215 546 47 47 324 .01 .27 0 -7.00 .291 .271 696 54 54 396 .01 .40 0 -8.00 .327 .306 750 57 57 445 .00 .23 0 -9.00 .452 .424 1030 71 71 618 .00 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.59722E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .526 .495 1155 79 79 710 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.06723E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .101 *(TOL** .942) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.12 .048 .042 132 23 23 79 0 10** -4 -3.19 .087 .078 233 32 32 133 0 10** -5 -4.25 .143 .132 332 37 37 192 0 10** -6 -5.31 .196 .182 454 42 42 262 0 10** -7 -6.37 .253 .236 601 49 49 350 0 10** -8 -7.43 .306 .286 719 55 55 417 0 F2 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .011 .009 45 9 9 30 .00 .03 0 -3.00 .017 .014 71 11 11 46 .05 .08 0 -4.00 .026 .022 93 13 13 65 .00 .02 0 -5.00 .034 .029 131 14 14 85 .01 .03 0 -6.00 .046 .040 160 16 16 113 .02 .03 0 -7.00 .056 .048 193 20 20 136 .01 .03 0 -8.00 .085 .076 234 23 23 167 .01 .04 0 -9.00 .094 .083 281 25 25 201 .01 .04 0 -10.00 .109 .096 349 29 29 256 .01 .03 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.017E-02 *(TOL** 1.030) APPROX, R.M.S. RESIDUAL= 2.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 4.122E-02 *(TOL** 1.010) APPROX, R.M.S. RESIDUAL= 1.3E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.59 .015 .012 60 10 10 39 0 10** -5 -3.58 .022 .019 83 12 12 56 0 10** -6 -4.57 .031 .026 114 13 13 76 0 10** -7 -5.56 .041 .035 147 15 15 100 0 10** -8 -6.55 .051 .045 178 18 18 125 0 10** -9 -7.54 .072 .063 215 21 21 152 0 10**-10 -8.53 .090 .080 258 24 24 184 0 10**-11 -9.52 .102 .090 316 27 27 229 0 F3 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .045 .036 95 16 16 63 .00 .08 0 -3.00 .071 .059 137 20 20 94 .00 .05 0 -4.00 .107 .091 195 25 25 137 .00 .03 0 -5.00 .148 .128 257 26 26 178 .01 .03 0 -6.00 .209 .184 332 30 30 236 .00 .13 0 -7.00 .259 .228 400 37 37 288 .00 .04 0 -8.00 .312 .276 483 41 41 347 .00 .05 0 -9.00 .386 .342 586 51 51 427 .00 .01 0 -10.00 .497 .440 754 62 62 549 .03 .02 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 7.407E-03 *(TOL** .970) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 9.240E-02 *(TOL** 1.068) APPROX, R.M.S. RESIDUAL= 2.6E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.78 .065 .054 127 19 19 87 0 10** -5 -3.71 .097 .081 178 23 23 124 0 10** -6 -4.65 .134 .115 235 25 25 163 0 10** -7 -5.59 .184 .160 300 28 28 211 0 10** -8 -6.52 .235 .207 367 33 33 263 0 10** -9 -7.46 .283 .250 438 38 38 315 0 10**-10 -8.40 .341 .302 523 44 44 378 0 10**-11 -9.33 .423 .374 641 54 54 467 0 F4 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .015 .013 64 17 17 22 .12 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.14755E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -3.00 .013 .011 55 12 12 27 .42 .15 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.15528E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -4.00 .132 .123 582 54 54 226 .10 5767.61 0 -5.00 .164 .153 698 59 59 291 .17 37164.89 0 -6.00 .224 .212 879 59 59 391 .65 67185.70 0 -7.00 .369 .350 1220 110 110 616 .65 44995.14 0 -8.00 .392 .375 1351 83 83 686 .38 32151.99 0 -9.00 .482 .462 1582 95 95 823 1.31 19608.13 0 -10.00 .673 .646 2029 140 140 1137 1.98 34333.00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.90570E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 6.418E-02 *(TOL** .865) APPROX, R.M.S. RESIDUAL= 2.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.021E+04 *(TOL** .934) APPROX, R.M.S. RESIDUAL= 3.2E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 0 -4.29 .141 .132 615 55 55 244 0 10** -1 -5.36 .186 .175 763 59 59 327 0 10** -2 -6.43 .286 .271 1025 80 80 487 0 10** -3 -7.50 .381 .362 1285 96 96 651 0 10** -4 -8.57 .444 .424 1482 89 89 764 0 F5 (SCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .033 .028 91 17 17 58 .00 .16 0 -3.00 .048 .042 128 21 21 82 .00 .04 0 -4.00 .068 .061 169 25 25 114 .00 .03 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.57545E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -5.00 .101 .092 232 30 30 159 .07 .04 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.85095E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 -6.00 .134 .123 313 35 35 207 .06 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.73181E-10, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -7.00 .183 .169 401 43 43 272 2.83 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.84011E-11, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -8.00 .261 .241 575 62 62 376 5.20 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 7.12570E-09, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 1.048 .896 3362 516 516 1645 27.65 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.55755E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 7.120 5.859 26029 4390 4390 11245 15.19 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.87013E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 3.034E-04 *(TOL** .498) APPROX, R.M.S. RESIDUAL= 4.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR 2 VALUES, TOO FEW TO GET STATISTICS 0 NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM NORMALIZED STATISTICS 0SUMMARY OVER GROUP 6 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .148 .125 415 81 81 246 .12 .20 0 -3.00 .226 .195 608 95 95 372 .42 .15 0 -4.00 .464 .416 1345 154 154 721 .10 5767.61 0 -5.00 .628 .569 1732 170 170 948 .17 37164.89 0 -6.00 .844 .773 2230 187 187 1271 .65 67185.70 0 -7.00 1.158 1.067 2910 264 264 1708 2.83 44995.14 0 -8.00 1.377 1.273 3393 266 266 2021 5.20 32151.99 0 -9.00 2.462 2.207 6841 758 758 3714 27.65 19608.13 0 -10.00 8.925 7.536 30316 4700 4700 13897 15.19 34333.00 1SUMMARY OVER ALL GROUPS MEBDF LOG10 TIME OVHD FCN JAC MAT NO OF TOL CALLS CALLS FACT STEPS 0 -2.00 1.029 .842 2529 298 408 1514 0 -3.00 1.641 1.392 3606 353 502 2311 0 -4.00 2.578 2.257 5465 446 618 3460 0 -5.00 3.577 3.184 7171 499 696 4640 0 -6.00 4.791 4.314 9124 574 793 6032 0 -7.00 6.172 5.597 11428 704 962 7695 0 -8.00 7.813 7.120 14110 765 1080 9622 0 -9.00 10.638 9.661 20331 1381 1722 13412 0 -10.00 19.603 17.317 47615 5429 5845 26436 0 OVERALL SUMMARY 57.843 51.682 121379 10449 12626 75122 The above results are obtained with Mebdf.f det.f and tempdet.f which are listed below. The first code to be listed is mebdf.f SUBROUTINE DRIVER(N,T0,HO,Y0,TOUT,TEND,MF,INDEX,LOUT,LWORK, + WORK,LIWORK,IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) c c *********************************************************************** c *********************************************************************** c Written by J.R. Cash, c Department of Mathematics, c Imperial College, c London SW7 2AZ c England c c j.cash@ic.ac.uk c c The author would be pleased to receive any comments c good or bad!! c *********************************************************************** c *********************************************************************** c c c IMPLICIT DOUBLE PRECISION(A-H,O-Z) C >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> C THIS SUBROUTINE IS FOR THE PURPOSE * C OF SPLITTING UP THE WORK ARRAYS WORK AND IWORK * C FOR USE INSIDE THE INTEGRATOR STIFF * C <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< C .. SCALAR ARGUMENTS .. INTEGER INDEX,LIWORK,LOUT,LWORK,MF,N,MAXDER,ITOL C .. C .. ARRAY ARGUMENTS .. DIMENSION WORK(LWORK),Y0(N),RTOL(1),ATOL(1) INTEGER IWORK(LIWORK), MBND(4) C .. C .. LOCAL SCALARS .. INTEGER I1,I2,I3,I4,I5,I6,I7,I8,I9 C COMMON BLOCKS C .. C .. EXTERNAL SUBROUTINES .. EXTERNAL OVDRIV C .. C .. SAVE STATEMENT .. SAVE I1,I2,I3,I4,I5,I6,I7,I8,I9 C .. IF (INDEX.EQ.1) THEN IF (N.LE.0) THEN WRITE (LOUT,9020) N INDEX = -4 ELSE IF(MF.LT.23) MBND(4)=N I1 = N*12+1 I2 = I1 + N*12 I3 = I2 + N*2 I4 = I3 + N I5 = I4 + N I6 = I5 + N I7 = I6 + N I8 = I7 + N I9 = I8 + MBND(4)*N IF (LWORK.LT.(I9+MBND(4)*N-1)) THEN INDEX = -10 WRITE (LOUT,9000) I9 + MBND(4)*N-1 ENDIF IF (LIWORK.LT.N) THEN INDEX = -11 WRITE (LOUT,9010) N END IF END IF IF (INDEX.LT.0) RETURN END IF c c THE DIMENSION OF THE REAL WORKSPACE WORK HAS TO BE AT LEAST c (31 + 2*MBND(4))*N WHILE THE DIMENSION OF THE INTEGER c WORKSPACE HAS TO BE AT LEAST N. c CALL OVDRIV(N,T0,HO,Y0,TOUT,TEND,MF,INDEX,LOUT,WORK,WORK(I1), + WORK(I2),WORK(I3),WORK(I4),WORK(I5),WORK(I6),WORK(I7), + WORK(I8),WORK(I9),IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) C >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> C WORK() HOUSES THE FOLLOWING ARRAYS C C Y(N,12) , YHOLD(N,12) , YNHOLD(N,2) , YMAX(N) C ERRORS(N) , SAVE1(N) , SAVE2(N) , ARH(N) , PW(MBND(4)*N) C PWCOPY(MBND(4)*N) C IF THE SPARSE OPTION IS NOT BEING USED THEN MBND(4)=N. C <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< RETURN 9000 FORMAT (/,/,' ***** ERROR ***** INTEGRATION HALTED IN DRIVER',/,/, + ' >>> REAL WORKSPACE IS INSUFFICIENT <<< ',/, + ' WORKSPACE MUST BE AT LEAST ',I8,' ELEMENTS LONG') 9010 FORMAT (/,/,' ***** ERROR ***** INTEGRATION HALTED IN DRIVER',/,/, + ' >>> INTEGER WORKSPACE IS INSUFFICIENT <<< ',/, + ' WORKSPACE MUST BE AT LEAST ',I6,' ELEMENTS LONG') 9020 FORMAT (/,/,' ***** ERROR ***** INTEGRATION HALTED IN DRIVER',/,/, + ' >>> ILLEGAL VALUE FOR NUMBER OF EQUATIONS <<< ',/, + ' WITH N = ',I6) END SUBROUTINE OVDRIV(N,T0,HO,Y0,TOUT,TEND,MF,INDEX,LOUT,Y,YHOLD, + YNHOLD,YMAX,ERRORS,SAVE1,SAVE2,ARH,PW,PWCOPY, + IPIV,MBND,MAXDER,ITOL,RTOL,ATOL) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C THIS IS THE JUNE 1996 VERSION OF OVDRIV, A PACKAGE FOR C THE SOLUTION OF THE INITIAL VALUE PROBLEM FOR SYSTEMS OF C ORDINARY DIFFERENTIAL EQUATIONS C DY/DT = F(Y,T), Y=(Y(1),Y(2),Y(3), . . . ,Y(N)) C SUBROUTINE OVDRIV IS A DRIVER ROUTINE FOR THIS PACKAGE C C REFERENCES C C 1. J. R. CASH, THE INTEGRATION OF STIFF INITIAL VALUE PROBLEMS C IN O.D.E.S USING MODIFIED EXTENDED BACKWARD DIFFERENTIATION C FORMULAE, COMP. AND MATHS. WITH APPLICS., 9, 645-657, (1983). C 2. J.R. CASH AND S. CONSIDINE, AN MEBDF CODE FOR STIFF C INITIAL VALUE PROBLEMS, ACM TRANS MATH SOFTWARE, 142-158, C (1992). C 3. J.R. CASH, STABLE RECURSIONS WITH APPLICATIONS TO THE C NUMERICAL SOLUTION OF STIFF SYSTEMS, ACADEMIC PRESS,(1979). C 4. A.C. HINDMARSH, ODEPACK, A SYSTEMISED COLLECTION OF ODE C SOLVERS, in SCIENTIFIC COMPUTING, R.S. STEPLEMAN et. al. C (eds) North-Holland, AMSTERDAM, pp55-64 , (1983). C 5. E. HAIRER AND G. WANNER, SOLVING ORDINARY DIFFERENTIAL C EQUATIONS II, STIFF AND DIFFERENTIAL-ALGEBRAIC EQUATIONS. C C ---------------------------------------------------------------- C OVDRIV IS TO BE CALLED ONCE FOR EACH OUTPUT VALUE OF T, AND C IN TURN MAKES REPEATED CALLS TO THE CORE INTEGRATOR STIFF. C C THE INPUT PARAMETERS ARE .. C N = THE NUMBER OF FIRST ORDER DIFFERENTIAL EQUATIONS. C T0 = THE INITIAL VALUE OF T, THE INDEPENDENT VARIABLE C (USED ONLY ON THE FIRST CALL) C HO = THE NEXT STEP SIZE IN T (USED FOR INPUT ONLY ON THE C FIRST CALL) C Y0 = A VECTOR OF LENGTH N CONTAINING THE INITIAL VALUES OF Y C (USED FOR INPUT ONLY ON FIRST CALL) C TOUT = THE VALUE OF T AT WHICH OUTPUT IS DESIRED NEXT. C INTEGRATION WILL NORMALLY GO SLIGHTLY BEYOND TOUT C AND THE PACKAGE WILL INTERPOLATE TO T = TOUT C TEND = END OF THE RANGE OF INTEGRATION. C MF = THE METHOD FLAG. AT PRESENT MF=21,22,23 OR 24 IS C ALLOWED. THESE ARE EXTENDED BACKWARD DIFFERENTIATION C FORMULAE USING THE CHORD METHOD WITH ANALYTIC OR NUMERICAL C JACOBIAN FOR MF=21,22 RESPECTIVELY. MF=23/24 ARE THE SAME C AS FOR 21/22 BUT THE JACOBIAN IS NOW BANDED. THE USER C NEEDS TO SPECIFY SUBROUTINE PDERV IF MF=21 OR 23. C INDEX = THE INTEGER USED ON INPUT TO INDICATE THE TYPE OF CALL. C 1 THIS IS THE FIRST CALL FOR THE PROBLEM. C 0 THIS IS NOT THE FIRST CALL FOR THIS PROBLEM C AND INTEGRATION IS TO CONTINUE. C -1 THIS IS NOT THE FIRST CALL FOR THE PROBLEM, C AND THE USER HAS RESET N, RTOL, ATOL, AND/OR MF. C 2 SAME AS 0 EXCEPT THAT TOUT HAS TO BE HIT C EXACTLY (NO INTERPOLATION IS DONE). C ASSUMES TOUT .GE. THE CURRENT T. C 3 SAME AS 0 EXCEPT CONTROL RETURNS TO CALLING C PROGRAM AFTER ONE STEP. TOUT IS IGNORED, UNTIL THE C INTEGRATION REACHES TOUT OR BEYOND. IF IT PASSES TOUT C THE PROGRAM INTERPOLATES THE SOLUTION VALUES AND C RETURNS THE SOLUTION VALUE AT TOUT. C SINCE THE NORMAL OUTPUT VALUE OF INDEX IS 0, C IT NEED NOT BE RESET FOR NORMAL CONTINUATION. C LOUT = THE LOGICAL OUTPUT CHANNEL FOR MESSAGE PASSING. C MBND = AN ARRAY OF DIMENSION 4 FOR USE WHEN THE JACOBIAN C MATRIX IS BANDED. IF THE JACOBIAN HAS ML DIAGONALS C BELOW THE MAIN DIAGONAL AND MU DIAGONALS ABOVE THE C MAIN DIAGONAL THEN: C MBND(1) = ML C MBND(2) = MU C MBND(3) = MU + ML + 1 C MBND(4) = 2*ML + MU + 1 C MAXDER= THE MAXIMUM ORDER IS MAXDER + 1. C THE VALUE OF MAXDER CANNOT EXCEED 7. THIS IS THE C VALUE RECOMMENDED UNLESS IT IS BELIEVED THAT THERE C ARE SEVERE STABILITY PROBLEMS IN WHICH CASE MAXDER=3 C OR 4 SHOULD BE TRIED. C ITOL = AN INDICATOR OF THE TYPE OF ERROR CONTROL. SEE C DESCRIPTION BELOW UNDER ATOL. C RTOL = A RELATIVE ERROR TOLERANCE PARAMETER. CAN BE EITHER A C SCALAR OR AN ARRAY OF LENGTH N. SEE DESCRIPTION C BELOW UNDER ATOL. C ATOL = THE ABSOLUTE ERROR BOUND. C THE INPUT PARAMETERS ITOL, RTOL AND ATOL DETERMINE C THE ERROR CONTROL PERFORMED BY THE SOLVER. THE C SOLVER WILL CONTROL THE VECTOR e = (e(i)) OF ESTIMATED C LOCAL ERRORS IN y ACCORDING TO AN INEQUALITY OF THE FORM C RMS-NORM OF (e(i)/ewt(i)) .LE. 1 C THE ROOT MEAN SQUARE NORM IS C RMS-NORM(V) = SQRT((SUM v(i)**2)/N). HERE C ewt = (ewt(i)) IS A VECTOR OF WEIGHTS WHICH MUST C ALWAYS BE POSITIVE, AND THE VALUES OF RTOL AND ATOL C SHOULD BE NON-NEGATIVE. IF ITOL = 1 THEN SINGLE STEP ERROR C ESTIMATES DIVIDED BY YMAX(I) WILL BE KEPT LESS THAN 1 C IN ROOT-MEAN-SQUARE NORM. THE VECTOR YMAX OF WEIGHTS IS C COMPUTED IN OVDRIV. INITIALLY YMAX(I) IS SET AS C THE MAXIMUM OF 1 AND ABS(Y(I)). THEREAFTER YMAX(I) IS C THE LARGEST VALUE OF ABS(Y(I)) SEEN SO FAR, OR THE C INITIAL VALUE YMAX(I) IF THAT IS LARGER. C IF ITOL = 1 THE USER NEEDS TO SET ATOL = RTOL = C THE PRECISION REQUIRED. THEN C ewt(i) = RTOL(1)*YMAX(i) C IF ITOL IS GREATER THAN 1 THEN C ewt(i) = rtol(i)*abs(y(i)) + atol(i) C THE FOLLOWING TABLE GIVES THE TYPES (SCALAR/ARRAY) C OF RTOL AND ATOL, AND THE CORRESPONDING FORM OF ewt(i) C ITOL RTOL ATOL ewt(i) C 2 SCALAR SCALAR rtol*abs(y(i)) + atol C 3 SCALAR ARRAY rtol*abs(y(i)) + atol(i) C 4 ARRAY SCALAR rtol(i)*abs(y(i))+ atol C 5 ARRAY ARRAY rtol(i)*abs(y(i))+ atol(i) C IF EITHER OF THESE PARAMETERS IS A SCALAR, IT NEED C NOT BE DIMENSIONED IN THE USER'S CALLING PROGRAM. C C AFTER THE INITIAL CALL, IF A NORMAL RETURN OCCURED AND A NORMAL C CONTINUATION IS DESIRED, SIMPLY RESET TOUT AND CALL AGAIN. C ALL OTHER PARAMETERS WILL BE READY FOR THE NEXT CALL. C A CHANGE OF PARAMETERS WITH INDEX = -1 CAN BE MADE AFTER C EITHER A SUCCESSFUL OR AN UNSUCCESSFUL RETURN. C C THE OUTPUT PARAMETERS ARE.. C T0 = THE VALUE OF T WHICH RELATES TO THE CURRENT SOLUTION C POINT Y0() C HO = THE STEPSIZE H USED LAST, WHETHER SUCCESSFULLY OR NOT. C Y0 = THE COMPUTED VALUES OF Y AT T = TOUT C TOUT = UNCHANGED FROM ITS INPUT VALUE. C INDEX = INTEGER USED ON OUTPUT TO INDICATE RESULTS, WITH C THE FOLLOWING VALUES AND MEANINGS.. C C 0 INTEGRATION WAS COMPLETED TO TOUT OR BEYOND. C C -1 THE INTEGRATION WAS HALTED AFTER FAILING TO PASS THE C ERROR TEST EVEN AFTER REDUCING H BY A FACTOR OF C 1.E10 FROM ITS INITIAL VALUE. C C -2 AFTER SOME INITIAL SUCCESS, THE INTEGRATION WAS C HALTED EITHER BY REPEATED ERROR TEST FAILURES OR BY C A TEST ON RTOL/ATOL. TOO MUCH ACCURACY HAS BEEN REQUESTED. C C -3 THE INTEGRATION WAS HALTED AFTER FAILING TO ACHIEVE C CORRECTOR CONVERGENCE EVEN AFTER REDUCING H BY A C FACTOR OF 1.E10 FROM ITS INITIAL VALUE. C C -4 IMMEDIATE HALT BECAUSE OF ILLEGAL VALUES OF INPUT C PARAMETERS. SEE PRINTED MESSAGE. C C -5 INDEX WAS -1 ON INPUT, BUT THE DESIRED CHANGES OF C PARAMETERS WERE NOT IMPLEMENTED BECAUSE TOUT C WAS NOT BEYOND T. INTERPOLATION AT T = TOUT WAS C PERFORMED AS ON A NORMAL RETURN. TO TRY AGAIN, C SIMPLY CALL AGAIN WITH INDEX = -1 AND A NEW TOUT. C C -10 INSUFFICIENT REAL WORKSPACE FOR THE INTEGRATION C C -11 INSUFFICIENT INTEGER WORKSPACE FOR THE INTEGRATION C C C IN ADDITION TO OVDRIVE, THE FOLLOWING ROUTINES ARE PROVIDED C IN THE PACKAGE.. C C INTERP( - ) INTERPOLATES TO GET THE OUTPUT VALUES C AT T=TOUT FROM THE DATA IN THE Y ARRAY. C STIFF( - ) IS THE CORE INTEGRATOR ROUTINE. IT PERFORMS A C SINGLE STEP AND ASSOCIATED ERROR CONTROL. C COSET( - ) SETS COEFFICIENTS FOR BACKWARD DIFFERENTIATION C SCHEMES FOR USE IN THE CORE INTEGRATOR. C PSET( - ) COMPUTES AND PROCESSES THE JACOBIAN C MATRIX J = DF/DY C DEC( - ) PERFORMS AN LU DECOMPOSITION ON A MATRIX. C SOL( - ) SOLVES LINEAR SYSTEMS A*X = B AFTER DEC C HAS BEEN CALLED FOR THE MATRIX A C DGBFA ( - ) FACTORS A DOUBLE PRECISION BAND MATRIX BY C ELIMINATION. C DGBSL ( - ) SOLVES A BANDED LINEAR SYSTEM A*x=b C C ALSO SUPPLIED ARE THE BLAS ROUTINES C C daxpy, dscal, idamax, ddot. C C C THE FOLLOWING ROUTINES ARE TO BE SUPPLIED BY THE USER.. C C F(N,T,Y,YDOT) COMPUTES THE FUNCTION YDOT = F(Y,T), THE C RIGHT HAND SIDE OF THE O.D.E. C HERE Y AND YDOT ARE VECTORS OF LENGTH N C PDERV(T,Y,PD,N,MEBAND) COMPUTES THE N*N JACOBIAN MATRIX OF C PARTIAL DERIVATIVES AND STORES IT IN PD C AS AN N BY N ARRAY IF THE JACOBIAN IS FULL. C IF THE JACOBIAN IS BANDED THE ARRAY PD IS OF C SIZE MBND(4)*N. C IF THE JACOBIAN IS FULL PD(I,J) IS TO BE SET C TO THE PARTIAL DERIVATIVE OF YDOT(I) WITH C RESPECT TO Y(J). IF THE JACOBIAN IS BANDED C WITH mu DIAGONALS ABOVE THE MAIN DIAGONAL C THE PARTIAL DERIVATIVE DF(I)/DY(J) SHOULD BE C PUT IN PD(i-j+mu+1,j). PDERV IS CALLED ONLY IF C MITER = 1 OR 3. OTHERWISE A DUMMY ROUTINE CAN C BE SUBSTITUTED. C C THE DIMENSION OF PW MUST BE AT LEAST N**2 FOR A FULL JACOBIAN C AND MBND(4)*N FOR A BANDED JACOBIAN (MF=23 OR 24) . THE DIMENSIONS C OF YMAX,ERROR,SAVE1,SAVE2,IPIV AND THE FIRST DIMENSION C OF Y SHOULD ALL BE AT LEAST N. C C .LINEAR. THE USER SHOULD ALSO SPECIFY A LOGICAL C VARIABLE LINEAR BEING TRUE OR FALSE DEPENDING C ON WHETHER THE PROBLEM IS LINEAR OR NOT. C THE DECLARATION SHOULD APPEAR AS C COMMON/TYPE/LINEAR C LOGICAL LINEAR C C COMMON BLOCKS OF INTEREST TO THE USER.. C C /MEBDF2/ C C HUSED LAST STEPSIZE SUCCESSFULLY USED BY THE INTEGRATOR C NQUSED LAST ORDER SUCCESSFULLY USED C NSTEP NUMBER OF STEPS TAKEN SO FAR C NFE NUMBER OF FUNCTION EVALUATIONS USED SO FAR C NJE NUMBER OF JACOBIAN EVALUATIONS USED SO FAR C NDEC NUMBER OF LU DECOMPOSITIONS USED SO FAR C NBSOL NUMBER OF 'BACKSOLVES' USED SO FAR C NPSET NUMBER OF TIMES A NEW COEFFICIENT MATRIX HAS BEEN C FORMED SO FAR C NCOSET NUMBER OF TIMES THE ORDER OF THE METHOD USED HAS BEEN C CHANGED SO FAR C MAXORD THE MAXIMUM ORDER USED SO FAR IN THE INTEGRATION c MAXSTEP THE MAXIMUM ALLOWED NUMBER OF STEPS SET BY THE USER C C C START OF PROGRAM PROPER C C .. SCALAR ARGUMENTS .. INTEGER INDEX,LOUT,MF,N,MAXDER,ITOL C .. C .. ARRAY ARGUMENTS .. DIMENSION ARH(N),ERRORS(N),PW(*),PWCOPY(*),SAVE1(N),SAVE2(N) +,Y(N,12),Y0(N),YHOLD(N,12),YMAX(N),YNHOLD(N,2),RTOL(1),ATOL(1) INTEGER IPIV(N), MBND(4) C .. C .. LOCAL SCALARS .. INTEGER I,KGO,NHCUT C .. C .. EXTERNAL SUBROUTINES .. EXTERNAL INTERP,STIFF C .. C .. INTRINSIC FUNCTIONS .. INTRINSIC DABS,DMAX1 C .. C .. COMMON BLOCKS .. COMMON /FAILS/NFAIL1,NFAIL2,NT COMMON /MACHNE/UROUND,EPSJAC COMMON /MEBDF1/T,H,HMIN,HMAX,EPSCPY,NCOPY,MFCOPY,KFLAG,JSTART, + TOUTCP COMMON /MEBDF2/HUSED,NQUSED,NSTEP,NFE,NJE,NDEC,NBSOL,NPSET,NCOSET, + MAXORD,MAXSTEP COMMON /MEBDF3/IWEVAL,NEWPAR,NRENEW,JSINUP,JSNOLD,IDOUB,JCHANG,L, + NQ COMMON /MEBDF4/M1,M2,MEQC1,MEQC2,MQ1TMP,MQ2TMP,ISAMP COMMON /MEBDF6/CRATE1,CRATE2,TCRAT1,TCRAT2,AVNEW2,AVOLD2,AVNEWJ, + AVOLDJ COMMON /MEBDFL/CFAIL,JNEWIM,SAMPLE INTEGER IDOUB,ISAMP,IWEVAL,JCHANG,JSINUP,JSNOLD,JSTART,KFLAG,L,M1, + M2,MAXORD,MEQC1,MEQC2,MFCOPY,MQ1TMP,MQ2TMP,NBSOL,NCOPY, + NCOSET,NDEC,NEWPAR,NFAIL1,NFAIL2,NFE,NJE,NPSET,NQ,NQUSED, + NRENEW,NSTEP,NT LOGICAL CFAIL,JNEWIM,SAMPLE C .. IF (INDEX.EQ.0) THEN C I.E. NORMAL CONTINUATION OF INTEGRATION T0=T HMAX = DABS(TEND-T0)*10.0D+0 IF ((T-TOUT)*H.GE.0.0D+0) THEN C HAVE OVERSHOT THE OUTPUT POINT, SO INTERPOLATE CALL INTERP(N,JSTART,H,T,Y,TOUT,Y0) INDEX = KFLAG T0 = TOUT HO = H RETURN END IF ELSE IF (INDEX.EQ.2) THEN C I.E. CONTINUING INTEGRATION BUT WISH TO HIT TOUT T0 = T HMAX = DABS(TEND-T0)*10.0D+0 IF (((T+H)-TOUT)*H.GT.0.0D+0) THEN C WE HAVE ALREADY OVERSHOT THE OUTPUT POINT OR WE WILL C DO SO ON THE NEXT STEP IF (((T-TOUT)*H.GE.0.0D+0) .OR. (DABS(T-TOUT).LE. + 100.0D+0*UROUND*HMAX)) THEN C HAVE OVERSHOT THE OUTPUT POINT, SO INTERPOLATE CALL INTERP(N,JSTART,H,T,Y,TOUT,Y0) T0 = TOUT HO = H INDEX = KFLAG RETURN ELSE C WILL PASS TOUT ON NEXT STEP WITH CURRENT STEPSIZE C SO REDUCE STEPSIZE TO HIT TOUT 'EXACTLY' H = (TOUT-T)* (1.0D+0-4.0D+0*UROUND) JSTART = -1 END IF END IF ELSE IF (INDEX.EQ.-1) THEN C NOT FIRST CALL BUT PARAMETERS RESET T0 = T IF ((T-TOUT)*H.GE.0.0D+0) THEN C HAVE OVERSHOT TOUT WRITE (LOUT,9080) T,TOUT,H CALL INTERP(N,JSTART,H,T,Y,TOUT,Y0) HO = H T0 = TOUT INDEX = -5 RETURN ELSE JSTART = -1 NCOPY = N EPSCPY = RTOL(1) MFCOPY = MF END IF ELSE IF (INDEX.EQ.3) THEN T0 = T IF ((T-TOUT)*H.GE.0.0D+0) THEN C HAVE OVERSHOT,SO INTERPOLATE CALL INTERP(N,JSTART,H,T,Y,TOUT,Y0) INDEX = KFLAG T0 = TOUT HO = H RETURN END IF ELSE C INDEX SHOULD BE 1 AND THIS IS THE FIRST CALL FOR THIS PROBLEM C CHECK THE ARGUMENTS THAT WERE PASSED FOR CORRECTNESS IF (INDEX.NE.1) THEN C VALUE OF INDEX NOT ALLOWED WRITE (LOUT,9070) INDEX INDEX = -4 END IF NN=N IF(ITOL.LE.3) NN = 1 DO 1 I=1,NN IF (RTOL(I).LT.0.0D+0) THEN C ILLEGAL VALUE FOR RELATIVE ERROR TOLERENCE WRITE (LOUT,9040) INDEX = -4 END IF 1 CONTINUE NN=N IF(ITOL.EQ.1.OR.ITOL.EQ.2.OR.ITOL.EQ.4) NN=1 DO 2 I=1,NN IF (ATOL(I).LT.0.0D+0) THEN C ILLEGAL ABSOLUTE TOLERANCE WRITE(LOUT,9045) INDEX=-4 ENDIF 2 CONTINUE IF(ITOL.EQ.1.AND.RTOL(1).EQ.0) THEN C ILLEGAL TOLERANCE WRITE(LOUT,9040) INDEX = -4 ENDIF IF(ITOL.NE.1) THEN VHOLD = 0.0D+0 DO 3 I=1,N IF(ITOL.EQ.2) THEN VHOLD = DMAX1(RTOL(1),ATOL(1)) ELSE IF (ITOL.EQ.3) THEN VHOLD = DMAX1(RTOL(1),ATOL(I)) ELSE IF (ITOL.EQ.4) THEN VHOLD = DMAX1(RTOL(I),ATOL(1)) ELSE IF (ITOL.EQ.5) THEN VHOLD = DMAX1(RTOL(I),ATOL(I)) ENDIF IF(VHOLD.LE.0.0D+0) THEN WRITE(LOUT,9040) INDEX = -4 ENDIF 3 CONTINUE ENDIF IF (N.LE.0) THEN C ILLEGAL VALUE FOR THE NUMBER OF EQUATIONS WRITE (LOUT,9050) INDEX = -4 END IF IF ((T0-TOUT)*HO.GE.0.0D+0) THEN C PARAMETERS FOR INTEGRATION ARE ILLEGAL WRITE (LOUT,9060) INDEX = -4 END IF IF ((MF.NE.21).AND.(MF.NE.22).AND.(MF.NE.23).AND.(MF.NE.24)) + THEN C ILLEGAL VALUE FOR METHOD FLAG WRITE (LOUT,9090) MF INDEX = -4 END IF IF(ITOL.LT.1.OR.ITOL.GT.5) THEN C ILLEGAL VALUE FOR ERROR CONTROL PARAMETER WRITE (LOUT,9110) INDEX=-4 ENDIF IF(MAXDER.LT.1.OR.MAXDER.GT.7) THEN C ILLEGAL VALUE FOR MAXIMUM ORDER WRITE(LOUT,9120) INDEX = -4 ENDIF IF (INDEX.NE.1) THEN RETURN ELSE C THE INITIAL PARAMETERS ARE O.K. SO INITIALISE EVERYTHING C ELSE NECESSARY FOR THE INTEGRATION. C IF VALUES OF YMAX OTHER THAN THOSE SET BELOW ARE DESIRED, C THEY SHOULD BE SET HERE. ALL YMAX(I) MUST BE POSITIVE. IF C VALUES FOR HMIN OR HMAX, THE BOUNDS ON DABS(H), OTHER THAN C THOSE BELOW ARE DESIRED, THEY SHOULD BE SET BELOW. IF(ITOL.EQ.1) THEN DO 10 I = 1,N YMAX(I) = DABS(Y0(I)) YMAX(I)=DMAX1(YMAX(I),1.0D0) 10 CONTINUE ENDIF DO 15 I=1,N Y(I,1)=Y0(I) 15 CONTINUE NCOPY = N T = T0 H = HO HMIN = DABS(HO) HMAX = DABS(T0-TEND)*10.0D+0 EPSCPY = RTOL(1) MFCOPY = MF JSTART = 0 NHCUT = 0 END IF END IF C <<<<<<<<<<<<<<<<< C < TAKE A STEP > C <<<<<<<<<<<<<<<<< 20 IF ((T+H).EQ.T) THEN WRITE (LOUT,9000) NT = NT + 1 END IF CALL STIFF(H,HMAX,HMIN,JSTART,KFLAG,MF,MBND,T,TOUT, + TEND,Y,N,YMAX,ERRORS,SAVE1,SAVE2,PW,PWCOPY,YHOLD, + YNHOLD,ARH,IPIV,LOUT,MAXDER,ITOL,RTOL,ATOL) KGO = 1 - KFLAG IF (KGO.EQ.1) THEN C NORMAL RETURN FROM STIFF GO TO 30 ELSE IF (KGO.EQ.2) THEN C COULD NOT ACHIEVE ERROR WITH HMIN C SO CHOP HMIN IF WE HAVEN'T DONE SO 10 TIMES GO TO 60 ELSE IF (KGO.EQ.3) THEN C ERROR SMALLER THAN CAN BE HANDLED FOR THIS PROBLEM WRITE (LOUT,9010) T,H GO TO 70 ELSE IF (KGO.EQ.4) THEN C COULD NOT ACHIEVE CONVERGENCE WITH HMIN WRITE (LOUT,9030) T GO TO 60 END IF 30 CONTINUE C --------------------------------------------------------------------- C NORMAL RETURN FROM THE INTEGRATOR. C C THE WEIGHTS YMAX(I) ARE UPDATED IF ITOL=1. C IF DIFFERENT VALUES ARE DESIRED, THEY SHOULD BE SET HERE. C C ANY OTHER TESTS OR CALCULATIONS THAT ARE REQUIRED AFTER EVERY C STEP SHOULD BE INSERTED HERE. C C IF INDEX = 3, Y0 IS SET TO THE CURRENT Y VALUES ON RETURN. C IF INDEX = 2, H IS CONTROLLED TO HIT TOUT (WITHIN ROUNDOFF C ERROR), AND THEN THE CURRENT Y VALUES ARE PUT IN Y0 ON RETURN. C FOR ANY OTHER VALUE OF INDEX, CONTROL RETURNS TO THE INTEGRATOR C UNLESS TOUT HAS BEEN REACHED. THEN INTERPOLATED VALUES OF Y ARE C COMPUTED AND STORED IN Y0 ON RETURN. C IF INTERPOLATION IS NOT DESIRED, THE CALL TO INTERP SHOULD BE C REMOVED AND CONTROL TRANSFERRED TO STATEMENT 500 INSTEAD OF 520. C -------------------------------------------------------------------- c IF(NSTEP.GT.MAXSTEP) THEN c KGO=5 c KLAG=4 c TOO MUCH WORK c WRITE(LOUT,9130) c GOTO 70 c the above is commented out for detest c END IF IF(ITOL.EQ.1) THEN D = 0.0D+0 DO 40 I = 1,N AYI = DABS(Y(I,1)) YMAX(I)=DMAX1(YMAX(I),AYI) 40 CONTINUE ENDIF IF (INDEX.EQ.3.OR.INDEX.EQ.1) GO TO 70 IF (DABS(T-TOUT).LE.DABS(15.0D+0*UROUND*TOUT)) THEN C EFFECTIVELY WE HAVE HIT TOUT INDEX = KFLAG T0 = TOUT DO 50 I = 1,N Y0(I) = Y(I,1) 50 CONTINUE HO = H RETURN END IF IF (INDEX.EQ.2) THEN C CONTINUING INTEGRATION BUT MUST HIT TOUT EXACTLY IF (((T+H)-TOUT)*H.GT.0.0D+0) THEN C WE HAVE ALREADY OVERSHOT THE OUTPUT POINT OR WE WILL DO C SO ON THE NEXT STEP IF (((T-TOUT)*H.GE.0.0D+0) .OR. (DABS(T-TOUT).LE. + 100.0D+0*UROUND*HMAX)) THEN C HAVE OVERSHOT, SO INTERPOLATE CALL INTERP(N,JSTART,H,T,Y,TOUT,Y0) T0 = TOUT HO = H INDEX = KFLAG RETURN ELSE C WILL PASS TOUT ON NEXT STEP WITH CURRENT STEPSIZE C SO REDUCE STEPSIZE TO HIT TOUT 'EXACTLY' H = (TOUT-T)* (1.0D+0-4.0D+0*UROUND) JSTART = -1 END IF END IF ELSE IF ((T-TOUT)*H.GE.0.0D+0) THEN C HAVE OVERSHOT, SO INTERPOLATE CALL INTERP(N,JSTART,H,T,Y,TOUT,Y0) INDEX = KFLAG HO = H T0 = TOUT RETURN END IF GO TO 20 C ------------------------------------------------------------------- C ON AN ERROR RETURN FROM THE INTEGRATOR, AN IMMEDIATE RETURN OCCURS C IF KFLAG = -2, AND RECOVERY ATTEMPTS ARE MADE OTHERWISE. C H AND HMIN ARE REDUCED BY A FACTOR OF .1 UP TO 10 TIMES C BEFORE GIVING UP. C -------------------------------------------------------------------- 60 CONTINUE IF (NHCUT.EQ.10) THEN C HAVE REDUCED H TEN TIMES WRITE (LOUT,9100) GO TO 70 END IF NHCUT = NHCUT + 1 HMIN = 0.1D+0*HMIN H = 0.1D+0*H IF (NSTEP.GT.0) THEN JSTART = -1 ELSE C THE INITIAL STEPSIZE WAS TOO LARGE. RESET CERTAIN VARIABLES C AND TRY AGAIN. NJE = 0 NFE = 1 CFAIL = .TRUE. NEWPAR = 0 MQ1TMP = 0 MQ2TMP = 0 MEQC1 = 0 MEQC2 = 0 TCRAT1 = 0.0D+0 TCRAT2 = 0.0D+0 CRATE1 = 1.0D-1 CRATE2 = 1.0D-1 NT = 0 NSTEP = 0 NBSOL = 0 NPSET = 0 NCOSET = 0 NDEC = 0 JSTART = -1 END IF GO TO 20 70 IF(DABS(T-TOUT).GT.1000.0D+0*UROUND) THEN DO 80 I = 1,N Y0(I) = Y(I,1) 80 CONTINUE T0 = T ELSE C HAVE PASSED TOUT SO INTERPOLATE CALL INTERP(N,JSTART,H,T,Y,TOUT,Y0) T0 = TOUT INDEX = KFLAG END IF HO = H IF(KFLAG.NE.0) INDEX = KFLAG RETURN C -------------------------- END OF SUBROUTINE OVDRIV ----------------- 9000 FORMAT (' WARNING.. T + H = T ON NEXT STEP.') 9010 FORMAT (/,/,' KFLAG = -2 FROM INTEGRATOR AT T = ',E16.8,' H =', + E16.8,/, + ' THE REQUESTED ERROR IS SMALLER THAN CAN BE HANDLED',/,/) 9020 FORMAT (/,/,' INTEGRATION HALTED BY DRIVER AT T = ',E16.8,/, + ' ERROR TOO SMALL TO BE ATTAINED FOR THE MACHINE PRECISION', + /) 9030 FORMAT (/,/,' KFLAG = -3 FROM INTEGRATOR AT T = ',E16.8,/, + ' CORRECTOR CONVERGENCE COULD NOT BE ACHIEVED',/) 9040 FORMAT (/,/,' ILLEGAL INPUT.. RTOL .LE. 0.',/,/) 9045 FORMAT (/,/,' ILLEGAL INPUT.. ATOL .LE. 0.',/,/) 9050 FORMAT (/,/,' ILLEGAL INPUT.. N .LE. 0',/,/) 9060 FORMAT (/,/,' ILLEGAL INPUT.. (T0-TOUT)*H .GE. 0.',/,/) 9070 FORMAT (/,/,' ILLEGAL INPUT.. INDEX =',I5,/,/) 9080 FORMAT (/,/,' INDEX = -1 ON INPUT WITH (T-TOUT)*H .GE. 0.',/, + ' T =',E16.8,' TOUT =',E16.8,' H =',E16.8,/, + ' INTERPOLATION WAS DONE AS ON NORMAL RETURN.',/, + ' DESIRED PARAMETER CHANGES WERE NOT MADE.') 9090 FORMAT (/,/,' ILLEGAL INPUT.. METHOD FLAG, MF, = ',I6,/, + ' ALLOWED VALUES ARE 21 OR 22',/) 9100 FORMAT (/,/,' PROBLEM APPEARS UNSOLVABLE WITH GIVEN INPUT',/, + ' HMIN REDUCED BY A FACTOR OF 1.0E10',/,/) 9110 FORMAT (/,/,' ILLEGAL VALUE FOR ITOL',/,/) 9120 FORMAT (/,/,' ILLEGAL VALUE FOR MAXDER',/,/) 9130 FORMAT (/,/,' NUMBER OF STEPS EXCEEDS MAXIMUM',/,/) END SUBROUTINE INTERP(N,JSTART,H,T,Y,TOUT,Y0) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C .. SCALAR ARGUMENTS .. INTEGER JSTART,N C .. C .. ARRAY ARGUMENTS .. DIMENSION Y(N,12),Y0(N) C .. C .. LOCAL SCALARS .. INTEGER I,J,L C .. C .. INTRINSIC FUNCTIONS .. C .. DO 10 I = 1,N Y0(I) = Y(I,1) 10 CONTINUE L = JSTART + 2 S = (TOUT-T)/H S1 = 1.0D+0 DO 30 J = 2,L S1 = S1* (S+DBLE(FLOAT(J-2)))/DBLE(FLOAT(J-1)) DO 20 I = 1,N Y0(I) = Y0(I) + S1*Y(I,J) 20 CONTINUE 30 CONTINUE RETURN C -------------- END OF SUBROUTINE INTERP --------------------------- END SUBROUTINE COSET(NQ,EL,ELST,TQ) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C -------------------------------------------------------------------- C COSET IS CALLED BY THE INTEGRATOR AND SETS THE COEFFICIENTS USED C BY THE CONVENTIONAL BACKWARD DIFFERENTIATION SCHEME AND THE C MODIFIED EXTENDED BACKWARD DIFFERENTIATION SCHEME. THE VECTOR C EL OF LENGTH NQ+1 DETERMINES THE BASIC BDF METHOD WHILE THE VECTOR C ELST OF LENGTH NQ+2 DETERMINES THE MEBDF. THE VECTOR TQ OF C LENGTH 4 IS INVOLVED IN ADJUSTING THE STEPSIZE IN RELATION TO THE C TRUNCATION ERROR. ITS VALUES ARE GIVEN BY THE PERTST ARRAY. THE C VECTORS EL AND TQ BOTH DEPEND ON METH AND NQ. THE C COEFFICIENTS IN PERTST NEED TO BE GIVEN TO ONLY ABOUT ONE PERCENT C ACCURACY. THE ORDER IN WHICH THE GROUPS APPEAR BELOW IS: C COEFFICIENTS FOR ORDER NQ-1, COEFFICIENTS FOR ORDER NQ, C COEFFICIENTS FOR ORDER NQ+1. C ------------------------------------------------------------------- C .. SCALAR ARGUMENTS .. INTEGER NQ C .. C .. ARRAY ARGUMENTS .. DIMENSION EL(10),ELST(10),TQ(4) C .. C .. LOCAL SCALARS .. INTEGER K C .. C .. LOCAL ARRAYS .. DIMENSION PERTST(8,3) C .. C .. INTRINSIC FUNCTIONS .. C .. C .. COMMON BLOCKS .. COMMON /MEBDF2/HUSED,NQUSED,NSTEP,NFE,NJE,NDEC,NBSOL,NPSET,NCOSET, + MAXORD,MAXSTEP INTEGER MAXORD,NBSOL,NCOSET,NDEC,NFE,NJE,NPSET,NQUSED,NSTEP C .. C .. DATA STATEMENTS .. DATA PERTST(1,1)/1./,PERTST(2,1)/2./,PERTST(3,1)/4.5/, + PERTST(4,1)/7.333/,PERTST(5,1)/10.42/,PERTST(6,1)/13.7/, + PERTST(7,1)/17.15/,PERTST(8,1)/20.74/ DATA PERTST(1,2)/2./,PERTST(2,2)/4.5/,PERTST(3,2)/7.333/, + PERTST(4,2)/10.42/,PERTST(5,2)/13.7/,PERTST(6,2)/17.15/, + PERTST(7,2)/20.74/,PERTST(8,2)/24.46/ DATA PERTST(1,3)/4.5/,PERTST(2,3)/7.333/,PERTST(3,3)/10.42/, + PERTST(4,3)/13.7/,PERTST(5,3)/17.15/,PERTST(6,3)/20.74/, + PERTST(7,3)/24.46/,PERTST(8,3)/1./ C .. C ------------------------------------------------------------------- C THE FOLLOWING COEFFICIENTS SHOULD BE DEFINED TO MACHINE ACCURACY. C THEIR DERIVATION IS GIVEN IN REFERENCE 1. C ------------------------------------------------------------------- IF (NQ.GT.MAXORD) MAXORD = NQ NCOSET = NCOSET + 1 GO TO (10,20,30,40,50,60,70) NQ 10 EL(1) = 1.0D+0 ELST(1) = 1.5D+0 ELST(3) = -0.5D+0 GO TO 80 20 EL(1) = 6.6666666666667D-01 EL(3) = 3.3333333333333D-01 ELST(1) = 9.5652173913043D-01 ELST(3) = 2.1739130434782D-01 ELST(4) = -1.7391304347826D-01 GO TO 80 30 EL(1) = 5.4545454545455D-01 EL(3) = 4.5454545454545D-01 EL(4) = 1.8181818181818D-01 ELST(1) = 7.6142131979695D-01 ELST(3) = 3.2994923857868D-01 ELST(4) = 8.6294416243654D-02 ELST(5) = -9.1370558375634D-02 GO TO 80 40 EL(1) = 0.48D+0 EL(3) = 0.52D+0 EL(4) = 0.28D+0 EL(5) = 0.12D+0 ELST(1) = 6.5733706517393D-01 ELST(3) = 4.0023990403838D-01 ELST(4) = 1.5793682526989D-01 ELST(5) = 4.4382247101159D-02 ELST(6) = -5.7576969212315D-02 GO TO 80 50 EL(1) = 4.3795620437956D-01 EL(3) = 5.62043795620436D-01 EL(4) = 3.43065693430656D-01 EL(5) = 1.97080291970802D-01 EL(6) = 8.75912408759123D-02 ELST(1) = 5.9119243917152D-01 ELST(3) = 4.4902473356122D-01 ELST(4) = 2.1375427307460D-01 ELST(5) = 9.0421610027481503D-02 ELST(6) = 2.6409276761177D-02 ELST(7) = -4.0217172732757D-02 GO TO 80 60 EL(1) = 4.08163265306120D-01 EL(3) = 5.91836734693874D-01 EL(4) = 3.87755102040813D-01 EL(5) = 2.51700680272107D-01 EL(6) = 1.49659863945577D-01 EL(7) = 6.80272108843534D-02 ELST(1) = 5.4475876041119D-01 ELST(3) = 4.8525549636077D-01 ELST(4) = 2.5789750131312D-01 ELST(5) = 1.3133738525800D-01 ELST(6) = 5.7677396763462D-02 ELST(7) = 1.7258197643881D-02 ELST(8) = -3.0014256771967D-02 GO TO 80 70 EL(1) = 3.85674931129476D-01 EL(3) = 6.14325068870521D-01 EL(4) = 4.21487603305783D-01 EL(5) = 2.9292929292929D-01 EL(6) = 1.96510560146923D-01 EL(7) = 1.19375573921028D-01 EL(8) = 5.50964187327820D-02 ELST(1) = 5.0999746293734D-01 ELST(3) = 5.1345839935281D-01 ELST(4) = 2.9364346131937D-01 ELST(5) = 1.6664672120553D-01 ELST(6) = 8.8013735242353D-02 ELST(7) = 3.9571794884069D-02 ELST(8) = 1.2039080338722D-02 ELST(9) = -2.3455862290154D-02 80 DO 90 K = 1,3 TQ(K) = PERTST(NQ,K) 90 CONTINUE TQ(4) = 0.5D+0*TQ(2)/DBLE(FLOAT(NQ)) RETURN C --------------------- END OF SUBROUTINE COSET --------------------- END SUBROUTINE PSET(Y,N,H,T,UROUND,EPSJAC,CON,MITER,MBND,IER, + NRENEW,YMAX,SAVE1,SAVE2,PW,PWCOPY,WRKSPC,IPIV, + ITOL,RTOL,ATOL) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C ------------------------------------------------------------------- C PSET IS CALLED BY STIFF TO COMPUTE AND PROCESS THE MATRIX C I - H*EL(2)*J =(I - H*ELST(2)*J) WHERE J IS AN APPROXIMATION TO C THE RELEVANT JACOBIAN. THIS MATRIX IS THEN SUBJECTED TO LU C DECOMPOSITION IN PREPARATION FOR LATER SOLUTION OF LINEAR SYSTEMS C OF ALGEBRAIC EQUATIONS WITH LU AS THE COEFFICIENT MATRIX. THE C MATRIX J IS FOUND BY THE USER-SUPPLIED ROUTINE PDERV IF MITER=1 OR C 3 OR BY FINITE DIFFERENCING IF MITER = 2 OR 4. C IN ADDITION TO VARIABLES DESCRIBED PREVIOUSLY, COMMUNICATION WITH C PSET USES THE FOLLOWING .. C EPSJAC = DSQRT(UROUND), USED IN NUMERICAL JACOBIAN INCREMENTS. C ******************************************************************* C THE ARGUMENT NRENEW IS USED TO SIGNAL WHETHER OR NOT C WE REQUIRE A NEW JACOBIAN TO BE CALCULATED. C C IF NRENEW > 0 THEN WE REQUIRE A NEW J TO BE COMPUTED C = 0 THEN USE A COPY OF THE LAST J COMPUTED C ******************************************************************* C .. SCALAR ARGUMENTS .. INTEGER IER,MITER,N,NRENEW C .. C .. ARRAY ARGUMENTS .. DIMENSION PW(*),PWCOPY(*),SAVE2(N),WRKSPC(N),Y(N,12),YMAX(N) + ,SAVE1(N),RTOL(1),ATOL(1) INTEGER IPIV(N), MBND(4) C .. C .. LOCAL SCALARS .. INTEGER I,J,J1,JJKK C .. C .. EXTERNAL SUBROUTINES .. EXTERNAL DEC,F,PDERV,DGBFA C .. C .. INTRINSIC FUNCTIONS .. INTRINSIC DABS,DMAX1,DSQRT C .. C .. COMMON BLOCKS .. COMMON /MEBDF2/HUSED,NQUSED,NSTEP,NFE,NJE,NDEC,NBSOL,NPSET,NCOSET, + MAXORD,MAXSTEP COMMON /STCOM6/NFCN1,NJAC,NLUD INTEGER MAXORD,NBSOL,NCOSET,NDEC,NFCN1,NFE,NJAC,NJE,NLUD,NPSET, + NQUSED,NSTEP NPSET = NPSET + 1 IF (NRENEW.EQ.0) THEN IF (MITER.LT.3) THEN DO 10 I = 1,N*N PW(I) = PWCOPY(I)*CON 10 CONTINUE ELSE DO 15 I=0,N-1 DO 18 J=MBND(1)+1,MBND(4) PW(I*MBND(4)+J) = PWCOPY(I*MBND(4)+J)*CON 18 CONTINUE 15 CONTINUE ENDIF GO TO 70 END IF IF (MITER.EQ.2.OR.MITER.EQ.4) GO TO 30 NJE = NJE + 1 IF ( MITER.NE.3 ) THEN CALL PDERV(T,Y,PW,N,N) DO 20 I = 1,N*N PWCOPY(I) = PW(I) PW(I) = PW(I)*CON 20 CONTINUE ELSE CALL PDERV(T,Y,PW,N,MBND(4)) DO 25 I=0,N-1 ITMB=I*MBND(4) DO 28 J=MBND(1)+1,MBND(4) 28 PWCOPY(ITMB+J) = PW(ITMB+J-MBND(1)) DO 29 J=MBND(1)+1,MBND(4) PW(ITMB+J) = PWCOPY(ITMB+J)*CON 29 CONTINUE 25 CONTINUE ENDIF GO TO 70 30 CONTINUE ML = MBND(1) MU = MBND(2) NJAC = NJAC + 1 DO 35 I=1,N IF(ITOL.EQ.2) THEN YMAX(I)=Y(I,1)*RTOL(1)+ATOL(1) ELSE IF (ITOL.EQ.3) THEN YMAX(I)=Y(I,1)*RTOL(1)+ATOL(I) ELSE IF(ITOL.EQ.4) THEN YMAX(I)=Y(I,1)*RTOL(I)+ATOL(1) ELSE IF(ITOL.EQ.5) THEN YMAX(I)=Y(I,1)*RTOL(I)+ATOL(I) END IF 35 CONTINUE D = 0.0D+0 DO 40 I = 1,N D = D + (SAVE2(I)*(YMAX(I)))**2 40 CONTINUE IF(ITOL.EQ.1) D=D*RTOL(1)**2 D = DSQRT(D)/DFLOAT(N) R0 = DABS(H)*D*DFLOAT(N)*(1.0D+03)*UROUND IF(R0.EQ.0.0D+0) R0=1.0D+0 J1 = 0 IF(MITER.EQ.4) GOTO 51 DO 60 J = 1,N YJ = Y(J,1) IF(ITOL.EQ.1) THEN R=DMAX1(EPSJAC*DABS(YJ),R0/(YMAX(J)*RTOL(1))) ELSE R=DMAX1(EPSJAC*DABS(YJ),R0/YMAX(J)) ENDIF Y(J,1) = Y(J,1) + R D = CON/R CALL F(N,T,Y,WRKSPC) DO 50 I = 1,N JJKK = I + J1 TEMPRY = (WRKSPC(I)-SAVE2(I)) PWCOPY(JJKK) = TEMPRY/R PW(JJKK) = TEMPRY*D 50 CONTINUE Y(J,1) = YJ J1 = J1 + N 60 CONTINUE NFE = NFE + N GO TO 70 51 CONTINUE MBA = min0(MBND(3),N) DO 61 J=1,MBA DO 161 I=J,N,MBND(3) SAVE1(I) = Y(I,1) YI=Y(I,1) IF(ITOL.EQ.1) THEN R=DMAX1(EPSJAC*DABS(YI),R0/(YMAX(I)*RTOL(1))) ELSE R=DMAX1(EPSJAC*DABS(YI),R0/YMAX(I)) ENDIF Y(I,1)=Y(I,1)+R 161 CONTINUE CALL F(N,T,Y,WRKSPC) DO 261 JJ=J,N,MBND(3) Y(JJ,1)=SAVE1(JJ) YJJ=Y(JJ,1) IF (ITOL.EQ.1) THEN R=DMAX1(EPSJAC*DABS(YJJ),R0/(YMAX(JJ)*RTOL(1))) ELSE R=DMAX1(EPSJAC*DABS(YJJ),R0/YMAX(JJ)) ENDIF D=CON/R I1 = MAX0(JJ-MU,1) I2 = MIN0(JJ+ML,N) II = JJ*(MBND(4)-1)-ML DO 540 I = I1,I2 TEMPRY = WRKSPC(I) - SAVE2(I) PWCOPY(II+I)=TEMPRY/R PW(II+I) = TEMPRY*D 540 CONTINUE 261 CONTINUE 61 CONTINUE NFE=NFE+MBND(3) 70 IF (MITER.GT.2) THEN ML=MBND(1) MU=MBND(2) II=ML+MU+1 DO 75 I=1,N PW(II) = PW(II) + 1.0D0 II = II + MBND(4) 75 CONTINUE CALL DGBFA(PW,MBND(4),N,ML,MU,IPIV,INFO) NDEC = NDEC + 1 ELSE J = 1 NP1 = N + 1 DO 80 I = 1,N PW(J) = PW(J) + 1.0D+0 J = J + NP1 80 CONTINUE CALL DEC(N,N,PW,IPIV,IER) NDEC = NDEC + 1 ENDIF NLUD = NDEC RETURN C ---------------------- END OF SUBROUTINE PSET --------------------- END SUBROUTINE DEC(N,NDIM,A,IP,IER) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C ------------------------------------------------------------------- C MATRIX TRIANGULISATION BY GAUSSIAN ELIMINATION C INPUT.. C N = ORDER OF MATRIX. C NDIM = DECLARED DIMENSION OF ARRAY A. C A = MATRIX TO BE TRIANGULARISED. C OUTPUT.. C A(I,J), I.LE.J = UPPER TRIANGULAR FACTOR, U. C A(I,J), I.GT.J = MULTIPLIERS = LOWER TRIANGULAR FACTOR, I-L. C IP(K), K.LT.N = INDEX OF KTH PIVOT ROW. C IP(N) = (-1)**(NUMBER OF INTERCHANGES) OR 0. C IER = 0 IF MATRIX IS NON-SINGULAR, OR K IF FOUND TO BE SINGULAR C AT STAGE K. C USE SOL TO OBTAIN SOLUTION OF LINEAR SYSTEM. C DETERM(A) = IP(N)*A(1,1)*A(2,2)* . . . *A(N,N). C IF IP(N) = 0, A IS SINGULAR, SOL WILL DIVIDE BY ZERO. C C REFERENCE. C C.B. MOLER, ALGORITHM 423, LINEAR EQUATION SOLVER, C.A.C.M C 15 (1972), P.274. C ------------------------------------------------------------------ C .. SCALAR ARGUMENTS .. INTEGER IER,N,NDIM C .. C .. ARRAY ARGUMENTS .. DIMENSION A(NDIM,N) INTEGER IP(N) C .. C .. LOCAL SCALARS .. INTEGER I,J,K,KP1,M,NM1 C .. C .. INTRINSIC FUNCTIONS .. INTRINSIC DABS C .. C .. COMMON BLOCKS .. COMMON /MEBDF2/HUSED,NQUSED,NSTEP,NFE,NJE,NDEC,NBSOL,NPSET,NCOSET, + MAXORD,MAXSTEP INTEGER MAXORD,NBSOL,NCOSET,NDEC,NFE,NJE,NPSET,NQUSED,NSTEP C .. IER = 0 IP(N) = 1 IF (N.EQ.1) GO TO 70 NM1 = N - 1 DO 60 K = 1,NM1 KP1 = K + 1 M = K DO 10 I = KP1,N IF (DABS(A(I,K)).GT.DABS(A(M,K))) M = I 10 CONTINUE IP(K) = M T = A(M,K) IF (M.EQ.K) GO TO 20 IP(N) = -IP(N) A(M,K) = A(K,K) A(K,K) = T 20 IF (T.EQ.0.0D+0) GO TO 80 T = 1.0D+0/T DO 30 I = KP1,N A(I,K) = -A(I,K)*T 30 CONTINUE DO 50 J = KP1,N T = A(M,J) A(M,J) = A(K,J) A(K,J) = T IF (T.EQ.0.0D+0) GO TO 50 DO 40 I = KP1,N A(I,J) = A(I,J) + A(I,K)*T 40 CONTINUE 50 CONTINUE 60 CONTINUE 70 K = N IF (A(N,N).EQ.0.0D+0) GO TO 80 RETURN 80 IER = K IP(N) = 0 RETURN C --------------------- END OF SUBROUTINE DEC ---------------------- END SUBROUTINE SOL(N,NDIM,A,B,IP) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C .. SCALAR ARGUMENTS .. INTEGER N,NDIM C .. C .. ARRAY ARGUMENTS .. DIMENSION A(NDIM,N),B(N) INTEGER IP(N) C .. C .. LOCAL SCALARS .. INTEGER I,K,KB,KM1,KP1,M,NM1 C .. C .. COMMON BLOCKS .. COMMON /MEBDF2/HUSED,NQUSED,NSTEP,NFE,NJE,NDEC,NBSOL,NPSET,NCOSET, + MAXORD,MAXSTEP INTEGER MAXORD,NBSOL,NCOSET,NDEC,NFE,NJE,NPSET,NQUSED,NSTEP C .. C ------------------------------------------------------------------ C SOLUTION OF LINEAR SYSTEM, A*X = B. C INPUT .. C N = ORDER OF MATRIX. C NDIM = DECLARED DIMENSION OF MATRIX A. C A = TRIANGULARISED MATRIX OBTAINED FROM DEC. C B = RIGHT HAND SIDE VECTOR. C IP = PIVOT VECTOR OBTAINED FROM DEC. C DO NOT USE IF DEC HAS SET IER .NE. 0 C OUTPUT.. C B = SOLUTION VECTOR, X. C ------------------------------------------------------------------ IF (N.EQ.1) GO TO 50 NM1 = N - 1 DO 20 K = 1,NM1 KP1 = K + 1 M = IP(K) T = B(M) B(M) = B(K) B(K) = T DO 10 I = KP1,N B(I) = B(I) + A(I,K)*T 10 CONTINUE 20 CONTINUE DO 40 KB = 1,NM1 KM1 = N - KB K = KM1 + 1 B(K) = B(K)/A(K,K) T = -B(K) DO 30 I = 1,KM1 B(I) = B(I) + A(I,K)*T 30 CONTINUE 40 CONTINUE 50 B(1) = B(1)/A(1,1) RETURN C ------------------------- END OF SUBROUTINE SOL ------------------ END subroutine dgbfa(abd,lda,n,ml,mu,ipvt,info) integer lda,n,ml,mu,ipvt(1),info double precision abd(lda,1) c c dgbfa factors a double precision band matrix by elimination. c c dgbfa is usually called by dgbco, but it can be called c directly with a saving in time if rcond is not needed. c c on entry c c abd double precision(lda, n) c contains the matrix in band storage. the columns c of the matrix are stored in the columns of abd and c the diagonals of the matrix are stored in rows c ml+1 through 2*ml+mu+1 of abd . c see the comments below for details. c c lda integer c the leading dimension of the array abd . c lda must be .ge. 2*ml + mu + 1 . c c n integer c the order of the original matrix. c c ml integer c number of diagonals below the main diagonal. c 0 .le. ml .lt. n . c c mu integer c number of diagonals above the main diagonal. c 0 .le. mu .lt. n . c more efficient if ml .le. mu . c on return c c abd an upper triangular matrix in band storage and c the multipliers which were used to obtain it. c the factorization can be written a = l*u where c l is a product of permutation and unit lower c triangular matrices and u is upper triangular. c c ipvt integer(n) c an integer vector of pivot indices. c c info integer c = 0 normal value. c = k if u(k,k) .eq. 0.0 . this is not an error c condition for this subroutine, but it does c indicate that dgbsl will divide by zero if c called. use rcond in dgbco for a reliable c indication of singularity. c c band storage c c if a is a band matrix, the following program segment c will set up the input. c c ml = (band width below the diagonal) c mu = (band width above the diagonal) c m = ml + mu + 1 c do 20 j = 1, n c i1 = max0(1, j-mu) c i2 = min0(n, j+ml) c do 10 i = i1, i2 c k = i - j + m c abd(k,j) = a(i,j) c 10 continue c 20 continue c c this uses rows ml+1 through 2*ml+mu+1 of abd . c in addition, the first ml rows in abd are used for c elements generated during the triangularization. c the total number of rows needed in abd is 2*ml+mu+1 . c the ml+mu by ml+mu upper left triangle and the c ml by ml lower right triangle are not referenced. c c linpack. this version dated 08/14/78 . c cleve moler, university of new mexico, argonne national lab. c c subroutines and functions c c blas daxpy,dscal,idamax c fortran max0,min0 c c internal variables c double precision t integer i,idamax,i0,j,ju,jz,j0,j1,k,kp1,l,lm,m,mm,nm1 c c m = ml + mu + 1 info = 0 c c zero initial fill-in columns c j0 = mu + 2 j1 = min0(n,m) - 1 if (j1 .lt. j0) go to 30 do 20 jz = j0, j1 i0 = m + 1 - jz do 10 i = i0, ml abd(i,jz) = 0.0d0 10 continue 20 continue 30 continue jz = j1 ju = 0 c c gaussian elimination with partial pivoting c nm1 = n - 1 if (nm1 .lt. 1) go to 130 do 120 k = 1, nm1 kp1 = k + 1 c c zero next fill-in column c jz = jz + 1 if (jz .gt. n) go to 50 if (ml .lt. 1) go to 50 do 40 i = 1, ml abd(i,jz) = 0.0d0 40 continue 50 continue c c find l = pivot index c lm = min0(ml,n-k) l = idamax(lm+1,abd(m,k),1) + m - 1 ipvt(k) = l + k - m c c zero pivot implies this column already triangularized c if (abd(l,k) .eq. 0.0d0) go to 100 c c interchange if necessary c if (l .eq. m) go to 60 t = abd(l,k) abd(l,k) = abd(m,k) abd(m,k) = t 60 continue c c compute multipliers c t = -1.0d0/abd(m,k) call dscal(lm,t,abd(m+1,k),1) c c row elimination with column indexing c ju = min0(max0(ju,mu+ipvt(k)),n) mm = m if (ju .lt. kp1) go to 90 do 80 j = kp1, ju l = l - 1 mm = mm - 1 t = abd(l,j) if (l .eq. mm) go to 70 abd(l,j) = abd(mm,j) abd(mm,j) = t 70 continue call daxpy(lm,t,abd(m+1,k),1,abd(mm+1,j),1) 80 continue 90 continue go to 110 100 continue info = k 110 continue 120 continue 130 continue ipvt(n) = n if (abd(m,n) .eq. 0.0d0) info = n return end c subroutine daxpy(n,da,dx,incx,dy,incy) c c constant times a vector plus a vector. c uses unrolled loops for increments equal to one. c jack dongarra, linpack, 3/11/78. c double precision dx(1),dy(1),da integer i,incx,incy,ix,iy,m,mp1,n c if(n.le.0)return if (da .eq. 0.0d0) return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments c not equal to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n dy(iy) = dy(iy) + da*dx(ix) ix = ix + incx iy = iy + incy 10 continue return c c code for both increments equal to 1 c c c clean-up loop c 20 m = mod(n,4) if( m .eq. 0 ) go to 40 do 30 i = 1,m dy(i) = dy(i) + da*dx(i) 30 continue if( n .lt. 4 ) return 40 mp1 = m + 1 do 50 i = mp1,n,4 dy(i) = dy(i) + da*dx(i) dy(i + 1) = dy(i + 1) + da*dx(i + 1) dy(i + 2) = dy(i + 2) + da*dx(i + 2) dy(i + 3) = dy(i + 3) + da*dx(i + 3) 50 continue return end c subroutine dscal(n,da,dx,incx) c c scales a vector by a constant. c uses unrolled loops for increment equal to one. c jack dongarra, linpack, 3/11/78. c modified to correct problem with negative increment, 8/21/90. c double precision da,dx(1) integer i,incx,ix,m,mp1,n c if(n.le.0)return if(incx.eq.1)go to 20 c c code for increment not equal to 1 c ix = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 do 10 i = 1,n dx(ix) = da*dx(ix) ix = ix + incx 10 continue return c c code for increment equal to 1 c c c clean-up loop c 20 m = mod(n,5) if( m .eq. 0 ) go to 40 do 30 i = 1,m dx(i) = da*dx(i) 30 continue if( n .lt. 5 ) return 40 mp1 = m + 1 do 50 i = mp1,n,5 dx(i) = da*dx(i) dx(i + 1) = da*dx(i + 1) dx(i + 2) = da*dx(i + 2) dx(i + 3) = da*dx(i + 3) dx(i + 4) = da*dx(i + 4) 50 continue return end c integer function idamax(n,dx,incx) c c finds the index of element having max. absolute value. c jack dongarra, linpack, 3/11/78. c modified to correct problem with negative increment, 8/21/90. c double precision dx(1),dmax integer i,incx,ix,n c idamax = 0 if( n .lt. 1 ) return idamax = 1 if(n.eq.1)return if(incx.eq.1)go to 20 c c code for increment not equal to 1 c ix = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 dmax = dabs(dx(ix)) ix = ix + incx do 10 i = 2,n if(dabs(dx(ix)).le.dmax) go to 5 idamax = i dmax = dabs(dx(ix)) 5 ix = ix + incx 10 continue return c c code for increment equal to 1 c 20 dmax = dabs(dx(1)) do 30 i = 2,n if(dabs(dx(i)).le.dmax) go to 30 idamax = i dmax = dabs(dx(i)) 30 continue return end BLOCK DATA C C MACHINE DEPENDENT CONSTANTS ARE SET HERE C C UROUND THE SMALLEST +VE NUMBER SUCH THAT C C 1.0D+0 + UROUND .NE. 1.0D+0 C C EPSJAC : THIS IS USED IN FORMING A NUMERICAL JACOBIAN AND IS C C EPSJAC = DSQRT( UROUND ) C C .. COMMON BLOCKS .. DOUBLE PRECISION UROUND, EPSJAC COMMON /MACHNE/UROUND,EPSJAC C .. C .. DATA STATEMENTS .. DATA UROUND,EPSJAC/0.355D-14,0.596D-7/ C C THE USER SHOULD SUBSTITUTE THE CONSTANTS RELEVANT FOR HIS MACHINE. C .. END subroutine dgbsl(abd,lda,n,ml,mu,ipvt,b,job) integer lda,n,ml,mu,ipvt(*),job double precision abd(lda,*),b(*) c c dgbsl solves the double precision band system c a * x = b or trans(a) * x = b c using the factors computed by dgbco or dgbfa. c c on entry c c abd double precision(lda, n) c the output from dgbco or dgbfa. c c lda integer c the leading dimension of the array abd . c c n integer c the order of the original matrix. c c ml integer c number of diagonals below the main diagonal. c c mu integer c number of diagonals above the main diagonal. c c ipvt integer(n) c the pivot vector from dgbco or dgbfa. c c b double precision(n) c the right hand side vector. c c job integer c = 0 to solve a*x = b , c = nonzero to solve trans(a)*x = b , where c trans(a) is the transpose. c c on return c c b the solution vector x . c c error condition c c a division by zero will occur if the input factor contains a c zero on the diagonal. technically this indicates singularity c but it is often caused by improper arguments or improper c setting of lda . it will not occur if the subroutines are c called correctly and if dgbco has set rcond .gt. 0.0 c or dgbfa has set info .eq. 0 . c c to compute inverse(a) * c where c is a matrix c with p columns c call dgbco(abd,lda,n,ml,mu,ipvt,rcond,z) c if (rcond is too small) go to ... c do 10 j = 1, p c call dgbsl(abd,lda,n,ml,mu,ipvt,c(1,j),0) c 10 continue c c linpack. this version dated 08/14/78 . c cleve moler, university of new mexico, argonne national lab. c c subroutines and functions c c blas daxpy,ddot c fortran min0 c c internal variables c double precision ddot,t integer k,kb,l,la,lb,lm,m,nm1 c m = mu + ml + 1 nm1 = n - 1 if (job .ne. 0) go to 50 c c job = 0 , solve a * x = b c first solve l*y = b c if (ml .eq. 0) go to 30 if (nm1 .lt. 1) go to 30 do 20 k = 1, nm1 lm = min0(ml,n-k) l = ipvt(k) t = b(l) if (l .eq. k) go to 10 b(l) = b(k) b(k) = t 10 continue call daxpy(lm,t,abd(m+1,k),1,b(k+1),1) 20 continue 30 continue c c now solve u*x = y c do 40 kb = 1, n k = n + 1 - kb b(k) = b(k)/abd(m,k) lm = min0(k,m) - 1 la = m - lm lb = k - lm t = -b(k) call daxpy(lm,t,abd(la,k),1,b(lb),1) 40 continue go to 100 50 continue c c job = nonzero, solve trans(a) * x = b c first solve trans(u)*y = b c do 60 k = 1, n lm = min0(k,m) - 1 la = m - lm lb = k - lm t = ddot(lm,abd(la,k),1,b(lb),1) b(k) = (b(k) - t)/abd(m,k) 60 continue c c now solve trans(l)*x = y c if (ml .eq. 0) go to 90 if (nm1 .lt. 1) go to 90 do 80 kb = 1, nm1 k = n - kb lm = min0(ml,n-k) b(k) = b(k) + ddot(lm,abd(m+1,k),1,b(k+1),1) l = ipvt(k) if (l .eq. k) go to 70 t = b(l) b(l) = b(k) b(k) = t 70 continue 80 continue 90 continue 100 continue return end c double precision function ddot(n,dx,incx,dy,incy) c c forms the dot product of two vectors. c uses unrolled loops for increments equal to one. c jack dongarra, linpack, 3/11/78. c double precision dx(1),dy(1),dtemp integer i,incx,incy,ix,iy,m,mp1,n c ddot = 0.0d0 dtemp = 0.0d0 if(n.le.0)return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments c not equal to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n dtemp = dtemp + dx(ix)*dy(iy) ix = ix + incx iy = iy + incy 10 continue ddot = dtemp return c c code for both increments equal to 1 c c c clean-up loop c 20 m = mod(n,5) if( m .eq. 0 ) go to 40 do 30 i = 1,m dtemp = dtemp + dx(i)*dy(i) 30 continue if( n .lt. 5 ) go to 60 40 mp1 = m + 1 do 50 i = mp1,n,5 dtemp = dtemp + dx(i)*dy(i) + dx(i + 1)*dy(i + 1) + * dx(i + 2)*dy(i + 2) + dx(i + 3)*dy(i + 3) + dx(i + 4)*dy(i + 4) 50 continue 60 ddot = dtemp return end SUBROUTINE ERRORS(N,TQ,EDN,E,EUP,BND) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C *************************************************** C C THIS ROUTINE CALCULATES ERRORS USED IN TESTS C IN STIFF . C C *************************************************** C .. SCALAR ARGUMENTS .. INTEGER N C .. C .. ARRAY ARGUMENTS .. DIMENSION TQ(4) C .. C .. LOCAL SCALARS .. C .. C .. INTRINSIC FUNCTIONS .. C .. SQHOL = DBLE(FLOAT(N)) EDN = TQ(1)*TQ(1)*SQHOL C C ** ERROR ASSOCIATED WITH LOWER ORDER METHOD C E = TQ(2)*TQ(2)*SQHOL C C ** ERROR ASSOCIATED WITH PRESENT ORDER C EUP = TQ(3)*TQ(3)*SQHOL C C ** ERROR ASSOCIATED WITH HIGHER ORDER METHOD C BND = TQ(4)*TQ(4)*SQHOL*0.5D+0 RETURN END SUBROUTINE PRDICT(T,H,Y,L,N,YPRIME) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C ********************************************************************** C PREDICTS A VALUE FOR Y AT (T+H) GIVEN THE HISTORY ARRAY AT T C THEN EVALUATES THE DERIVATIVE AT THIS POINT, THE RESULT OF THIS C EVALUATION BEING STORED IN YPRIME() C ********************************************************************** C .. SCALAR ARGUMENTS .. INTEGER L,N C .. C .. ARRAY ARGUMENTS .. DIMENSION Y(N,12),YPRIME(N) C .. C .. LOCAL SCALARS .. INTEGER I,J2 C .. C .. EXTERNAL SUBROUTINES .. EXTERNAL F C .. C .. COMMON BLOCKS .. COMMON /MEBDF2/HUSED,NQUSED,NSTEP,NFE,NJE,NDEC,NBSOL,NPSET,NCOSET, + MAXORD,MAXSTEP INTEGER MAXORD,NBSOL,NCOSET,NDEC,NFE,NJE,NPSET,NQUSED,NSTEP C .. DO 20 J2 = 2,L DO 10 I = 1,N Y(I,1) = Y(I,1) + Y(I,J2) 10 CONTINUE 20 CONTINUE T = T + H CALL F(N,T,Y,YPRIME) NFE = NFE + 1 RETURN END SUBROUTINE ITRAT2(Y,N,T,HBETA,ERRBND,ARH,CRATE,TCRATE,M,WORKED, + YMAX,ERROR,SAVE1,SAVE2,PW,MF,MBND,IPIV,LMB,ITOL,RTOL,ATOL) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C .. SCALAR ARGUMENTS .. INTEGER M,N,ITOL LOGICAL WORKED C .. C .. ARRAY ARGUMENTS .. DIMENSION ARH(N),ERROR(N),PW(*),SAVE1(N),SAVE2(N),Y(N,12),YMAX(N) + ,RTOL(1),ATOL(1) INTEGER IPIV(N),MBND(4) C .. C .. LOCAL SCALARS .. INTEGER I C .. C .. EXTERNAL SUBROUTINES .. EXTERNAL F,SOL,DGBSL C .. C .. INTRINSIC FUNCTIONS .. INTRINSIC DMAX1,DMIN1 C .. C .. COMMON BLOCKS .. COMMON /MEBDF2/HUSED,NQUSED,NSTEP,NFE,NJE,NDEC,NBSOL,NPSET,NCOSET, + MAXORD,MAXSTEP INTEGER MAXORD,NBSOL,NCOSET,NDEC,NFE,NJE,NPSET,NQUSED,NSTEP C .. C .. DATA STATEMENTS .. DATA ZERO/0.0D+0/ C .. IF(LMB.EQ.1) GOTO 25 DO 10 I = 1,N SAVE1(I) = -SAVE1(I) + HBETA*SAVE2(I) + ARH(I) 10 CONTINUE IF(MF.GE.23) THEN CALL DGBSL(PW, MBND(4),N,MBND(1),MBND(2),IPIV,SAVE1,0) NBSOL = NBSOL + 1 ELSE CALL SOL(N,N,PW,SAVE1,IPIV) NBSOL = NBSOL + 1 ENDIF D = ZERO DO 20 I = 1,N AYI = DABS(Y(I,1)) ERROR(I) = ERROR(I) + SAVE1(I) IF(ITOL.EQ.1) THEN D = D + (SAVE1(I)/(YMAX(I)))**2 ELSE IF(ITOL.EQ.2) THEN D = D + (SAVE1(I)/(RTOL(1)*AYI + ATOL(1)))**2 ELSE IF(ITOL.EQ.3) THEN D = D + (SAVE1(I)/(RTOL(1)*AYI + ATOL(I)))**2 ELSE IF(ITOL.EQ.4) THEN D = D + (SAVE1(I)/(RTOL(I)*AYI + ATOL(1)))**2 ELSE IF(ITOL.EQ.5) THEN D = D + (SAVE1(I)/(RTOL(I)*AYI + ATOL(I)))**2 ENDIF SAVE1(I) = Y(I,1) + ERROR(I) 20 CONTINUE IF(ITOL.EQ.1) D=D/(RTOL(1)**2) TCRATE = TCRATE + CRATE D1 = D M = 1 CALL F(N,T,SAVE1,SAVE2) NFE = NFE + 1 25 CONTINUE WORKED = .TRUE. 30 DO 40 I = 1,N SAVE1(I) = -SAVE1(I) + HBETA*SAVE2(I) + ARH(I) 40 CONTINUE C C IF WE ARE HERE THEN PARTIALS ARE O.K. C IF( MF.GE. 23) THEN CALL DGBSL(PW,MBND(4),N,MBND(1),MBND(2),IPIV,SAVE1,0) NBSOL=NBSOL + 1 ELSE CALL SOL(N,N,PW,SAVE1,IPIV) NBSOL = NBSOL + 1 ENDIF C C WE NOW CALCULATE A WEIGHTED RMS TYPE NORM C D = ZERO DO 50 I = 1,N AYI = DABS(Y(I,1)) ERROR(I) = ERROR(I) + SAVE1(I) IF(ITOL.EQ.1) THEN D = D + (SAVE1(I)/(YMAX(I)))**2 ELSE IF(ITOL.EQ.2) THEN D = D + (SAVE1(I)/(RTOL(1)*AYI + ATOL(1)))**2 ELSE IF(ITOL.EQ.3) THEN D = D + (SAVE1(I)/(RTOL(1)*AYI + ATOL(I)))**2 ELSE IF(ITOL.EQ.4) THEN D = D + (SAVE1(I)/(RTOL(I)*AYI + ATOL(1)))**2 ELSE IF(ITOL.EQ.5) THEN D = D + (SAVE1(I)/(RTOL(I)*AYI + ATOL(I)))**2 ENDIF SAVE1(I) = Y(I,1) + ERROR(I) 50 CONTINUE IF(ITOL.EQ.1) D=D/(RTOL(1)**2) C ------------------------------------------------------------------- C TEST FOR CONVERGENCE. IF M.GT.0 , AN ESTIMATE OF THE CONVERGENCE C RATE CONSTANT IS STORED IN CRATE, AND THIS IS USED IN THE TEST. C ------------------------------------------------------------------- IF (M.NE.0) THEN IF (D1.NE.ZERO) CRATE = DMAX1(0.9D+0*CRATE,D/D1) END IF TCRATE = TCRATE + CRATE IF ((D*DMIN1(1.0D+0,2.0D+0*CRATE)).LT.ERRBND/dfloat(nqused+1)) + RETURN IF (M.NE.0) THEN IF (D.GT.D1) THEN WORKED = .FALSE. RETURN END IF END IF D1 = D IF (M.EQ.4) THEN WORKED = .FALSE. RETURN END IF M = M + 1 CALL F(N,T,SAVE1,SAVE2) NFE = NFE + 1 GO TO 30 END SUBROUTINE STIFF(H,HMAX,HMIN,JSTART,KFLAG,MF,MBND,T,TOUT, + TEND,Y,N,YMAX,ERROR,SAVE1,SAVE2,PW,PWCOPY,YHOLD, + YNHOLD,ARH,IPIV,LOUT,MAXDER,ITOL,RTOL,ATOL) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C ------------------------------------------------------------------ C STIFF PERFORMS ONE STEP OF THE INTEGRATION OF AN INITIAL VALUE C PROBLEM FOR A SYSTEM OF ORDINARY DIFFERENTIAL EQUATIONS. C COMMUNICATION WITH STIFF IS DONE WITH THE FOLLOWING VARIABLES.. C Y AN N BY LMAX+3 ARRAY CONTAINING THE DEPENDENT VARIABLES C AND THEIR BACKWARD DIFFERENCES. LMAX-1 =MAXDER IS THE C MAXIMUM ORDER AVAILABLE. SEE SUBROUTINE COSET. C Y(I,J+1) CONTAINS THE JTH BACKWARD DIFFERENCE OF Y(I) C T THE INDEPENDENT VARIABLE. T IS UPDATED ON EACH STEP TAKEN. C H THE STEPSIZE TO BE ATTEMPTED ON THE NEXT STEP. C H IS ALTERED BY THE ERROR CONTROL ALGORITHM DURING C THE PROBLEM. H CAN BE EITHER POSITIVE OR NEGATIVE BUT C ITS SIGN MUST REMAIN CONSTANT THROUGHOUT THE PROBLEM. C HMIN THE MINIMUM AND MAXIMUM ABSOLUTE VALUE OF THE STEPSIZE C HMAX TO BE USED FOR THE STEP. THESE MAY BE CHANGED AT ANY C TIME BUT WILL NOT TAKE EFFECT UNTIL THE NEXT H CHANGE. C RTOL,ATOL THE ERROR BOUNDS. SEE DESCRIPTION IN OVDRIV. C UROUND THE UNIT ROUNDOFF OF THE MACHINE. C N THE NUMBER OF FIRST ORDER DIFFERENTIAL EQUATIONS. C MF THE METHOD FLAG. MUST BE SET TO 21,22,23 OR 24 AT PRESENT C KFLAG A COMPLETION CODE WITH THE FOLLOWING MEANINGS.. C 0 THE STEP WAS SUCCESSFUL C -1 THE REQUESTED ERROR COULD NOT BE ACHIEVED C WITH ABS(H) = HMIN. C -2 THE REQUESTED ERROR IS SMALLER THAN CAN C BE HANDLED FOR THIS PROBLEM. C -3 CORRECTOR CONVERGENCE COULD NOT BE C ACHIEVED FOR ABS(H)=HMIN. C ON A RETURN WITH KFLAG NEGATIVE, THE VALUES OF T AND C THE Y ARRAY ARE AS AT THE BEGINNING OF THE LAST C STEP ATTEMPTED, AND H IS THE LAST STEP SIZE ATTEMPTED. C JSTART AN INTEGER USED ON INPUT AND OUTPUT. C ON INPUT IT HAS THE FOLLOWING VALUES AND MEANINGS.. C 0 PERFORM THE FIRST STEP. C .GT.0 TAKE A NEW STEP CONTINUING FROM THE LAST C .LT.0 TAKE THE NEXT STEP WITH A NEW VALUE OF H OR N. C ON EXIT, JSTART IS NQUSED, THE ORDER OF THE METHOD LAST USED. C YMAX AN ARRAY OF N ELEMENTS WITH WHICH THE ESTIMATED LOCAL C ERRORS IN Y ARE COMPARED C ERROR AN ARRAY OF N ELEMENTS. C SAVE1,2 TWO ARRAYS OF WORKING SPACE BOTH OF LENGTH N. C PW A BLOCK OF LOCATIONS USED FOR PARTIAL DERIVATIVES C IPIV AN INTEGER ARRAY OF LENGTH N USED FOR PIVOT INFORMATION. C JNEWIM IS TO INDICATE IF PRESENT ITERATION MATRIX C WAS FORMED USING A NEW J OR OLD J. C JSNOLD KEEPS TRACK OF NO. OF STEPS TAKEN WITH C PRESENT ITERATION MATRIX (BE IT FORMED BY C A NEW J OR NOT). C AVNEWJ STORES VALUE FOR AVERAGE CRATE WHEN ITERATION C MATRIX WAS FORMED BY A NEW J. C AVOLDJ STORES VALUE FOR AVERAGE CRATE WHEN ITERATION C MATRIX WAS FORMED BY AN OLD J. C NRENEW FLAG THAT IS USED IN COMMUNICATION WITH SUBROUTINE PSET. C IF NRENEW > 0 THEN FORM A NEW JACOBIAN BEFORE C COMPUTING THE COEFFICIENT MATRIX FOR C THE NEWTON-RAPHSON ITERATION C = 0 FORM THE COEFFICIENT MATRIX USING A C COPY OF AN OLD JACOBIAN C NEWPAR FLAG USED IN THIS SUBROUTINE TO INDICATE IF A JACOBIAN C HAS BEEN EVALUATED FOR THE CURRENT STEP C ********************************************************************** C .. SCALAR ARGUMENTS .. INTEGER JSTART,KFLAG,LOUT,MF,N,ITOL C .. C .. ARRAY ARGUMENTS .. DIMENSION HSTPSZ(2,14) DIMENSION ARH(N),ERROR(N),PW(*),PWCOPY(*),SAVE1(N),SAVE2(N), + Y(N,12), YHOLD(N,12),YMAX(N),YNHOLD(N,2),RTOL(1),ATOL(1) INTEGER IPIV(N), MBND(4) C .. C .. LOCAL SCALARS .. INTEGER I,IER,IITER,IITER2,IREDO,ITST,J,J1,J2,KFAIL,LL,LMAX, + M3STEP,MAXDER,METH,MFOLD,MITER,NEWQ LOGICAL FINISH,OVRIDE,WORKED C .. C .. LOCAL ARRAYS .. DIMENSION EL(10),ELST(10),TQ(4) C .. C .. EXTERNAL SUBROUTINES .. EXTERNAL COSET,CPYARY,ERRORS,F,HCHOSE,ITRAT2, + PRDICT,PSET,RSCALE,SOL,DGBSL C .. C .. INTRINSIC FUNCTIONS .. INTRINSIC DABS,DMAX1,DMIN1 C .. C .. COMMON BLOCKS .. COMMON/STPSZE/HSTPSZ COMMON /FAILS/NFAIL1,NFAIL2,NT COMMON /MACHNE/UROUND,EPSJAC COMMON /MEBDF2/HUSED,NQUSED,NSTEP,NFE,NJE,NDEC,NBSOL,NPSET,NCOSET, + MAXORD,MAXSTEP COMMON /MEBDF3/IWEVAL,NEWPAR,NRENEW,JSINUP,JSNOLD,IDOUB,JCHANG,L, + NQ COMMON /MEBDF4/M1,M2,MEQC1,MEQC2,MQ1TMP,MQ2TMP,ISAMP COMMON /MEBDF5/QI,RC,RH,RMAX,TOLD COMMON /MEBDF6/CRATE1,CRATE2,TCRAT1,TCRAT2,AVNEW2,AVOLD2,AVNEWJ, + AVOLDJ COMMON /MEBDFL/CFAIL,JNEWIM,SAMPLE COMMON/TYPE/LINEAR INTEGER IDOUB,ISAMP,IWEVAL,JCHANG,JSINUP,JSNOLD,L,M1,M2,MAXORD, + MEQC1,MEQC2,MQ1TMP,MQ2TMP,NBSOL,NCOSET,NDEC,NEWPAR,NFAIL1, + NFAIL2,NFE,NJE,NPSET,NQ,NQUSED,NRENEW,NSTEP,NT LOGICAL CFAIL,JNEWIM,SAMPLE,LINEAR C .. C .. SAVE STATEMENT .. SAVE MFOLD,HOLD,LMAX,EDN,EUP,BND,EL,TQ,ELST,E C .. C .. DATA STATEMENTS .. DATA EL(2),ELST(2),OLDLO/3*1.0D+0/ DATA ZERO,ONE/0.0D+0,1.0D+0/ C .. TOLD = T KFLAG = 0 IF (JSTART.GT.0) GO TO 60 IF (JSTART.NE.0) GO TO 30 C ------------------------------------------------------------------ C ON THE FIRST CALL, THE ORDER IS SET TO 1 AND THE INITIAL YDOT C IS CALCULATED. RMAX IS THE MAXIMUM RATIO BY WHICH H CAN BE C INCREASED IN A SINGLE STEP. RMAX IS SET EQUAL TO 1.D4 INITIALLY C TO COMPENSATE FOR THE SMALL INITIAL H, BUT THEN IS NORMALLY = 10. C IF A FAILURE OCCURS (IN CORRECTOR CONVERGENCE OR ERROR TEST), C RMAX IS SET AT 2. FOR THE NEXT INCREASE. C ------------------------------------------------------------------ CALL F(N,T,Y,SAVE1) DO 10 I = 1,N Y(I,2) = H*SAVE1(I) 10 CONTINUE METH = 2 MITER = MF - 10*METH IBND=5 UPBND=0.2D+0 IF(MF.GT.22) UPBND=0.1D+0 NQ = 1 L = 2 IDOUB = 3 KFAIL = 0 RMAX = 10000.0D+0 RC = ZERO CRATE1 = 0.1d+0 CRATE2 = 0.1d+0 JSNOLD = 0 JNEWIM = .TRUE. TCRAT1 = ZERO TCRAT2 = ZERO VTOL=DMAX1(RTOL(1),ATOL(1))/10.0D+0 DO 15 I=1,12 HSTPSZ(1,I)=1.0D+0 HSTPSZ(2,I)=VTOL 15 CONTINUE HOLD = H MFOLD = MF NSTEP = 0 NFE = 1 NJE = 0 NDEC = 0 NPSET = 0 NCOSET = 0 MAXORD = 1 NFAIL1 = 0 NFAIL2 = 0 CFAIL = .TRUE. AVNEWJ = ZERO AVOLDJ = ZERO AVNEW2 = ZERO AVOLD2 = ZERO SAMPLE = .FALSE. ISAMP = 0 C ************************************************** C CFAIL=.TRUE. ENSURES THAT WE CALCULATE A NEW C J ON THE FIRST CALL. C ************************************************** MEQC1 = 0 MEQC2 = 0 MQ1TMP = 0 MQ2TMP = 0 NBSOL = 0 C ----------------------------------------------------------------- C IF THE CALLER HAS CHANGED N , THE CONSTANTS E, EDN, EUP C AND BND MUST BE RESET. E IS A COMPARISON FOR ERRORS AT THE C CURRENT ORDER NQ. EUP IS TO TEST FOR INCREASING THE ORDER, C EDN FOR DECREASING THE ORDER. BND IS USED TO TEST FOR CONVERGENCE C OF THE CORRECTOR ITERATES. IF THE CALLER HAS CHANGED H, Y MUST C BE RE-SCALED. IF H IS CHANGED, IDOUB IS SET TO L+1 TO PREVENT C FURTHER CHANGES IN H FOR THAT MANY STEPS. C ----------------------------------------------------------------- CALL COSET(NQ,EL,ELST,TQ) LMAX = MAXDER + 1 RC = RC*EL(1)/OLDLO OLDLO = EL(1) IWEVAL = MITER NRENEW = 1 NEWPAR = 0 C ***************************************************** C NRENEW AND NEWPAR ARE TO INSTRUCT ROUTINE THAT C WE WISH A NEW J TO BE CALCULATED FOR THIS STEP. C ***************************************************** CALL ERRORS(N,TQ,EDN,E,EUP,BND) DO 20 I = 1,N ARH(I) = EL(2)*Y(I,1) 20 CONTINUE CALL CPYARY(N*L,Y,YHOLD) QI = H*EL(1) QQ = ONE/QI CALL PRDICT(T,H,Y,L,N,SAVE2) GO TO 110 C >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> C DIFFERENT PARAMETERS ON THIS CALL < C <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30 CALL CPYARY(N*L,YHOLD,Y) IF (MF.NE.MFOLD) THEN METH = MF/10 MITER = MF - 10*METH MFOLD = MF IWEVAL = MITER END IF IF (H.NE.HOLD) THEN RH = H/HOLD H = HOLD IREDO = 3 GO TO 50 ELSE GO TO 60 END IF C ********************************************* C RE-SCALE Y AFTER A CHANGE OF STEPSIZE * C ********************************************* 40 RH = DMAX1(RH,HMIN/DABS(H)) 50 RH = DMIN1(RH,HMAX/DABS(H),RMAX) CALL RSCALE(N,L,RH,Y) RMAX = 10.0D+0 JCHANG = 1 H = H*RH RC = RC*RH IF (JSNOLD.GT.IBND) THEN CFAIL = .TRUE. NEWPAR = 0 RC = ZERO C ********************************************************************** C CFAIL=TRUE AND NEWPAR=0 SHOULD FORCE A NEW J TO BE EVALUATED C AFTER 7 STEPS WITH AN OLD J, IF WE HAVE HAD A FAILURE OF ANY C KIND ON THE FIRST, SECOND OR THIRD STAGE OF THE CURRENT STEP C ********************************************************************** END IF IDOUB = L + 1 CALL CPYARY(N*L,Y,YHOLD) 60 IF (DABS(RC-ONE).GT.UPBND) IWEVAL = MITER C ------------------------------------------------------------------ C THIS SECTION COMPUTES THE PREDICTED VALUES OF Y C AND THE RHS, ARH, FOR USE IN THE NEWTON ITERATION SCHEME. C RC IS THE RATIO OF THE NEW TO OLD VALUES OF THE COEFFICIENT C H*EL(1). WHEN RC DIFFERS FROM 1 BY MORE THAN 20 PERCENT, IWEVAL IS C SET TO MITER TO FORCE THE PARTIALS TO BE UPDATED. C ------------------------------------------------------------------ QI = H*EL(1) QQ = ONE/QI DO 70 I = 1,N ARH(I) = EL(2)*Y(I,1) 70 CONTINUE DO 90 J1 = 2,NQ JP1 =J1+1 DO 80 I = 1,N ARH(I) = ARH(I) + EL(JP1)*Y(I,J1) 80 CONTINUE 90 CONTINUE IF (JCHANG.EQ.1) THEN C IF WE HAVE CHANGED STEPSIZE THEN PREDICT A VALUE FOR Y(T+H) C AND EVALUATE THE DERIVATIVE THERE (STORED IN SAVE2()) CALL PRDICT(T,H,Y,L,N,SAVE2) ELSE C ELSE USE THE VALUES COMPUTED FOR THE SECOND BDF FROM THE LAST C STEP. Y( ,LMAX+2) HOLDS THE VALUE FOR THE DERIVATIVE AT (T+H) C AND Y( ,LMAX+3) HOLDS THE APPROXIMATION TO Y AT THIS POINT. LMP2=LMAX+2 LMP3=LMAX+3 DO 100 I = 1,N SAVE2(I) = Y(I,LMP2) Y(I,1) = Y(I,LMP3) 100 CONTINUE T = T + H END IF 110 IF (IWEVAL.LE.0) GO TO 120 C ------------------------------------------------------------------- C IF INDICATED, THE MATRIX P = I - H*EL(2)*J IS RE-EVALUATED BEFORE C STARTING THE CORRECTOR ITERATION. IWEVAL IS SET = 0 TO INDICATE C THAT THIS HAS BEEN DONE. P IS COMPUTED AND PROCESSED IN PSET. C THE PROCESSED MATRIX IS STORED IN PW C ------------------------------------------------------------------- IWEVAL = 0 RC = ONE IITER = MEQC1 - MQ1TMP IITER2 = MEQC2 - MQ2TMP IF (JNEWIM) THEN IF (JSNOLD.GE.3) THEN AVNEWJ = TCRAT1/DBLE(FLOAT(IITER)) AVNEW2 = TCRAT2/DBLE(FLOAT(IITER2)) ELSE AVNEWJ = ONE AVNEW2 = ONE END IF ELSE C C MATRIX P WAS FORMED WITH A COPY OF J C IF (JSNOLD.GE.3) THEN AVOLDJ = TCRAT1/DBLE(FLOAT(IITER)) AVOLD2 = TCRAT2/DBLE(FLOAT(IITER2)) IF (AVOLDJ.LT.AVNEWJ) THEN AVNEWJ = AVOLDJ ELSE IF (((DABS(AVOLDJ-AVNEWJ)).GT.0.3D+0) .OR. + ((AVOLDJ.GT.0.85D+0).AND. (AVOLDJ.NE.ONE))) THEN C C SINCE IN CERTAIN INSTANCES AVOLDJ WILL C BE 1.0 AND THERE WILL BE NO NEED TO C UPDATE J. C CFAIL = .TRUE. CRATE1 = 0.1d+0 CRATE2 = 0.1D+0 END IF ELSE CFAIL = .TRUE. CRATE1 = 0.1d+0 CRATE2 = 0.1D+0 C C ********************************************************* C IF WE HAVE REACHED HERE THINGS MUST HAVE GONE WRONG C ********************************************************* C END IF END IF TCRAT1 = ZERO TCRAT2 = ZERO IF (CFAIL) THEN NRENEW = 1 NEWPAR = 1 JSINUP = -1 JNEWIM = .TRUE. ELSE IF(LINEAR) THEN NRENEW = 0 JNEWIM = .FALSE. END IF END IF CFAIL = .FALSE. JSNOLD = 0 MQ1TMP = MEQC1 MQ2TMP = MEQC2 CALL PSET(Y,N,H,T,UROUND,EPSJAC,-QI,MITER,MBND,IER,NRENEW, + YMAX,SAVE1,SAVE2,PW,PWCOPY,ERROR,IPIV,ITOL,RTOL,ATOL) C NOTE THAT ERROR() IS JUST BEING USED AS A WORKSPACE BY PSET IF (IER.NE.0) THEN C IF IER>0 THEN WE HAVE HAD A SINGULARITY IN THE ITERATION MATRIX IJUS=1 RED=0.5D+0 GO TO 450 END IF 120 DO 130 I = 1,N SAVE1(I) = Y(I,1) ERROR(I) = ZERO 130 CONTINUE M1 = 0 C ********************************************************************** C UP TO 4 CORRECTOR ITERATIONS ARE TAKEN. A CONVERGENCE TEST IS MADE C ON THE R.M.S. NORM OF EACH CORRECTION ,USING BND, WHICH DEPENDS C ON ATOL AND RTOL. THE SUM OF THE CORRECTIONS IS ACCUMULATED IN THE C VECTOR ERROR(I). THE Y ARRAY IS NOT ALTERED IN THE CORRECTOR C LOOP. THE UPDATED Y VECTOR IS STORED TEMPORARILY IN SAVE1. C ********************************************************************** IF (.NOT.SAMPLE) THEN CALL ITRAT2(Y,N,T,QI,BND,ARH,CRATE1,TCRAT1,M1,WORKED,YMAX, + ERROR,SAVE1,SAVE2,PW,MF,MBND,IPIV,1,ITOL,RTOL,ATOL) ITST = 2 ELSE CALL ITRAT2(Y,N,T,QI,BND,ARH,CRATE1,TCRAT1,M1,WORKED,YMAX, + ERROR,SAVE1,SAVE2,PW,MF,MBND,IPIV,0,ITOL,RTOL,ATOL) ITST = 3 END IF MEQC1 = MEQC1 + M1 + 1 C C NOW TEST TO SEE IF IT WAS SUCCESSFUL OR NOT C C IF (.NOT.WORKED) THEN NFAIL1 = NFAIL1 + 1 C ********************************************************************** C THE CORRECTOR ITERATION FAILED TO CONVERGE IN 4 TRIES. IF C PARTIALS ARE NOT UP TO DATE, THEY ARE RE-EVALUATED FOR THE C NEXT TRY. OTHERWISE THE Y ARRAY IS REPLACED BY ITS VALUES C BEFORE PREDICTION AND H IS REDUCED IF POSSIBLE. IF NOT A C NON-CONVERGENCE EXIT IS TAKEN C ********************************************************************** IF (IWEVAL.EQ.-1) THEN C HAVE BEEN USING OLD PARTIALS, UPDATE THEM AND TRY AGAIN IWEVAL = MITER CFAIL = .TRUE. CALL F(N,T,Y,SAVE2) NFE = NFE + 1 GO TO 110 END IF IJUS=0 RED=0.5D+0 c write(6,4433) 4433 format(1x,'failed at step 1') GO TO 450 END IF IWEVAL = -1 HUSED = H NQUSED = NQ DO 140 I = 1,N SAVE2(I) = (SAVE1(I)-ARH(I))*QQ Y(I,1) = SAVE1(I) 140 CONTINUE C C UPDATE THE DIFFERENCES AT N+1 C DO 160 J = 2,L JM1 = J-1 DO 150 I = 1,N Y(I,J) = Y(I,JM1) - YHOLD(I,JM1) 150 CONTINUE 160 CONTINUE C C COMPUTE ERROR IN THE SOLUTION C D = ZERO DO 170 I = 1,N IF(ITOL.EQ.1) THEN VHOLD = YMAX(I) ELSE IF(ITOL.EQ.2) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.3) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(I) ELSE IF(ITOL.EQ.4) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.5) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(I) ENDIF D = D + ((Y(I,L)-YHOLD(I,L))/VHOLD)**2 170 CONTINUE C C STORING Y FROM FIRST STEP FOR USE IN THIRD STEP C IF(ITOL .EQ. 1) D = D/(RTOL(1)**2) IF(D.GT.E) GOTO 330 DO 180 I = 1,N YNHOLD(I,1) = Y(I,1) YNHOLD(I,2) = SAVE2(I) 180 CONTINUE KFAIL = 0 IREDO = 0 C ---------------------------------------------------------------------- DO 190 I = 1,N ARH(I) = EL(2)*Y(I,1) 190 CONTINUE DO 210 J1 = 2,NQ JP1 = J1+1 DO 200 I = 1,N ARH(I) = ARH(I) + EL(JP1)*Y(I,J1) 200 CONTINUE 210 CONTINUE CALL PRDICT(T,H,Y,L,N,SAVE2) DO 220 I = 1,N SAVE1(I) = Y(I,1) ERROR(I) = ZERO 220 CONTINUE M2 = 0 C C FOR NOW WILL ASSUME THAT WE DO NOT WISH TO SAMPLE C AT THE N+2 STEP POINT C CALL ITRAT2(Y,N,T,QI,BND,ARH,CRATE2,TCRAT2,M2,WORKED,YMAX, + ERROR,SAVE1,SAVE2,PW,MF,MBND,IPIV,1,ITOL,RTOL,ATOL) MEQC2 = MEQC2 + M2 + 1 C C NOW CHECK TO SEE IF IT WAS SUCCESSFUL OR NOT C IF (.NOT.WORKED) THEN NFAIL2 = NFAIL2 + 1 IJUS=0 RED=0.5D+0 c write(6,7777) 7777 format(1x,'have failed on step 2') GOTO 450 END IF C C IF WE ARE DOWN TO HERE THEN THINGS MUST HAVE CONVERGED C LMP2=LMAX+2 LMP3=LMAX+3 DO 230 I = 1,N Y(I,LMP2) = (SAVE1(I)-ARH(I))*QQ Y(I,LMP3) = SAVE1(I) 230 CONTINUE goto 18000 IF ((M2.GE.2) .AND. (CRATE2.LT.0.35D+0)) THEN DO 250 J = 2,NQ DO 240 I = 1,N SAVE1(I) = SAVE1(I) - Y(I,J) 240 CONTINUE 250 CONTINUE DSTEP2 = ZERO DO 260 I = 1,N IF(ITOL.EQ.1) THEN VHOLD = YMAX(I) ELSE IF(ITOL.EQ.2) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.3) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(I) ELSE IF(ITOL.EQ.4) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.5) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(I) ENDIF DSTEP2 = DSTEP2 + ((SAVE1(I)-YNHOLD(I,1)-Y(I,L))/VHOLD)**2 260 CONTINUE IF(ITOL .EQ. 1) DSTEP2 = DSTEP2/(RTOL(1)**2) EBDF2 = 0.5D+0/DBLE(FLOAT(L)) PRBDF2 = ((DSTEP2/ (E*0.5D+0))**EBDF2)*1.5D+0 + 1.6D-6 RHBDF2 = ONE/PRBDF2 CALL HCHOSE(RHBDF2,H,OVRIDE) IF (RHBDF2.LT.0.9D+0) THEN IJUS=1 RED=RHBDF2 c write(6,9999) 9999 format(1x,'no convergence step 2') GOTO 450 END IF END IF 18000 continue C C WE ARE NOW COMPUTING THE THIRD STAGE C LL = L + 1 T = TOLD + H DELST = ELST(1)-EL(1) NQP2 = NQ+2 LMP2=LMAX+2 DO 280 I=1,N ARH(I) = H* (ELST(NQP2)*Y(I,LMP2)+ + (DELST)*YNHOLD(I,2)) DO 270 J1 = 1,NQ ARH(I) = ARH(I) + ELST(J1+1)*YHOLD(I,J1) 270 CONTINUE 280 CONTINUE DO 290 I = 1,N SAVE2(I) = YNHOLD(I,2) Y(I,1) = YNHOLD(I,1) 290 CONTINUE M3STEP = 0 300 DO 310 I = 1,N SAVE1(I) = -Y(I,1) + QI*SAVE2(I) + ARH(I) 310 CONTINUE IF (MF.GE. 23) THEN CALL DGBSL(PW,MBND(4),N,MBND(1),MBND(2),IPIV,SAVE1,0) NBSOL=NBSOL+1 ELSE CALL SOL(N,N,PW,SAVE1,IPIV) NBSOL = NBSOL + 1 ENDIF D = ZERO DO 320 I = 1,N IF(ITOL.EQ.1) THEN VHOLD = YMAX(I) ELSE IF(ITOL.EQ.2) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.3) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(I) ELSE IF(ITOL.EQ.4) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.5) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(I) ENDIF D = D + (SAVE1(I)/VHOLD)**2 Y(I,1) = Y(I,1) + SAVE1(I) 320 CONTINUE IF(ITOL .EQ. 1) D = D/(RTOL(1)**2) IF ((D*DMIN1(ONE,2.0D+0*CRATE1)).LE.BND) GO TO 360 IF (M3STEP.EQ.4) THEN c WRITE (LOUT,9000) IJUS=1 RED=0.5D+0 c write(6,88889) 88889 format(1x,'step 3 fals') GO TO 450 END IF M3STEP = M3STEP + 1 CALL F(N,T,Y,SAVE2) NFE = NFE + 1 GO TO 300 330 KFAIL = KFAIL - 1 C ********************************************************************** C THE ERROR TEST FAILED. KFAIL KEEPS TRACK OF MULTIPLE FAILURES. C RESTORE T AND THE Y ARRAY TO THEIR PREVIOUS VALUES AND PREPARE TO C TRY THE STEP AGAIN. COMPUTE THE OPTIMAL STEP SIZE FOR THIS ORDER C AND ONE ORDER LOWER. C ********************************************************************** T = TOLD HOLD = H EFAIL = 0.5D+0/DBLE(FLOAT(L)) CALL CPYARY(N*L,YHOLD,Y) RMAX = 2.0D+0 IF (DABS(H).LE.HMIN*1.00001D+0) THEN C C REQUESTED ERROR NOT POSSIBLE WITH GIVEN HMIN C KFLAG = -1 HOLD = H RETURN END IF IF (KFAIL.LE.-3) GO TO 340 IREDO = 2 C C PREDICTING A NEW H AFTER INSUFFICIENT ACCURACY C PRFAIL = ((D/(0.2D+0*E))**EFAIL)*1.5D+0 + 1.6D-6 NEWQ = NQ RH = ONE/ (PRFAIL*DBLE(FLOAT(-KFAIL))) CALL HCHOSE(RH,H,OVRIDE) GO TO 40 C ********************************************************************** C CONTROL REACHES THIS STAGE IF 3 OR MORE FAILURES HAVE OCCURED. C IT IS ASSUMED THAT THE DERIVATIVES THAT HAVE ACCUMULATED IN THE Y C ARRAY HAVE ERRORS OF THE WRONG ORDER. HENCE THE FIRST DERIVATIVE C IS RE-COMPUTED, AND THE ORDER IS SET TO 1. THEN H IS REDUCED BY A C FACTOR OF 10, AND THE STEP IS RETRIED. AFTER A TOTAL OF 7 C FAILURES AN EXIT IS TAKEN WITH KFLAG=-2. C ********************************************************************** 340 IF (KFAIL.EQ.-7) THEN C ERROR SMALLER THAN CAN BE HANDLED FOR PROBLEM KFLAG = -2 HOLD = H RETURN END IF C ********************************* C START FROM ORDER 1 AGAIN * C ********************************* JCHANG = 1 RH = DMAX1(HMIN/DABS(H),0.1D+0) CALL HCHOSE(RH,H,OVRIDE) H = H*RH CALL F(N,T,YHOLD,SAVE1) NFE = NFE + 1 DO 350 I = 1,N Y(I,1) = YHOLD(I,1) Y(I,2) = H*SAVE1(I) YHOLD(I,2) = Y(I,2) 350 CONTINUE IWEVAL = MITER CFAIL = .TRUE. C SINCE WE HAVE HAD PROBLEMS PROCEED WITH THIS ORDER C FOR 10 STEPS (IF WE CAN) IDOUB = 10 IF (NQ.EQ.1) GO TO 60 NQ = 1 L = 2 C RESET ORDER, RECALCULATE ERROR BOUNDS CALL COSET(NQ,EL,ELST,TQ) LMAX = MAXDER + 1 RC = RC*EL(1)/OLDLO OLDLO = EL(1) CALL ERRORS(N,TQ,EDN,E,EUP,BND) C NOW JUMP TO NORMAL CONTINUATION POINT GO TO 60 C ********************************************************************** C THE ITERATION FOR THE CORRECTED SOLUTION HAS CONVERGED. C UPDATE THE Y ARRAY. C ********************************************************************** 360 CONTINUE DO 380 J2 = 2,LL J2M1=J2-1 DO 370 I = 1,N Y(I,J2) = Y(I,J2M1) - YHOLD(I,J2M1) 370 CONTINUE 380 CONTINUE C --------------------------------------------------------------------- C IF THE COUNTER IDOUB EQUALS 2 AND WE ARE NOT ALREADY USING THE C MAXIMUM ALLOWABLE ORDER , STORE Y(I,LMAX+4) WHICH IS USED IN C ASSESSING THE POSSIBILITY OF INCREASING THE ORDER. IF IDOUB = 0 C CONTROL PASSES TO 480 WHERE AN ATTEMPT TO CHANGE THE STEPSIZE AND C ORDER IS MADE. C ---------------------------------------------------------------------- IF (IDOUB.EQ.2.AND.L.NE.LMAX) THEN LMP4=LMAX+4 DO 390 I = 1,N Y(I,LMP4) = Y(I,LL) 390 CONTINUE END IF IDOUB = IDOUB - 1 TRANGE=(TEND-TOLD-H)*H IF(TRANGE.LT.0.0D+0) THEN IDOUB = IDOUB + 2 GOTO 440 ENDIF JCHANG = 0 IF (IDOUB.EQ.0) THEN SAMPLE = .FALSE. ISAMP = ISAMP + 1 IF (ISAMP.EQ.4) THEN SAMPLE = .TRUE. ISAMP = 0 END IF C ********************************************************************** C NOW COMPUTE THE FACTORS PR1, PR2 AND PR3, BY WHICH C H COULD BE DIVIDED AT ORDER NQ-1, ORDER NQ AND ORDER NQ+1 C RESPECTIVELY. THE SMALLEST OF THESE IS DETERMINED AND THE NEW C ORDER CHOSEN ACCORDINGLY. IF THE ORDER IS TO BE INCREASED WE C MUST COMPUTE ONE MORE BACKWARD DIFFERENCE. C ********************************************************************** PR3 = 1.D+20 IF (L.NE.LMAX) THEN LMP4=LMAX+4 DUP = ZERO DO 400 I = 1,N IF(ITOL.EQ.1) THEN VHOLD = YMAX(I) ELSE IF(ITOL.EQ.2) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.3) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(I) ELSE IF(ITOL.EQ.4) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.5) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(I) ENDIF DUP = DUP + ((Y(I,LL)-Y(I,LMP4))/VHOLD)**2 400 CONTINUE IF(ITOL .EQ. 1) DUP = DUP/(RTOL(1)**2) ENQ3 = 0.5D+0/DBLE(FLOAT(L+1)) PR3 = ((DUP/EUP)**ENQ3)*1.7D+0 + 1.8D-6 END IF ENQ2 = 0.5D+0/DBLE(FLOAT(L)) D = ZERO DO 410 I = 1,N IF(ITOL.EQ.1) THEN VHOLD = YMAX(I) ELSE IF(ITOL.EQ.2) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.3) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(I) ELSE IF(ITOL.EQ.4) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.5) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(I) ENDIF D = D + (Y(I,LL)/VHOLD)**2 410 CONTINUE IF(ITOL .EQ.1) D = D/(RTOL(1)**2) PR2 = ((D/E)**ENQ2)*1.5D+0 + 1.6D-6 PR1 = 1.D+20 IF (NQ.GT.1) THEN DDOWN = ZERO DO 57420 I = 1,N IF(ITOL.EQ.1) THEN VHOLD = YMAX(I) ELSE IF(ITOL.EQ.2) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.3) THEN VHOLD = RTOL(1)*DABS(Y(I,1)) + ATOL(I) ELSE IF(ITOL.EQ.4) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(1) ELSE IF(ITOL.EQ.5) THEN VHOLD = RTOL(I)*DABS(Y(I,1)) + ATOL(I) ENDIF DDOWN = DDOWN + (Y(I,L)/VHOLD)**2 57420 CONTINUE IF(ITOL .EQ. 1) DDOWN = DDOWN/(RTOL(1)**2) ENQ1 = 0.5D+0/DBLE(FLOAT(NQ)) PR1 = ((DDOWN/EDN)**ENQ1)*1.6D+0 + 1.7D-6 END IF IF (PR2.LE.PR3) THEN IF (PR2.GT.PR1) THEN NEWQ = NQ - 1 RH = 1.0D+0/PR1 ELSE NEWQ = NQ RH = 1.0D+0/PR2 END IF ELSE IF (PR3.LT.PR1) THEN NEWQ = L RH = 1.0D+0/PR3 ELSE NEWQ = NQ - 1 RH = 1.0D+0/PR1 END IF IF(RH.GT.1.0D+0.AND.RH.LT.1.1D+0) THEN IDOUB=10 NQ=NQUSED L=NQ+1 GOTO 440 ENDIF RH = DMIN1(RH,RMAX) CALL HCHOSE(RH,H,OVRIDE) IF ((JSINUP.LE.20).AND.(KFLAG.EQ.0).AND.(RH.LT.1.1D+0)) THEN C WE HAVE RUN INTO PROBLEMS IDOUB = 10 NQ = NQUSED L = NQ + 1 GO TO 440 END IF C ********************************************************************** C IF THERE IS A CHANGE IN ORDER, RESET NQ, L AND THE C COEFFICIENTS. IN ANY CASE H IS RESET AND THE C Y ARRAY IS RE-SCALED C ********************************************************************** IF (NEWQ.NE.NQ) THEN IF (NEWQ.GT.NQ) THEN C ADD AN EXTRA TERM TO THE HISTORY ARRAY DO 430 I = 1,N Y(I,LL) = Y(I,L) - YHOLD(I,L) 430 CONTINUE END IF NQ = NEWQ L = NQ + 1 C RESET ORDER,RECALCULATE ERROR BOUNDS CALL COSET(NQ,EL,ELST,TQ) LMAX = MAXDER + 1 RC = RC*EL(1)/OLDLO OLDLO = EL(1) CALL ERRORS(N,TQ,EDN,E,EUP,BND) END IF C NOW RESCALE THE HISTORY ARRAY FOR THE NEW STEPSIZE RH = DMAX1(RH,HMIN/DABS(H)) RH = DMIN1(RH,HMAX/DABS(H),RMAX) CALL RSCALE(N,L,RH,Y) RMAX = 10.0D+0 JCHANG = 1 H = H*RH RC = RC*RH IF(JSNOLD.GT.IBND) RC=ZERO IDOUB = L + 1 END IF 440 CONTINUE C ---------------------------------------------------------------------- C STORE THE Y ARRAY IN THE MATRIX YHOLD. STORE IN THE Y ARRAY THE C INFORMATION NECESSARY TO PERFORM AN INTERPOLATION TO FIND THE C SOLUTION AT THE SPECIFIED OUTPUT POINT IF APPROPRIATE. C ---------------------------------------------------------------------- CALL CPYARY(N*L,Y,YHOLD) NSTEP = NSTEP + 1 JSINUP = JSINUP + 1 JSNOLD = JSNOLD + 1 JSTART = NQUSED T = TOLD + HUSED HOLD = H KFAIL = 0 NEWPAR = 0 CFAIL = .FALSE. RETURN 450 CONTINUE FINISH = .FALSE. T=TOLD RMAX=2.0D+0 DO 460 J1=1,L DO 460 I=1,N Y(I,J1)=YHOLD(I,J1) 460 CONTINUE IF(DABS(H).LE.HMIN*1.00001D+0) THEN C C CORRECTOR CONVERGENCE COULD NOT BE ACHIEVED C IF(NSTEP.EQ.0) THEN KFLAG=-1 ELSE KFLAG=-3 END IF C C TO SUPPRESS ERROR MESSAGES AT START AS H MAY C HAVE BEEN TOO LARGE ON THE FIRST STEP. C HOLD=H FINISH = .TRUE. END IF RH = RED IREDO=1 C C TRY AGAIN WITH UPDATED PARTIALS C IF(IJUS.EQ.0) CALL HCHOSE(RH,H,OVRIDE) IF(.NOT.FINISH) THEN GO TO 40 ELSE RETURN END IF C ------------------- END OF SUBROUTINE STIFF -------------------------- 9000 FORMAT (1X,' CORRECTOR HAS NOT CONVERGED') END SUBROUTINE RSCALE(N,L,RH,Y) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C .. SCALAR ARGUMENTS .. INTEGER L,N C .. C .. ARRAY ARGUMENTS .. DIMENSION Y(N,12) C .. C .. LOCAL SCALARS .. INTEGER I,J,J1 C .. C .. LOCAL ARRAYS .. DIMENSION DI(8,8) C .. C .. DATA STATEMENTS .. C SUBROUTINE IS FOR RESCALING THE HISTORY ARRAY AFTER A CHANGE IN C STEPSIZE C C N ORDER OF THE PROBLEM C L NUMBER OF TERMS IN THE HISTORY ARRAY TO BE RESCALED C RH RATIO OF THE STEPSIZE CHANGE (I.E. RH = HNEW/HOLD) C Y() THE HISTORY ARRAY C DATA ZERO/0.0D+0/ C .. DI(2,2) = RH IF (L.GT.2) THEN TA = RH*RH DI(2,3) = RH* (1.0D+0-RH)/2.0D+0 DI(3,3) = TA IF (L.GT.3) THEN TB = TA*RH DI(2,4) = RH* ((RH-3.0D+0)*RH+2.0D+0)/6.0D+0 DI(3,4) = TA* (1.0D+0-RH) DI(4,4) = TB IF (L.GT.4) THEN TC = TB*RH DI(2,5) = - (((RH-6.0D+0)*RH+11.0D+0)*RH-6.0D+0)*RH/ + 24.0D+0 DI(3,5) = TA* ((7.0D+0*RH-18.0D+0)*RH+11.0D+0)/12.0D+0 DI(4,5) = 1.5D+0*TB* (1.0D+0-RH) DI(5,5) = TC IF (L.GT.5) THEN TD = TC*RH DI(2,6) = ((((RH-10.0D+0)*RH+35.0D+0)*RH-50.0D+0) + *RH+24.0D+0)*RH/120.0D+0 DI(3,6) = - (((3.0D+0*RH-14.0D+0)*RH+21.0D+0)*RH + -10.0D+0)*TA/12.0D+0 DI(4,6) = ((5.0D+0*RH-12.0D+0)*RH+7.0D+0)*TB/4.0D+0 DI(5,6) = 2.0D+0*TC* (1.0D+0-RH) DI(6,6) = TD IF (L.GT.6) THEN TE = TD*RH DI(2,7) = -RH* (RH-1.0D+0)* (RH-2.0D+0)* + (RH-3.0D+0)*(RH-4.0D+0)*(RH-5.0D+0)/ + 720.0D+0 DI(3,7) = TA* ((((62.0D+0*RH-450.0D+0)*RH+ + 1190.0D+0)*RH-1350.0D+0)*RH+548.0D+0) + /720.0D+0 DI(4,7) = TB* (((-18.0D+0*RH+75.0D+0)*RH + -102.0D+0)*RH+45.0D+0)/24.0D+0 DI(5,7) = TC* ((13.0D+0*RH-30.0D+0)*RH+17.0D+0) + /6.0D+0 DI(6,7) = 2.5D+0*TD* (1.0D+0-RH) DI(7,7) = TE IF (L.GT.7) THEN TF = TE*RH DI(2,8) = RH*(RH-1.0D+0)*(RH-2.0D+0)*(RH + -3.0D+0)*(RH-4.0D+0)*(RH-5.0D+0) + *(RH-6.0D+0)/5040.0D+0 DI(3,8) = TA* ((((((-126.0D+0*RH)+1302.0D+0)*RH- + 5250.0D+0)*RH+10290.0D+0)*RH-9744.0D+0 + )*RH+3528.0D+0)/5040.0D+0 DI(4,8) = TB* ((((43.0D+0*RH-270.0D+0)*RH+ + 625.0D+0)*RH-630.0D+0)*RH+232.0D+0) + /120.0D+0 DI(5,8) = TC* (((-10.0D+0*RH+39.0D+0)*RH- + 50.0D+0)*RH+21.0D+0)/6.0D+0 DI(6,8) = TD* ((20.0D+0*RH-45.0D+0)*RH+25.0D+0 + )/6.0D+0 DI(7,8) = 3.0D+0*TE* (1.0D+0-RH) DI(8,8) = TF END IF END IF END IF END IF END IF END IF DO 30 I = 1,N DO 20 J = 2,L ZZ = ZERO DO 10 J1 = J,L ZZ = ZZ + DI(J,J1)*Y(I,J1) 10 CONTINUE Y(I,J) = ZZ 20 CONTINUE 30 CONTINUE RETURN END SUBROUTINE CPYARY(NELEM,SOURCE,TARGET) IMPLICIT DOUBLE PRECISION(A-H,O-Z) C C COPIES THE ARRAY SOURCE() INTO THE ARRAY TARGET() C C THIS SUBROUTINE COULD BE REPLACED BY THE BLAS ROUTINE SCOPY C (AFTER CHANGING THE ARGUMENT LIST APPROPRIATELY) C C .. SCALAR ARGUMENTS .. INTEGER NELEM C .. C .. ARRAY ARGUMENTS .. DIMENSION SOURCE(NELEM),TARGET(NELEM) C .. C .. LOCAL SCALARS .. INTEGER I C .. DO 10 I = 1,NELEM TARGET(I) = SOURCE(I) 10 CONTINUE RETURN END SUBROUTINE HCHOSE(RH,H,OVRIDE) IMPLICIT DOUBLE PRECISION(A-H,O-Z) COMMON / STPSZE / HSTPSZ(2,14) LOGICAL OVRIDE C C FIRST MOVE ALL ELEMENTS DOWN ONE PLACE C IF (H.NE.HSTPSZ(2,1)) THEN DO 5 I=12,2,-1 I2=I-1 HSTPSZ(1,I)=HSTPSZ(1,I2) 5 HSTPSZ(2,I)=HSTPSZ(2,I2) C C NOW INSERT VALUE OF H USED BEFORE THIS CALL C HSTPSZ(1,2)=H/HSTPSZ(2,1) HSTPSZ(2,1)=H END IF C C NOW DECIDE ON THE NEW CHANGE C IF (RH.GT.1.0D+0) THEN OVRIDE=.FALSE. ELSE IF (HSTPSZ(1,2).LE.1.0D+0) THEN OVRIDE=.FALSE. ELSE IF ((RH*H).LE.HSTPSZ(2,2)) THEN OVRIDE=.FALSE. ELSE RH=HSTPSZ(2,2)/H OVRIDE=.TRUE. END IF HSTPSZ(1,1)=RH RETURN C C ************************************************************ C END this is the end of the mebdf code the next code to be listed is the driver tempdet.f. subroutine method(N,X,Y,XEND,TOL,HMAX,HSTART) C C DRIVER FOR THE SECDER CODE WHICH IS PART OF THE PACKAGE. C IT IS SOMEWHAT LENGTHY BECAUSE ITS INTERRUPT MECHANISM DOES C NOT ALLOW INTERRUPT IMMEDIATELY AFTER ACCEPTING A STEP. C DOUBLE PRECISION HMAX, HSTART, HNEXT, H, X, XEND DOUBLE PRECISION TOL DOUBLE PRECISION Y(N) INTEGER NFCN, NJAC, NLUD, MBND(4) DOUBLE PRECISION TEMP, WORK(600), T0, H0, TOUT,w(20),RTOL +,ATOL INTEGER I, IND, NDIM INTEGER MF,LWORK,LIWORK,IWORK(600) EXTERNAL STATS,DDCOMP,FCN,PDERV EXTERNAL f, jac COMMON /STCOM6/NFCN, NJAC, NLUD common /stcom5/ w,iwt,ndummy,id COMMON /type/ linear logical linear DATA NDIM/20/ c linear=.false. if(id.lt.20) linear=.true. LWORK = 600 LIWORK = 600 MF = 21 H = HSTART TOUT = XEND INDEX = 1 LOUT = 6 MAXDER = 7 ITOL = 1 RTOL=TOL atol=RTOL CALL DRIVER(N,X,H,Y,TOUT,XEND,MF,INDEX,LOUT,LWORK, + WORK,LIWORK,IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) if(index.lt.0) goto 3 2 IF ( X.GE.XEND ) GOTO 3 IF ( X+H.GT.XEND ) THEN INDEX = 2 TOUT = XEND ELSE INDEX = 3 TOUT = XEND ENDIF CALL DRIVER(N,X,H,Y,TOUT,XEND,MF,INDEX,LOUT,LWORK, + WORK,LIWORK,IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) if(index.lt.0) goto 3 TEMP = X CALL STATS( X,Y,TOL ) IF (TEMP.NE.X) GOTO 3 GOTO 2 3 continue return end c SUBROUTINE F(N,T,Y,YDOT) INTEGER N DOUBLE PRECISION T,Y(N),YDOT(N) c CALL FCN(T,Y,YDOT) c RETURN END c SUBROUTINE PDERV(T,Y,DY,N,MBND) INTEGER N, MBND(4) DOUBLE PRECISION T,Y(N),DY(N) c CALL DERV(T,Y,DY) c RETURN END c SUBROUTINE MAXERR(N,T,ERRM,Y) integer n double precision t,errm,y(n) c return end this is the end of the driver. The next code to be listed is the DETEST code which is called by the driver. PROGRAM MAIN REAL TOL(10),TTOL(11) INTEGER OPT(10),IDLIST(60) CHARACTER *80 TITLE COMMON /NUMER / NPRB C EXTERNAL STDTST C DATA TOL / 1.0E-01, 1.0E-02, 1.0E-03, 1.0E-04, 1.0E-05, + 1.0E-06, 1.0E-07, 1.0E-08, 1.0E-09, 1.0E-10 / C IOPT = 2 NORMEF = 2 NUMER = 0 C C NUMER = 0 USE THE ANALYTICAL JACOBIAN C TITLE = ' MEBDF ' IDLIST(1) =11 IDLIST(2) =12 IDLIST(3) =13 IDLIST(4) =14 IDLIST(5) =0 IDLIST(6) =21 IDLIST(7) =22 IDLIST(8) =23 IDLIST(9) =24 IDLIST(10)=25 IDLIST(11)=0 IDLIST(12)=31 IDLIST(13)=32 IDLIST(14)=33 IDLIST(15)=34 IDLIST(16)=35 IDLIST(17)=0 IDLIST(18)=41 IDLIST(19)=42 IDLIST(20)=43 IDLIST(21)=44 IDLIST(22)=45 IDLIST(23)=46 IDLIST(24)=0 IDLIST(25)=51 IDLIST(26)=52 IDLIST(27)=53 IDLIST(28)=54 IDLIST(29)=55 IDLIST(30)=0 IDLIST(31)=61 IDLIST(32)=62 IDLIST(33)=63 IDLIST(34)=64 IDLIST(35)=65 IDLIST(36)=0 IDLIST(37)=0 C NPRB=37 OPT(1) = IOPT OPT(2) = NORMEF OPT(3) = 3 OPT(4) = 0 C TTOL(1) = TOL(2) TTOL(2) = TOL(3) TTOL(3) = TOL(4) TTOL(4) = TOL(5) TTOL(5) = TOL(6) TTOL(6) = TOL(7) TTOL(7) = TOL(8) TTOL(8) = TOL(9) TTOL(9) = TOL(10) CALL STDTST( TITLE, OPT, TTOL, IDLIST, FLAG ) IF (FLAG.GT.0.0) THEN WRITE(6,*)' FLAG=',FLAG ENDIF STOP END C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE STDTST(TITLE,OPTION,TOL,IDLIST,FLAG) C C********+*********+*********+*********+*********+*********+*********+** C G E N E R A L D O C U M E N T A T I O N C--------+---------+---------+---------+---------+---------+---------+-- C C STIFF DETEST 1986 VERSION C ----- ------ ---- ------- C BY W H ENRIGHT, AND J D PRYCE, C DEPT OF COMPUTER SCIENCE, SCHOOL OF MATHEMATICS C UNIVERSITY OF TORONTO, UNIVERSITY WALK C TORONTO M5S 1A4 BRISTOL BS8 1TW C CANADA ENGLAND C TEL (416) 978-6025 TEL (272) 303335 C C PLEASE INFORM THE AUTHORS OF ANY ERRORS IN CODE OR C DOCUMENTATION. C C 1. GENERAL NOTES C ------- ----- C C STIFF DETEST IS A PACKAGE TO TEST THE PERFORMANCE OF INITIAL-VALUE C CODES FOR STIFF DIFFERENTIAL SYSTEMS. THIS CODE IS A REVISION OF THE C 1975 VERSION, USED TO PRODUCE THE RESULTS REPORTED ON IN [3]. C C A SET OF TEST PROBLEMS, DESCRIBED IN DETAIL IN [2,3], IS INCORPORATED C IN THE STIFF PACKAGE. THE CODE BEING TESTED IS RUN ON A SELECTION OF C THESE PROBLEMS AT VARIOUS TOLERANCES. THE USER SELECTS THE PROBLEMS C AND THE TOLERANCES, AND ALSO ORGANIZES THE PROBLEMS INTO C GROUPS FOR STATISTICAL REPORTING PURPOSES, AT HIS DISCRETION. C C TO TEST A CODE A USER MUST WRITE AN INTERFACE ROUTINE CALLED METHOD, C DESCRIBED BELOW, AND THEN CALL STDTST WITH THE DESIRED OPTIONS. NOTE C THAT STDTST COMES IN A 'SINGLE' AND A 'DOUBLE' PRECISION VERSION FOR C USE ACCORDING AS THE SOFTWARE UNDER TEST IS WRITTEN IN SINGLE OR C DOUBLE PRECISION. THE ARGUMENTS OF STDTST ARE SINGLE PRECISION BUT C METHOD MUST BE IMPLEMENTED IN THE APPROPRIATE PRECISION. C C THE PACKAGE DIVIDES NATURALLY INTO FIVE PARTS: C C STDTST,CNTROL AND VARIOUS SERVICE ROUTINES C ORGANIZE THE ASSEMBLING, COMPUTATION AND REPORTING OF C STATISTICS. C C STATS C IS THE ROUTINE WHICH 'INSTRUMENTS' THE CODE BEING TESTED AND C PASSES STATISTICS VIA COMMON TO CNTROL AND STDTST. C C FCN, PDERV, IVALU, EVALU C DESCRIBE THE SET OF TEST PROBLEMS. FCN GIVES THE R.H.S. F(Y) C OF THE ODE SYSTEM AND PDERV GIVES THE JACOBIAN MATRIX DF/DY. C (AT PRESENT ALL THE PROBLEMS ARE POSED IN AUTONOMOUS FORM). C IVALU GIVES THE INITIAL CONDITIONS, SCALING WEIGHTS AND OTHER C DATA ABOUT EACH PROBLEM. EVALU GIVES ACCURATELY COMPUTED C VALUES AT THE ENDPOINT. C C DDCOMP AND DSOLVE C ARE STANDARD (DOUBLE PRECISION) LU DECOMPOSITION AND BACKSOLVE C ROUTINES FOR FULL MATRICES, COMPATIBLE WITH THE LAYOUT OF THE C JACOBIAN PRODUCED BY PDERV. THEY ARE USED BY TRUE BUT ARE C AVAILABLE FOR USE BY THE CODE BEING TESTED IF DESIRED. C C TRUE AND ITS SUBORDINATE ROUTINES C (ALIAS THE ADDISON-ENRIGHT CODE SECDER) FORM A RELIABLE STIFF C SOLVER FOR COMPUTING THE 'TRUE' GLOBAL AND LOCAL SOLUTIONS C WHEN REQUIRED. C C THERE IS ALSO A 'DUMMY' STDTST AND STATS TO HELP THE USER DEBUG HIS C METHOD ROUTINE (DESCRIBED BELOW); A UTILITY STGTIM WHICH MUST BE USED C ON EACH NEW MACHINE TO GENERATE TIMING DATA EMBEDDED IN THE CODE; AND C A UTILITY STGWT WHICH IS NEEDED IF EVER A USER WISHES TO ADD FURTHER C TEST PROBLEMS TO THE SET. C C MAIN LINES OF CALLING HIERARCHY (USER-SUPPLIED ROUTINES ARE IN BOXES) C C +--------+ C | USER'S |---STDTST---CNTROL-----IVALU C |PROGRAM | | +--------+ C +--------+ | +------+ |'SOLVER'| C |---|METHOD|----|(CODE |->-+ C | +------+ | BEING | | C | | | TESTED)| | C | | +--------+ |---FCN,PDERV C | | | C | STATS---TRUE--->--+ C | C +----EVALU C C WE ACKNOWLEDGE VALUABLE RECOMMENDATIONS IN SHAMPINE'S PAPER [5]. IN C PARTICULAR THE PACKAGE WILL, BY DEFAULT, INTEGRATE EACH SYSTEM IN C SCALED FORM, SCALING EACH SOLUTION COMPONENT BY ITS MAXIMUM OBSERVED C VALUE OVER THE RANGE OF INTEGRATION. THAT IS, THE CHANGE OF VARIABLE C -1 C Z = D Y IS DONE WHERE C D = DIAG(W(1), .., W(N)) C C AND W(I) =MAX |I-TH COMPONENT OF Y| OVER THE RANGE. THE PROBLEM C -1 C SOLVED IS THEN Z' = D F(X,DZ). THE WEIGHTS W(I) WERE FOUND BY AN C ACCURATE INTEGRATION OF EACH PROBLEM AND ARE EMBEDDED IN IVALU. C NOTE THAT THIS SCALING AFFECTS THE NORMS WHICH ARE USED IN C MEASURING ALL ERRORS, AND THUS CAN HAVE A CONSIDERABLE EFFECT ON THE C ACCURACY IN SOME OF THE PROBLEMS. C C IF THE PROBLEM CODE IN IDLIST (SEE BELOW) IS GIVEN A NEGATIVE SIGN THE C SYSTEM IS SOLVED IN ITS 'NATURAL' SCALING, AS WAS DONE IN THE 1975 C VERSION OF DETEST. C C C REFERENCES C ----------- C C [1] W H ENRIGHT, 'USING A TESTING PACKAGE FOR THE AUTOMATIC C ASSESSMENT OF NUMERICAL METHODS FOR ODES', IN PERFORMANCE C EVALUATION OF NUMERICAL SOFTWARE, (FOSDICK, ED), IFIP, NORTH C HOLLAND PUBL CO (1979) 199-213. C C C [2] W H ENRIGHT AND T E HULL, 'COMPARING NUMERICAL METHODS FOR THE C SOLUTION OF STIFF SYSTEMS OF ODES ARISING IN CHEMISTRY', IN C NUMERICAL METHODS FOR DIFFERENTIAL SYSTEMS (LAPIDUS AND C SCHIESSER, EDS), ACADEMIC PRESS, NEW YORK (1976) 45-65. C C [3] W H ENRIGHT, T E HULL AND B LINDBERG, 'COMPARING NUMERICAL C METHODS FOR STIFF SYSTEMS OF ORDINARY DIFFERENTIAL EQUATIONS', C BIT 15(1975) 10-48. C C [4] W H ENRIGHT AND J D PRYCE, 'A PAIR OF PACKAGES FOR ASSESSING C INITIAL VALUE METHODS', UNIVERSITY OF TORONTO TECHNICAL REPORT C NO. 167/83. C C [5] L F SHAMPINE 'EVALUATION OF A TEST SET FOR STIFF ODE SOLVERS', C TOMS 7(1981)409-420. C C C C C C C C C 2. ARGUMENTS TO STDTST: C --------- -- ------- C C TITLE (INPUT) CHARACTER OF LENGTH 80, HOLDS NAME OF METHOD BEING C TESTED. C C OPTION (INPUT) INTEGER ARRAY OF LENGTH 10, ONLY ELEMENTS 1 TO 3 ARE C USED AND ARE REFERRED TO HENCEFORTH AS OPT, NORMEF AND NRMTYP. C (OPTION(4) IS ALSO USED WHEN OPT=4) C C OPT ONE OF 1, 2, 3 OR 4. OPT SELECTS LEVEL OF ANALYSIS REQUIRED: C 1 GIVES A REPORT OF THE FOLLOWING AT EACH TOLERANCE USED: C - TOTAL TIME PER INTEGRATION C - OVERHEAD TIME EXCLUDING FUNCTION AND JACOBIAN CALLS AND MATRIX C FACTORIZATIONS. C - NUMBER OF FUNCTION CALLS, JACOBIAN CALLS, MATRIX C FACTORIZATIONS AND SUCCESSFUL STEPS OVER RANGE C - GLOBAL ERROR AT ENDPOINT XEND, DIVIDED BY TOL, IE. C ||(COMPUTED Y) - (TRUE Y)||/TOL AT X=XEND C THE NORM USED THROUGHOUT THE PACKAGE IS THAT CHOSEN BY NRMTYP. C C 2 REPORTS (IN ADDITION TO THE ABOVE STATISTICS): C - MAXIMUM GLOBAL ERROR OVER RANGE. THE 'TRUE' SOLUTION OVER C THE RANGE IS OBTAINED BY A RELIABLE INTEGRATOR AT A MORE C STRINGENT TOLERANCE. C C 3 REPORTS (IN ADDITION TO THE ABOVE): C - MAXIMUM LOCAL ERROR OVER RANGE, IE. MAX OVER ALL MESHPOINTS C OF C LENRM = ||(COMPUTED Y) - YLOC||/ERRBND C WHERE YLOC IS THE TRUE LOCAL SOLUTION THROUGH THE PREVIOUS C MESHPOINT, AND ERRBND, THE ASSUMED ERROR BOUND, IS EXPLAINED C BELOW. C - FRACTION OF STEPS WHERE LENRM EXCEEDED 1. C - FRACTION OF STEPS WHERE LENRM EXCEEDED 5. C C 4 REPORTS (IN ADDITION TO THE ABOVE): C - AN ANALYSIS OF THE LOCAL ERROR ESTIMATES USED BY SOLVER AS THE C BASIS FOR ITS ERROR CONTROL. AT THIS LEVEL THREE ASSUMPTIONS C ARE MADE. FIRST, THAT AT EACH STEP SOLVER FORMS TWO C APPROXIMATIONS, Y AND Y*, TO THE LOCAL SOLUTION YLOC AT THE C NEW MESHPOINT, SUCH THAT ASYMPTOTICALLY AS TOL->0, Y* IS 'MORE C ACCURATE' THAN Y. SECOND, THAT THE APPROXIMATION WHICH IS C TAKEN AS THE COMPUTED SOLUTION AT THE NEW MESHPOINT IS EITHER C ALWAYS Y* (IN WHICH CASE ONE SAYS LOCAL EXTRAPOLATION IS USED) C OR ALWAYS Y (IN WHICH CASE IT IS NOT USED). THE VECTOR C LE = Y - YLOC C IS THE TRUE LOCAL ERROR IN THE 'LESS ACCURATE' SOLUTION Y, C AND C ERREST = Y - Y* C IS AN ESTIMATE OF LE. IT IS ASSUMED FINALLY THAT THE ERROR C CONTROL CONSISTS IN KEEPING ||ERREST||, IN AN APPROPRIATE C NORM, BELOW ERRBND AT EACH STEP. C C NOTE THAT SOME METHODS, SUCH AS (IN THE NONSTIFF CASE) C MERSON'S METHOD, CANNOT BE REGARDED IN THIS WAY. C C AT THIS LEVEL DETEST ANALYSES HOW ACCURATELY ERREST C APPROXIMATES TO LE, BY FORMING A SCATTER PLOT OF THE VALUES OF C R1 = ||ERREST - LE||/ERRBND (VERTICAL AXIS) AGAINST R2 = C ||ERREST||/ERRBND (HORIZONTAL) AT EACH STEP. NOTE ERREST - C LE = -(Y* - YLOC) = -LE*, SAY, SO THAT LENRM DEFINED ABOVE IS C R1 IF LOCAL EXTRAPOLATION IS BEING DONE. FOR AN 'IDEAL' ERROR C CONTROL STRATEGY, WE EXPECT THE PLOTTED POINTS TO CLUSTER NEAR C (1,0) ON THE GRAPH, WHETHER OR NOT LOCAL EXTRAPOLATION IS C USED. C C TO USE THIS LEVEL OF ANALYSIS THE USER MUST: C A) ENSURE THAT THE STATS CALL IN METHOD DELIVERS ERREST AS C DEFINED ABOVE (WITH THE CORRECT SIGN!). C B) SET OPTION(4) AS FOLLOWS. C =0 ARGUMENT Y TO STATS IS Y ABOVE (NO LOCAL EXTRAPOLATION). C =1 Y IS Y* ABOVE (LOCAL EXTRAPOLATION). C C FOR EACH INTEGRATION, A SCATTER PLOT IS PRODUCED. EACH OF THE C RATIOS R1, R2 IS PUT INTO ONE OF 12 CLASS-INTERVALS C -7 -7 -6 2 3 3 C 0<=R<2 , 2 <=R<2 , ..., 2 <=R<2 , 2 <=R= 2, AND HAVE A POSSIBLY MORE EFFICIENT C CODE TO PUT IN ITS PLACE. NSTL IS RELEVANT IF YOU ARE C INTERESTED IN THE ALGORITHMS USED BY THE PACKAGE, SPECIFICALLY THE C STEP-LUMPING PROCESS WHICH TAKES PLACE IN STATS AT STRINGENT C TOLERANCES. C C C C C 9. SUBROUTINES IN THE PACKAGE C ----------- -- --- ------- C C IN ORDER OF APPEARANCE IN THE FILES. THE LIST ALSO SHOWS, FOR EACH C ROUTINE, THE OTHER PACKAGE ROUTINES AND COMMON AREAS WHICH IT USES. A C NAME IN PARENTHESES, LIKE (FCN) DENOTES A ROUTINE WHICH IS CALLED AT C ONE REMOVE (EG. METHOD CALLS SOLVER WHICH MUST CALL FCN) OR WHICH IS C PASSED AS AN ARGUMENT RATHER THAN BEING AN EXTERNAL REFERENCE (EG. C FCN IN TRUE). C C IN CONCLK FILE C CONST CALLS: NONE C CLOCK CALLS: NONE C C IN STDTST FILE C STDTST CALLS: PARCHK LSQFIT RATIO EFSTAT CNTROL CONST ; STCOM1 C STCOM3 C PARCHK CALLS: NONE C LSQFIT CALLS: NONE C RATIO CALLS: NONE C EFSTAT CALLS: NONE C CNTROL CALLS: DIFNRM STATS CONST CLOCK IVALU EVALU METHOD PLOT ; C STCOM1 STCOM2 STCOM3 STCOM5 STCOM6 C DIFNRM CALLS: NONE C STATS CALLS: DIFNRM CONST TRUE FCN PDERV PLOT ; STCOM1 STCOM2 C STCOM3 STCOM4 STCOM6 C PLOT CALLS: NONE C C IN STTRUE FILE C TRUE CALLS: CONST STEP NEWSTP COEFF DDCOMP DSOLVE (FCN C PDERV ) C STEP CALLS: NONE C NEWSTP CALLS: NONE C COEFF CALLS: NONE C DDCOMP CALLS: ; STCOM6 C DSOLVE CALLS: NONE C C IN STPROB FILE C IVALU CALLS: NONE C EVALU CALLS: NONE C FCN CALLS: ; STCOM5 STCOM6 C PDERV CALLS: ; STCOM5 STCOM6 C C USER-SUPPLIED C METHOD CALLS: STATS (FCN PDERV ) C C C 10. DEFINITION OF COMMON AREAS AND DICTIONARY OF DATA-FLOW C ---------- -- ------ ----- --- ---------- -- --------- C C THE FLOW OF INFORMATION BETWEEN THOSE ROUTINES WHICH USE COMMON IS C INDICATED FOR EACH VARIABLE BY THE CODES C S: THE VARIABLE IS ASSIGNED A VALUE (SET) IN THIS ROUTINE, POSSIBLY C BY A CALL TO ANOTHER ROUTINE TO WHICH THE VARIABLE IS PASSED AS C AN ARGUMENT. C A: THE VALUE IS USED (ACCESSED) IN THIS ROUTINE. C C FOR COUNTERS AND SIMILAR VARIABLES, THESE CODES ARE USED INSTEAD OF C CODE S: C I: THE VARIABLE IS INITIALIZED IN THIS ROUTINE. C U: THE VARIABLE IS UPDATED IN THIS ROUTINE. C C C COMMON /STCOM1/ PASSES INFORMATION FROM STDTST TO CNTROL AND STATS. C C STDTST C | CNTROL C | | STATS C | | | DIFNRM C | | | | C S A A - ERRTOL DOUBLE. COPY OF CURRENT ERROR TOLERANCE. C S A A - OPT INTEGER. COPY OF OPTION(1) ARGUMENT OF STDTST. C S - - A NRMTYP INTEGER. COPY OF OPTION(3) ARGUMENT OF STDTST. C S - A - XTRAP INTEGER. COPY OF OPTION(4) ARGUMENT OF STDTST. C S A - - ID INTEGER. INTERNAL CODE OF CURRENT PROBLEM, 1 FOR A1, C ..., 13 FOR B3, ETC. C S A - - IWT INTEGER. FLAG FOR SCALING (+1: SCALED. -1: C UNSCALED) C S - - - IOUT INTEGER. STANDARD OUTPUT UNIT NUMBER. C C C C C COMMON /STCOM2/ COMMUNICATES BETWEEN CNTROL AND STATS. C C CNTROL C | STATS C | | C S A XEND DOUBLE. END OF INTEGRATION RANGE OF CURRENT PROBLEM. C A S HSTART DOUBLE. INITIAL STEPSIZE PASSED TO METHOD FOR C INTEGRATION PROPER. C S A N INTEGER. NO. OF EQUATIONS IN CURRENT PROBLEM. C S A IFLAG INTEGER. SET BY CNTROL TO INFORM STATS WHAT IT IS TO C DO: C =0 METHOD IS BEING TIMED. C =1 INITIALIZING CALL OF STATS FROM CNTROL TO SET UP C STCOM4. C =2 PRELIMINARY INTEGRATION TO DETERMINE HSTART, ABORTED C AFTER 2 STEPS. C =3 INTEGRATION PROPER, COMPILING STATISTICS. C C C A SA INDL,INDG C ERROR FLAGS FOR THE LOCAL AND GLOBAL 'TRUE SOLUTIONS' C OBTAINED BY CALLS TO ROUTINE TRUE. C C C C C C COMMON /STCOM3/ OUTPUTS STATISTICS FROM CNTROL AND STATS. C C STDTST C | CNTROL C | | STATS C | | | C A S - XFIN DOUBLE. POINT OF FAILURE OF METHOD IF IT DOESN'T REACH C XEND. C A - S XTRUE DOUBLE. POINT OF FAILURE OF TRUE IF ANY. IF BOTH C LOCAL AND GLOBAL FAIL, POINT OF GLOBAL FAILURE IS C RETURNED. C A S - TIME REAL. CPU TIME FOR ONE INTEGRATION AS MEASURED BY C CLOCK FUNCTION. C A S - OVHD REAL. EQUALS TIME LESS ESTIMATED COST OF FCN, PDERV C AND MATRIX FACTORIZATION CALLS. C A I U TRUTIM REAL. THE TIME SPENT IN CALLS TO TRUE. NOT RELEVANT C TO PERFORMANCE OF METHOD BUT MEASURES THE OVERHEAD C INCURRED BY THE TESTING PACKAGE WHEN OPT = 2, 3 OR 4. C NOT PRINTED BUT AVAILABLE. C A S - GEND REAL. NORM OF GLOBAL ERROR OF METHOD AT XEND. C C C A I U GEMX REAL. MAXIMUM OF GLOBAL ERROR OVER ALL LUMPED STEP C MESHPOINTS, IE. USUALLY OVER ALL MESHPOINTS OF METHOD, C EXCEPT WHEN ERRTOL IS VERY SMALL. C A I U LEMXSC REAL. MAXIMUM LOCAL ERROR IN UNITS OF ERRBND, OVER ALL C LUMPED STEP MESHPOINTS. C A S - NFCN,NJAC,NLUD C INTEGER. COPIES OF NFCN1,NJAC1,NLUD1, SEE /STCOM5/, C /STCOM6/ C A I U NSTP INTEGER. COUNTS (UNLUMPED) STEPS TAKEN BY METHOD IN C CURRENT INTEGRATION. C - I U NSTL INTEGER. COUNTS LUMPED STEPS FORMED IN CURRENT C INTEGRATION (SEE STATS). NOT PRINTED BUT AVAILABLE. C A I U NDCV,NBAD C INTEGER. COUNT LUMPED STEPS ON WHICH SOLVER'S LOCAL C ERROR CONTROL WAS DECEIVED, RESP. BADLY DECEIVED. C A I U NTRU INTEGER. COUNTS LUMPED STEPS ON WHICH TRUE LOCAL C SOLUTION WAS SUCCESSFULLY COMPUTED, HENCE VALID LOCAL C ERROR STATISTICS OBTAINED. USED IN COMPUTING 'FRACTION C DECEIVED' INFORMATION. REPORTED IF DIFFERENT FROM C NSTP. NOTE NTRU <= NSTL <= NSTP. C - S - NSTART INTEGER. NO. OF FCN CALLS NEEDED BY METHOD TO START, C IE. TO DO PRELIMINARY INTEGRATION (2 STEPS). NOT C PRINTED OUT BUT AVAILABLE. C C C COMMON /STCOM4/ IS USED ONLY BY STATS, TO PRESERVE INFORMATION FROM C ONE CALL OF STATS TO ANOTHER. ALL VARIABLES ARE SET AND/OR UPDATED IN C STATS. C C XOLD1 DOUBLE. SIMILAR TO XOLD BUT USED IN PRELIMINARY C INTEGRATION. C XOLD,YOLD C DOUBLE AND DOUBLE ARRAY. COPY OF METHOD'S COMPUTED C SOLUTION AT END OF PREVIOUS LUMPED STEP. USED AS C ACTUAL ARGUMENTS OF TRUE LOCAL SOLUTION CALL. C XOLDG,YOLDG C DOUBLE AND DOUBLE ARRAY. HOLD 'TRUE' GLOBAL SOLUTION C UPDATED TO END OF PREVIOUS LUMPED STEP. USED AS ACTUAL C ARGUMENTS OF TRUE GLOBAL SOLUTION CALL. C CG,PDG,WKG,WG,YPG,INFG C WORKSPACE FOR 'TRUE' GLOBAL SOLUTION. C XT DOUBLE. HOLDS LAST METHOD MESHPOINT BETWEEN CALLS TO C STATS. C PRECIS DOUBLE. HOLDS 1000 * (UNIT ROUNDOFF) APPROX. C ERLUMP DOUBLE. ACCUMULATES METHOD'S LOCAL ERROR ESTIMATES TO C FORM AN ESTIMATE OVER A LUMPED STEP. C C C COMMON /STCOM5/ PASSES INFORMATION BETWEEN CNTROL AND FCN, PDERV, (OR C ANY REPLACEMENTS A USER MAY PROVIDE FOR FCN, PDERV). C C CNTROL C | FCN C | | PDERV C | | | C C S A A WT DOUBLE. ARRAY OF WEIGHTS USED TO IMPLEMENT THE C 'SCALED' INTEGRATION OPTION. C S A A IWT1,N1,ID1 C INTEGER. COPIES OF IWT,N,ID IN /STCOM1/ OR /STCOM2/. C C C COMMON /STCOM6/ HOLDS COUNTERS. THEY ARE INITIALIZED IN CNTROL, C SAVED-AND-RESTORED IN STATS, AND EVENTUALLY COPIED BY CNTROL TO THE C CORRESPONDING VARIABLES IN /STCOM3/. C C CNTROL C | STATS C | | FCN C | | | PDERV C | | | | DDCOMP,ETC C | | | | | C C IA AS U - - NFCN1 INTEGER. COUNTS CALLS TO FCN. C IA AS - U - NJAC1 INTEGER. COUNTS CALLS TO PDERV. C IA AS - - U NLUD1 INTEGER. COUNTS CALLS TO ANY "O(N CUBED)" C LINEAR ALGEBRA ROUTINES WHICH METHOD MAY EMPLOY. IN C PARTICULAR IT IS INCREMENTED BY THE LU DECOMPOSITION C ROUTINE DDCOMP WHICH IS USED BY TRUE AND IS AVAILABLE C TO THE USER. C C C THERE IS ALSO A COMMON/STCOM7/ USED BY THE DUMMY (DEBUGGING) VERSIONS C OF STDTST AND STATS FOR COMMUNICATION. C C--------+---------+---------+---------+---------+---------+---------+-- C E N D O F G E N E R A L D O C U M E N T A T I O N C********+*********+*********+*********+*********+*********+*********+** C C DESCRIPTION OF STDTST C ----------- -- ------ C C ROUTINE STDTST INTERPRETS THE LIST OF TOLERANCES AND LIST OF C GROUPS OF PROBLEMS SPECIFIED IN THE ARGUMENTS. USING CNTROL C TO GATHER INDIVIDUAL STATISTICS FOR ONE PROBLEM AT ONE C TOLERANCE, IT ORGANIZES THE FORMATION AND OUTPUT OF SUMMARY C STATISTICS. C INDIVIDUAL STATISTICS ARE INDEXED OVER TOLERANCES, PROBLEMS C AND GROUPS. C 'PROBLEMS-SUMMARY' MEANS SUM OF THESE OVER PROBLEMS IN A GROUP. C 'GROUPS-SUMMARY' MEANS SUM OF PROBLEMS-SUMMARY OVER ALL GROUPS. C 'OVERALL-SUMMARY' MEANS SUM OF GROUPS-SUMMARIES OVER ALL C TOLERANCES. C (READ 'MAX' FOR 'SUM' IN CASE OF SOME OF THE STATISTICS.) C C LOCAL VARIABLES: C PSNFCN,PSNJAC,... HOLD THE SUMMARY OVER PROBLEMS IN A GROUP C OF NFCN,NJAC,... (SEE DESCRIPTION OF /STCOM3/) AT ALL THE C TOLERANCES USED. C GSNFCN,... HOLD SUMMARY OVER GROUPS OF PSNFCN,... C OSNFCN,... HOLD OVERALL SUMMARY (OVER TOLERANCES) OF GSNFCN,... C C LGTOL HOLDS LOGARITHMS TO BASE 10 OF ELEMENTS OF ARRAY TOL, C AND LGGEMX,LGGEND HOLD LOGARITHMS OF CORRESPONDING GEMX C AND GEND VALUES, USED IN SMOOTHNESS CALCULATIONS. C NSNFCN,... STORE NFCN,... FOR ONE PROBLEM AT ALL TOLERANCES C USED, FOR USE IN NORMALIZED EFFICIENCY CALCULATIONS. C ERFLGE,ERFLG1 FLAG 'MISSING VALUES' IN SMOOTHNESS AND NORMALIZED C EFFICIENCY CALCULATIONS. C C C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREAS C--------+---------+---------+---------+---------+---------+---------+-- C1 C3 C .. Scalar Arguments .. REAL FLAG CHARACTER*80 TITLE C .. Array Arguments .. REAL TOL(11) INTEGER IDLIST(60), OPTION(10) C .. Scalars in Common .. DOUBLE PRECISION ERRTOL, XFIN, XTRUE REAL GEMX, GEND, LEMXSC, OVHD, TIME, TRUTIM INTEGER ID, IOUT, IWT, NBAD, NDCV, NFCN, NJAC, NLUD, * NRMTYP, NSTART, NSTL, NSTP, NTRU, OPT, XTRAP C .. Local Scalars .. REAL BIG, C, C1, CTEN, CTEN1, DUM, E, E1, FBADEC, * FDECEV, GEMXSC, GENDSC, OSLEMX, OSOVHD, OSTIME, * RES, RES1, TOLK INTEGER CMPLET, I, ICH, IDSUB, IID, INDG1, INDL1, * KCLASS, KGRP, KSYST, KTOL, NGRP, NOK, NOK1, * NORMEF, NSYST, NTOL, OSNBAD, OSNDCV, OSNFCN, * OSNJAC, OSNLUD, OSNSTP, OSNTRU CHARACTER BL CHARACTER*10 IDCLAS CHARACTER*32 MCNAME C .. Local Arrays .. REAL GSLEMX(10), GSOVHD(10), GSTIME(10), LGGEMX(10), * LGGEND(10), LGTOL(10), NSOVHD(10), NSTIME(10), * PSGEMX(10), PSGEND(10), PSLEMX(10), PSOVHD(10), * PSTIME(10) INTEGER GRPLST(2,6), GSNBAD(10), GSNDCV(10), GSNFCN(10), * GSNJAC(10), GSNLUD(10), GSNSTP(10), GSNTRU(10), * NSNFCN(10), NSNJAC(10), NSNLUD(10), NSNSTP(10), * PSNBAD(10), PSNDCV(10), PSNFCN(10), PSNJAC(10), * PSNLUD(10), PSNSTP(10), PSNTRU(10) LOGICAL ERFLG1(10), ERFLGE(10) C .. External Functions .. REAL CONST, RATIO EXTERNAL CONST, RATIO C .. External Subroutines .. EXTERNAL CNTROL, EFSTAT, LSQFIT, PARCHK, PLOT C .. Intrinsic Functions .. INTRINSIC ALOG10, AMAX1, CHAR, DBLE, IABS, ISIGN C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, * IOUT COMMON /STCOM3/XFIN, XTRUE, TIME, OVHD, TRUTIM, GEND, * GEMX, LEMXSC, NFCN, NJAC, NLUD, NSTP, NSTL, * NDCV, NBAD, NTRU, NSTART C .. Data statements .. CE C DATA IDCLAS/'ABCDEFGHIJ'/, BL/' '/, BIG/1.E20/ C .. Executable Statements .. C C--------+---------+---------+---------+---------+---------+---------+-- C COPY THE ENTRIES IN ARRAY 'OPTION'. C DO DUMMY CALL TO CONST TO INVOKE MACHINE-DEPENDENT INITIALIZ- C ATIONS. SET MACHINE NAME. SET OUTPUT UNIT NUMBER. C WRITE OUTPUT-HEADING. CALL ARGUMENT-CHECKING ROUTINE. C--------+---------+---------+---------+---------+---------+---------+-- OPT = OPTION(1) NORMEF = OPTION(2) NRMTYP = OPTION(3) XTRAP = OPTION(4) DUM = CONST(0) DO 20 I = 1, 32 ICH = CONST(-I) MCNAME(I:I) = CHAR(ICH) 20 CONTINUE IOUT = CONST(3) C WRITE (IOUT,FMT=99999) OPT, NORMEF, NRMTYP, MCNAME C CALL PARCHK(OPT,NORMEF,NRMTYP,TOL,IDLIST,NTOL,NGRP,GRPLST,LGTOL, * FLAG) IF (FLAG.EQ.0.) GO TO 40 WRITE (IOUT,FMT=99998) FLAG RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C INITIALIZE OVERALL- AND GROUPS-SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- 40 OSTIME = 0. OSOVHD = 0. OSNFCN = 0 OSNJAC = 0 OSNLUD = 0 OSNSTP = 0 OSNTRU = 0 OSLEMX = 0. OSNDCV = 0 OSNBAD = 0 DO 60 I = 1, NTOL GSTIME(I) = 0. GSOVHD(I) = 0. GSNFCN(I) = 0 GSNJAC(I) = 0 GSNLUD(I) = 0 GSNSTP(I) = 0 GSNTRU(I) = 0 GSLEMX(I) = 0. GSNDCV(I) = 0 GSNBAD(I) = 0 60 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C LOOP OVER GROUPS OF PROBLEMS C--------+---------+---------+---------+---------+---------+---------+-- C DO 300 KGRP = 1, NGRP C C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT HEADING, ON NEW PAGE FOR GROUPS AFTER FIRST. C SELECT GROUP OF DIFFERENTIAL EQUATIONS. C GET NO. OF SYSTEMS IN THIS GROUP, & OFFSET FOR C POSITION OF ITEM IN GROUP WITHIN IDLIST. C INITIALIZE PROBLEM SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- IF (KGRP.GT.1) WRITE (IOUT,FMT=99997) WRITE (IOUT,FMT=99996) KGRP, TITLE C NSYST = GRPLST(1,KGRP) IDSUB = GRPLST(2,KGRP) C DO 80 I = 1, NTOL PSTIME(I) = 0. PSOVHD(I) = 0. PSNFCN(I) = 0 PSNJAC(I) = 0 PSNLUD(I) = 0 PSNSTP(I) = 0 PSNTRU(I) = 0 PSLEMX(I) = 0. PSNDCV(I) = 0 PSNBAD(I) = 0 PSGEMX(I) = 0. PSGEND(I) = 0. 80 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C LOOP OVER PROBLEMS WITHIN A GROUP C--------+---------+---------+---------+---------+---------+---------+-- DO 260 KSYST = 1, NSYST C--------+---------+---------+---------+---------+---------+---------+-- C GET NEXT PROBLEM-ID: C EXTRACT THE WEIGHTING OPTION (IWT=1 OR -1). C UNPACK ID INTO CLASSNAME + INDEX WITHIN CLASS AND TRANSLATE C INTO STDTST INTERNAL ID BY SUBTRACTING 10: C--------+---------+---------+---------+---------+---------+---------+-- IDSUB = IDSUB + 1 ID = IDLIST(IDSUB) IWT = ISIGN(1,ID) ID = IABS(ID) KCLASS = (ID-1)/10 IID = ID - 10*KCLASS ID = ID - 10 IF (IWT.GT.0) WRITE (IOUT,FMT=99995) IDCLAS(KCLASS:KCLASS), * IID IF (IWT.LE.0) WRITE (IOUT,FMT=99994) IDCLAS(KCLASS:KCLASS), * IID WRITE (IOUT,FMT=99993) (BL,I=1,OPT) WRITE (IOUT,FMT=99992) (BL,I=1,OPT) C C--------+---------+---------+---------+---------+---------+---------+-- C LOOP OVER TOLERANCES FOR ONE PROBLEM C--------+---------+---------+---------+---------+---------+---------+-- DO 220 KTOL = 1, NTOL C--------+---------+---------+---------+---------+---------+---------+-- C CALL PLOT TO INITIALIZE LOCAL-ERROR SCATTER DIAGRAM C IF OPT=4. C CALL CNTROL TO ORGANIZE THE COLLECTION OF C STATISTICS. C ON EXIT FROM CNTROL THE VALUE OF CMPLET WILL C INDICATE WHETHER A FAILURE OCCURRED. C C CMPLET = 1 NO FAILURES. C CMPLET = 0 DETEST FAILED TO OBTAIN TRUE C LOCAL OR GLOBAL SOLUTION. C CMPLET = -1 METHOD FAILED TO REACH THE END C OF RANGE. C CMPLET = -2 DETEST FAILED AND SUBSEQUENTLY C METHOD FAILED. C CMPLET = -3 METHOD COULD NOT START THE C INTEGRATION. C CMPLET = -4 METHOD COMPLETED THE STATISTICS C GATHERING BUT FAILED IN TIMING LOOP. C C ON EXIT INDG1,INDL1 HOLD EXIT-FLAGS OF 'TRUE' C GLOBAL AND LOCAL SOLUTIONS RESPECTIVELY. C C ERFLGE(KTOL) IS TRUE IF METHOD FAILED TO REACH XEND. C ERFLG1(KTOL) IS TRUE IF EITHER METHOD OR C TRUE-SOLUTION FAILED TO REACH XEND (THUS INVALIDATING C GEMX AS DATA FOR SMOOTHNESS CALC WHEN NORMEF=2 ). C C IF CMPLET IS -4,-2,-1,0 OR 1 PRINT A LINE OF STATISTICS: C IF CMPLET ISNT 1, PRINT AN ERROR MESSAGE. C CALL PLOT TO PRINT LOCAL-ERROR SCATTER DIAGRAM C IF OPT=4 C NOTE IF METHOD FAILED TO REACH XEND, ANY STATISTICS FOR C THIS PROBLEM ARE PRINTED BUT DO NOT CONTRIBUTE TO THE C SUMMARY STATISTICS. CONVERSELY IF METHOD REACHED XEND, C ALL STATISTICS CONTRIBUTE TO THE SUMMARIES THOUGH GEMX, C LEMXSC,NDCV,NBAD,NTRU ONLY APPLY TO PART OF THE RANGE C IF 'TRUE' FAILED. C--------+---------+---------+---------+---------+---------+---------+-- C TOLK = TOL(KTOL) ERRTOL = DBLE(TOLK) IF (OPT.EQ.4) CALL PLOT(0.,0.,0) C CALL CNTROL(CMPLET,INDG1,INDL1) C ERFLGE(KTOL) = CMPLET .LT. 0 .AND. CMPLET .GT. -4 ERFLG1(KTOL) = CMPLET .LT. 1 .AND. CMPLET .GT. -4 GENDSC = BIG IF (ERFLGE(KTOL)) GO TO 100 GENDSC = GEND/TOLK LGGEND(KTOL) = ALOG10(AMAX1(GEND,.01*TOLK)) 100 CONTINUE GEMXSC = GEMX/TOLK FDECEV = RATIO(NDCV,NTRU) FBADEC = RATIO(NBAD,NTRU) C IF (CMPLET.EQ.-3) GO TO 120 IF (OPT.EQ.1) WRITE (IOUT,FMT=99991) LGTOL(KTOL), TIME, * OVHD, NFCN, NJAC, NLUD, NSTP, GENDSC IF (OPT.EQ.2) WRITE (IOUT,FMT=99991) LGTOL(KTOL), TIME, * OVHD, NFCN, NJAC, NLUD, NSTP, GENDSC, GEMXSC IF (OPT.GE.3) WRITE (IOUT,FMT=99991) LGTOL(KTOL), TIME, * OVHD, NFCN, NJAC, NLUD, NSTP, GENDSC, GEMXSC, LEMXSC, * FDECEV, FBADEC IF (OPT.GE.3 .AND. NSTP.NE.NTRU) WRITE (IOUT,FMT=99990) * NTRU 120 CONTINUE C C IF (CMPLET.EQ.-4) WRITE (IOUT,FMT=99989) IF (CMPLET.EQ.-3) WRITE (IOUT,FMT=99988) LGTOL(KTOL) C IF (CMPLET.EQ.-2) WRITE (IOUT,FMT=99987) XTRUE, INDG1, * INDL1, XFIN C IF (CMPLET.EQ.-1) WRITE (IOUT,FMT=99986) XFIN C IF (CMPLET.EQ.0) WRITE (IOUT,FMT=99985) XTRUE, INDG1, * INDL1 C IF (OPT.EQ.4) THEN C WRITE (IOUT,FMT=99984) XTRAP C CALL PLOT(0.,0.,2) END IF C FOR EVALUATING PERFORMANCE OF 'TRUE': C CALL TRUCHK(4,IDUM) C C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE PROBLEMS-SUMMARY STATS IF METHOD REACHED XEND. C (IF IT DIDN'T, DON'T UPDATE THE LOCAL-ASSESSMENT INFO: C NTRU,LEMXSC,NDCV,NBAD. THIS IS AN ARBITRARY CHOICE, IT C MAKES IT SIMPLER TO EXPLAIN TO THE USER. C STORE NORMEF STATISTICS: C--------+---------+---------+---------+---------+---------+---------+-- C IF (ERFLGE(KTOL)) GO TO 180 PSTIME(KTOL) = PSTIME(KTOL) + TIME PSOVHD(KTOL) = PSOVHD(KTOL) + OVHD PSNFCN(KTOL) = PSNFCN(KTOL) + NFCN PSNSTP(KTOL) = PSNSTP(KTOL) + NSTP PSNJAC(KTOL) = PSNJAC(KTOL) + NJAC PSNLUD(KTOL) = PSNLUD(KTOL) + NLUD PSGEND(KTOL) = AMAX1(PSGEND(KTOL),GENDSC) C IF (OPT.LT.2) GO TO 140 PSGEMX(KTOL) = AMAX1(PSGEMX(KTOL),GEMXSC) LGGEMX(KTOL) = ALOG10(AMAX1(GEMX,.01*TOLK)) C 140 IF (OPT.LT.3) GO TO 160 PSNTRU(KTOL) = PSNTRU(KTOL) + NTRU PSLEMX(KTOL) = AMAX1(PSLEMX(KTOL),LEMXSC) PSNDCV(KTOL) = PSNDCV(KTOL) + NDCV PSNBAD(KTOL) = PSNBAD(KTOL) + NBAD 160 CONTINUE 180 CONTINUE C IF (NORMEF.EQ.0) GO TO 200 NSTIME(KTOL) = TIME NSOVHD(KTOL) = OVHD NSNFCN(KTOL) = NFCN NSNSTP(KTOL) = NSTP NSNJAC(KTOL) = NJAC NSNLUD(KTOL) = NLUD 200 CONTINUE C--------+---------+---------+---------+---------+---------+---------+-- C END OF LOOP OVER TOLERANCES FOR ONE PROBLEM C--------+---------+---------+---------+---------+---------+---------+-- 220 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C SMOOTHNESS AND NORMALIZED EFFICIENCY CALCULATIONS BEGIN C--------+---------+---------+---------+---------+---------+---------+-- WRITE (IOUT,FMT=99983) C WRITE (IOUT,FMT=99982) C CALL LSQFIT(LGTOL,LGGEND,ERFLGE,NTOL,NOK,C,E,RES) C CTEN = 10.**C IF (NOK.LE.2) WRITE (IOUT,FMT=99981) NOK C IF (NOK.GT.2) WRITE (IOUT,FMT=99980) CTEN, E, RES, NOK C IF (OPT.LT.2) GO TO 240 WRITE (IOUT,FMT=99979) C CALL LSQFIT(LGTOL,LGGEMX,ERFLG1,NTOL,NOK1,C1,E1,RES1) C CTEN1 = 10.**C1 IF (NOK1.LE.2) WRITE (IOUT,FMT=99981) NOK1 IF (NOK1.GT.2) WRITE (IOUT,FMT=99980) CTEN1, E1, RES1, NOK1 240 CONTINUE C IF (NORMEF.EQ.1) CALL EFSTAT(C,E,LGTOL,NTOL,NOK,ERFLGE, * 'ENDPOINT',IOUT,NSTIME,NSOVHD, * NSNFCN,NSNJAC,NSNLUD,NSNSTP) C IF (NORMEF.EQ.2) CALL EFSTAT(C1,E1,LGTOL,NTOL,NOK1,ERFLG1, * 'MAXIMUM ',IOUT,NSTIME,NSOVHD, * NSNFCN,NSNJAC,NSNLUD,NSNSTP) C C--------+---------+---------+---------+---------+---------+---------+-- C SMOOTHNESS AND NORMALIZED EFFICIENCY CALCULATIONS END C--------+---------+---------+---------+---------+---------+---------+-- C C--------+---------+---------+---------+---------+---------+---------+-- C END OF LOOP OVER PROBLEMS IN A GROUP. C--------+---------+---------+---------+---------+---------+---------+-- 260 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT PROBLEMS-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- C WRITE (IOUT,FMT=99978) KGRP WRITE (IOUT,FMT=99993) (BL,I=1,OPT) WRITE (IOUT,FMT=99992) (BL,I=1,OPT) DO 280 KTOL = 1, NTOL FDECEV = RATIO(PSNDCV(KTOL),PSNTRU(KTOL)) FBADEC = RATIO(PSNBAD(KTOL),PSNTRU(KTOL)) C IF (OPT.EQ.1) WRITE (IOUT,FMT=99991) LGTOL(KTOL), * PSTIME(KTOL), PSOVHD(KTOL), PSNFCN(KTOL), PSNJAC(KTOL), * PSNLUD(KTOL), PSNSTP(KTOL), PSGEND(KTOL) C IF (OPT.EQ.2) WRITE (IOUT,FMT=99991) LGTOL(KTOL), * PSTIME(KTOL), PSOVHD(KTOL), PSNFCN(KTOL), PSNJAC(KTOL), * PSNLUD(KTOL), PSNSTP(KTOL), PSGEND(KTOL), PSGEMX(KTOL) C IF (OPT.GE.3) WRITE (IOUT,FMT=99991) LGTOL(KTOL), * PSTIME(KTOL), PSOVHD(KTOL), PSNFCN(KTOL), PSNJAC(KTOL), * PSNLUD(KTOL), PSNSTP(KTOL), PSGEND(KTOL), PSGEMX(KTOL), * PSLEMX(KTOL), FDECEV, FBADEC C IF (OPT.GE.3 .AND. PSNSTP(KTOL).NE.PSNTRU(KTOL)) * WRITE (IOUT,FMT=99990) PSNTRU(KTOL) C C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE GROUPS-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- GSTIME(KTOL) = GSTIME(KTOL) + PSTIME(KTOL) GSOVHD(KTOL) = GSOVHD(KTOL) + PSOVHD(KTOL) GSNFCN(KTOL) = GSNFCN(KTOL) + PSNFCN(KTOL) GSNJAC(KTOL) = GSNJAC(KTOL) + PSNJAC(KTOL) GSNLUD(KTOL) = GSNLUD(KTOL) + PSNLUD(KTOL) GSNSTP(KTOL) = GSNSTP(KTOL) + PSNSTP(KTOL) C IF (OPT.LT.3) GO TO 280 GSNTRU(KTOL) = GSNTRU(KTOL) + PSNTRU(KTOL) GSLEMX(KTOL) = AMAX1(GSLEMX(KTOL),PSLEMX(KTOL)) GSNDCV(KTOL) = GSNDCV(KTOL) + PSNDCV(KTOL) GSNBAD(KTOL) = GSNBAD(KTOL) + PSNBAD(KTOL) 280 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C END OF LOOP OVER GROUPS C--------+---------+---------+---------+---------+---------+---------+-- 300 CONTINUE C C C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT HEADINGS FOR GROUPS- AND OVERALL-SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- WRITE (IOUT,FMT=99977) TITLE, (BL,I=1,OPT) WRITE (IOUT,FMT=99976) (BL,I=1,OPT) C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT GROUPS-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.GE.3) GO TO 340 DO 320 I = 1, NTOL WRITE (IOUT,FMT=99975) LGTOL(I), GSTIME(I), GSOVHD(I), * GSNFCN(I), GSNJAC(I), GSNLUD(I), GSNSTP(I) 320 CONTINUE GO TO 380 340 DO 360 I = 1, NTOL FDECEV = RATIO(GSNDCV(I),GSNTRU(I)) FBADEC = RATIO(GSNBAD(I),GSNTRU(I)) WRITE (IOUT,FMT=99975) LGTOL(I), GSTIME(I), GSOVHD(I), * GSNFCN(I), GSNJAC(I), GSNLUD(I), GSNSTP(I), GSLEMX(I), * FDECEV, FBADEC C IF (GSNSTP(I).NE.GSNTRU(I)) WRITE (IOUT,FMT=99990) GSNTRU(I) 360 CONTINUE 380 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C COMPUTE OVERALL-SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- DO 400 I = 1, NTOL OSTIME = OSTIME + GSTIME(I) OSOVHD = OSOVHD + GSOVHD(I) OSNFCN = OSNFCN + GSNFCN(I) OSNJAC = OSNJAC + GSNJAC(I) OSNLUD = OSNLUD + GSNLUD(I) OSNSTP = OSNSTP + GSNSTP(I) C IF (OPT.LT.3) GO TO 400 OSNTRU = OSNTRU + GSNTRU(I) OSNDCV = OSNDCV + GSNDCV(I) OSNBAD = OSNBAD + GSNBAD(I) OSLEMX = AMAX1(OSLEMX,GSLEMX(I)) 400 CONTINUE FDECEV = RATIO(OSNDCV,OSNTRU) FBADEC = RATIO(OSNBAD,OSNTRU) C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT OVERALL-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.LT.3) WRITE (IOUT,FMT=99974) OSTIME, OSOVHD, OSNFCN, * OSNJAC, OSNLUD, OSNSTP C IF (OPT.GE.3) WRITE (IOUT,FMT=99974) OSTIME, OSOVHD, OSNFCN, * OSNJAC, OSNLUD, OSNSTP, OSLEMX, FDECEV, FBADEC C C RETURN C 99999 FORMAT ('0STIFF DETEST PACKAGE OPT=',I2,', NORMEF=',I2, * ', NRMTYP=',I2,19X,'ON ',A,//) 99998 FORMAT ('0PARAMETER ERRORS AS SHOWN BY FLAG=',E15.8,/' ',49('*') * ,//) 99997 FORMAT ('1') 99996 FORMAT ('0GROUP',I3,18X,A) 99995 FORMAT (/'0',A3,I1,' (SCALED)',/) 99994 FORMAT (/'0',A3,I1,' (UNSCALED)',/) 99993 FORMAT (' ',A1,6X,'LOG10',5X,'TIME',3X,'OVHD',5X,'FCN',5X,'JAC', * 5X,'MAT',4X,'NO OF',3X,'END PNT',A1,2X,'MAXIMUM',A1,2X, * 'MAXIMUM',3X,'FRACTION',3X,'FRACTION',A1) 99992 FORMAT (' ',A1,7X,'TOL',21X,'CALLS',3X,'CALLS',4X,'FACT',3X, * 'STEPS',3X,'GLB ERR',A1,2X,'GLB ERR',A1,2X,'LOC ERR',3X, * 'DECEIVED',3X,'BAD DECV',A1) 99991 FORMAT ('0',6X,F6.2,2X,2F7.3,1X,4I8,2X,F8.2,1X,F9.2,1X,F9.3,1X, * F9.3,1X,F10.3,1X,F10.3) 99990 FORMAT (114X,'(LOC ASSESS ON',I4,')') 99989 FORMAT ('0',20X, * '***** UNEXPECTED FAILURE OF METHOD WHILE BEING TIMED *****' * ,/) 99988 FORMAT ('0',6X,F6.2,' *** METHOD FAILED TO START ***') 99987 FORMAT (15X,'TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = ',1P, * E12.5,', ERROR FLAG (GLOBAL) ',I3,', (LOCAL) ',I3,/21X, * 'AND SUBSEQUENTLY METHOD FAILED AT X = ',1P,E12.5) 99986 FORMAT (21X,'METHOD FAILED AT X = ',1P,E12.5) 99985 FORMAT (21X,'TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = ',1P, * E12.5,', ERROR FLAG (GLOBAL) ',I3,', (LOCAL) ',I3) 99984 FORMAT (/6X,'ERROR ESTIMATE ANALYSIS',10X, * 'EXTRAPOLATION (0=NO 1=YES):',I2,/11X, * 'HORIZONTAL AXIS: R1=||ERREST|| / ERRBND',/11X, * 'VERTICAL AXIS: R2 = ||ERROR IN ERREST|| / ERRBND',/11X, *'PLOT SHOWS % STEPS WHERE (R1,R2) LAY IN INDICATED PIGEONHOLE, A', *1X,'DOT MEANS UNDER 1%',/) 99983 FORMAT (/'0',17X,'SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL)') 99982 FORMAT ('0',17X,'ENDPOINT GLOBAL ERROR') 99981 FORMAT (39X,I2,' VALUES, TOO FEW TO GET STATISTICS') 99980 FORMAT (39X,'=',1P,G10.3,' *(TOL**',0P,F6.3,') APPROX,',6X, * 'R.M.S. RESIDUAL=',1P,E8.1,' OVER',I3,' VALUES') 99979 FORMAT ('0',17X,'MAXIMUM GLOBAL ERROR') 99978 FORMAT (/'0SUMMARY OVER GROUP',I3) 99977 FORMAT ('1SUMMARY OVER ALL GROUPS',6X,A,//' ',A1,6X,'LOG10',5X, * 'TIME',3X,'OVHD',5X,'FCN',5X,'JAC',5X,'MAT',4X,'NO OF',2A1, * 2X,'MAXIMUM',3X,'FRACTION',3X,'FRACTION',A1) 99976 FORMAT (' ',A1,7X,'TOL',21X,'CALLS',3X,'CALLS',4X,'FACT',3X, * 'STEPS',2A1,2X,'LOC ERR',3X,'DECEIVED',3X,'BAD DECV',A1) 99975 FORMAT ('0',6X,F6.2,2X,2F7.3,1X,4I8,1X,3F11.3) 99974 FORMAT ('0',5X,'OVERALL',/6X,'SUMMARY',2X,2F7.3,1X,4I8,1X,3F11.3) END C C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE PARCHK(OPT,NORMEF,NRMTYP,TOL,IDLIST,NTOL,NGRP,GRPLST, * LGTOL,FLAG) C C********+*********+*********+*********+*********+*********+*********+** C ROUTINE TO DO PARAMETER CHECKS FOR REVISED STDTST INTERFACE. C C INPUT: OPT,NORMEF,NRMTYP,TOL,IDLIST C VALID INPUT IS: C OPTION = 1 2 3 OR 4 C NORMEF = 0 1 OR 2 C NRMTYP = 1 2 OR 3 C TOL = LIST OF UP TO 10 POSITIVE REAL'S FOLLOWED BY A 0., C IN STRICTLY DECREASING ORDER C IDLIST = LIST OF GROUPS OF PROBLEM-IDS SEPARATED BY ZEROS C WITH 2 ZEROS AFTER LAST GROUP, AT MOST 60 ITEMS TOTAL. C EACH ID MAY HAVE A MINUS SIGN TO SELECT THE 'UNSCALED' C ERROR CONTROL OPTION. C VALID PROBLEM-IDS ARE IN RANGES C 11-14 21-25 31-35 41-46 51-55 61-65 C FOR PROBLEM CLASSES A1-A4 B1-B5 ETC. C OUTPUT: NTOL = NO. OF TOLERANCES IN TOL LIST C NGRP = NO. OF GROUPS IN IDLIST LIST C GRPLST(1,I) = SIZE OF I-TH GROUP OF PROBLEMS CC ... (2,I) = POINTER TO (START OF I-TH GROUP)-1 IN IDLIST C LGTOL(I) = LOG10(TOL(I)) C FLAG IS ERROR FLAG, 0.0 IF ALL OK, ELSE ITS DECIMAL DIGITS C INDICATE WHICH PARAMETER ERRORS WERE FOUND: C 1: OPT INVALID C 2: NORMEF INVALID C 3: NORMEF = 2 REQUESTED WITH OPT = 1 C 4: TOL(I) < 0, OR LIST NOT IN DECREASING ORDER C 5: TOL LIST EMPTY OR NOT TERMINATED BY ZERO C 6: INVALID PROBLEM-ID FOUND C 7: LIST OF GROUPS IN IDLIST EMPTY,NOT TERMINATED BY C 2 ZEROS OR HAS MORE THAN MAXGRP GROUPS C 8: NRMTYP INVALID C--------+---------+---------+---------+---------+---------+---------+-- C C .. Scalar Arguments .. REAL FLAG INTEGER NGRP, NORMEF, NRMTYP, NTOL, OPT C .. Array Arguments .. REAL LGTOL(10), TOL(11) INTEGER GRPLST(2,6), IDLIST(60) C .. Local Scalars .. REAL BIG, TOLPRV INTEGER ENDLST, I, ID, IID, ISAV, KCLASS, LENIDS, * LENTOL, MAXGRP, NCLASS C .. Local Arrays .. INTEGER NSYSTM(6) C .. Intrinsic Functions .. INTRINSIC ALOG10, IABS C .. Data statements .. DATA ENDLST/-1/, BIG/1E20/ DATA NCLASS/6/, NSYSTM/4, 5, 5, 6, 5, 5/, MAXGRP/6/, * LENTOL/11/, LENIDS/60/ C .. Executable Statements .. C FLAG = 0. IF (OPT.LT.1 .OR. OPT.GT.4) FLAG = 1. IF (NORMEF.LT.0 .OR. NORMEF.GT.2) FLAG = 10.*FLAG + 2. IF (OPT.EQ.1 .AND. NORMEF.EQ.2) FLAG = 10.*FLAG + 3. IF (NRMTYP.LT.1 .OR. NRMTYP.GT.3) FLAG = 10.*FLAG + 8. C C TOLERANCES: NTOL = 0 TOLPRV = BIG DO 20 I = 1, LENTOL IF (TOL(I).LT.0. .OR. TOL(I).GE.TOLPRV) FLAG = 10.*FLAG + 4. IF (TOL(I).EQ.0.) GO TO 40 NTOL = NTOL + 1 TOLPRV = TOL(I) 20 CONTINUE C C NO TERMINATING 0 IN TOLERANCE LIST: FLAG = 10.*FLAG + 5. C C CHECK FOR EMPTY TOLERANCE LIST: 40 IF (NTOL.EQ.0) FLAG = 10.*FLAG + 5. C C LIST OF GROUPS OF PROBLEMS: NGRP = 0 I = 0 C C WHILE NEXT ID IN LIST ISNT 0 OR END OF LIST: 60 I = I + 1 ID = ENDLST IF (I.LE.LENIDS) ID = IDLIST(I) C IF (ID.EQ.0) GO TO 160 IF (NGRP.GE.MAXGRP) GO TO 180 ISAV = I - 1 C C WHILE ID ISNT 0, GET ONE GROUP: 80 IF (ID.EQ.0) GO TO 140 IF (ID.EQ.ENDLST) GO TO 180 C TRANSLATE ID INTO CLASS & NUMBER WITHIN CLASS, C IGNORING SIGN (WHICH SELECTS SCALED/UNSCALED OPTION): ID = IABS(ID) KCLASS = (ID-1)/10 IID = ID - 10*KCLASS IF ( .NOT. (KCLASS.GE.1 .AND. KCLASS.LE.NCLASS)) GO TO 100 IF (IID.LE.NSYSTM(KCLASS)) GO TO 120 100 FLAG = 10.*FLAG + 6. 120 CONTINUE C GET NEXT ID AS ABOVE: I = I + 1 ID = ENDLST IF (I.LE.LENIDS) ID = IDLIST(I) GO TO 80 C C NEW GROUP FORMED: 140 NGRP = NGRP + 1 GRPLST(1,NGRP) = I - ISAV - 1 GRPLST(2,NGRP) = ISAV GO TO 60 C C CHECK IF NO GROUPS WERE SPECIFIED: 160 IF (NGRP.LE.0) GO TO 180 GO TO 200 C 180 FLAG = 10.*FLAG + 7. C C IF ALL OK, COMPUTE LOGS OF TOLERANCES: C 200 IF (FLAG.NE.0.) GO TO 240 DO 220 I = 1, NTOL LGTOL(I) = ALOG10(TOL(I)) 220 CONTINUE 240 RETURN END SUBROUTINE LSQFIT(X,Y,MISS,N,NN,C0,C1,RES) C .. Scalar Arguments .. REAL C0, C1, RES INTEGER N, NN C .. Array Arguments .. REAL X(N), Y(N) LOGICAL MISS(N) C .. Local Scalars .. REAL SX, SXX, SXY, SY, XNN INTEGER I C .. Intrinsic Functions .. INTRINSIC SQRT C .. Executable Statements .. C C********+*********+*********+*********+*********+*********+*********+** C FITS MODEL Y = C0 + C1*X TO DATA X(I),Y(I),I = 1..N WHERE DATA C FOR WHICH MISS(I) IS .TRUE. IS REGARDED AS MISSING. C C ON EXIT C X,Y,MISS,N ARE UNCHANGED. C NN = NO. OF NONMISSING VALUES C C0,C1 = FITTED COEFFICIENTS C RES = ROOT MEAN SQUARE RESIDUAL C C EXCEPT THAT IF NN.LE.1 NO COMPUTATION OF THE COEFFICIENTS IS DONE. C--------+---------+---------+---------+---------+---------+---------+-- C NN = 0 SX = 0. SY = 0. DO 20 I = 1, N IF (MISS(I)) GO TO 20 NN = NN + 1 SX = SX + X(I) SY = SY + Y(I) 20 CONTINUE IF (NN.LE.1) GO TO 80 XNN = NN SX = SX/XNN SY = SY/XNN SXX = 0. SXY = 0. DO 40 I = 1, N IF (MISS(I)) GO TO 40 SXX = SXX + (X(I)-SX)**2 SXY = SXY + (X(I)-SX)*(Y(I)-SY) 40 CONTINUE C1 = SXY/SXX C0 = SY - C1*SX RES = 0. DO 60 I = 1, N IF ( .NOT. MISS(I)) RES = RES + (Y(I)-SY-C1*(X(I)-SX))**2 60 CONTINUE C RES = SQRT(RES/XNN) C 80 RETURN END C C********+*********+*********+*********+*********+*********+*********+** C REAL FUNCTION RATIO(M,N) C C********+*********+*********+*********+*********+*********+*********+** C .. Scalar Arguments .. INTEGER M, N C .. Intrinsic Functions .. INTRINSIC FLOAT C .. Executable Statements .. RATIO = 1E20 IF (N.NE.0) RATIO = FLOAT(M)/FLOAT(N) RETURN END C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE EFSTAT(C,E,LGTOL,NTOL,NOK,ERFLG,TITLE,IOUT,W1,W2,W3,W4, * W5,W6) C C********+*********+*********+*********+*********+*********+*********+** C ROUTINE TO COMPUTE AND PRINT NORMALIZED EFFICIENCY STATISTICS. C C PARAMETERS (ALL INPUT): C C,E - COEFFICIENTS IN LEAST-SQUARES FIT OF ACHIEVED ACCURACY C (EITHER AT ENDPOINT OR MAX-OVER-RANGE) TO TOLERANCE. C LGTOL - LIST OF LOGS TO BASE 10 OF TOLERANCES C NTOL - NO. OF TOLERANCES. C NOK - NO. OF .FALSE. ENTRIES IN ERFLG (FROM LSQFIT CALL) C ERFLG - LOGICAL VECTOR INDICATING FOR WHICH TOLERANCES DATA C IS TO BE REGARDED AS MISSING. C TITLE C - IDENTIFYING CHARACTER STRING. C IOUT - OUTPUT UNIT NUMBER. C W1,...,W6 C - VECTORS OF STATISTICS, INDEXED OVER TOLERANCES, FOR C WHICH NORMALIZED STATISTICS ARE TO BE PRODUCED. C (NOTE SOME ARE REAL, SOME INTEGER: REFER TO ACTUAL CALL C IN STDTST.) C IT IS ASSUMED THAT NTOL.LE.10, OTHERWISE ARRAY S MUST BE LONGER. C--------+---------+---------+---------+---------+---------+---------+-- C C LOCAL VARIABLES C .. Scalar Arguments .. REAL C, E INTEGER IOUT, NOK, NTOL CHARACTER*8 TITLE C .. Array Arguments .. REAL LGTOL(NTOL), W1(NTOL), W2(NTOL) INTEGER W3(NTOL), W4(NTOL), W5(NTOL), W6(NTOL) LOGICAL ERFLG(NTOL) C .. Local Scalars .. REAL EQVTOL, S0, THETA, W1INT, W2INT, X INTEGER I, MSINT, NHI, NLO, SHI, SINT, SLO, W3INT, * W4INT, W5INT, W6INT C .. Local Arrays .. REAL S(10) C .. Intrinsic Functions .. INTRINSIC FLOAT, INT C .. Statement Functions .. INTEGER FLOOR C .. Statement Function definitions .. C C STATEMENT FUNCTION C FLOOR FUNCTION VALID IF ARGUMENT X.GE.-100 WHICH IS OK HERE. FLOOR(X) = INT(X+100.) - 100 C .. Executable Statements .. C IF (NOK.LE.2) GO TO 200 C C TRANSFORM THE LOG10(TOL)'S TO NORMALIZED-EFFICIENCY VARIABLE: DO 20 I = 1, NTOL S(I) = -(C+E*LGTOL(I)) 20 CONTINUE C C FIND SET OF CONSECUTIVE TOL'S FOR WHICH INTEGRATION SUCCEEDED: DO 40 NLO = 1, NTOL IF ( .NOT. ERFLG(NLO)) GO TO 60 40 CONTINUE C ELSE ALL INTEGRATIONS FOR THIS PROBLEM FAILED: GO TO 200 60 CONTINUE NHI = NLO - 1 DO 80 I = NLO, NTOL IF (ERFLG(I)) GO TO 100 NHI = I 80 CONTINUE 100 CONTINUE C IF (NHI.LE.NLO) GO TO 200 IF (E.LE.0.) GO TO 220 C C FORM RANGE OF INTEGER POWERS OF 10 FOR WHICH NORMALIZED STATISTICS C ARE TO BE PRINTED: SLO = -FLOOR(-S(NLO)+0.1) SHI = FLOOR(S(NHI)+0.1) IF (SHI.LT.SLO) GO TO 240 C WRITE (IOUT,FMT=99999) TITLE C C START OF LOOP TO PRINT A LINE OF STATISTICS FOR EACH POWER OF 10: I = NLO + 1 CC ... WHICH IS KNOWN TO BE .LE. NHI C DO 160 SINT = SLO, SHI S0 = FLOAT(SINT) C C MOVE INTERVAL S(I-1)..S(I) TO RIGHT WHILE S(I).LT.SINT: 120 IF (S(I).GE.S0 .OR. I.GE.NHI) GO TO 140 I = I + 1 GO TO 120 140 CONTINUE C NECESSARILY NOW NLO + 1 .LE. I .LE. NHI C C NOW DO INTERPOLATION (POSSIBLY EXTRAPOLATION A SHORT DISTANCE) C USING DATA FOR I AND I + 1: THETA = (S0-S(I-1))/(S(I)-S(I-1)) W1INT = W1(I-1) + THETA*(W1(I)-W1(I-1)) W2INT = W2(I-1) + THETA*(W2(I)-W2(I-1)) W3INT = W3(I-1) + THETA*(W3(I)-W3(I-1)) W4INT = W4(I-1) + THETA*(W4(I)-W4(I-1)) W5INT = W5(I-1) + THETA*(W5(I)-W5(I-1)) W6INT = W6(I-1) + THETA*(W6(I)-W6(I-1)) C MSINT = -SINT EQVTOL = -(C+S0)/E WRITE (IOUT,FMT=99998) MSINT, EQVTOL, W1INT, W2INT, W3INT, * W4INT, W5INT, W6INT C 160 CONTINUE C 180 RETURN C 200 WRITE (IOUT,FMT=99997) GO TO 180 C 220 WRITE (IOUT,FMT=99996) GO TO 180 C 240 WRITE (IOUT,FMT=99995) GO TO 180 C 99999 FORMAT (/'0',6X,'NORMALIZED EFFICIENCY - ',A8,' GLOBAL ERROR', * //7X,'EXPECTED',3X,'EQUIV',4X,'TIME',3X,'OVHD',5X,'FCN',5X, * 'JAC',5X,'MAT',4X,'NO OF',/7X,'ACCURACY',1X,'LOG10 TOL', * 17X,'CALLS',3X,'CALLS',4X,'FACT',3X,'STEPS') 99998 FORMAT ('0',6X,'10**',I3,F8.2,F9.3,F7.3,1X,4I8) 99997 FORMAT ('0',10X,'NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM',1X, * 'NORMALIZED STATISTICS') 99996 FORMAT ('0',10X,'DEPENDENCE OF ACCURACY ON TOLERANCE IS TOO',1X, * 'UNRELIABLE TO FORM NORMALIZED STATISTICS') 99995 FORMAT ('0',10X,'NO POWERS OF TEN WITHIN RANGE OF TOLERANCES',1X, * 'USED: NO NORMALIZED STATISTICS') END C C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE CNTROL(CMPLET,INDG1,INDL1) C C********+*********+*********+*********+*********+*********+*********+** C CNTROL ORGANIZES THE CALLS TO METHOD NEEDED TO GATHER C STATISTICS FOR ONE PROBLEM AND ONE TOLERANCE AT THE LEVEL OF C DETAIL SPECIFIED BY OPT, WITH SCALING TURNED ON OR OFF BY IWT. C C ON EXIT FROM CNTROL C CMPLET INDICATES WHETHER A FAILURE OCCURRED: C CMPLET = 1 NO FAILURES. C CMPLET = 0 DETEST FAILED TO OBTAIN TRUE LOCAL OR GLOBAL C SOLUTION. C CMPLET = -1 METHOD FAILED TO REACH THE END OF RANGE. C CMPLET = -2 DETEST FAILED AND SUBSEQUENTLY METHOD FAILED C CMPLET = -3 METHOD COULD NOT START THE INTEGRATION. C CMPLET = -4 METHOD COMPLETED THE STATISTICS GATHERING CALL C BUT (UNEXPECTEDLY) FAILED IN THE TIMING LOOP. C C INDG1, INDL1 RETURN THE ERROR FLAGS OF THE 'TRUE' GLOBAL C AND LOCAL SOLUTIONS RESPECTIVELY. C C THE MAIN OUTPUT FROM CNTROL CONSISTS OF THE STATISTICS HELD C IN COMMON /STCOM3/ C--------+---------+---------+---------+---------+---------+---------+-- C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREAS C--------+---------+---------+---------+---------+---------+---------+-- C1 C2 C3 C5 C6 C .. Scalar Arguments .. INTEGER CMPLET, INDG1, INDL1 C .. Scalars in Common .. DOUBLE PRECISION ERRTOL, HSTART, XEND, XFIN, XTRUE REAL GEMX, GEND, LEMXSC, OVHD, TIME, TRUTIM INTEGER ID, ID1, IFLAG, INDG, INDL, IOUT, IWT, IWT1, N, * N1, NBAD, NDCV, NFCN, NFCN1, NJAC, NJAC1, NLUD, * NLUD1, NRMTYP, NSTART, NSTL, NSTP, NTRU, OPT, * XTRAP C .. Arrays in Common .. DOUBLE PRECISION WT(20) C .. Local Scalars .. DOUBLE PRECISION DUMMY, HINIT, HMAX, X, XSTART REAL FCNTIM, JACTIM, LUDTIM, S, TIMCUM, TSTTIM INTEGER COUNT, I LOGICAL NOSTRT, OKMETH, TIMERR C .. Local Arrays .. DOUBLE PRECISION Y(20), YEND(20), YSTART(20) C .. External Functions .. REAL CLOCK, CONST, DIFNRM EXTERNAL CLOCK, CONST, DIFNRM C .. External Subroutines .. EXTERNAL EVALU, IVALU, METHOD, STATS C .. Intrinsic Functions .. INTRINSIC FLOAT C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, * IOUT COMMON /STCOM2/XEND, HSTART, N, IFLAG, INDL, INDG COMMON /STCOM3/XFIN, XTRUE, TIME, OVHD, TRUTIM, GEND, * GEMX, LEMXSC, NFCN, NJAC, NLUD, NSTP, NSTL, * NDCV, NBAD, NTRU, NSTART COMMON /STCOM5/WT, IWT1, N1, ID1 COMMON /STCOM6/NFCN1, NJAC1, NLUD1 C .. Executable Statements .. CE C C--------+---------+---------+---------+---------+---------+---------+-- C NOTE ON INDL, INDG IN /STCOM2/: C THESE ARE ERROR INDICATORS FOR THE 'TRUE' LOCAL AND C GLOBAL SOLUTION RESPECTIVELY. THEY ARE SET INSIDE STATS C WHICH IS CALLED BY METHOD. C ON RETURN FROM METHOD, INDL IS: C 2 IF NO CALL TO TRUE TO COMPUTE LOCAL SOLUTION HAS C YET BEEN MADE (SET BY INITIALIZING CALL TO STATS). C .GT.0 IF ALL CALLS TO TRUE FOR CALCULATION OF LOCAL C SOLUTION WERE SUCCESSFUL. C .LT.0 IF AN UNSUCCESSFUL CALL TO TRUE FOR THE LOCAL C SOLUTION WAS MADE. C THE VALUE ON EXIT IF NOT 0 IS THE VALUE RETURNED IN THE C FLAG 'IND' OF SUBROUTINE TRUE. C INDG IS THE SAME, BUT FOR THE GLOBAL SOLUTION. C C INDL,INDG ARE USED ON RE-ENTRY TO STATS TO TEST IF A C FAILURE OF THE TRUE SOLUTIONS OCCURRED ON A PREVIOUS STEP C AND SHOULD THUS BE LEFT ALONE BETWEEN STEPS. C--------+---------+---------+---------+---------+---------+---------+-- C C ACTION OF THE ROUTINE: C CALL IVALU TO SET INTEGRATION PARAMETERS. C COPY N,ID,IWT INTO /STCOM5/ FOR USE BY FCN,PDERV. C SET IFLAG = 1 AND CALL STATS TO INITIALIZE ITS COMMON AREAS. C (THE ARGUMENTS FOR THIS CALL ARE DUMMIES.) C SET X,Y,NSTP,NFCN FOR USE IN STATS. SET IFLAG = 2 SO THAT C THE CALL TO METHOD WILL SET THE FIRST STEP SIZE (HSTART) C AND RETURN. C SET NSTART = NO. OF FCN CALLS NEEDED BY METHOD TO START. C--------+---------+---------+---------+---------+---------+---------+-- C CALL IVALU(N,XSTART,XEND,HINIT,HMAX,YSTART,FCNTIM,JACTIM,LUDTIM, * WT,IWT,ID) C N1 = N ID1 = ID IWT1 = IWT X = XSTART DO 20 I = 1, N Y(I) = YSTART(I) 20 CONTINUE C IFLAG = 1 CALL STATS(X,Y,DUMMY,Y) C NFCN1 = 0 NSTP = 0 IFLAG = 2 C CALL METHOD(N,X,Y,XEND,ERRTOL,HMAX,HINIT) C NOSTRT = X .LT. XEND NSTART = NFCN1 C--------+---------+---------+---------+---------+---------+---------+-- C INITIALIZE THE COUNTERS ETC. IN /STCOM3/,/STCOM6/. C IF METHOD FAILED TO START, SET FLAGS AND EXIT. C SET IFLAG = 3 SO THAT THE CALL TO METHOD WILL DO A COMPLETE C INTEGRATION, COMPILING STATISTICS ON EACH STEP. C START THE CLOCK. C--------+---------+---------+---------+---------+---------+---------+-- NFCN1 = 0 NJAC1 = 0 NLUD1 = 0 NSTP = 0 NSTL = 0 LEMXSC = 0. NDCV = 0 NBAD = 0 GEMX = 0. TRUTIM = 0. NTRU = 0 C IF (NOSTRT) GO TO 180 C X = XSTART DO 40 I = 1, N Y(I) = YSTART(I) 40 CONTINUE IFLAG = 3 S = CLOCK(0.0) C CALL METHOD(N,X,Y,XEND,ERRTOL,HMAX,HSTART) C TIME = CLOCK(S) OKMETH = X .GE. XEND XFIN = X NFCN = NFCN1 NJAC = NJAC1 NLUD = NLUD1 IF ( .NOT. OKMETH) GO TO 160 C--------+---------+---------+---------+---------+---------+---------+-- C IF OPT.GT.1, OR IF OPT = 1 BUT THE TIMING ESTIMATE ALREADY C OBTAINED WAS TOO SMALL TO BE RELIABLE, DO A TIMING COMPUTATION C PROVIDED THAT METHOD REACHED THE ENDPOINT IN THE PREVIOUS CALL. C SET IFLAG = 0, START THE CLOCK, AND CALL C METHOD SUFFICIENTLY MANY TIMES FOR THE SOLUTION TIME TO C BE OBTAINED ACCURATELY. COMPUTE THE OVERHEAD AS THE C TOTAL TIME EXCLUSIVE OF FUNCTION AND JACOBIAN EVALUATIONS C AND MATRIX INVERSIONS. C--------+---------+---------+---------+---------+---------+---------+-- TSTTIM = CONST(4) TIMERR = .FALSE. IF (TSTTIM.LE.0) GO TO 120 IF (OPT.EQ.1 .AND. TIME.GE.0.5*TSTTIM) GO TO 120 COUNT = 0 IFLAG = 0 S = CLOCK(0.0) C--------+---------+---------+---------+---------+---------+---------+-- C LOOP TILL 'TSTTIM' TIME UNITS HAVE ELAPSED: C--------+---------+---------+---------+---------+---------+---------+-- 60 CONTINUE X = XSTART DO 80 I = 1, N Y(I) = YSTART(I) 80 CONTINUE CALL METHOD(N,X,Y,XEND,ERRTOL,HMAX,HSTART) TIMERR = X .LT. XEND IF (TIMERR) GO TO 100 TIMCUM = CLOCK(S) COUNT = COUNT + 1 IF (TIMCUM.LT.TSTTIM .AND. COUNT.LT.10) GO TO 60 C 100 IF (COUNT.GE.1) TIME = TIMCUM/FLOAT(COUNT) 120 CONTINUE C--------+---------+---------+---------+---------+---------+---------+-- C WE NOW HAVE A VALUE FOR TIME: THE ONE OBTAINED BEFORE THE C TIMING LOOP IF WE SKIPPED THE LATTER OR IN THE UNLIKELY C EVENT OF AN ERROR IN THE 1ST TIMING ITERATION; OTHERWISE C THE ONE FROM THE TIMING LOOP. C COMPUTE OVERHEAD AND ENDPOINT GLOBAL ERROR. C--------+---------+---------+---------+---------+---------+---------+-- OVHD = TIME - FLOAT(NFCN)*FCNTIM - FLOAT(NJAC)*JACTIM - * FLOAT(NLUD)*LUDTIM CALL EVALU(YEND,N,WT,IWT,ID) GEND = DIFNRM(YEND,Y,N) C IF (TIMERR) GO TO 200 C C--------+---------+---------+---------+---------+---------+---------+-- C SET THE OUTPUT VALUE OF CMPLET, INDG1 AND INDL1. C--------+---------+---------+---------+---------+---------+---------+-- CMPLET = 1 IF (INDL.LT.0 .OR. INDG.LT.0) CMPLET = 0 140 INDG1 = INDG INDL1 = INDL RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C *********** ERROR EXITS *********** C--------+---------+---------+---------+---------+---------+---------+-- C METHOD FAILED TO REACH XEND C--------+---------+---------+---------+---------+---------+---------+-- 160 CMPLET = -1 IF (INDL.LT.0 .OR. INDG.LT.0) CMPLET = -2 TIME = 1E20 OVHD = 1E20 GEND = 1E20 GO TO 140 C C--------+---------+---------+---------+---------+---------+---------+-- C METHOD FAILED TO START C--------+---------+---------+---------+---------+---------+---------+-- 180 CMPLET = -3 NFCN = 0 NJAC = 0 NLUD = 0 TIME = 1E20 OVHD = 1E20 GEND = 1E20 GO TO 140 C--------+---------+---------+---------+---------+---------+---------+-- C INTEGRATION FAILED IN TIMING LOOP C--------+---------+---------+---------+---------+---------+---------+-- 200 CMPLET = -4 GO TO 140 END C C********+*********+*********+*********+*********+*********+*********+** C REAL FUNCTION DIFNRM(A,B,N) C1 C .. Scalar Arguments .. INTEGER N C .. Array Arguments .. DOUBLE PRECISION A(N), B(N) C .. Scalars in Common .. DOUBLE PRECISION ERRTOL INTEGER ID, IOUT, IWT, NRMTYP, OPT, XTRAP C .. Local Scalars .. INTEGER I C .. Intrinsic Functions .. INTRINSIC AMAX1, DABS, REAL, SQRT C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, * IOUT C .. Executable Statements .. C C********+*********+*********+*********+*********+*********+*********+** C NORM OF DIFFERENCE BETWEEN TWO DOUBLE PRECISION VECTORS, C SINGLE PRECISION RESULT. C NRMTYP=1,2,3 CHOOSES MAX-NORM, 2-NORM, R.M.S.-NORM. C--------+---------+---------+---------+---------+---------+---------+-- IF (NRMTYP.EQ.1) THEN DIFNRM = 0.0 DO 20 I = 1, N DIFNRM = AMAX1(DIFNRM,REAL(DABS(A(I)-B(I)))) 20 CONTINUE ELSE DIFNRM = 0.0 DO 40 I = 1, N DIFNRM = DIFNRM + REAL(DABS(A(I)-B(I)))**2 40 CONTINUE C IF (NRMTYP.EQ.2) DIFNRM = SQRT(DIFNRM) IF (NRMTYP.EQ.3) DIFNRM = SQRT(DIFNRM/N) END IF RETURN END C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE STATS(X,Y,ERRBND,ERREST) C C********+*********+*********+*********+*********+*********+*********+** C STATS 'INSTRUMENTS' THE ODE-SOLVER BEING TESTED, BY COMPUTING C THE DEVIATION OF THE SOLUTION COMPUTED IN ROUTINE METHOD FROM C THE 'TRUE' GLOBAL AND LOCAL SOLUTIONS IF REQUESTED, AND BY C ACCUMULATING VARIOUS ASSOCIATED STATISTICS. IT ALSO PERFORMS C VARIOUS INITIALIZATION DUTIES, DEPENDING ON THE VALUE OF IFLAG C ON ENTRY. C C ON ENTRY C X,Y - MUST HOLD 'SOLVER' SOLUTION AT CURRENT STEP C ERREST- MUST HOLD ESTIMATED LOCAL ERROR VECTOR AT THIS STEP C DEFINED AS (COMPUTED Y) - (TRUE LOCAL SOLUTION AT NEW X). C SINCE ABSOLUTE ERROR-CONTROL IS SPECIFIED, THIS IS THE C VECTOR WHOSE NORM IS MAINTAINED BELOW ERRBND BY 'METHOD'. C IT IS ASSUMED THAT 'METHOD' USES ONE OF THE 3 NORMS C OFFERED BY THE PACKAGE, AND NRMTYP MUST BE SET SUITABLY. C ERRBND- MUST HOLD TOLERANCE BELOW WHICH THE NORM OF ERREST IS C BEING HELD AT THIS STEP. USUALLY SAME AS ERRTOL BUT WILL C BE DIFFERENT AND VARY WITH STEPSIZE IF (EG) A PER-UNIT- C STEP ERROR CRITERION IS USED. C C STORAGE FOR VARIOUS SOLUTIONS: C X,Y - CURRENT SOLUTION COMPUTED BY METHOD, PASSED IN C VIA ARGUMENT LIST. C XOLD,YOLD- VALUES OF X,Y AT AN OLD MESHPOINT OF METHOD, C USUALLY THE LAST ONE BUT OLDER IF A LUMPED C STEP IS BEING FORMED (SEE BELOW). C IF IFLAG = 0, NEITHER XOLD NOR YOLD IS USED. C YOLD IS NOT USED UNLESS STATISTICS ON LOCAL ERROR C ARE BEING COMPILED (IFLAG=3 AND OPT=3). C THE 'TRUE' LOCAL SOLUTION IS OBTAINED BY INTEG- C RATING FROM XOLD,YOLD TO THE CURRENT X. C XOLD,YOLD ARE USED AS THE ACTUAL ARGUMENTS IN THIS C INTEGRATION, AND ARE THEN UPDATED TO HOLD X,Y IN C PREPARATION FOR NEXT CALL TO STATS. C XT - LAST MESHPOINT OF METHOD. C XOLDG - INDEP VAR FOR 'TRUE' GLOBAL SOLUTION, IN COMMON. C YOLDG - 'TRUE' GLOBAL SOLUTION AT XOLDG, HELD IN COMMON. C UPDATED BY CALLING TRUE AT EACH CALL TO STATS IF C DETAILED STATISTICS ARE BEING COMPILED (IFLAG = 3) C AND IF OPT.GE.2 C YSTAR - ONLY USED IF OPT.EQ.4. IF SOLVER DOES NOT DO LOCAL C EXTRAPOLATION, WE FORM THE LOCALLY EXTRAPOLATED C SOLUTION IN YSTAR. C--------+---------+---------+---------+---------+---------+---------+-- C C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREAS C--------+---------+---------+---------+---------+---------+---------+-- C1 C2 C3 C4 C6 C .. Scalar Arguments .. DOUBLE PRECISION ERRBND, X C .. Array Arguments .. DOUBLE PRECISION ERREST(20), Y(20) C .. Scalars in Common .. DOUBLE PRECISION ERLUMP, ERRTOL, HSTART, PRECIS, XEND, XFIN, XOLD, * XOLD1, XOLDG, XT, XTRUE REAL GEMX, GEND, LEMXSC, OVHD, TIME, TRUTIM INTEGER ID, IFLAG, INDG, INDL, IOUT, IWT, N, NBAD, NDCV, * NFCN, NFCN1, NJAC, NJAC1, NLUD, NLUD1, NRMTYP, * NSTART, NSTL, NSTP, NTRU, OPT, XTRAP C .. Arrays in Common .. DOUBLE PRECISION CG(20), PDG(400), WG(400), WKG(20,12), YOLD(20), * YOLDG(20), YPG(20,11) INTEGER INFG(40) C .. Local Scalars .. DOUBLE PRECISION HLUMP, YNORM REAL ESTSC, LEERSC, LESC, THETA, TRUT0 INTEGER I, NDIM, NNFCN, NNJAC, NNLUD C .. Local Arrays .. DOUBLE PRECISION CL(20), PDL(400), WKL(20,12), WL(400), * YPL(20,11), YSTAR(20), ZERO(20) INTEGER INFL(40) C .. External Functions .. REAL CLOCK, CONST, DIFNRM EXTERNAL CLOCK, CONST, DIFNRM C .. External Subroutines .. EXTERNAL FCN, DERV, PLOT, TRUE C .. Intrinsic Functions .. INTRINSIC AMAX1, DABS, DMAX1 C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, IOUT COMMON /STCOM2/XEND, HSTART, N, IFLAG, INDL, INDG COMMON /STCOM3/XFIN, XTRUE, TIME, OVHD, TRUTIM, GEND, * GEMX, LEMXSC, NFCN, NJAC, NLUD, NSTP, NSTL, NDCV, * NBAD, NTRU, NSTART COMMON /STCOM4/XOLD1, XOLD, YOLD, XOLDG, YOLDG, CG, PDG, * WKG, WG, YPG, XT, PRECIS, ERLUMP, INFG COMMON /STCOM6/NFCN1, NJAC1, NLUD1 C .. Data statements .. CE C DATA NDIM/20/ C .. Executable Statements .. C C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 0 METHOD IS BEING TIMED. C--------+---------+---------+---------+---------+---------+---------+-- IF (IFLAG.EQ.0) RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 1 INITIALIZE VARIABLES TO DO WITH FINDING FIRST STEP- C SIZE, ASSESSING LUMPED STEPS AND COMPUTING TRUE GLOBAL SOLUTION. C RESET INDL, OTHERWISE A LOCAL FAILURE (INDL<0) ON A PREVIOUS C INTEGRATION WILL BE DEEMED A FAILURE ON THIS ONE. C 1ST 5 ELEMENTS OF INFG,CG MUST BE INITIALIZED; WE INITIALIZE C MORE TO AID DIAGNOSTICS. C--------+---------+---------+---------+---------+---------+---------+-- IF (IFLAG.NE.1) GO TO 60 C C FOR EVALUATING PERFORMANCE OF 'TRUE': C CALL TRUCHK(1,IDUM) PRECIS = 1000.D0*CONST(1) ERLUMP = 0.D0 XOLD1 = X XOLD = X XOLDG = X XT = X DO 20 I = 1, N YOLD(I) = Y(I) YOLDG(I) = Y(I) 20 CONTINUE DO 40 I = 1, 20 INFG(I) = 0 CG(I) = 0.D0 40 CONTINUE INFG(1) = 1 INFG(3) = 1000 INDG = 2 INDL = 2 RETURN C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 2 DETERMINE THE INITIAL STEPSIZE FOR C THE INTEGRATION PROPER. WE CHOOSE THE SECOND STEP C TAKEN AND TERMINATE THE INTEGRATION BY SETTING X C EQUAL TO XEND. HSTART THEN HOLDS THE CURRENT STEPSIZE. C--------+---------+---------+---------+---------+---------+---------+-- 60 IF (IFLAG.NE.2) GO TO 80 NSTP = NSTP + 1 HSTART = X - XOLD1 XOLD1 = X IF (NSTP.GE.2) X = XEND RETURN C C C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 3 COMPILE STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- C C IF THE STEPSIZE AND, HENCE, THE ERROR REQUIREMENT WAS C TOO SMALL TO PERMIT AN EFFECTIVE ASSESSMENT AT THIS C PRECISION, CONTINUE THE INTEGRATION. A LUMPED ERROR C ESTIMATE IS FORMED IN ERLUMP AND SEVERAL SMALL STEPS C ASSESSED AS ONE. C THE TEST FOR THE SIZE OF A LUMPED STEP IS MATCHED TO THE C MINIMUM STEPSIZE TEST IN 'TRUE' AND IS INTENDED TO ENSURE C (VERY CONSERVATIVELY) THAT ROUNDOFF EFFECTS ARE NEGLIGIBLE. C MAX-NORM IS USED IRRESPECTIVE OF THE VALUE OF NRMTYP IN /STCOM1/. C IT IS ASSUMED THAT LUMPING OCCURS ONLY WHEN FAST TRANSIENTS ARE C BEING DAMPED OUT AND CONSEQUENTLY THE STEPSIZE WILL BE RAPIDLY C INCREASING. IN THIS SITUATION EARLIER LOCAL ERRORS HAVE LESS C EFFECT ON THE LUMPED ERROR THAN RECENT ONES AND THE C FORMULA FOR ERLUMP IS A CRUDE WAY TO ENSURE THIS. C--------+---------+---------+---------+---------+---------+---------+-- 80 CONTINUE NSTP = NSTP + 1 HLUMP = X - XOLD THETA = (X-XT)/HLUMP ERLUMP = ERLUMP + THETA*(ERRBND-ERLUMP) XT = X YNORM = 0.D0 DO 100 I = 1, N YNORM = DMAX1(YNORM,DABS(YOLDG(I)),DABS(Y(I))) 100 CONTINUE IF (HLUMP*ERRTOL.GE.YNORM*PRECIS) GO TO 120 C WRITE(6,998)XOLD,X,THETA,HLUMP,ERREST,ERRBND,NSTL,NSTP C998 FORMAT(1H0,'XOLD X THETA HLUMP ERREST ERRBND NSTL NSTP=', C * 1P6D12.4,2I4) RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C A SUFFICIENTLY LARGE LUMPED STEP HAS BEEN FORMED. C INCREMENT THE LUMPED STEP COUNT. C--------+---------+---------+---------+---------+---------+---------+-- 120 CONTINUE NSTL = NSTL + 1 C--------+---------+---------+---------+---------+---------+---------+-- C GLOBAL ASSESSMENT C SAVE COUNTERS THAT WILL BE AFFECTED BY 'TRUE' CALLS. SET MAX C STEPSIZE FOR GLOBAL SOLUTION TO X-XOLDG (DEFAULT VALUE IN TRUE IS C 1/5TH OF THIS.) C CONTINUE TRUE GLOBAL SOLUTION TO CURRENT MESHPOINT AND C UPDATE MAX GLOBAL ERROR GEMX. C IF FAILURE OCCURS, RECORD POSITION IN XTRUE AND SKIP LOCAL C ASSESSMENT ALSO. C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.LT.2 .OR. INDG.LT.0) GO TO 240 NNFCN = NFCN1 NNJAC = NJAC1 NNLUD = NLUD1 CG(4) = 1.1D0*(X-XOLDG) TRUT0 = CLOCK(0.) C CALL TRUE(FCN,DERV,NDIM,N,XOLDG,YOLDG,X,1.D-2*ERRTOL,INDG,CG, * INFG,YPG,WG,PDG,WKG) C TRUTIM = TRUTIM + CLOCK(TRUT0) INFG(3) = INFG(13) + 100 IF (INDG.GE.0) GO TO 140 XTRUE = XOLDG C WRITE(6,999)(INFG(I),I=1,20),CG C999 FORMAT(1H0,'TRUE FAILURE, INF & C ='/1H0,20I6/ C * (1H0,1P10D12.4)) GO TO 220 140 GEMX = AMAX1(GEMX,DIFNRM(Y,YOLDG,N)) C--------+---------+---------+---------+---------+---------+---------+-- C LOCAL ASSESSMENT C OBTAIN THE LOCAL SOLUTION THROUGH THE PREVIOUS COMPUTED C MESH VALUE TO HIGHER ACCURACY THAN METHOD, PROVIDED NO C FAILURES HAVE OCCURRED IN PREVIOUS CALLS TO TRUE C (INDL.GE.0). CHECK FOR A FAILURE THIS TIME AFTER THE C CALL TO TRUE. COMPILE THE RELIABILITY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.LT.3 .OR. INDL.LT.0) GO TO 220 DO 160 I = 1, 5 INFL(I) = 0 CL(I) = 0.D0 160 CONTINUE INFL(1) = 1 INFL(3) = 500 INDL = 2 CL(4) = 1.1D0*(X-XOLD) TRUT0 = CLOCK(0.) C CALL TRUE(FCN,DERV,NDIM,N,XOLD,YOLD,X,1.D-2*ERLUMP,INDL,CL,INFL, * YPL,WL,PDL,WKL) C TRUTIM = TRUTIM + CLOCK(TRUT0) XTRUE = XOLD C IF(INDL.LT.0)WRITE(6,999)(INFL(I),I=1,20),CL IF (INDL.LT.0) GO TO 220 C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE STATISTICS C LESC RECORDS THE RATIO OF THE MAGNITUDE OF THE TRUE C LOCAL ERROR TO THE ASSUMED LOCAL ERROR BOUND. C LEMXSC RECORDS ITS MAXIMUM OVER THE RANGE. C NTRU COUNTS THE NO. OF LUMPED STEPS OF METHOD ON WHICH C LOCAL ASSESSMENT SUCCEEDED, SO AS TO ALLOW SUMMARY OF PARTIAL C RESULTS IF TRUE FAILS AT SOME POINT. C C IF OPT=4, DO THE ANALYSIS OF THE LOCAL ERROR ESTIMATE VECTOR, C ERREST, BY FORMING THE SCALED ||ERROR|| IN ERREST. IF LOCAL C EXTRAPOLATION IS DONE THIS IS LESC=||ERREST||/ERLUMP. IF NOT, C FORM YSTAR=LOCALLY EXTRAPOLATED SOLUTION AND IT IS THEN C ||YSTAR-YOLD||/ERLUMP. FORM A POINT ON THE SCATTER DIAGRAM C OF ERROR IN ERREST (VERT AXIS) VS. ERREST (HORIZ AXIS) C AND ENTER IT BY A CALL TO 'PLOT'. C--------+---------+---------+---------+---------+---------+---------+-- C C FOR EVALUATING PERFORMANCE OF 'TRUE': C CALL TRUCHK(3,INFL) LESC = DIFNRM(Y,YOLD,N)/ERLUMP LEMXSC = AMAX1(LEMXSC,LESC) IF (LESC.GT.1.0) NDCV = NDCV + 1 IF (LESC.GT.5.0) NBAD = NBAD + 1 IF (OPT.EQ.4) THEN C XTRAP=1 OR 0 ACCORDING AS THE USER HAS TOLD THE PACKAGE THAT C LOCAL EXTRAPOLATION IS OR IS NOT BEING DONE BY SOLVER: IF (XTRAP.EQ.0) THEN DO 180 I = 1, N YSTAR(I) = Y(I) - ERREST(I) 180 CONTINUE LEERSC = DIFNRM(YSTAR,YOLD,N)/ERLUMP ELSE LEERSC = LESC END IF ESTSC = DIFNRM(ERREST,ZERO,N)/ERLUMP CALL PLOT(ESTSC,LEERSC,1) C WRITE(IOUT,'('' I TRUE LE EST LE'')') C DO 95 I=1,N C95 WRITE(IOUT,''(' ',I3,2F14.10)'') I,LERR(I),ERREST(I) END IF C NTRU = NTRU + 1 C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE MEMORY OF LAST COMPUTED VALUES. C--------+---------+---------+---------+---------+---------+---------+-- DO 200 I = 1, N YOLD(I) = Y(I) 200 CONTINUE C--------+---------+---------+---------+---------+---------+---------+-- C RESTORE THE COUNTS AFFECTED BY 'TRUE' CALLS. C--------+---------+---------+---------+---------+---------+---------+-- 220 NFCN1 = NNFCN NJAC1 = NNJAC NLUD1 = NNLUD C--------+---------+---------+---------+---------+---------+---------+-- C RE-INITIALIZE THE DATA PERTAINING TO A LUMPED STEP. C--------+---------+---------+---------+---------+---------+---------+-- 240 ERLUMP = 0.D0 XOLD = X C--------+---------+---------+---------+---------+---------+---------+-- C RETURN TO METHOD TO CONTINUE THE INTEGRATION. C--------+---------+---------+---------+---------+---------+---------+-- RETURN END * SUBROUTINE PLOT(X,Y,IFLAG) C ROUTINE TO FORM PLOTS OF LOCAL ERROR INFORMATION FOR DETEST, USING C AN ARRAY K WHICH IS IN 'SAVE' STORAGE. C C IF IFLAG<=0, IT RESETS ARRAY K TO ZERO. C C IF IFLAG=1, THE ROUTINE ENTERS (X,Y) ON THE SCATTER-DIAGRAM C REPRESENTED BY K. HERE X,Y ARE >= 0, AND THE RANGE 0 TO INFINITY IS C SPLIT INTO CLASS-INTERVALS NUMBERED I = NLO .. NHI, THE I-TH INTERVAL C BEING 2**(I-1) <= X < 2**I EXCEPT THAT THE NLO-TH ONE INCLUDES ALL C X BELOW 2**NLO AND THE NHI-TH INCLUDES ALL X >=2**(NHI-1). C C IF IFLAG=2, THE SCATTER DIAGRAM IS PRINTED OUT. C C NOTE: IF IMPLEMENTER WISHES TO ALTER NLO, NHI THEN THE DATA C STATEMENTS MUST BE ALTERED CORRESPONDINGLY. C CERR CHARACTER STR3*3, LINE*LINLEN, LINE1*LINLEN, LINE2*LINLEN, CERR * LINE3*LINLEN, LINE4*LINLEN C .. Parameters .. INTEGER NLO, NHI REAL ALOG2 INTEGER NMIN, LINLEN REAL XYMIN PARAMETER (NLO=-7,NHI=4,ALOG2=.69314718,NMIN=NLO-1, * LINLEN=3*(NHI-NLO+1)+1,XYMIN=2.**NMIN) C .. Scalar Arguments .. REAL X, Y INTEGER IFLAG C .. Local Scalars .. REAL C, P, T INTEGER I, IOUT, J, JL, KMAX, KTOT CHARACTER*(LINLEN) LINE CHARACTER*(LINLEN) LINE1 CHARACTER*(LINLEN) LINE2 CHARACTER*(LINLEN) LINE3 CHARACTER*(LINLEN) LINE4 C .. Local Arrays .. INTEGER K(NLO:NHI,NLO:NHI) C .. External Functions .. REAL CONST CHARACTER*3 STR3 EXTERNAL CONST, STR3 C .. Intrinsic Functions .. INTRINSIC ALOG, MAX, MIN, NINT C .. Statement Functions .. INTEGER ICLAS, ICLAS0 C .. Save statement .. SAVE K, KTOT, KMAX, IOUT C .. Data statements .. DATA LINE1/'+--+--+--+--+--+--+--+--+--+--+--+--+'/, * LINE2/'+ +'/, * LINE3/'| |'/, * LINE4/' 2 2 2 2 2 2 2 2 2 2 2 '/ C .. Executable Statements .. C C C .. Statement Function definitions .. ICLAS0(T) = NMIN + NINT(ALOG(MAX(1.,T/XYMIN))/ALOG2) ICLAS(T) = MIN(MAX(ICLAS0(T),NLO),NHI) IF (IFLAG.LE.0) THEN IOUT = CONST(3) KTOT = 0 KMAX = 0 DO 40 I = NLO, NHI DO 20 J = NLO, NHI K(I,J) = 0 20 CONTINUE 40 CONTINUE ELSE IF (IFLAG.EQ.1) THEN IF (X.LT.0. .OR. Y.LT.0.) THEN WRITE (IOUT,FMT=*) * ' ERROR IN ARGUMENTS TO DETEST PLOT ROUTINE', X, Y STOP END IF I = ICLAS(X) J = ICLAS(Y) K(I,J) = K(I,J) + 1 KTOT = KTOT + 1 KMAX = MAX(KMAX,K(I,J)) ELSE C = KTOT DO 80 I = NHI, NLO, -1 LINE = LINE3 DO 60 J = NLO, NHI JL = J - NLO P = K(J,I)/C LINE(3*JL+1:3*JL+3) = STR3(P) 60 CONTINUE CERR8 LINE(3*JL+1:3*JL+3) = STR3(K(J,I)/C) IF (LINE(1:1).EQ.' ') LINE(1:1) = '|' IF (I.EQ.NHI) THEN WRITE (IOUT,FMT='(1X,15X,''INFINITY '',A)') LINE1 WRITE (IOUT,FMT='(1X,20X,'' '',A)') LINE ELSE WRITE (IOUT,FMT='(1X,15X,I8,1X,A)') I, LINE2 WRITE (IOUT,FMT='(1X,20X,''2 '',A)') LINE END IF 80 CONTINUE WRITE (IOUT,FMT='(1X,24X,A)') LINE1 WRITE (IOUT,FMT='(/1X,25X,30I3)') (J,J=NLO,NHI-1) WRITE (IOUT,FMT='(1X,24X,A)') LINE4 END IF RETURN END CHARACTER*3 FUNCTION STR3(P) C CONVERTS P (MEANT TO BE IN RANGE 0 TO 1) TO A 3 CHARACTER C INTEGER PERCENTAGE. P=0 BECOMES ' ', 0 HMAX. C IF (C(9).LE.C(11)) GO TO 560 IND = -2 RETURN 560 CONTINUE C C CASES - INITIAL STEP, LAST STEP ACCEPTED, LAST STEP REJECTED. C IER = INF(8) GO TO (580,720,980,980) IER C C CASE 1 - INITIAL STEP (INF(8) .EQ. 1) C 580 CONTINUE CALL FCN(X,Y,YP(1,8)) CALL DERV(X,Y,PDERIV) INF(13) = INF(13) + 1 INF(14) = INF(14) + 1 INF(6) = 3 K = 1 INF(17) = 0 INF(16) = 0 INF(20) = 1 INF(18) = -1 INF(19) = 1 CALL COEFF(K,POEF,COEF,PIE,PII) DO 620 I = 1, N YDP = 0.D0 DO 600 J = 1, N YDP = YDP + PDERIV(I+(J-1)*N)*YP(J,8) 600 CONTINUE YP(I,9) = YDP 620 CONTINUE HSTART = C(5) IF (HSTART.EQ.0.D0) GO TO 640 C(12) = DMIN1(DABS(HSTART),C(11)) GO TO 700 640 CONTINUE HABS = DSQRT(C(6)) HTMP = DSIGN(HABS,XEND-X) DO 660 I = 1, N WORK(I,1) = Y(I) + HTMP*(YP(I,8)+.5D0*HTMP*YP(I,9)) 660 CONTINUE CALL FCN(X+HTMP,WORK(1,1),YP(1,10)) YP3NRM = C(7) DO 680 I = 1, N YDP = (WORK(I,1)-Y(I)-HTMP*(COEF(2)*YP(I,10)+COEF(1)*YP(I,8))) * /(HTMP*HTMP*COEF(3)) YP3NRM = DMAX1(YP3NRM,DABS(YP(I,9)-YDP)) 680 CONTINUE C(12) = DMIN1(C(11),.95D0*(6.D0*TOL*HABS/YP3NRM)**(1.D0/3.D0)) 700 CONTINUE C(14) = DSIGN(C(12),XEND-X) C(13) = X + C(14) GO TO 1220 720 CONTINUE IF (INF(16).LE.0 .OR. C(12).GE.C(11)) GO TO 920 HABS = DABS(C(14)) IF (INF(16).GE.K+1) GO TO 740 C(12) = STEP(C(15),C(12),TOL,INF(6)) HK = C(12) GO TO 900 740 CONTINUE HPAST = C(16) KM1 = K - 1 NQM1 = INF(6) - 1 KP1 = K + 1 NQP1 = INF(6) + 1 HKM1 = 0.D0 IF (K.EQ.1) GO TO 800 CALL COEFF(KM1,PTMP,CTMP,PEKM1,PIKM1) ESTKM1 = 0.D0 JSHFT = 8 - K DO 780 I = 1, N SUM = C(14)*PTMP(NQM1)*YP(I,9) DO 760 J = 1, K SUM = SUM + PTMP(J)*YP(I,J+JSHFT) 760 CONTINUE YKM1 = C(14)*SUM + WORK(I,4) ESTKM1 = DMAX1(ESTKM1,DABS(YKM1-Y(I))*WORK(I,9)) 780 CONTINUE ESTKM1 = PIKM1*ESTKM1/PEKM1 HKM1 = STEP(ESTKM1,C(12),TOL,NQM1) 800 CONTINUE HKP1 = 0.D0 IF (INF(6).EQ.INF(7)) GO TO 840 CALL COEFF(KP1,PTMP,CTMP,PEKP1,PIKP1) HP = (C(14)/HPAST)**NQP1 ESTKP1 = 0.D0 DO 820 I = 1, N ESTKP1 = DMAX1(ESTKP1,DABS(WORK(I,7)-WORK(I,8)*HP)*WORK(I,9)) 820 CONTINUE ESTKP1 = PIKP1*ESTKP1/(PIE-PII) HKP1 = STEP(ESTKP1,C(12),TOL,NQP1) 840 CONTINUE IF (HKP1.GT.HKM1) GO TO 860 HTMP = HKM1 KTMP = KM1 GO TO 880 860 CONTINUE HTMP = HKP1 KTMP = KP1 880 CONTINUE HK = STEP(C(15),C(12),TOL,INF(6)) C(12) = HK IF (HK.GE.DMIN1(HTMP,C(11)) .OR. HTMP.LT.1.3D0*HABS .AND. .NOT. * (HK.LE.HABS .AND. HTMP.GT.1.1D0*HABS)) GO TO 900 C(12) = HTMP K = KTMP INF(6) = K + 2 CALL COEFF(K,POEF,COEF,PIE,PII) INF(16) = 0 INF(20) = 1 900 CONTINUE C(12) = DMIN1(C(12),C(11)) IF (C(12).EQ.HK .AND. C(12).LE.1.3D0*HABS) C(12) = HABS 920 CONTINUE JSHFT = 8 - K DO 960 I = 1, N DO 940 J = JSHFT, 7 YP(I,J) = YP(I,J+1) 940 CONTINUE YP(I,8) = YP(I,10) YP(I,9) = YP(I,11) 960 CONTINUE C(16) = C(14) GO TO 1100 980 CONTINUE IF (INF(8).EQ.4) GO TO 1000 INF(8) = 4 INF(16) = -1 C(12) = C(12)*.5D0 IF (INF(6).EQ.3) GO TO 1060 IF (INF(12).GE.4) GO TO 1040 GO TO 1020 1000 CONTINUE C(12) = STEP(C(15),C(12),TOL,INF(6)-1) IF (INF(6).EQ.3) GO TO 1060 IF (INF(12).GE.4) GO TO 1040 INF(18) = -1*INF(18) IF (INF(18).EQ.-1) GO TO 1080 1020 CONTINUE INF(16) = MIN0(INF(16),0) INF(6) = INF(6) - 1 K = K - 1 CALL COEFF(K,POEF,COEF,PIE,PII) GO TO 1080 1040 CONTINUE INF(6) = 3 K = 1 CALL COEFF(K,POEF,COEF,PIE,PII) 1060 CONTINUE INF(17) = INF(17) + 1 IF (INF(17).GE.2) INF(19) = 1 1080 CONTINUE 1100 CONTINUE C>>>>>>>>INTERRUPT NO. 1 (IND .EQ. 4) IF REQUESTED IF (INF(4).EQ.0) GO TO 1120 IND = 4 RETURN C C RESUME HERE ON RE-ENTRY WITH IND .EQ. 4 - ...RE-ENTRY........... C 1120 CONTINUE C C OBTAIN FINAL HMAG, XTRIAL AND HTRIAL C DIFF = XEND - X K = INF(6) - 2 IF (IND.EQ.4) CALL COEFF(K,POEF,COEF,PIE,PII) IF (C(12).GE.DABS(DIFF)) GO TO 1140 C DO NOT STEP MORE THAN HALF WAY TO XEND C(12) = DMIN1(C(12),.5D0*DABS(DIFF)) IF (C(4).EQ.0.D0) C(11) = C(12) GO TO 1160 1140 CONTINUE C HIT XEND EXACTLY C(12) = DABS(DIFF) 1160 CONTINUE C CALCULATE HTRIAL HTMP = C(14) C(14) = DSIGN(C(12),DIFF) C(13) = X + C(14) IF (HTMP.NE.C(14)) GO TO 1180 GO TO 1200 1180 CONTINUE C C IF HTRIAL IS BEING CHANGED RESET UPDATE, INF(20), AND C CALL NEWSTP TO OBTAIN THE APPROXIMATION TO F AT C K EQUALLY SPACED POINTS C INF(20) = 1 IF (INF(19).EQ.0) CALL NEWSTP(NDIM,N,K,X,HTMP,C(14),YP) 1200 CONTINUE 1220 CONTINUE 1240 CONTINUE NQ = INF(6) RREB = C(6) HMAG = C(12) XTRIAL = C(13) HTRIAL = C(14) HPAST = C(16) IF (INF(19).EQ.1) GO TO 1260 GO TO 1300 1260 CONTINUE DO 1280 I = 1, N WORK(I,2) = Y(I) + HTRIAL*(YP(I,8)+HTRIAL*YP(I,9)*.5D0) WORK(I,1) = WORK(I,2) IF (INF(10).EQ.0) GO TO 1280 WORK(I,1) = Y(I) + (Y(I)-WORK(I,4))*HTRIAL/HPAST YP(I,1) = WORK(I,1) 1280 CONTINUE GO TO 1400 1300 CONTINUE RATIO = HTRIAL/HPAST JSHFT = 7 - K KP1 = K + 1 DO 1340 I = 1, N SUM = HTRIAL*POEF(NQ)*YP(I,9) DO 1320 J = 1, KP1 SUM = SUM + POEF(J)*YP(I,JSHFT+J) 1320 CONTINUE WORK(I,2) = HTRIAL*SUM + Y(I) WORK(I,1) = WORK(I,2) IF (NQ.GT.3) GO TO 1340 WORK(I,1) = Y(I) + (Y(I)-WORK(I,4))*RATIO YP(I,1) = WORK(I,1) 1340 CONTINUE IF (INF(8).NE.2) GO TO 1380 DO 1360 I = 1, N WORK(I,8) = WORK(I,7) 1360 CONTINUE 1380 CONTINUE 1400 CONTINUE NN = N*N NP1 = N + 1 CALL FCN(XTRIAL,WORK(1,1),YP(1,10)) INF(13) = INF(13) + 1 CALL DERV(XTRIAL,WORK(1,1),PDERIV) INF(14) = INF(14) + 1 ERRCO = PII/(PIE-PII) DMAX = 1.D0 DPRED = 1.D-16 JSHFT = 8 - K DO 1440 I = 1, N DPRED = DMAX1(DPRED,DABS(YP(I,10)-YP(I,8)) * /DMAX1(1.D0,DABS(YP(I,8)))) WORK(I,6) = YP(I,10) CNST = 0.D0 DO 1420 J = 1, K CNST = CNST + COEF(J)*YP(I,JSHFT+J) 1420 CONTINUE WORK(I,5) = HTRIAL*CNST + Y(I) 1440 CONTINUE DPRED = HMAG*DPRED DPAST = DPRED DSTRT = DPRED ICONV = 1 IF (INF(8).EQ.2 .AND. INF(20).EQ.0) ICONV = 2 RESTRT = .FALSE. ERRLIM = .25D0*(1.9D0**NQ)*TOL KOUNT = 1 C C ITERATE UNTIL CONVERGENCE, DIVERGENCE DETECTED, OR KOUNT .GE. 5 C 1460 IF (ICONV.EQ.1) GO TO 1480 GO TO 1600 C C IF ICONV = 1 THEN RE-EVALUATE W, THE ITERATION MATRIX. C OTHERWISE, PROCEED TO THE NEXT STAGE C 1480 CONTINUE IF (KOUNT.EQ.1) GO TO 1500 CALL DERV(XTRIAL,WORK(1,1),PDERIV) INF(14) = INF(14) + 1 1500 CONTINUE RESTRT = .TRUE. R = -HTRIAL*HTRIAL*COEF(NQ) HTMP = -HTRIAL*COEF(K+1) DO 1560 I = 1, N DO 1540 J = 1, N JM1TN = (J-1)*N IJ = I + JM1TN W(IJ) = PDERIV(IJ)*HTMP IF (I.EQ.J) W(IJ) = W(IJ) + 1.D0 SUM = 0.D0 DO 1520 M = 1, N SUM = SUM + PDERIV(I+(M-1)*N)*PDERIV(M+JM1TN) 1520 CONTINUE SUM = R*SUM IF (I.EQ.J .AND. SUM.EQ.SUM+1.D0) * SUM = SUM*(1.D0-10.D0*RREB) W(IJ) = W(IJ) + SUM 1540 CONTINUE 1560 CONTINUE INF(15) = INF(15) + 1 CALL DDCOMP(N,N,W,INF(21),ISING) IF (ISING.EQ.0) GO TO 1580 C MATRIX APPEARS SINGULAR, SET INF(8) TO 3 AND BRANCH TO C THE END OF YCALC. INF(8) = 3 GO TO 1980 1580 CONTINUE 1600 CONTINUE C C CALCULATE THE RIGHT HAND SIDE OF THE SYSTEM, WORK(*,10) C THEN BACK-SUBSTITUTE TO SOLVE FOR THE CORRECTION C VECTOR, WORK(*,11). C DO 1640 I = 1, N R = 0.D0 DO 1620 J = 1, N R = R + PDERIV(I+(J-1)*N)*YP(J,10) 1620 CONTINUE YP(I,11) = R WORK(I,10) = -WORK(I,1) + HTRIAL*COEF(K+1)*YP(I,10) + * HTRIAL*HTRIAL*COEF(NQ)*R + WORK(I,5) 1640 CONTINUE CALL DSOLVE(N,N,W,INF(21),WORK(1,10),WORK(1,11)) DELMAX = 0.D0 CMAX = 0.D0 DO 1660 I = 1, N DELTA = WORK(I,11) WEIGHT = WORK(I,3) WORK(I,1) = WORK(I,1) + DELTA WORK(I,7) = WORK(I,2) - WORK(I,1) WORK(I,12) = ERRCO*WORK(I,7) DELMAX = DMAX1(DELMAX,DABS(DELTA)*WEIGHT) CMAX = DMAX1(CMAX,DABS(WORK(I,7))*WEIGHT) WORK(I,10) = YP(I,10) 1660 CONTINUE C(15) = ERRCO*CMAX CONVGD = .FALSE. DIFF = DMAX1(1.D-2*TOL,RREB*C(8)) IF (DELMAX.LE.DMAX1(DIFF,RREB)) CONVGD = .TRUE. DBND = DMIN1(RREB,.1D0*TOL) IF ((DMAX.LE.DBND .AND. CONVGD) .OR. * (KOUNT.EQ.2 .AND. DELMAX.LE.DBND)) GO TO 1700 C C IF IT APPEARS THAT THE SYSTEM IS LINEAR, DON'T DO THE C LAST FUNCTION EVALUATION. C INF(13) = INF(13) + 1 CALL FCN(XTRIAL,WORK(1,1),YP(1,10)) FMAX = 0.D0 DO 1680 I = 1, N FMAX = DMAX1(FMAX,DABS(WORK(I,10)-YP(I,10)) * /DMAX1(DABS(WORK(I,10)),1.D0)) 1680 CONTINUE DMAX = DMAX1(HMAG*FMAX,DBND) 1700 CONTINUE C C CHECK FOR CONVERGENCE (DMAX <=MIN(1.D-3,TOL) AND C DELMAX <= 1.D-2*TOL) C IF ((DMAX.LE.DMIN1(TOL,1.D-3) .AND. CONVGD) * .OR. (KOUNT.EQ.2 .AND. DELMAX.LE.DBND)) GO TO 1720 GO TO 1760 1720 CONTINUE DO 1740 I = 1, N YP(I,11) = (WORK(I,1)-WORK(I,5)-COEF(K+1)*HTRIAL*YP(I,10)) * /(HTRIAL*HTRIAL*COEF(NQ)) 1740 CONTINUE GO TO 1980 1760 CONTINUE C C IF CONVERGENCE CRITERIA HAVE NOT BEEN SATISFIED, PREPARE FOR C THE NEXT ITERATION. C CHECK TO SEE THAT ANOTHER ITERATION IS ALLOWED (KOUNT < 5) C IF (KOUNT.GE.5) GO TO 1780 GO TO 1800 1780 INF(8) = 3 GO TO 1980 1800 CONTINUE KOUNT = KOUNT + 1 IF (C(15).GT.TOL) GO TO 1820 GO TO 1900 1820 CONTINUE IF (RESTRT) GO TO 1840 GO TO 1860 1840 CONTINUE IF (C(15).GT.ERRLIM) INF(8) = 3 GO TO 1980 1860 CONTINUE ICONV = 1 DO 1880 I = 1, N WORK(I,1) = WORK(I,2) IF (NQ.EQ.3) WORK(I,1) = YP(I,1) YP(I,10) = WORK(I,6) 1880 CONTINUE DPRED = DSTRT DPAST = DSTRT GO TO 1460 1900 CONTINUE C C ANOTHER ITERATION WILL BE DONE, CHECK TO SEE IF AN UPDATE OF C W IS NECESSARY. C IF ((DMAX.LE.DPRED .OR. (KOUNT.EQ.2 .AND. RESTRT)) .OR. CONVGD) * GO TO 1920 GO TO 1940 1920 ICONV = 2 GO TO 1960 1940 IF (DMAX.GT.(N/6)*DPRED) ICONV = 1 1960 CONTINUE C ALLOW AT MOST 2 UPDATES PER TRIAL STEP. IF (ICONV.EQ.1) INF(20) = INF(20) + 1 IF (INF(20).GT.2) ICONV = 2 RATE = DMAX1(.2D0,DMIN1(.5D0,DMAX/DPAST)) DPAST = DMAX IF (KOUNT.EQ.2 .OR. DPRED.GT.RATE*DMAX) * DPRED = DMAX1(TOL,RATE*DMAX) GO TO 1460 1980 CONTINUE C C SET INF(8) AND IND TO THEIR CORRECT VALUES. C IF (INF(8).EQ.3) GO TO 2000 INF(8) = 2 IF (C(15).GT.TOL) INF(8) = 4 2000 CONTINUE IND = 5 + INF(8)/3 C>>>>>>>>INTERRUPT NO. 2 (IND .EQ. 5) IF REQUESTED IF (INF(5).EQ.0) GO TO 2020 RETURN C C RESUME HERE ON RE-ENTRY WITH IND .EQ. 5 - ...RE-ENTRY........... C 2020 CONTINUE K = INF(6) - 2 IF (INF(5).NE.0) CALL COEFF(K,POEF,COEF,PIE,PII) IF (INF(8).NE.2 .OR. IND.EQ.6) GO TO 2080 C C LAST STEP IS ACCEPTED, RESET STATUS VARIABLES TO INDICATE C THIS, UPDATE X AND Y AND FINALLY SEE IF X = XEND. C INF(8) = 2 X = C(13) DO 2040 I = 1, N WORK(I,9) = WORK(I,3) WORK(I,4) = Y(I) Y(I) = WORK(I,1) 2040 CONTINUE INF(10) = INF(10) + 1 INF(12) = 0 INF(16) = INF(16) + 1 INF(17) = 0 INF(18) = 1 INF(19) = 0 INF(20) = 0 IF (XEND+DABS(XEND-X)*.1D0.NE.XEND) GO TO 2060 IND = 3 C(17) = XEND X = XEND INF(9) = 1 RETURN 2060 CONTINUE GO TO 2120 C C ELSE STEP IS REJECTED C ADD 1 TO COUNTER FOR NUMBER OF FAILURES C ADD 1 TO NUMBER OF SUCCESSIVE FAILURES C 2080 CONTINUE INF(11) = INF(11) + 1 INF(12) = INF(12) + 1 IF (DABS(C(14)).GT.C(9)) GO TO 2100 C C*************** ERROR RETURN IF |HTRIAL| <= HMIN C IND = -3 RETURN 2100 CONTINUE 2120 CONTINUE GO TO 240 C C*********************************************************************** C*********************************************************************** C C BEGIN ABORT ACTION: 2140 CONTINUE IOUT = CONST(3) WRITE (IOUT,FMT=99999) IND, TOL, X, N, C(9), XEND, NDIM, C(11), * C(17), INF(10), INF(12), INF(13), (Y(J),J=1,N) STOP C 99999 FORMAT (/// * '0COMPUTATION STOPPED IN SECDER WITH THE FOLLOWING VALUES', * /'0IND =',I4,5X,'TOL =',1P,D13.6,5X,'X =',1P, * D22.15,/' N =',I4,5X,'HMIN =',1P,D13.6,5X,'XEND =', * 1P,D22.15,/' NDIM=',I4,5X,'HMAX =',1P,D13.6,5X, * 'PREV XEND =',1P,D22.15,/'0',14X, * 'NO OF SUCCESSFUL STEPS =',I8,/15X, * 'NO OF SUCCESSIVE FAILURES =',I8,/15X, * 'NO OF FUNCTION EVALS =',I8, * /'0THE COMPONENTS OF Y ARE',//(' ',1P,D24.15)) END DOUBLE PRECISION FUNCTION STEP(ERR,HMAG,TOL,NQ) C .. Scalar Arguments .. DOUBLE PRECISION ERR, HMAG, TOL INTEGER NQ C .. Local Scalars .. DOUBLE PRECISION STPMAX C .. Executable Statements .. STPMAX = 1.D1 IF (NQ.GE.5) STPMAX = 2.D0 IF (TOL.GE.(STPMAX/.95D0)**(NQ+1)*4.D0*ERR) GO TO 20 GO TO 40 20 STEP = STPMAX*HMAG RETURN 40 STEP = .95*HMAG*(TOL/(4.D0*ERR))**(1.D0/(NQ+1)) RETURN END SUBROUTINE NEWSTP(NDIM,N,K,X,H,HNEW,YP) C .. Scalar Arguments .. DOUBLE PRECISION H, HNEW, X INTEGER K, N, NDIM C .. Array Arguments .. DOUBLE PRECISION YP(NDIM,11) C .. Local Scalars .. DOUBLE PRECISION FCT, RATIO, SP1, TMP, VALUE INTEGER I, IMAX, J, KOUNT, KP1, L, LIM, LM1, M, NQ C .. Local Arrays .. DOUBLE PRECISION C(9), DIV(8), FACT(7,7), FKP1(7), S(7) C .. Intrinsic Functions .. INTRINSIC DBLE C .. Executable Statements .. KP1 = K + 1 NQ = K + 2 DIV(1) = 1.D0 DO 20 I = 2, KP1 DIV(I) = 1.D0/DBLE(I) 20 CONTINUE RATIO = HNEW/H C CALCULATE THE COEFFICIENTS FOR THE BACKWARD DIFFERENCES C DO 60 M = 1, K S(M) = M*RATIO SP1 = S(M) + 1.D0 FCT = 1.D0 DO 40 J = 1, K FCT = -FCT*(SP1-J)*DIV(J) FACT(M,J) = FCT 40 CONTINUE FKP1(M) = -FCT*(S(M)-K) 60 CONTINUE DO 200 KOUNT = 1, N C C CALCULATE THE BACKWARD DIFFERENCE FORM OF THE OLD POINT C SET, STORING THE RESULTS IN C. C LIM = 8 - K LM1 = LIM - 1 DO 80 I = LIM, 9 C(I-LM1) = YP(KOUNT,I) 80 CONTINUE DO 120 L = 1, K IMAX = KP1 - L DO 100 I = 1, IMAX C(I) = C(I+1) - C(I) 100 CONTINUE 120 CONTINUE TMP = H*C(NQ) DO 140 I = 1, K TMP = TMP - DIV(I)*C(KP1-I) 140 CONTINUE C C EVALUATE THE INTERPOLATING POLYNOMIAL AT THE NEW POINT SET C DO 180 M = 1, K VALUE = C(KP1) + FKP1(M)*TMP DO 160 J = 1, K VALUE = VALUE + FACT(M,J)*C(KP1-J) 160 CONTINUE YP(KOUNT,8-M) = VALUE 180 CONTINUE 200 CONTINUE RETURN END SUBROUTINE COEFF(K,POEF,COEF,PIE,PII) C .. Scalar Arguments .. DOUBLE PRECISION PIE, PII INTEGER K C .. Array Arguments .. DOUBLE PRECISION COEF(9), POEF(9) C .. Executable Statements .. GO TO (20,40,60,80,100,120,140) K C ****************************************************** C 1: ORDER = 3 C ****************************************************** 20 COEF(1) = 1.D0/3.D0 COEF(2) = 2.D0/3.D0 COEF(3) = -1.D0/6.D0 POEF(1) = COEF(1) POEF(2) = COEF(2) POEF(3) = 5.D0/6.D0 PII = 1.D0/72.D0 PIE = 7.D0/72.D0 GO TO 160 C ****************************************************** C 2: ORDER = 4 C ****************************************************** 40 COEF(1) = -1.0D0/48.0D0 COEF(2) = 5.0D0/12.0D0 COEF(3) = 29.0D0/48.0D0 COEF(4) = -1.0D0/8.0D0 POEF(1) = -7.D0/48.D0 POEF(2) = 11.D0/12.D0 POEF(3) = 11.D0/48.D0 POEF(4) = 9.D0/8.D0 PII = 7.D0/1440.D0 PIE = 97.D0/1440.D0 GO TO 160 C ****************************************************** C 3: ORDER = 5 C ****************************************************** 60 COEF(1) = 7.0D0/1080.0D0 COEF(2) = -1.0D0/20.0D0 COEF(3) = 19.0D0/40.0D0 COEF(4) = 307.0D0/540.0D0 COEF(5) = -19.0D0/180.0D0 POEF(1) = 97.D0/1080.D0 POEF(2) = -11.D0/20.D0 POEF(3) = 69.D0/40.D0 POEF(4) = -143.D0/540.D0 POEF(5) = 251.D0/180.D0 PII = 17.D0/7200.D0 PIE = 367.D0/7200.D0 GO TO 160 C ****************************************************** C 4: ORDER = 6 C ****************************************************** 80 COEF(1) = -17.0D0/5760.0D0 COEF(2) = 1.0D0/45.0D0 COEF(3) = -41.0D0/480.0D0 COEF(4) = 47.0D0/90.0D0 COEF(5) = 3133.0D0/5760.0D0 COEF(6) = -3.0D0/32.0D0 POEF(1) = -367.D0/5760.D0 POEF(2) = 58.D0/135.D0 POEF(3) = -631.D0/480.D0 POEF(4) = 247.D0/90.D0 POEF(5) = -13751.D0/17280.D0 POEF(6) = 475.D0/288.D0 PII = 41.D0/30240.D0 PIE = 1231.D0/30240.D0 GO TO 160 C ****************************************************** C 5: ORDER = 7 C ****************************************************** 100 COEF(1) = 41.0D0/25200.0D0 COEF(2) = -529.0D0/40320.0D0 COEF(3) = 373.0D0/7560.0D0 COEF(4) = -1271.0D0/10080.0D0 COEF(5) = 2837.0D0/5040.0D0 COEF(6) = 317731.0D0/604800.0D0 COEF(7) = -863.0D0/10080.0D0 POEF(1) = 1231.D0/25200.D0 POEF(2) = -14879.D0/40320.D0 POEF(3) = 9403.D0/7560.D0 POEF(4) = -25561.D0/10080.D0 POEF(5) = 19987.D0/5040.D0 POEF(6) = -818579.D0/604800.D0 POEF(7) = 19087.D0/10080.D0 PII = 731.D0/846720.D0 PIE = 28549.D0/846720.D0 GO TO 160 C ****************************************************** C 6: ORDER = 8 C ****************************************************** 120 COEF(1) = -731.0D0/725760.0D0 COEF(2) = 179.0D0/20160.0D0 COEF(3) = -5771.0D0/161280.0D0 COEF(4) = 8131.0D0/90720.0D0 COEF(5) = -13823.0D0/80640.0D0 COEF(6) = 12079.0D0/20160.0D0 COEF(7) = 247021.0D0/483840.0D0 COEF(8) = -275.0D0/3456.0D0 POEF(1) = -28549.D0/725760.D0 POEF(2) = 33473.D0/100800.D0 POEF(3) = -202261.D0/161280.D0 POEF(4) = 255581.D0/90720.D0 POEF(5) = -347233.D0/80640.D0 POEF(6) = 108497.D0/20160.D0 POEF(7) = -1557739.D0/806400.D0 POEF(8) = 36799.D0/17280.D0 PII = 8563.D0/14515200.D0 PIE = 416173.D0/14515200.D0 GO TO 160 C ****************************************************** C 7: ORDER = 9 C ****************************************************** 140 COEF(1) = 8563.0D0/12700800.0D0 COEF(2) = -35453.0D0/5443200.0D0 COEF(3) = 86791.0D0/3024000.0D0 COEF(4) = -2797.0D0/36288.0D0 COEF(5) = 157513.0D0/1088640.0D0 COEF(6) = -133643.0D0/604800.0D0 COEF(7) = 1147051.0D0/1814400.0D0 COEF(8) = 1758023.0D0/3528000.0D0 COEF(9) = -33953/453600.0D0 POEF(1) = 416173.D0/12700800.D0 POEF(2) = -1670723.D0/5443200.D0 POEF(3) = 3917401.D0/3024000.D0 POEF(4) = -118339.D0/36288.D0 POEF(5) = 5980183.D0/1088640.D0 POEF(6) = -4060853.D0/604800.D0 POEF(7) = 12677941.D0/1814400.D0 POEF(8) = -26739941.D0/10584000.D0 POEF(9) = 1070017.D0/453600.D0 PII = 27719.D0/65318400.D0 PIE = 324901.D0/13063680.D0 160 RETURN END SUBROUTINE DDCOMP(NDIM,N,A,NPIV,IND) C C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREA USED FOR STATISTICS GATHERING BY STDTST PACKAGE C .. Scalar Arguments .. INTEGER IND, N, NDIM C .. Array Arguments .. DOUBLE PRECISION A(NDIM,N) INTEGER NPIV(N) C .. Scalars in Common .. INTEGER NFCN, NJAC, NLUD C .. Local Scalars .. DOUBLE PRECISION AMULT, COLMAX, HOLD INTEGER I, IP1, IPIVOT, J, JPIVOT, K, NM1, NROW C .. Intrinsic Functions .. INTRINSIC DABS C .. Common blocks .. COMMON /STCOM6/NFCN, NJAC, NLUD C .. Executable Statements .. C--------+---------+---------+---------+---------+---------+---------+-- C NLUD = NLUD + 1 C IND = 0 C C *************** C * C * CHECK FOR A SYSTEM OF ONLY ONE UNKNOWN C * C *************** C IF (N.EQ.1) RETURN C C *************** C * C * INITIALIZE PIVOT VECTOR C * C *************** C DO 20 I = 1, N NPIV(I) = I 20 CONTINUE C C *************** C * C * MAIN LOOP FOR GAUSS ELIMINATION C * C *************** C NM1 = N - 1 DO 140 I = 1, NM1 C C *************** C * C * SEARCH COLUMN FOR LARGEST PIVOT,I.E., C * MAX |A(J,I)|, I <= J <= N. C * C *************** C COLMAX = 0.D0 DO 40 J = I, N HOLD = DABS(A(NPIV(J),I)) IF (HOLD.LE.COLMAX) GO TO 40 COLMAX = HOLD NROW = J 40 CONTINUE C C *************** C * C * TEST FOR SINGULARITY. THE MATRIX IS ASSUMED TO BE SINGULAR C * IF COLMAX (THE ABS. VALUE OF THE PIVOT) IS EQUIVALENT C * TO ZERO, I.E., C * 1.0 + COLMAX = 1.0 . C * IF THIS IS TRUE THEN THE ROUTINE PROCEEDS ON TO THE (I+1)-TH C * STAGE OF THE ELIMINATION. C * C *************** C IF (1.D0+COLMAX.NE.1.D0) GO TO 60 IND = -1 GO TO 140 C C *************** C * C * IF AN INTERCHANGE IS NECESSARY, ALTER THE PIVOT VECTOR NPIV. C * C *************** C 60 IPIVOT = NPIV(NROW) IF (NROW.EQ.I) GO TO 80 NPIV(NROW) = NPIV(I) NPIV(I) = IPIVOT C C *************** C * C * THE MULTIPLIERS FOR THE COMPUTATION OF THE REMAINING ROWS ARE C * DETERMINED AND ELIMINATION IS PERFORMED. THE VALUE OF EACH C * MULTIPLIER IS STORED IN THE POSITION OF THE ELIMINATED C * ELEMENT. C * C *************** C 80 IP1 = I + 1 DO 120 J = IP1, N JPIVOT = NPIV(J) AMULT = A(JPIVOT,I)/A(IPIVOT,I) A(JPIVOT,I) = AMULT DO 100 K = IP1, N A(JPIVOT,K) = A(JPIVOT,K) - AMULT*A(IPIVOT,K) 100 CONTINUE 120 CONTINUE 140 CONTINUE IF (1.D0+DABS(A(NPIV(N),N)).EQ.1.D0) IND = -1 RETURN END SUBROUTINE DSOLVE(NDIM,N,LU,NPIV,B,X) C .. Scalar Arguments .. INTEGER N, NDIM C .. Array Arguments .. DOUBLE PRECISION B(N), LU(NDIM,N), X(N) INTEGER NPIV(N) C .. Local Scalars .. DOUBLE PRECISION SUM INTEGER I, J, K, KM1, KP1, KPIVOT C .. Executable Statements .. C C *************** C * C * CHECK FOR SYSTEM OF ONLY ONE UNKNOWN C * C *************** C IF (N.GT.1) GO TO 20 X(1) = B(1)/LU(1,1) RETURN C C *************** C * C * FORWARD ELIMINATION ON B. THE RESULT IS PLACED IN X. C * C *************** C 20 KPIVOT = NPIV(1) X(1) = B(KPIVOT) DO 60 K = 2, N KPIVOT = NPIV(K) KM1 = K - 1 SUM = B(KPIVOT) DO 40 J = 1, KM1 SUM = SUM - LU(KPIVOT,J)*X(J) 40 CONTINUE X(K) = SUM 60 CONTINUE C C *************** C * C * BACK SUBSTITUTION BEGINS. C * C *************** C X(N) = X(N)/LU(KPIVOT,N) K = N DO 100 I = 2, N KP1 = K K = K - 1 KPIVOT = NPIV(K) SUM = X(K) DO 80 J = KP1, N SUM = SUM - LU(KPIVOT,J)*X(J) 80 CONTINUE X(K) = SUM/LU(KPIVOT,K) 100 CONTINUE RETURN END SUBROUTINE IVALU(N,XSTART,XEND,HBEGIN,HMAX,Y,FCNTIM,JACTIM,LUDTIM, * W,IWT,ID) C C**************************************************************** C C ROUTINE TO PROVIDE THE INITIAL VALUES REQUIRED TO SPECIFY C THE MATHEMATICAL PROBLEM AS WELL AS VARIOUS PROBLEM C PARAMETERS REQUIRED BY THE TESTING PACKAGE. THE APPROPRIATE C SCALING VECTOR IS ALSO INITIALISED IN CASE THIS OPTION IS C SELECTED. C C PARAMETERS (OUTPUT) C N - DIMENSION OF THE PROBLEM C XSTART - INITIAL VALUE OF THE INDEPENDENT VARIABLE C XEND - FINAL VALUE OF THE INDEPENDENT VARIABLE C HBEGIN - APPROPRIATE STARTING STEPSIZE C Y - VECTOR OF INITIAL CONDITIONS FOR THE DEPENDENT C VARIABLES C FCNTIM - AVERAGE COMPUTER TIME REQUIRED FOR A DERIVATIVE C EVALUATION C JACTIM - AVERAGE COMPUTER TIME REQUIRED FOR A JACOBIAN C EVALUATION C LUDTIM - AVERAGE COMPUTER TIME REQUIRED FOR AN L/U C FACTORIZATION C WT - VECTOR OF WEIGHTS USED TO SCALE THE PROBLEM IF C THIS OPTION IS SELECTED. C C PARAMETER (INPUT) C IWT - FLAG TO INDICATE IF SCALED OPTION IS SELESTED C ID - FLAG IDENTIFYING WHICH EQUATION IS BEING SOLVED C C***************************************************************** C .. Scalar Arguments .. DOUBLE PRECISION HBEGIN, HMAX, XEND, XSTART REAL FCNTIM, JACTIM, LUDTIM INTEGER ID, IWT, N C .. Array Arguments .. DOUBLE PRECISION W(20), Y(20) C .. Local Scalars .. DOUBLE PRECISION XS INTEGER I, IID, IOUT, ITMP C .. External Functions .. REAL CONST EXTERNAL CONST C .. Intrinsic Functions .. INTRINSIC MOD C .. Data statements .. DATA XS/0.D0/ C .. Executable Statements .. XSTART = XS IID = MOD(ID,10) GO TO (40,80,120,160,20,20,20,20,20, * 20,200,220,220,220,220,20,20,20, * 20,20,360,400,400,400,400,20,20, * 20,20,20,540,580,600,640,660,680, * 20,20,20,20,700,740,760,780,800, * 20,20,20,20,20,840,860,880,900, * 920) ID 20 IOUT = CONST(3) WRITE (IOUT,FMT=99999) ID STOP C C C PROBLEM CLASS A - LINEAR WITH REAL EIGENVALUES C C 40 CONTINUE CP PROBLEM A1 FCNTIM = 1.0423E-05 JACTIM = 5.2437E-05 LUDTIM = 1.6114E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 60 I = 1, N Y(I) = 1.D0 60 CONTINUE GO TO 940 C 80 CONTINUE CP PROBLEM A2 FCNTIM = 5.2697E-05 JACTIM = 1.1333E-04 LUDTIM = 1.0000E-03 N = 9 W(1) = 0.100D+00 W(2) = 0.200D+00 W(3) = 0.300D+00 W(4) = 0.400D+00 W(5) = 0.500D+00 W(6) = 0.600D+00 W(7) = 0.700D+00 W(8) = 0.800D+00 W(9) = 0.900D+00 XEND = 120.D0 HBEGIN = 5.D-4 HMAX = 120.D0 DO 100 I = 1, N Y(I) = 0.D0 100 CONTINUE GO TO 940 C 120 CONTINUE CP PROBLEM A3 FCNTIM = 5.7981E-05 JACTIM = 2.7828E-05 LUDTIM = 1.6068E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.782D+01 W(4) = 0.100D+01 HBEGIN = 1.D-5 XEND = 20.D0 HMAX = 20.D0 DO 140 I = 1, N Y(I) = 1.D0 140 CONTINUE GO TO 940 C 160 CONTINUE CP PROBLEM A4 FCNTIM = 4.3962E-05 JACTIM = 1.1557E-04 LUDTIM = 1.2879E-03 N = 10 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 W(7) = 0.100D+01 W(8) = 0.100D+01 W(9) = 0.100D+01 W(10) = 0.100D+01 XEND = 1.D0 HBEGIN = 1.D-5 HMAX = 1.D0 DO 180 I = 1, N Y(I) = 1.D0 180 CONTINUE GO TO 940 C C PROBLEM CLASS B - LINEAR WITH NON-REAL EIGENVALUES C C 200 CONTINUE CP PROBLEM B1 FCNTIM = 4.0495E-05 JACTIM = 3.5095E-05 LUDTIM = 1.4886E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.859D+01 W(3) = 0.100D+01 W(4) = 0.322D+02 XEND = 20.D0 HBEGIN = 7.D-3 HMAX = 20.D0 Y(1) = 1.D0 Y(2) = 0.D0 Y(3) = 1.D0 Y(4) = 0.D0 GO TO 940 C 220 CONTINUE CP PROBLEM B2, B3, B4, B5 FCNTIM = 2.2066E-05 JACTIM = 3.6836E-05 LUDTIM = 4.0865E-04 N = 6 ITMP = IID - 1 GO TO (240,260,280,300) ITMP 240 CONTINUE W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 GO TO 320 260 CONTINUE W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 GO TO 320 280 CONTINUE W(1) = 0.112D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 GO TO 320 300 CONTINUE W(1) = 0.131D+01 W(2) = 0.112D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 320 CONTINUE XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 340 I = 1, N Y(I) = 1.D0 340 CONTINUE GO TO 940 C C PROBLEM CLASS C - NON-LINEAR COUPLING FROM C STEADY STATE TO TRANSIENT C C 360 CONTINUE CP PROBLEM C1 FCNTIM = 4.0836E-05 JACTIM = 6.3958E-05 LUDTIM = 1.4155E-04 N = 4 W(1) = 0.102D+01 W(2) = 0.103D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 380 I = 1, N Y(I) = 1.D0 380 CONTINUE GO TO 940 C 400 CONTINUE CP PROBLEM C2, C3, C4, C5 FCNTIM = 4.5958E-05 JACTIM = 4.0047E-05 LUDTIM = 1.6966E-04 N = 4 ITMP = IID - 1 GO TO (420,440,460,480) ITMP 420 CONTINUE W(1) = 0.200D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 GO TO 500 440 CONTINUE W(1) = 0.200D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 GO TO 500 460 CONTINUE W(1) = 0.200D+01 W(2) = 0.400D+01 W(3) = 0.200D+02 W(4) = 0.420D+03 GO TO 500 480 CONTINUE W(1) = 0.200D+01 W(2) = 0.800D+01 W(3) = 0.136D+03 W(4) = 0.371D+05 500 CONTINUE XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 520 I = 1, N Y(I) = 1.D0 520 CONTINUE GO TO 940 C C PROBLEM CLASS D - NON-LINEAR WITH REAL EIGENVALUES C C 540 CONTINUE CP PROBLEM D1 FCNTIM = 3.5759E-05 JACTIM = 8.0439E-06 LUDTIM = 4.8023E-05 N = 3 W(1) = 0.223D+02 W(2) = 0.271D+02 W(3) = 0.400D+03 XEND = 400.D0 HBEGIN = 1.7D-2 HMAX = 400.D0 DO 560 I = 1, N Y(I) = 0.D0 560 CONTINUE GO TO 940 C 580 CONTINUE CP PROBLEM D2 FCNTIM = 3.7511E-05 JACTIM = 4.8655E-05 LUDTIM = 1.3732E-04 N = 3 W(1) = 0.100D+01 W(2) = 0.365D+00 W(3) = 0.285D+02 XEND = 40.D0 HBEGIN = 1.D-5 HMAX = 40.D0 Y(1) = 1.D0 Y(2) = 0.D0 Y(3) = 0.D0 GO TO 940 C 600 CONTINUE CP PROBLEM D3 FCNTIM = 3.3307E-05 JACTIM = 4.6448E-05 LUDTIM = 1.7745E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.360D+00 W(4) = 0.485D+00 XEND = 20.D0 HBEGIN = 2.5D-5 HMAX = 20.D0 DO 620 I = 1, 2 Y(I) = 1.D0 Y(I+2) = 0.D0 620 CONTINUE GO TO 940 C 640 CONTINUE CP PROBLEM D4 FCNTIM = 2.0236E-05 JACTIM = 2.2098E-05 LUDTIM = 3.9107E-05 N = 3 W(1) = 0.100D+01 W(2) = 0.142D+01 W(3) = 0.371D-05 XEND = 50.D0 HBEGIN = 2.9D-4 HMAX = 50.D0 Y(1) = 1.D0 Y(2) = 1.D0 Y(3) = 0.D0 GO TO 940 C 660 CONTINUE CP PROBLEM D5 FCNTIM = 8.2472E-06 JACTIM = 4.2521E-05 LUDTIM = 7.7238E-05 N = 2 W(1) = 0.992D+00 W(2) = 0.984D+00 XEND = 1.D2 HBEGIN = 1.D-4 HMAX = 1.D2 Y(1) = 0.D0 Y(2) = 0.D0 GO TO 940 C 680 CONTINUE CP PROBLEM D6 FCNTIM = 2.0696E-05 JACTIM = 4.2854E-05 LUDTIM = 5.1625E-05 N = 3 W(1) = 0.100D+01 W(2) = 0.148D+00 W(3) = 0.577D-07 XEND = 1.D0 HBEGIN = 3.3D-8 HMAX = 1.D0 Y(1) = 1.D0 Y(2) = 0.D0 Y(3) = 0.D0 GO TO 940 C C PROBLEM CLASS E - NON-LINEAR WITH NON-REAL EIGENVALUES C C 700 CONTINUE CP PROBLEM E1 FCNTIM = 6.2417E-06 JACTIM = 1.1033E-05 LUDTIM = 1.8910E-04 N = 4 W(1) = 0.100D-07 W(2) = 0.223D-06 W(3) = 0.132D-04 W(4) = 0.171D-02 XEND = 1.D0 HBEGIN = 6.8D-3 HMAX = 1.D0 DO 720 I = 1, N Y(I) = 0.D0 720 CONTINUE GO TO 940 C 740 CONTINUE CP PROBLEM E2 FCNTIM = 1.5438E-05 JACTIM = 5.2993E-05 LUDTIM = 6.9787E-05 N = 2 W(1) = 0.202D+01 W(2) = 0.764D+01 XEND = 1.D1 HBEGIN = 1.D-3 HMAX = 1.D1 Y(1) = 2.D0 Y(2) = 0.D0 GO TO 940 C 760 CONTINUE CP PROBLEM E3 FCNTIM = 5.5635E-06 JACTIM = 3.7980E-05 LUDTIM = 6.7837E-05 N = 3 W(1) = 0.163D+01 W(2) = 0.160D+01 W(3) = 0.263D+02 XEND = 5.D2 HBEGIN = .2D-1 HMAX = 5.D2 Y(1) = 1.D0 Y(2) = 1.D0 Y(3) = 0.D0 GO TO 940 C 780 CONTINUE CP PROBLEM E4 FCNTIM = 2.7696E-05 JACTIM = 1.4108E-04 LUDTIM = 1.7745E-04 N = 4 W(1) = 0.288D+02 W(2) = 0.295D+02 W(3) = 0.155D+02 W(4) = 0.163D+02 XEND = 1.D3 HBEGIN = 1.D-3 HMAX = 1.D3 Y(1) = 0.D0 Y(2) = -2.D0 Y(3) = -1.D0 Y(4) = -1.D0 GO TO 940 C 800 CONTINUE CP PROBLEM E5 FCNTIM = 3.6063E-05 JACTIM = 1.0640E-05 LUDTIM = 1.6848E-04 N = 4 W(1) = 0.176D-02 W(2) = 0.146D-09 W(3) = 0.827D-11 W(4) = 0.138D-09 XEND = 1.D3 HBEGIN = 5.D-5 HMAX = 1.D3 Y(1) = 1.76D-3 DO 820 I = 2, N Y(I) = 0.D0 820 CONTINUE GO TO 940 C C PROBLEM CLASS F - CHEMICAL KINETICS EQUATIONS C C 840 CONTINUE CP PROBLEM F1 FCNTIM = 1.5420E-05 JACTIM = 3.5365E-05 LUDTIM = 1.3219E-04 N = 4 W(1) = 0.121D+04 W(2) = 0.835D-01 W(3) = 0.121D+04 W(4) = 0.100D+00 HMAX = 1.D3 HBEGIN = 1.D-4 XEND = 1.D3 Y(1) = 761.D0 Y(2) = 0.D0 Y(3) = 600.D0 Y(4) = .1D0 GO TO 940 C 860 CONTINUE CP PROBLEM F2 FCNTIM = 2.8234E-05 JACTIM = 3.6186E-05 LUDTIM = 7.0103E-05 N = 2 W(1) = 0.100D+01 W(2) = 0.253D-02 HMAX = 240.D0 HBEGIN = 1.D-2 XEND = 240.D0 Y(1) = 1.0D0 Y(2) = 0.D0 GO TO 940 C 880 CONTINUE CP PROBLEM F3 FCNTIM = 5.7725E-05 JACTIM = 4.3581E-06 LUDTIM = 2.0384E-04 N = 5 W(1) = 0.400D-05 W(2) = 0.100D-05 W(3) = 0.374D-08 W(4) = 0.765D-06 W(5) = 0.324D-05 HBEGIN = 1.D-6 HMAX = 100.D0 XEND = 100.D0 Y(1) = 4.D-6 Y(2) = 1.D-6 Y(3) = 0.0D0 Y(4) = 0.0D0 Y(5) = 0.0D0 GO TO 940 C 900 CONTINUE CP PROBLEM F4 FCNTIM = 6.7891E-06 JACTIM = 4.0797E-05 LUDTIM = 5.9069E-05 N = 3 W(1) = 0.118D+06 W(2) = 0.177D+04 W(3) = 0.313D+05 HBEGIN = 1.D-3 HMAX = 50.D0 XEND = 300.D0 Y(1) = 4.D0 Y(2) = 1.1D0 Y(3) = 4.D0 GO TO 940 C 920 CONTINUE CP PROBLEM F5 FCNTIM = 1.1586E-05 JACTIM = 4.0856E-05 LUDTIM = 1.7764E-04 N = 4 W(1) = 0.336D-06 W(2) = 0.826D-02 W(3) = 0.619D-02 W(4) = 0.955D-05 HBEGIN = 1.D-7 HMAX = 100.D0 XEND = 100.D0 Y(1) = 3.365D-7 Y(2) = 8.261D-3 Y(3) = 1.642D-3 Y(4) = 9.380D-6 940 CONTINUE IF (IWT.LT.0) GO TO 980 DO 960 I = 1, N Y(I) = Y(I)/W(I) 960 CONTINUE 980 CONTINUE RETURN C 99999 FORMAT ('0AN INVALID INTERNAL PROBLEM ID OF ',I4, * ' WAS FOUND BY THE IVALU ROUTINE', * /' RUN TERMINATED. CHECK THE DATA AND THE PARCHK ROUTINE!') END SUBROUTINE EVALU(Y,N,W,IWT,ID) C C********************************************************************** C C ROUTINE TO PROVIDE THE 'TRUE' SOLUTION OF THE DIFFERENTIAL C EQUATION EVALUATED AT THE ENDPOINT OF THE INTEGRATION. C C 1986 REVISION: SOME VERY SMALL CONSTANTS HAVE BEEN RECAST IN THE C (NOT SO SMALL CONST)/(1.E38) TO AVOID COMPILE-TIME UNDERFLOW ERROR C IT IS ASSUMED 1E+38 WON'T OVERFLOW. C PARAMETER (OUTPUT) C Y - THE TRUE SOLUTION VECTOR EVALUATED AT THE ENDPOINT C C PARAMETERS (INPUT) C N - DIMENSION OF THE PROBLEM C W - VECTOR OF WEIGHTS USED TO SCALE THE PROBLEM C IF THIS OPTION IS SELECTED C IWT - FLAG USED TO SIGNAL WHEN THE SCALED PROBLEM IS C BEING SOLVED C ID - FLAG USED TO INDICATE WHICH EQUATION IS BEING C SOLVED C C********************************************************************** C .. Parameters .. REAL TENE38 PARAMETER (TENE38=1.D38) C .. Scalar Arguments .. INTEGER ID, IWT, N C .. Array Arguments .. DOUBLE PRECISION W(20), Y(20) C .. Local Scalars .. INTEGER I C .. Executable Statements .. GO TO (20,40,60,80,620,620,620,620,620, * 620,100,120,140,160,180,620,620,620, * 620,620,200,220,240,260,280,620,620, * 620,620,620,300,320,340,360,380,400, * 620,620,620,620,420,440,460,480,500, * 620,620,620,620,620,520,540,560,580, * 600,620,620,620,620,620) ID GO TO 620 C PROBLEM CLASS A C C PROBLEM A1 20 Y(1) = 4.539992969929191D-05 Y(2) = 2.061153036149920D-09 Y(3) = 2.823006338263857D-18/TENE38 Y(4) = 5.235792540515384D-14/TENE38 GO TO 620 C C PROBLEM A2 40 Y(1) = 9.999912552999704D-02 Y(2) = 1.999982511586291D-01 Y(3) = 2.999975543202422D-01 Y(4) = 3.999971057541257D-01 Y(5) = 4.999969509963023D-01 Y(6) = 5.999971057569546D-01 Y(7) = 6.999975543256127D-01 Y(8) = 7.999982511659962D-01 Y(9) = 8.999991255386128D-01 GO TO 620 C C PROBLEM A3 60 Y(1) = -1.353352661867235D-03 Y(2) = 1.368526917891521D-02 Y(3) = 1.503725348455117D+00 Y(4) = 1.353352832366099D-01 GO TO 620 C C PROBLEM A4 80 Y(1) = 3.678794411714325D-01 Y(2) = 1.265870722340194D-14 Y(3) = 1.911533219339204D-04/TENE38 Y(4) = 2.277441666729596D-17/TENE38 Y(5) = 0.0D0 Y(6) = 0.0D0 Y(7) = 0.0D0 Y(8) = 0.0D0 Y(9) = 0.0D0 Y(10) = 0.0D0 GO TO 620 C PROBLEM CLASS B C C PROBLEM B1 100 Y(1) = 1.004166730990124D-09 Y(2) = 1.800023280346500D-08 Y(3) = 0.0D0 Y(4) = -6.042962877027475D-03/TENE38/TENE38 GO TO 620 C C PROBLEM B2 120 Y(1) = 6.181330838820067D-31 Y(2) = 8.963657877626303D-31 Y(3) = 2.738406773453261D-27 Y(4) = 2.061153063164016D-09 Y(5) = 4.539992973654118D-05 Y(6) = 1.353352832365270D-01 GO TO 620 C C PROBLEM B3 140 Y(1) = -1.076790816984970D-28 Y(2) = 5.455007683862160D-28 Y(3) = 2.738539964946867D-27 Y(4) = 2.061153071123456D-09 Y(5) = 4.539992974611305D-05 Y(6) = 1.353352832365675D-01 GO TO 620 C C PROBLEM B4 160 Y(1) = 1.331242472678293D-22 Y(2) = -2.325916064237926D-22 Y(3) = 1.517853928534857D-35 Y(4) = 2.061152428936651D-09 Y(5) = 4.539992963392291D-05 Y(6) = 1.353352832363442D-01 GO TO 620 C C PROBLEM B5 180 Y(1) = -3.100634584292190D-14 Y(2) = 3.862788998076547D-14 Y(3) = 1.804851385304217D-35 Y(4) = 2.061153622425655D-09 Y(5) = 4.539992976246673D-05 Y(6) = 1.353352832366126D-01 GO TO 620 C PROBLEM CLASS C C C PROBLEM C1 200 Y(1) = 4.003223925456179D-04 Y(2) = 4.001600000000000D-04 Y(3) = 4.000000000000000D-04 Y(4) = 2.000000000000000D-02 GO TO 620 C C PROBLEM C2 220 Y(1) = 1.999999997938994D+00 Y(2) = 3.999999990839974D-02 Y(3) = 4.001599991537078D-02 Y(4) = 4.003201271914461D-02 GO TO 620 C C PROBLEM C3 240 Y(1) = 1.999999997939167D+00 Y(2) = 3.999999990840744D-01 Y(3) = 4.159999990793773D-01 Y(4) = 4.333055990159567D-01 GO TO 620 C C PROBLEM C4 260 Y(1) = 1.999999997938846D+00 Y(2) = 3.999999990839318D+00 Y(3) = 1.999999991637941D+01 Y(4) = 4.199999965390368D+02 GO TO 620 C C PROBLEM C5 280 Y(1) = 1.999999997938846D+00 Y(2) = 7.999999981678634D+00 Y(3) = 1.359999993817714D+02 Y(4) = 3.712799965967762D+04 GO TO 620 C PROBLEM CLASS D C C PROBLEM D1 300 Y(1) = 2.224222010616901D+01 Y(2) = 2.711071334484136D+01 Y(3) = 3.999999999999999D+02 GO TO 620 C C PROBLEM D2 320 Y(1) = 7.158270687193941D-01 Y(2) = 9.185534764557338D-02 Y(3) = 2.841637457458413D+01 GO TO 620 C C PROBLEM D3 340 Y(1) = 6.397604446889910D-01 Y(2) = 5.630850708287990D-03 Y(3) = 3.602395553110090D-01 Y(4) = 3.170647969903515D-01 GO TO 620 C C PROBLEM D4 360 Y(1) = 5.976546980673215D-01 Y(2) = 1.402343408546138D+00 Y(3) = -1.893386540441913D-06 GO TO 620 C C PROBLEM D5 380 Y(1) = -9.916420698713913D-01 Y(2) = 9.833363588544478D-01 GO TO 620 C C PROBLEM D6 400 Y(1) = 8.523995440749948D-01 Y(2) = 1.476003981941319D-01 Y(3) = 5.773087333950041D-08 GO TO 620 C PROBLEM CLASS E C C PROBLEM E1 420 Y(1) = 1.000000000000012D-08 Y(2) = -1.625323873316817D-19 Y(3) = 2.025953375595861D-17 Y(4) = -1.853149807630002D-15 GO TO 620 C C PROBLEM E2 440 Y(1) = -1.158701266031984D+00 Y(2) = 4.304698089780476D-01 GO TO 620 C C PROBLEM E3 460 Y(1) = 4.253052197643089D-03 Y(2) = 5.317019548450387D-03 Y(3) = 2.627647748753926D+01 GO TO 620 C C PROBLEM E4 480 Y(1) = 1.999999977523654D+01 Y(2) = -2.000000022476345D+01 Y(3) = -2.247634567084293D-07 Y(4) = 2.247634567084293D-07 GO TO 620 C C PROBLEM E5 500 Y(1) = 1.618076919919600D-03 Y(2) = 1.382236955418478D-10 Y(3) = 8.251573436034144D-12 Y(4) = 1.299721221058136D-10 GO TO 620 C PROBLEM CLASS F C C PROBLEM F1 520 Y(1) = 1.211129474696585D+03 Y(2) = 1.271123619113051D-05 Y(3) = 1.208637804660361D+03 Y(4) = 3.241981171933418D-04 GO TO 620 C C PROBLEM F2 540 Y(1) = 3.912699122292088D-01 Y(2) = 1.329964166084866D-03 GO TO 620 C C PROBLEM F3 560 Y(1) = 3.235910070806680D-13 Y(2) = 2.360679774997897D-07 Y(3) = 7.639319089351045D-14 Y(4) = 7.639319461070194D-07 Y(5) = 3.236067653908783D-06 GO TO 620 C C PROBLEM F4 580 Y(1) = 4.418303324022590D+00 Y(2) = 1.290244712916425D+00 Y(3) = 3.019282584050490D+00 GO TO 620 C C PROBLEM F5 600 Y(1) = 1.713564284690712D-07 Y(2) = 3.713563071160676D-03 Y(3) = 6.189271785267793D-03 Y(4) = 9.545143571530929D-06 620 CONTINUE IF (IWT.LT.0) GO TO 660 DO 640 I = 1, N Y(I) = Y(I)/W(I) 640 CONTINUE 660 CONTINUE RETURN END SUBROUTINE FCN(X,Y,YP) C C********************************************************************** C ROUTINE TO EVALUATE THE DERIVATIVE F(X,Y) CORRESPONDING TO THE C DIFFERENTIAL EQUATION: C DY/DX = F(X,Y) . C THE ROUTINE STORES THE VECTOR OF DERIVATIVES IN YP(*). THE C PARTICULAR EQUATION BEING INTEGRATED IS INDICATED BY THE C VALUE OF THE FLAG ID WHICH IS PASSED THROUGH COMMON. THE C DIFFERENTIAL EQUATION IS SCALED BY THE WEIGHT VECTOR W(*) C IF THIS OPTION HAS BEEN SELECTED (IF SO IT IS SIGNALLED C BY THE FLAG IWT). C C********************************************************************* C CC*******+*********+*********+*********+*********+*********+*********+** C COMMON AREAS C********+*********+*********+*********+*********+*********+*********+** C5 C6 C .. Scalar Arguments .. DOUBLE PRECISION X C .. Array Arguments .. DOUBLE PRECISION Y(20), YP(20) C .. Scalars in Common .. INTEGER ID, IWT, N, NFCN, NJAC, NLUD C .. Arrays in Common .. DOUBLE PRECISION W(20) C .. Local Scalars .. DOUBLE PRECISION F, Q, S, SUM, T, TEMP, XTEMP INTEGER I, IID C .. Local Arrays .. DOUBLE PRECISION BPARM(4), CPARM(4), VECT1(4), VECT2(4), YTEMP(20) C .. Intrinsic Functions .. INTRINSIC DBLE, DEXP, DSIN, MOD C .. Common blocks .. COMMON /STCOM5/W, IWT, N, ID COMMON /STCOM6/NFCN, NJAC, NLUD C .. Data statements .. CE DATA BPARM/3.D0, 8.D0, 25.D0, 1.D2/ DATA CPARM/1.D-1, 1.D0, 1.D1, 2.D1/ C .. Executable Statements .. NFCN = NFCN + 1 IF (IWT.LT.0) GO TO 40 DO 20 I = 1, N YTEMP(I) = Y(I) Y(I) = Y(I)*W(I) 20 CONTINUE 40 CONTINUE IID = MOD(ID,10) GO TO (60,80,120,140,640,640,640,640,640, * 640,180,200,200,200,200,640,640,640, * 640,640,220,240,240,240,240,640,640, * 640,640,640,260,280,300,320,340,360, * 640,640,640,640,380,400,420,440,520, * 640,640,640,640,640,540,560,580,600, * 620) ID GO TO 640 C C PROBLEM CLASS A - LINEAR WITH REAL EIGENVALUES C C C PROBLEM A1 60 YP(1) = -.5D0*Y(1) YP(2) = -1.D0*Y(2) YP(3) = -1.D2*Y(3) YP(4) = -9.D1*Y(4) GO TO 640 C C PROBLEM A2 80 YP(1) = -1.8D3*Y(1) + 9.D2*Y(2) DO 100 I = 2, 8 YP(I) = Y(I-1) - 2.D0*Y(I) + Y(I+1) 100 CONTINUE YP(9) = 1.D3*Y(8) - 2.D3*Y(9) + 1.D3 GO TO 640 C C PROBLEM A3 120 YP(1) = -1.D4*Y(1) + 1.D2*Y(2) - 1.D1*Y(3) + 1.D0*Y(4) YP(2) = -1.D3*Y(2) + 1.D1*Y(3) - 1.D1*Y(4) YP(3) = -1.D0*Y(3) + 1.D1*Y(4) YP(4) = -1.D-1*Y(4) GO TO 640 C C PROBLEM A4 140 DO 160 I = 1, 10 YP(I) = -DBLE(I)**5*Y(I) 160 CONTINUE GO TO 640 C C PROBLEM CLASS B - LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM B1 180 YP(1) = -Y(1) + Y(2) YP(2) = -1.D2*Y(1) - Y(2) YP(3) = -1.D2*Y(3) + Y(4) YP(4) = -1.D4*Y(3) - 1.D2*Y(4) GO TO 640 C C PROBLEMS B2, B3, B4, B5 200 YP(1) = -1.D1*Y(1) + BPARM(IID-1)*Y(2) YP(2) = -BPARM(IID-1)*Y(1) - 1.D1*Y(2) YP(3) = -4.D0*Y(3) YP(4) = -1.D0*Y(4) YP(5) = -.5D0*Y(5) YP(6) = -.1D0*Y(6) GO TO 640 C C PROBLEM CLASS C - NON-LINEAR COUPLING FROM C STEADY STATE TO TRANSIENT C C C PROBLEM C1 220 YP(1) = -Y(1) + (Y(2)*Y(2)+Y(3)*Y(3)+Y(4)*Y(4)) YP(2) = -1.D1*Y(2) + 1.D1*(Y(3)*Y(3)+Y(4)*Y(4)) YP(3) = -4.D1*Y(3) + 4.D1*Y(4)*Y(4) YP(4) = -1.D2*Y(4) + 2.D0 GO TO 640 C C PROBLEMS C2, C3, C4, C5 240 YP(1) = -Y(1) + 2.D0 YP(2) = -1.D1*Y(2) + CPARM(IID-1)*Y(1)*Y(1) YP(3) = -4.D1*Y(3) + (Y(1)*Y(1)+Y(2)*Y(2))*CPARM(IID-1)*4.D0 YP(4) = (Y(1)*Y(1)+Y(2)*Y(2)+Y(3)*Y(3))*CPARM(IID-1)*1.D1 - * 1.D2*Y(4) GO TO 640 C C PROBLEM CLASS D - NON-LINEAR WITH REAL EIGENVALUES C C C PROBLEM D1 260 YP(1) = .2D0*Y(2) - .2D0*Y(1) YP(2) = 1.D1*Y(1) - (6.D1-.125D0*Y(3))*Y(2) + .125D0*Y(3) YP(3) = 1.D0 GO TO 640 C C PROBLEM D2 280 YP(1) = -.04D0*Y(1) + .01D0*Y(2)*Y(3) YP(2) = 4.D2*Y(1) - 1.D2*Y(2)*Y(3) - 3.D3*Y(2)**2 YP(3) = 3.D1*Y(2)**2 GO TO 640 C C PROBLEM D3 300 YP(1) = Y(3) - 1.D2*Y(1)*Y(2) YP(3) = -YP(1) YP(4) = -Y(4) + 1.D4*Y(2)**2 YP(2) = YP(1) - YP(4) + Y(4) - 1.D4*Y(2)**2 GO TO 640 C C PROBLEM D4 320 YP(1) = -.013D0*Y(1) - 1.D3*Y(1)*Y(3) YP(2) = -2.5D3*Y(2)*Y(3) YP(3) = YP(1) + YP(2) GO TO 640 C C PROBLEM D5 340 XTEMP = .01D0 + Y(1) + Y(2) YP(1) = .01D0 - XTEMP*(1.D0+(Y(1)+1.D3)*(Y(1)+1.D0)) YP(2) = .01D0 - XTEMP*(1.D0+Y(2)**2) GO TO 640 C C PROBLEM D6 360 YP(1) = -Y(1) + 1.D8*Y(3)*(1.D0-Y(1)) YP(2) = -1.D1*Y(2) + 3.D7*Y(3)*(1.D0-Y(2)) YP(3) = -YP(1) - YP(2) GO TO 640 C C PROBLEM CLASS E - NON-LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM E1 380 YP(1) = Y(2) YP(2) = Y(3) YP(3) = Y(4) YP(4) = (Y(1)**2-DSIN(Y(1))-1.D8)*Y(1) + (Y(2)*Y(3)/(Y(1)**2+1.D0) * -4.D6)*Y(2) + (1.D0-6.D4)*Y(3) + (1.D1*DEXP(-Y(4)**2) * -4.D2)*Y(4) + 1.D0 GO TO 640 C C PROBLEM E2 400 YP(1) = Y(2) YP(2) = 5.D0*Y(2) - 5.D0*Y(1)*Y(1)*Y(2) - Y(1) GO TO 640 C C PROBLEM E3 420 YP(1) = -55.D0*Y(1) - Y(3)*Y(1) + 65.D0*Y(2) YP(2) = .785D-1*Y(1) - .785D-1*Y(2) YP(3) = .1D0*Y(1) GO TO 640 C C PROBLEM E4 440 SUM = Y(1) + Y(2) + Y(3) + Y(4) DO 460 I = 1, 4 VECT2(I) = -Y(I) + .5D0*SUM 460 CONTINUE VECT1(1) = .5D0*(VECT2(1)**2-VECT2(2)**2) VECT1(2) = VECT2(1)*VECT2(2) VECT1(3) = VECT2(3)**2 VECT1(4) = VECT2(4)**2 TEMP = -1.D1*VECT2(1) - 1.D1*VECT2(2) VECT2(2) = 1.D1*VECT2(1) - 1.D1*VECT2(2) VECT2(1) = TEMP VECT2(3) = 1.D3*VECT2(3) VECT2(4) = 1.D-2*VECT2(4) SUM = 0.D0 DO 480 I = 1, 4 SUM = SUM + VECT1(I) - VECT2(I) 480 CONTINUE DO 500 I = 1, 4 YP(I) = VECT2(I) - VECT1(I) + .5D0*SUM 500 CONTINUE GO TO 640 C C PROBLEM E5 520 XTEMP = -7.89D-10*Y(1) YP(1) = XTEMP - 1.1D7*Y(1)*Y(3) YP(2) = -XTEMP - 1.13D9*Y(2)*Y(3) YP(4) = 1.1D7*Y(1)*Y(3) - 1.13D3*Y(4) YP(3) = YP(2) - YP(4) GO TO 640 C C PROBLEM CLASS F - CHEMICAL KINETICS EQUATIONS C C C PROBLEM F1 540 TEMP = 6.D-3*DEXP(20.7D0-1.5D4/Y(1)) YP(1) = 1.3D0*(Y(3)-Y(1)) + 1.04D4*TEMP*Y(2) YP(2) = 1.88D3*(Y(4)-Y(2)*(1.D0+TEMP)) YP(3) = 1752.D0 - 269.D0*Y(3) + 267.D0*Y(1) YP(4) = .1D0 + 320.D0*Y(2) - 321.D0*Y(4) GO TO 640 C C PROBLEM F2 560 YP(1) = -Y(1) - Y(1)*Y(2) + 294.D0*Y(2) YP(2) = Y(1)*(1.D0-Y(2))/98.D0 - 3.D0*Y(2) GO TO 640 C C PROBLEM F3 580 YP(1) = -1.0D7*Y(2)*Y(1) + 1.D1*Y(3) YP(2) = -1.0D7*Y(2)*Y(1) - 1.D7*Y(2)*Y(5) + 1.D1*Y(3) + 1.D1*Y(4) YP(3) = 1.0D7*Y(2)*Y(1) - 1.001D4*Y(3) + 1.D-3*Y(4) YP(4) = 1.D4*Y(3) - 1.0001D1*Y(4) + 1.D7*Y(2)*Y(5) YP(5) = 1.D1*Y(4) - 1.D7*Y(2)*Y(5) GO TO 640 C C PROBLEM F4 600 S = 77.27D0 T = 0.161D0 Q = 8.375D-6 F = 1.D0 YP(1) = S*(Y(2)-Y(1)*Y(2)+Y(1)-Q*Y(1)*Y(1)) YP(2) = (-Y(2)-Y(1)*Y(2)+F*Y(3))/S YP(3) = T*(Y(1)-Y(3)) GO TO 640 C C PROBLEM F5 620 YP(1) = -3.D11*Y(1)*Y(2) + 1.2D8*Y(4) - 9.D11*Y(1)*Y(3) YP(2) = -3.D11*Y(1)*Y(2) + 2.D7*Y(4) YP(3) = -9.D11*Y(1)*Y(3) + 1.D8*Y(4) YP(4) = 3.D11*Y(1)*Y(2) - 1.2D8*Y(4) + 9.D11*Y(1)*Y(3) 640 CONTINUE IF (IWT.LT.0) GO TO 680 DO 660 I = 1, N YP(I) = YP(I)/W(I) Y(I) = YTEMP(I) 660 CONTINUE 680 CONTINUE RETURN END SUBROUTINE DERV(X,Y,DY) C********************************************************************** C C ROUTINE TO EVALUATE THE JACOBIAN MATRIX OF PARTIAL DERIVATIVES C CORRESPONDING TO THE DIFFERENTIAL EQUATION: C DY/DX = F(X,Y). C THE N**2 ELEMENTS OF THE ARRAY DY(*) ARE ASSIGNED THE VALUE OF C THE JACOBIAN MATRIX WITH ELEMENT I+(J-1)*N BEING ASSIGNED THE C VALUE OF DF(I)/DY(J). THE PARTICULAR EQUATION BEING INTEGRATED C IS INDICATED BY THE VALUE OF THE FLAG ID WHICH IS PASSED THROUGH C COMMON. IF A SCALED DIFFERENTIAL EQUATION IS BEING SOLVED (AS C SIGNALLED IWT) THE ELEMENTS OF THE JACOBIAN ARE SCALED ACCORDING- C LY BY THE WEIGHT VECTOR W(*). C C********************************************************************** CC*******+*********+*********+*********+*********+*********+*********+** C COMMON AREAS C********+*********+*********+*********+*********+*********+*********+** C5 C6 C .. Scalar Arguments .. DOUBLE PRECISION X C .. Array Arguments .. DOUBLE PRECISION DY(400), Y(20) C .. Scalars in Common .. INTEGER ID, IWT, N, NFCN, NJAC, NLUD C .. Arrays in Common .. DOUBLE PRECISION W(20) C .. Local Scalars .. DOUBLE PRECISION F, Q, S, SUM, T, TEMP, XTEMP1, XTEMP2, XTEMP3 INTEGER I, IID, ITMP, J, L C .. Local Arrays .. DOUBLE PRECISION BPARM(4), CPARM(4), VECT2(4), YTEMP(20) C .. Intrinsic Functions .. INTRINSIC DBLE, DCOS, DEXP, DSIN, MOD C .. Common blocks .. COMMON /STCOM5/W, IWT, N, ID COMMON /STCOM6/NFCN, NJAC, NLUD C .. Data statements .. CE DATA BPARM/3.D0, 8.D0, 25.D0, 1.D2/ DATA CPARM/1.D-1, 1.D0, 1.D1, 2.D1/ C .. Executable Statements .. NJAC = NJAC + 1 IF (IWT.LT.0) GO TO 40 DO 20 I = 1, N YTEMP(I) = Y(I) Y(I) = Y(I)*W(I) 20 CONTINUE 40 CONTINUE IID = MOD(ID,10) GO TO (60,100,160,200,980,980,980,980,980, * 980,260,300,300,300,300,980,980,980, * 980,980,340,380,380,380,380,980,980, * 980,980,980,420,440,460,480,520,540, * 980,980,980,980,580,620,640,660,840, * 980,980,980,980,980,880,900,920,940, * 960) ID GO TO 980 C C PROBLEM CLASS A - LINEAR WITH REAL EIGENVALUES C C C PROBLEM A1 60 DO 80 I = 1, 16 DY(I) = 0.D0 80 CONTINUE DY(1) = -.5D0 DY(6) = -1.D0 DY(11) = -1.D2 DY(16) = -9.D1 GO TO 980 C C PROBLEM A2 100 DO 120 I = 1, 81 DY(I) = 0.D0 120 CONTINUE DO 140 I = 2, 62, 10 DY(I) = 1.D0 DY(I+9) = -2.D0 DY(I+18) = 1.D0 140 CONTINUE DY(1) = -1.8D3 DY(10) = 9.D2 DY(72) = 1.D3 DY(81) = -2.D3 GO TO 980 C C PROBLEM A3 160 DO 180 I = 1, 16 DY(I) = 0.D0 180 CONTINUE DY(1) = -1.D4 DY(5) = 1.D2 DY(6) = -1.D3 DY(9) = -1.D1 DY(10) = 1.D1 DY(11) = -1.D0 DY(13) = 1.D0 DY(14) = -1.D1 DY(15) = 1.D1 DY(16) = -1.D-1 GO TO 980 C C PROBLEM A4 200 DO 220 I = 1, 100 DY(I) = 0.D0 220 CONTINUE DO 240 I = 1, 10 DY((I-1)*10+I) = -DBLE(I)**5 240 CONTINUE GO TO 980 C C PROBLEM CLASS B - LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM B1 260 DO 280 I = 1, 16 DY(I) = 0.D0 280 CONTINUE DY(1) = -1.D0 DY(2) = -1.D2 DY(5) = 1.D0 DY(6) = -1.D0 DY(11) = -1.D2 DY(12) = -1.D4 DY(15) = 1.D0 DY(16) = -1.D2 GO TO 980 C C PROBLEMS B2, B3, B4, B5 300 DO 320 I = 1, 36 DY(I) = 0.D0 320 CONTINUE DY(1) = -1.D1 DY(2) = -BPARM(IID-1) DY(7) = BPARM(IID-1) DY(8) = -1.D1 DY(15) = -4.D0 DY(22) = -1.D0 DY(29) = -.5D0 DY(36) = -.1D0 GO TO 980 C C PROBLEM CLASS C - NON-LINEAR COUPLING FROM C STEADY STATE TO TRANSIENT C C C PROBLEM C1 340 DO 360 I = 1, 16 DY(I) = 0.D0 360 CONTINUE DY(1) = -1.D0 DY(5) = 2.D0*Y(2) DY(6) = -1.D1 DY(9) = 2.D0*Y(3) DY(10) = 2.D1*Y(3) DY(11) = -4.D1 DY(13) = 2.D0*Y(4) DY(14) = 2.D1*Y(4) DY(15) = 8.D1*Y(4) DY(16) = -1.D2 GO TO 980 C C PROBLEMS C2, C3, C4, C5 380 DO 400 I = 1, 16 DY(I) = 0.D0 400 CONTINUE DY(1) = -1.D0 DY(2) = 2.D0*Y(1)*CPARM(IID-1) DY(3) = 8.D0*Y(1)*CPARM(IID-1) DY(4) = 2.D1*Y(1)*CPARM(IID-1) DY(6) = -1.D1 DY(7) = 8.D0*Y(2)*CPARM(IID-1) DY(8) = 2.D1*Y(2)*CPARM(IID-1) DY(11) = -4.D1 DY(12) = 2.D1*Y(3)*CPARM(IID-1) DY(16) = -1.D2 GO TO 980 C C PROBLEM CLASS D - NON-LINEAR WITH REAL EIGENVALUES C C C PROBLEM D1 420 DY(1) = -.2D0 DY(2) = 1.D1 DY(3) = 0.D0 DY(4) = .2D0 DY(5) = -6.D1 + .125D0*Y(3) DY(6) = 0.D0 DY(7) = 0.D0 DY(8) = .125D0*Y(2) + .125D0 DY(9) = 0.D0 GO TO 980 C C PROBLEM D2 440 DY(1) = -4.D-2 DY(2) = 4.D2 DY(3) = 0.D0 DY(4) = 1.D-2*Y(3) DY(5) = -1.D2*Y(3) - 6.D3*Y(2) DY(6) = 6.D1*Y(2) DY(7) = .1D-1*Y(2) DY(8) = -1.D2*Y(2) DY(9) = 0.D0 GO TO 980 C C PROBLEM D3 460 DY(1) = -1.D2*Y(2) DY(2) = DY(1) DY(3) = -DY(1) DY(4) = 0.D0 DY(5) = -1.D2*Y(1) DY(7) = -DY(5) DY(8) = 2.D4*Y(2) DY(6) = DY(5) - DY(8) DY(6) = DY(6) - 2.D4*Y(2) DY(9) = 1.D0 DY(10) = 1.D0 DY(11) = -1.D0 DY(12) = 0.D0 DY(13) = 0.D0 DY(14) = 2.D0 DY(15) = 0.D0 DY(16) = -1.D0 GO TO 980 C C PROBLEM D4 480 DY(1) = -.013D0 - 1.D3*Y(3) DY(2) = 0.D0 DY(4) = 0.D0 DY(5) = -2.5D3*Y(3) DY(7) = -1.D3*Y(1) DY(8) = -2.5D3*Y(2) DO 500 I = 3, 9, 3 DY(I) = DY(I-1) + DY(I-2) 500 CONTINUE GO TO 980 C C PROBLEM D5 520 XTEMP1 = Y(1) + 1.D3 XTEMP2 = Y(1) + 1.D0 XTEMP3 = .01D0 + Y(1) + Y(2) DY(2) = -(1.D0+Y(2)**2) DY(3) = -(1.D0+XTEMP1*XTEMP2) DY(1) = -(-DY(3)+XTEMP3*(XTEMP1+XTEMP2)) DY(4) = -(2.D0*XTEMP3*Y(2)-DY(2)) GO TO 980 C C PROBLEM D6 540 DY(1) = -1.D0 - 1.D8*Y(3) DY(2) = 0.D0 DY(4) = 0.D0 DY(5) = -1.D1 - 3.D7*Y(3) DY(7) = 1.D8*(1.D0-Y(1)) DY(8) = 3.D7*(1.D0-Y(2)) DO 560 I = 3, 9, 3 DY(I) = -DY(I-2) - DY(I-1) 560 CONTINUE GO TO 980 C C PROBLEM CLASS E - NON-LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM E1 580 DO 600 I = 1, 16 DY(I) = 0.D0 600 CONTINUE DY(5) = 1.D0 DY(10) = 1.D0 DY(15) = 1.D0 XTEMP1 = Y(1) XTEMP2 = Y(2)/(XTEMP1**2+1.D0)**2 DY(4) = 3.D0*XTEMP1**2 - XTEMP1*DCOS(XTEMP1) - DSIN(XTEMP1) - * 1.D8 - 2.D0*XTEMP1*Y(2)*Y(3)*XTEMP2 DY(8) = 2.D0*Y(3)*Y(2)/(1.D0+Y(1)**2) - 4.D6 DY(12) = Y(2)*Y(2)/(1.D0+Y(1)**2) + 1.D0 - 6.D4 DY(16) = 1.D1*DEXP(-Y(4)**2)*(1.D0-2.D0*Y(4)**2) - 4.D2 GO TO 980 C C PROBLEM E2 620 DY(1) = 0.D0 DY(2) = -1.D1*Y(1)*Y(2) - 1.D0 DY(3) = 1.D0 DY(4) = 5.D0 - 5.D0*Y(1)*Y(1) GO TO 980 C C PROBLEM E3 640 DY(1) = -55.D0 - Y(3) DY(2) = .785D-1 DY(3) = 0.1D0 DY(4) = 65.D0 DY(5) = -.785D-1 DY(6) = 0.D0 DY(7) = -Y(1) DY(8) = 0.D0 DY(9) = 0.D0 GO TO 980 C C PROBLEM E4 660 SUM = Y(1) + Y(2) + Y(3) + Y(4) DO 680 I = 1, 4 VECT2(I) = -Y(I) + .5D0*SUM 680 CONTINUE DO 700 I = 1, 16 DY(I) = 0.D0 700 CONTINUE DY(1) = VECT2(1) + 1.D1 DY(2) = VECT2(2) - 1.D1 DY(5) = -DY(2) DY(6) = DY(1) DY(11) = 2.D0*VECT2(3) - 1.D3 DY(16) = 2.D0*VECT2(4) - 1.D-2 DO 760 I = 1, 4 SUM = 0.D0 DO 720 J = 1, 4 L = I + (J-1)*4 SUM = SUM + DY(L) 720 CONTINUE DO 740 J = 1, 4 L = I + (J-1)*4 DY(L) = -DY(L) + .5D0*SUM 740 CONTINUE 760 CONTINUE DO 820 J = 1, 4 SUM = 0.D0 DO 780 I = 1, 4 L = I + (J-1)*4 SUM = SUM + DY(L) 780 CONTINUE DO 800 I = 1, 4 L = I + (J-1)*4 DY(L) = -DY(L) + .5D0*SUM 800 CONTINUE 820 CONTINUE GO TO 980 C C PROBLEM E5 840 DY(1) = -7.89D-10 - 1.1D7*Y(3) DY(2) = 7.89D-10 DY(4) = 1.1D7*Y(3) DY(5) = 0.D0 DY(6) = -1.13D9*Y(3) DY(8) = 0.D0 DY(9) = -1.1D7*Y(1) DY(10) = -1.13D9*Y(2) DY(12) = -DY(9) DY(13) = 0.D0 DY(14) = 0.D0 DY(16) = -1.13D3 DO 860 I = 3, 15, 4 DY(I) = DY(I-1) - DY(I+1) 860 CONTINUE GO TO 980 C C PROBLEM CLASS F - CHEMICAL KINETICS EQUATIONS C C C PROBLEM F1 880 TEMP = 90.D0*DEXP(20.7D0-1.5D4/Y(1))/Y(1)**2 DY(1) = -1.3D0 + 1.04D4*TEMP*Y(2) DY(2) = -1.88D3*Y(2)*TEMP DY(3) = 267.D0 DY(4) = 0.D0 TEMP = 6.D-3*DEXP(20.7D0-1.5D4/Y(1)) DY(5) = 1.04D4*TEMP DY(6) = -1.88D3*(1.D0+TEMP) DY(7) = 0.D0 DY(8) = 320.D0 DY(9) = 1.3D0 DY(10) = 0.D0 DY(11) = -269.D0 DY(12) = 0.0D0 DY(13) = 0.0D0 DY(14) = 1.88D3 DY(15) = 0.0D0 DY(16) = -321.0D0 GO TO 980 C C PROBLEM F2 900 DY(1) = -1.D0 - Y(2) DY(2) = (1.D0-Y(2))/98.D0 DY(3) = -Y(1) + 294.D0 DY(4) = -Y(1)/98.D0 - 3.D0 GO TO 980 C C PROBLEM F3 920 DY(1) = -1.D7*Y(2) DY(2) = -1.D7*Y(2) DY(3) = 1.D7*Y(2) DY(4) = 0.0D0 DY(5) = 0.0D0 DY(6) = -1.D7*Y(1) DY(7) = -1.D7*Y(1) - 1.D7*Y(5) DY(8) = 1.D7*Y(1) DY(9) = 1.D7*Y(5) DY(10) = -1.D7*Y(5) DY(11) = 1.D1 DY(12) = 1.D1 DY(13) = -1.001D4 DY(14) = 1.D4 DY(15) = 0.0D0 DY(16) = 0.0D0 DY(17) = 1.D1 DY(18) = 1.D-3 DY(19) = -1.0001D1 DY(20) = 1.D1 DY(21) = 0.0D0 DY(22) = -1.D7*Y(2) DY(23) = 0.0D0 DY(24) = 1.D7*Y(2) DY(25) = -1.0D7*Y(2) GO TO 980 C C PROBLEM F4 940 S = 77.27D0 T = 0.161D0 Q = 8.375D-6 F = 1.D0 DY(1) = S*(-Y(2)+1.D0-2.D0*Q*Y(1)) DY(2) = -Y(2)/S DY(3) = T DY(4) = S*(1.D0-Y(1)) DY(5) = (-1.D0-Y(1))/S DY(6) = 0.D0 DY(7) = 0.D0 DY(8) = F/S DY(9) = -T GO TO 980 C C PROBLEM F5 960 DY(1) = -3.D11*Y(2) - 9.D11*Y(3) DY(2) = -3.D11*Y(2) DY(3) = -9.D11*Y(3) DY(4) = 3.D11*Y(2) + 9.D11*Y(3) DY(5) = -3.D11*Y(1) DY(6) = -3.D11*Y(1) DY(7) = 0.0D0 DY(8) = 3.D11*Y(1) DY(9) = -9.D11*Y(1) DY(10) = 0.0D0 DY(11) = -9.D11*Y(1) DY(12) = 9.D11*Y(1) DY(13) = 1.2D8 DY(14) = 2.D7 DY(15) = 1.D8 DY(16) = -1.2D8 980 CONTINUE IF (IWT.LT.0) GO TO 1040 DO 1020 I = 1, N Y(I) = YTEMP(I) DO 1000 J = 1, N ITMP = I + (J-1)*N DY(ITMP) = DY(ITMP)*W(J)/W(I) 1000 CONTINUE 1020 CONTINUE 1040 CONTINUE RETURN END REAL FUNCTION CONST(I) C C********+*********+*********+*********+*********+*********+*********+** C .. Scalar Arguments .. INTEGER I C .. Local Scalars .. CHARACTER*32 MCNAME C .. Local Arrays .. REAL C(4) C .. Intrinsic Functions .. INTRINSIC ICHAR C .. Data statements .. C C CONST AND CLOCK ENCLOSE (WE HOPE) ALL THE MACHINE-DEPENDENT PARTS C OF THE STIFF AND NONSTIFF DETEST PACKAGES, EXCEPT THE TIMING C DATA IN THE IVALU ROUTINE OF EACH PACKAGE. C C CALLS WITH VALUES I=1 TO 4 RETURN THE FOLLOWING VALUES IN 'CONST': C I=1 UNIT ROUNDOFF APPROXIMATELY, IN THE PRECISION USED BY THE C ODE-SOLVING PART OF THE PACKAGE. C I=2 NUMBER NEAR UNDERFLOW THRESHOLD C I=3 STANDARD OUTPUT UNIT NUMBER C I=4 VALUE OF TSTTIM (USED IN CNTROL) C C CALLS WITH VALUES -1 TO -32 RETURN THE 'ICHAR' VALUE OF SUCCESSIVE C CHARACTERS OF THE NAME OF THE COMPUTER WE ARE RUNNING ON. (CLUMSY BUT C INTENDED TO ISOLATE MACHINE-DEPENDENCIES HERE) C C A CALL WITH I OUTSIDE THESE RANGES (DONE WITH I=0 NEAR THE HEAD OF TH C MAIN NSDTST & STDTST ROUTINES) RETURNS CONST=0 AND C 1. IS TO BE USED FOR MACHINE-DEPENDENT INITIALIZATIONS SUCH AS THE C SUPPRESSION OF UNDERFLOW MESSAGES. C C****** VALUES FOR IBM3033 MODEL N12 ****** CIBM DATA C/2.25E-16,1E-50,6.0,0.5/ C****** VALUES FOR DEC10 MODEL KL10 ****** CDEC DATA C /2.17E-19,1E-38,5.0,0.5/ DATA C/2.5E-16,5.0E-323,6,4.0/, * MCNAME/ '...IBM RISK 6000...'/ C .. Executable Statements .. C IF (I.GE.1 .AND. I.LE.4) THEN CONST = C(I) ELSE IF (I.LT.0) THEN CONST = ICHAR(MCNAME(-I:-I)) ELSE C SUPPRESS UNDERFLOW REPORTING (DEC): CDEC CALL ERRSET(0,6) C SUPPRESS UNDERFLOW REPORTING (IBM): CIBM CALL ERRSET(208,256,-1,0,0,208) C CONST = 0 END IF RETURN END C C********+*********+*********+*********+*********+*********+*********+** C REAL FUNCTION CLOCK(S) C .. Scalar Arguments .. REAL S C .. Executable Statements .. C C********+*********+*********+*********+*********+*********+*********+** C CLOCK IS 'RESET' TO 0 BY A CALL C S = CLOCK(0.0) C AND THEN (WITH S SET AS ABOVE) DELIVERS THE ELAPSED CPU SECONDS C SINCE LAST RESET, BY CALLS OF FORM C TIME = CLOCK(S) C C THIS WORKS ON AN IBM: CIBM CLOCK = UTTIMR(1) - S C THIS WORKS ON A DEC10 UNDER TOPS10 IN CONJUNCTION WITH THE C COMMAND "SET TIME LLL" AT MONITOR LEVEL WHERE LLL IS A C SUITABLE TIME LIMIT. CDEC CLOCK = -TIM2GO(S) -S C WHEN FIRST MOUNTING THE PACKAGE, LET IT RETURN ZERO AS BELOW: T1 = 0.01*MCLOCK() IF (S.EQ.0.D0) THEN CLOCK = T1 ELSE CLOCK = T1 - S ENDIF RETURN END results below are obtained with itol=5 and rtol=atol. To obtain these it is necessary to run mebdf.f det.f newdet.f. The code newdet.f is provided below. 0STIFF DETEST PACKAGE OPT= 2, NORMEF= 2, NRMTYP= 3 ON ...IBM RISK 6000... subroutine method(N,X,Y,XEND,TOL,HMAX,HSTART) C C DRIVER FOR THE SECDER CODE WHICH IS PART OF THE PACKAGE. C IT IS SOMEWHAT LENGTHY BECAUSE ITS INTERRUPT MECHANISM DOES C NOT ALLOW INTERRUPT IMMEDIATELY AFTER ACCEPTING A STEP. C DOUBLE PRECISION HMAX, HSTART, HNEXT, H, X, XEND DOUBLE PRECISION TOL DOUBLE PRECISION Y(N) INTEGER NFCN, NJAC, NLUD, MBND(4) DOUBLE PRECISION TEMP, WORK(600), T0, H0, TOUT,w(20),RTOL(100) +,ATOL(100) INTEGER I, IND, NDIM INTEGER MF,LWORK,LIWORK,IWORK(600) EXTERNAL STATS,DDCOMP,FCN,PDERV EXTERNAL f, jac COMMON /STCOM6/NFCN, NJAC, NLUD common /stcom5/ w,iwt,ndummy,id COMMON /type/ linear logical linear DATA NDIM/20/ c linear=.false. if(id.lt.20) linear=.true. LWORK = 600 LIWORK = 600 MF = 21 H = HSTART TOUT = XEND INDEX = 1 LOUT = 6 MAXDER = 7 ITOL = 5 do 994 ih=1,n RTOL(ih)=TOL atol(ih)=tol 994 continue CALL DRIVER(N,X,H,Y,TOUT,XEND,MF,INDEX,LOUT,LWORK, + WORK,LIWORK,IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) if(index.lt.0) goto 3 2 IF ( X.GE.XEND ) GOTO 3 IF ( X+H.GT.XEND ) THEN INDEX = 2 TOUT = XEND ELSE INDEX = 3 TOUT = XEND ENDIF CALL DRIVER(N,X,H,Y,TOUT,XEND,MF,INDEX,LOUT,LWORK, + WORK,LIWORK,IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) if(index.lt.0) goto 3 TEMP = X CALL STATS( X,Y,TOL ) IF (TEMP.NE.X) GOTO 3 GOTO 2 3 continue return end c SUBROUTINE F(N,T,Y,YDOT) INTEGER N DOUBLE PRECISION T,Y(N),YDOT(N) c CALL FCN(T,Y,YDOT) c RETURN END c SUBROUTINE PDERV(T,Y,DY,N,MBND) INTEGER N, MBND(4) DOUBLE PRECISION T,Y(N),DY(N) c CALL DERV(T,Y,DY) c RETURN END c SUBROUTINE MAXERR(N,T,ERRM,Y) integer n double precision t,errm,y(n) c return end the results for the unscaled detest problems can be found by running unscaled.f unscnew.f and mebdf.f below we give the codes unscnew.f and unscaled.f. Finally we give the results obtained on the unscaled detest subroutine method(N,X,Y,XEND,TOL,HMAX,HSTART) C C DRIVER FOR THE SECDER CODE WHICH IS PART OF THE PACKAGE. C IT IS SOMEWHAT LENGTHY BECAUSE ITS INTERRUPT MECHANISM DOES C NOT ALLOW INTERRUPT IMMEDIATELY AFTER ACCEPTING A STEP. C DOUBLE PRECISION HMAX, HSTART, HNEXT, H, X, XEND DOUBLE PRECISION TOL,rtol(20),atol(20) DOUBLE PRECISION Y(N) INTEGER NFCN, NJAC, NLUD, MBND(4) DOUBLE PRECISION TEMP, WORK(600), T0, H0, TOUT,w(20) INTEGER I, IND, NDIM INTEGER MF,LWORK,LIWORK,IWORK(600) EXTERNAL STATS,DDCOMP,FCN,PDERV EXTERNAL f, jac COMMON /STCOM6/NFCN, NJAC, NLUD common /stcom5/ w,iwt,ndummy,id COMMON /type/ linear logical linear DATA NDIM/20/ c linear=.false. if(id.lt.20) linear=.true. LWORK = 600 LIWORK = 600 MF = 21 H = HSTART TOUT = XEND INDEX = 1 LOUT = 6 MAXDER = 7 ITOL = 5 do 333 ijh=1,N rtol(IJH)=TOL atol(ijh)=tol 333 continue CALL DRIVER(N,X,H,Y,TOUT,XEND,MF,INDEX,LOUT,LWORK, + WORK,LIWORK,IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) if(index.lt.0) goto 3 2 IF ( X.GE.XEND ) GOTO 3 IF ( X+H.GT.XEND ) THEN INDEX = 2 TOUT = XEND ELSE INDEX = 3 TOUT = XEND ENDIF CALL DRIVER(N,X,H,Y,TOUT,XEND,MF,INDEX,LOUT,LWORK, + WORK,LIWORK,IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) if(index.lt.0) goto 3 TEMP = X CALL STATS( X,Y,TOL ) IF (TEMP.NE.X) GOTO 3 GOTO 2 3 continue return end c SUBROUTINE F(N,T,Y,YDOT) INTEGER N DOUBLE PRECISION T,Y(N),YDOT(N) c CALL FCN(T,Y,YDOT) c RETURN END c SUBROUTINE PDERV(T,Y,DY,N,MBND) INTEGER N, MBND(4) DOUBLE PRECISION T,Y(N),DY(N) c CALL DERV(T,Y,DY) c RETURN END c SUBROUTINE MAXERR(N,T,ERRM,Y) integer n double precision t,errm,y(n) c return end PROGRAM MAIN REAL TOL(10),TTOL(11) INTEGER OPT(10),IDLIST(60) CHARACTER *80 TITLE COMMON /NUMER / NPRB C EXTERNAL STDTST C DATA TOL / 1.0E-01, 1.0E-02, 1.0E-03, 1.0E-04, 1.0E-05, + 1.0E-06, 1.0E-07, 1.0E-08, 1.0E-09, 1.0E-10 / C IOPT = 2 NORMEF = 2 NUMER = 0 C C NUMER = 0 USE THE ANALYTICAL JACOBIAN C TITLE = ' MEBDF ' IDLIST(1) =11 IDLIST(2) =12 IDLIST(3) =13 IDLIST(4) =14 IDLIST(5) =0 IDLIST(6) =21 IDLIST(7) =22 IDLIST(8) =23 IDLIST(9) =24 IDLIST(10)=25 IDLIST(11)=0 IDLIST(12)=31 IDLIST(13)=32 IDLIST(14)=33 IDLIST(15)=34 IDLIST(16)=35 IDLIST(17)=0 IDLIST(18)=41 IDLIST(19)=42 IDLIST(20)=43 IDLIST(21)=44 IDLIST(22)=45 IDLIST(23)=46 IDLIST(24)=0 IDLIST(25)=51 IDLIST(26)=52 IDLIST(27)=53 IDLIST(28)=54 IDLIST(29)=55 IDLIST(30)=0 IDLIST(31)=61 IDLIST(32)=62 IDLIST(33)=63 IDLIST(34)=64 IDLIST(35)=65 IDLIST(36)=0 IDLIST(37)=0 do 83576 iok=1,37 idlist(iok)=-idlist(iok) 83576 continue C NPRB=37 OPT(1) = IOPT OPT(2) = NORMEF OPT(3) = 3 OPT(4) = 0 C TTOL(1) = TOL(2) TTOL(2) = TOL(3) TTOL(3) = TOL(4) TTOL(4) = TOL(5) TTOL(5) = TOL(6) TTOL(6) = TOL(7) TTOL(7) = TOL(8) TTOL(8) = TOL(9) TTOL(9) = TOL(10) CALL STDTST( TITLE, OPT, TTOL, IDLIST, FLAG ) IF (FLAG.GT.0.0) THEN WRITE(6,*)' FLAG=',FLAG ENDIF STOP END C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE STDTST(TITLE,OPTION,TOL,IDLIST,FLAG) C C********+*********+*********+*********+*********+*********+*********+** C G E N E R A L D O C U M E N T A T I O N C--------+---------+---------+---------+---------+---------+---------+-- C C STIFF DETEST 1986 VERSION C ----- ------ ---- ------- C BY W H ENRIGHT, AND J D PRYCE, C DEPT OF COMPUTER SCIENCE, SCHOOL OF MATHEMATICS C UNIVERSITY OF TORONTO, UNIVERSITY WALK C TORONTO M5S 1A4 BRISTOL BS8 1TW C CANADA ENGLAND C TEL (416) 978-6025 TEL (272) 303335 C C PLEASE INFORM THE AUTHORS OF ANY ERRORS IN CODE OR C DOCUMENTATION. C C 1. GENERAL NOTES C ------- ----- C C STIFF DETEST IS A PACKAGE TO TEST THE PERFORMANCE OF INITIAL-VALUE C CODES FOR STIFF DIFFERENTIAL SYSTEMS. THIS CODE IS A REVISION OF THE C 1975 VERSION, USED TO PRODUCE THE RESULTS REPORTED ON IN [3]. C C A SET OF TEST PROBLEMS, DESCRIBED IN DETAIL IN [2,3], IS INCORPORATED C IN THE STIFF PACKAGE. THE CODE BEING TESTED IS RUN ON A SELECTION OF C THESE PROBLEMS AT VARIOUS TOLERANCES. THE USER SELECTS THE PROBLEMS C AND THE TOLERANCES, AND ALSO ORGANIZES THE PROBLEMS INTO C GROUPS FOR STATISTICAL REPORTING PURPOSES, AT HIS DISCRETION. C C TO TEST A CODE A USER MUST WRITE AN INTERFACE ROUTINE CALLED METHOD, C DESCRIBED BELOW, AND THEN CALL STDTST WITH THE DESIRED OPTIONS. NOTE C THAT STDTST COMES IN A 'SINGLE' AND A 'DOUBLE' PRECISION VERSION FOR C USE ACCORDING AS THE SOFTWARE UNDER TEST IS WRITTEN IN SINGLE OR C DOUBLE PRECISION. THE ARGUMENTS OF STDTST ARE SINGLE PRECISION BUT C METHOD MUST BE IMPLEMENTED IN THE APPROPRIATE PRECISION. C C THE PACKAGE DIVIDES NATURALLY INTO FIVE PARTS: C C STDTST,CNTROL AND VARIOUS SERVICE ROUTINES C ORGANIZE THE ASSEMBLING, COMPUTATION AND REPORTING OF C STATISTICS. C C STATS C IS THE ROUTINE WHICH 'INSTRUMENTS' THE CODE BEING TESTED AND C PASSES STATISTICS VIA COMMON TO CNTROL AND STDTST. C C FCN, PDERV, IVALU, EVALU C DESCRIBE THE SET OF TEST PROBLEMS. FCN GIVES THE R.H.S. F(Y) C OF THE ODE SYSTEM AND PDERV GIVES THE JACOBIAN MATRIX DF/DY. C (AT PRESENT ALL THE PROBLEMS ARE POSED IN AUTONOMOUS FORM). C IVALU GIVES THE INITIAL CONDITIONS, SCALING WEIGHTS AND OTHER C DATA ABOUT EACH PROBLEM. EVALU GIVES ACCURATELY COMPUTED C VALUES AT THE ENDPOINT. C C DDCOMP AND DSOLVE C ARE STANDARD (DOUBLE PRECISION) LU DECOMPOSITION AND BACKSOLVE C ROUTINES FOR FULL MATRICES, COMPATIBLE WITH THE LAYOUT OF THE C JACOBIAN PRODUCED BY PDERV. THEY ARE USED BY TRUE BUT ARE C AVAILABLE FOR USE BY THE CODE BEING TESTED IF DESIRED. C C TRUE AND ITS SUBORDINATE ROUTINES C (ALIAS THE ADDISON-ENRIGHT CODE SECDER) FORM A RELIABLE STIFF C SOLVER FOR COMPUTING THE 'TRUE' GLOBAL AND LOCAL SOLUTIONS C WHEN REQUIRED. C C THERE IS ALSO A 'DUMMY' STDTST AND STATS TO HELP THE USER DEBUG HIS C METHOD ROUTINE (DESCRIBED BELOW); A UTILITY STGTIM WHICH MUST BE USED C ON EACH NEW MACHINE TO GENERATE TIMING DATA EMBEDDED IN THE CODE; AND C A UTILITY STGWT WHICH IS NEEDED IF EVER A USER WISHES TO ADD FURTHER C TEST PROBLEMS TO THE SET. C C MAIN LINES OF CALLING HIERARCHY (USER-SUPPLIED ROUTINES ARE IN BOXES) C C +--------+ C | USER'S |---STDTST---CNTROL-----IVALU C |PROGRAM | | +--------+ C +--------+ | +------+ |'SOLVER'| C |---|METHOD|----|(CODE |->-+ C | +------+ | BEING | | C | | | TESTED)| | C | | +--------+ |---FCN,PDERV C | | | C | STATS---TRUE--->--+ C | C +----EVALU C C WE ACKNOWLEDGE VALUABLE RECOMMENDATIONS IN SHAMPINE'S PAPER [5]. IN C PARTICULAR THE PACKAGE WILL, BY DEFAULT, INTEGRATE EACH SYSTEM IN C SCALED FORM, SCALING EACH SOLUTION COMPONENT BY ITS MAXIMUM OBSERVED C VALUE OVER THE RANGE OF INTEGRATION. THAT IS, THE CHANGE OF VARIABLE C -1 C Z = D Y IS DONE WHERE C D = DIAG(W(1), .., W(N)) C C AND W(I) =MAX |I-TH COMPONENT OF Y| OVER THE RANGE. THE PROBLEM C -1 C SOLVED IS THEN Z' = D F(X,DZ). THE WEIGHTS W(I) WERE FOUND BY AN C ACCURATE INTEGRATION OF EACH PROBLEM AND ARE EMBEDDED IN IVALU. C NOTE THAT THIS SCALING AFFECTS THE NORMS WHICH ARE USED IN C MEASURING ALL ERRORS, AND THUS CAN HAVE A CONSIDERABLE EFFECT ON THE C ACCURACY IN SOME OF THE PROBLEMS. C C IF THE PROBLEM CODE IN IDLIST (SEE BELOW) IS GIVEN A NEGATIVE SIGN THE C SYSTEM IS SOLVED IN ITS 'NATURAL' SCALING, AS WAS DONE IN THE 1975 C VERSION OF DETEST. C C C REFERENCES C ----------- C C [1] W H ENRIGHT, 'USING A TESTING PACKAGE FOR THE AUTOMATIC C ASSESSMENT OF NUMERICAL METHODS FOR ODES', IN PERFORMANCE C EVALUATION OF NUMERICAL SOFTWARE, (FOSDICK, ED), IFIP, NORTH C HOLLAND PUBL CO (1979) 199-213. C C C [2] W H ENRIGHT AND T E HULL, 'COMPARING NUMERICAL METHODS FOR THE C SOLUTION OF STIFF SYSTEMS OF ODES ARISING IN CHEMISTRY', IN C NUMERICAL METHODS FOR DIFFERENTIAL SYSTEMS (LAPIDUS AND C SCHIESSER, EDS), ACADEMIC PRESS, NEW YORK (1976) 45-65. C C [3] W H ENRIGHT, T E HULL AND B LINDBERG, 'COMPARING NUMERICAL C METHODS FOR STIFF SYSTEMS OF ORDINARY DIFFERENTIAL EQUATIONS', C BIT 15(1975) 10-48. C C [4] W H ENRIGHT AND J D PRYCE, 'A PAIR OF PACKAGES FOR ASSESSING C INITIAL VALUE METHODS', UNIVERSITY OF TORONTO TECHNICAL REPORT C NO. 167/83. C C [5] L F SHAMPINE 'EVALUATION OF A TEST SET FOR STIFF ODE SOLVERS', C TOMS 7(1981)409-420. C C C C C C C C C 2. ARGUMENTS TO STDTST: C --------- -- ------- C C TITLE (INPUT) CHARACTER OF LENGTH 80, HOLDS NAME OF METHOD BEING C TESTED. C C OPTION (INPUT) INTEGER ARRAY OF LENGTH 10, ONLY ELEMENTS 1 TO 3 ARE C USED AND ARE REFERRED TO HENCEFORTH AS OPT, NORMEF AND NRMTYP. C (OPTION(4) IS ALSO USED WHEN OPT=4) C C OPT ONE OF 1, 2, 3 OR 4. OPT SELECTS LEVEL OF ANALYSIS REQUIRED: C 1 GIVES A REPORT OF THE FOLLOWING AT EACH TOLERANCE USED: C - TOTAL TIME PER INTEGRATION C - OVERHEAD TIME EXCLUDING FUNCTION AND JACOBIAN CALLS AND MATRIX C FACTORIZATIONS. C - NUMBER OF FUNCTION CALLS, JACOBIAN CALLS, MATRIX C FACTORIZATIONS AND SUCCESSFUL STEPS OVER RANGE C - GLOBAL ERROR AT ENDPOINT XEND, DIVIDED BY TOL, IE. C ||(COMPUTED Y) - (TRUE Y)||/TOL AT X=XEND C THE NORM USED THROUGHOUT THE PACKAGE IS THAT CHOSEN BY NRMTYP. C C 2 REPORTS (IN ADDITION TO THE ABOVE STATISTICS): C - MAXIMUM GLOBAL ERROR OVER RANGE. THE 'TRUE' SOLUTION OVER C THE RANGE IS OBTAINED BY A RELIABLE INTEGRATOR AT A MORE C STRINGENT TOLERANCE. C C 3 REPORTS (IN ADDITION TO THE ABOVE): C - MAXIMUM LOCAL ERROR OVER RANGE, IE. MAX OVER ALL MESHPOINTS C OF C LENRM = ||(COMPUTED Y) - YLOC||/ERRBND C WHERE YLOC IS THE TRUE LOCAL SOLUTION THROUGH THE PREVIOUS C MESHPOINT, AND ERRBND, THE ASSUMED ERROR BOUND, IS EXPLAINED C BELOW. C - FRACTION OF STEPS WHERE LENRM EXCEEDED 1. C - FRACTION OF STEPS WHERE LENRM EXCEEDED 5. C C 4 REPORTS (IN ADDITION TO THE ABOVE): C - AN ANALYSIS OF THE LOCAL ERROR ESTIMATES USED BY SOLVER AS THE C BASIS FOR ITS ERROR CONTROL. AT THIS LEVEL THREE ASSUMPTIONS C ARE MADE. FIRST, THAT AT EACH STEP SOLVER FORMS TWO C APPROXIMATIONS, Y AND Y*, TO THE LOCAL SOLUTION YLOC AT THE C NEW MESHPOINT, SUCH THAT ASYMPTOTICALLY AS TOL->0, Y* IS 'MORE C ACCURATE' THAN Y. SECOND, THAT THE APPROXIMATION WHICH IS C TAKEN AS THE COMPUTED SOLUTION AT THE NEW MESHPOINT IS EITHER C ALWAYS Y* (IN WHICH CASE ONE SAYS LOCAL EXTRAPOLATION IS USED) C OR ALWAYS Y (IN WHICH CASE IT IS NOT USED). THE VECTOR C LE = Y - YLOC C IS THE TRUE LOCAL ERROR IN THE 'LESS ACCURATE' SOLUTION Y, C AND C ERREST = Y - Y* C IS AN ESTIMATE OF LE. IT IS ASSUMED FINALLY THAT THE ERROR C CONTROL CONSISTS IN KEEPING ||ERREST||, IN AN APPROPRIATE C NORM, BELOW ERRBND AT EACH STEP. C C NOTE THAT SOME METHODS, SUCH AS (IN THE NONSTIFF CASE) C MERSON'S METHOD, CANNOT BE REGARDED IN THIS WAY. C C AT THIS LEVEL DETEST ANALYSES HOW ACCURATELY ERREST C APPROXIMATES TO LE, BY FORMING A SCATTER PLOT OF THE VALUES OF C R1 = ||ERREST - LE||/ERRBND (VERTICAL AXIS) AGAINST R2 = C ||ERREST||/ERRBND (HORIZONTAL) AT EACH STEP. NOTE ERREST - C LE = -(Y* - YLOC) = -LE*, SAY, SO THAT LENRM DEFINED ABOVE IS C R1 IF LOCAL EXTRAPOLATION IS BEING DONE. FOR AN 'IDEAL' ERROR C CONTROL STRATEGY, WE EXPECT THE PLOTTED POINTS TO CLUSTER NEAR C (1,0) ON THE GRAPH, WHETHER OR NOT LOCAL EXTRAPOLATION IS C USED. C C TO USE THIS LEVEL OF ANALYSIS THE USER MUST: C A) ENSURE THAT THE STATS CALL IN METHOD DELIVERS ERREST AS C DEFINED ABOVE (WITH THE CORRECT SIGN!). C B) SET OPTION(4) AS FOLLOWS. C =0 ARGUMENT Y TO STATS IS Y ABOVE (NO LOCAL EXTRAPOLATION). C =1 Y IS Y* ABOVE (LOCAL EXTRAPOLATION). C C FOR EACH INTEGRATION, A SCATTER PLOT IS PRODUCED. EACH OF THE C RATIOS R1, R2 IS PUT INTO ONE OF 12 CLASS-INTERVALS C -7 -7 -6 2 3 3 C 0<=R<2 , 2 <=R<2 , ..., 2 <=R<2 , 2 <=R= 2, AND HAVE A POSSIBLY MORE EFFICIENT C CODE TO PUT IN ITS PLACE. NSTL IS RELEVANT IF YOU ARE C INTERESTED IN THE ALGORITHMS USED BY THE PACKAGE, SPECIFICALLY THE C STEP-LUMPING PROCESS WHICH TAKES PLACE IN STATS AT STRINGENT C TOLERANCES. C C C C C 9. SUBROUTINES IN THE PACKAGE C ----------- -- --- ------- C C IN ORDER OF APPEARANCE IN THE FILES. THE LIST ALSO SHOWS, FOR EACH C ROUTINE, THE OTHER PACKAGE ROUTINES AND COMMON AREAS WHICH IT USES. A C NAME IN PARENTHESES, LIKE (FCN) DENOTES A ROUTINE WHICH IS CALLED AT C ONE REMOVE (EG. METHOD CALLS SOLVER WHICH MUST CALL FCN) OR WHICH IS C PASSED AS AN ARGUMENT RATHER THAN BEING AN EXTERNAL REFERENCE (EG. C FCN IN TRUE). C C IN CONCLK FILE C CONST CALLS: NONE C CLOCK CALLS: NONE C C IN STDTST FILE C STDTST CALLS: PARCHK LSQFIT RATIO EFSTAT CNTROL CONST ; STCOM1 C STCOM3 C PARCHK CALLS: NONE C LSQFIT CALLS: NONE C RATIO CALLS: NONE C EFSTAT CALLS: NONE C CNTROL CALLS: DIFNRM STATS CONST CLOCK IVALU EVALU METHOD PLOT ; C STCOM1 STCOM2 STCOM3 STCOM5 STCOM6 C DIFNRM CALLS: NONE C STATS CALLS: DIFNRM CONST TRUE FCN PDERV PLOT ; STCOM1 STCOM2 C STCOM3 STCOM4 STCOM6 C PLOT CALLS: NONE C C IN STTRUE FILE C TRUE CALLS: CONST STEP NEWSTP COEFF DDCOMP DSOLVE (FCN C PDERV ) C STEP CALLS: NONE C NEWSTP CALLS: NONE C COEFF CALLS: NONE C DDCOMP CALLS: ; STCOM6 C DSOLVE CALLS: NONE C C IN STPROB FILE C IVALU CALLS: NONE C EVALU CALLS: NONE C FCN CALLS: ; STCOM5 STCOM6 C PDERV CALLS: ; STCOM5 STCOM6 C C USER-SUPPLIED C METHOD CALLS: STATS (FCN PDERV ) C C C 10. DEFINITION OF COMMON AREAS AND DICTIONARY OF DATA-FLOW C ---------- -- ------ ----- --- ---------- -- --------- C C THE FLOW OF INFORMATION BETWEEN THOSE ROUTINES WHICH USE COMMON IS C INDICATED FOR EACH VARIABLE BY THE CODES C S: THE VARIABLE IS ASSIGNED A VALUE (SET) IN THIS ROUTINE, POSSIBLY C BY A CALL TO ANOTHER ROUTINE TO WHICH THE VARIABLE IS PASSED AS C AN ARGUMENT. C A: THE VALUE IS USED (ACCESSED) IN THIS ROUTINE. C C FOR COUNTERS AND SIMILAR VARIABLES, THESE CODES ARE USED INSTEAD OF C CODE S: C I: THE VARIABLE IS INITIALIZED IN THIS ROUTINE. C U: THE VARIABLE IS UPDATED IN THIS ROUTINE. C C C COMMON /STCOM1/ PASSES INFORMATION FROM STDTST TO CNTROL AND STATS. C C STDTST C | CNTROL C | | STATS C | | | DIFNRM C | | | | C S A A - ERRTOL DOUBLE. COPY OF CURRENT ERROR TOLERANCE. C S A A - OPT INTEGER. COPY OF OPTION(1) ARGUMENT OF STDTST. C S - - A NRMTYP INTEGER. COPY OF OPTION(3) ARGUMENT OF STDTST. C S - A - XTRAP INTEGER. COPY OF OPTION(4) ARGUMENT OF STDTST. C S A - - ID INTEGER. INTERNAL CODE OF CURRENT PROBLEM, 1 FOR A1, C ..., 13 FOR B3, ETC. C S A - - IWT INTEGER. FLAG FOR SCALING (+1: SCALED. -1: C UNSCALED) C S - - - IOUT INTEGER. STANDARD OUTPUT UNIT NUMBER. C C C C C COMMON /STCOM2/ COMMUNICATES BETWEEN CNTROL AND STATS. C C CNTROL C | STATS C | | C S A XEND DOUBLE. END OF INTEGRATION RANGE OF CURRENT PROBLEM. C A S HSTART DOUBLE. INITIAL STEPSIZE PASSED TO METHOD FOR C INTEGRATION PROPER. C S A N INTEGER. NO. OF EQUATIONS IN CURRENT PROBLEM. C S A IFLAG INTEGER. SET BY CNTROL TO INFORM STATS WHAT IT IS TO C DO: C =0 METHOD IS BEING TIMED. C =1 INITIALIZING CALL OF STATS FROM CNTROL TO SET UP C STCOM4. C =2 PRELIMINARY INTEGRATION TO DETERMINE HSTART, ABORTED C AFTER 2 STEPS. C =3 INTEGRATION PROPER, COMPILING STATISTICS. C C C A SA INDL,INDG C ERROR FLAGS FOR THE LOCAL AND GLOBAL 'TRUE SOLUTIONS' C OBTAINED BY CALLS TO ROUTINE TRUE. C C C C C C COMMON /STCOM3/ OUTPUTS STATISTICS FROM CNTROL AND STATS. C C STDTST C | CNTROL C | | STATS C | | | C A S - XFIN DOUBLE. POINT OF FAILURE OF METHOD IF IT DOESN'T REACH C XEND. C A - S XTRUE DOUBLE. POINT OF FAILURE OF TRUE IF ANY. IF BOTH C LOCAL AND GLOBAL FAIL, POINT OF GLOBAL FAILURE IS C RETURNED. C A S - TIME REAL. CPU TIME FOR ONE INTEGRATION AS MEASURED BY C CLOCK FUNCTION. C A S - OVHD REAL. EQUALS TIME LESS ESTIMATED COST OF FCN, PDERV C AND MATRIX FACTORIZATION CALLS. C A I U TRUTIM REAL. THE TIME SPENT IN CALLS TO TRUE. NOT RELEVANT C TO PERFORMANCE OF METHOD BUT MEASURES THE OVERHEAD C INCURRED BY THE TESTING PACKAGE WHEN OPT = 2, 3 OR 4. C NOT PRINTED BUT AVAILABLE. C A S - GEND REAL. NORM OF GLOBAL ERROR OF METHOD AT XEND. C C C A I U GEMX REAL. MAXIMUM OF GLOBAL ERROR OVER ALL LUMPED STEP C MESHPOINTS, IE. USUALLY OVER ALL MESHPOINTS OF METHOD, C EXCEPT WHEN ERRTOL IS VERY SMALL. C A I U LEMXSC REAL. MAXIMUM LOCAL ERROR IN UNITS OF ERRBND, OVER ALL C LUMPED STEP MESHPOINTS. C A S - NFCN,NJAC,NLUD C INTEGER. COPIES OF NFCN1,NJAC1,NLUD1, SEE /STCOM5/, C /STCOM6/ C A I U NSTP INTEGER. COUNTS (UNLUMPED) STEPS TAKEN BY METHOD IN C CURRENT INTEGRATION. C - I U NSTL INTEGER. COUNTS LUMPED STEPS FORMED IN CURRENT C INTEGRATION (SEE STATS). NOT PRINTED BUT AVAILABLE. C A I U NDCV,NBAD C INTEGER. COUNT LUMPED STEPS ON WHICH SOLVER'S LOCAL C ERROR CONTROL WAS DECEIVED, RESP. BADLY DECEIVED. C A I U NTRU INTEGER. COUNTS LUMPED STEPS ON WHICH TRUE LOCAL C SOLUTION WAS SUCCESSFULLY COMPUTED, HENCE VALID LOCAL C ERROR STATISTICS OBTAINED. USED IN COMPUTING 'FRACTION C DECEIVED' INFORMATION. REPORTED IF DIFFERENT FROM C NSTP. NOTE NTRU <= NSTL <= NSTP. C - S - NSTART INTEGER. NO. OF FCN CALLS NEEDED BY METHOD TO START, C IE. TO DO PRELIMINARY INTEGRATION (2 STEPS). NOT C PRINTED OUT BUT AVAILABLE. C C C COMMON /STCOM4/ IS USED ONLY BY STATS, TO PRESERVE INFORMATION FROM C ONE CALL OF STATS TO ANOTHER. ALL VARIABLES ARE SET AND/OR UPDATED IN C STATS. C C XOLD1 DOUBLE. SIMILAR TO XOLD BUT USED IN PRELIMINARY C INTEGRATION. C XOLD,YOLD C DOUBLE AND DOUBLE ARRAY. COPY OF METHOD'S COMPUTED C SOLUTION AT END OF PREVIOUS LUMPED STEP. USED AS C ACTUAL ARGUMENTS OF TRUE LOCAL SOLUTION CALL. C XOLDG,YOLDG C DOUBLE AND DOUBLE ARRAY. HOLD 'TRUE' GLOBAL SOLUTION C UPDATED TO END OF PREVIOUS LUMPED STEP. USED AS ACTUAL C ARGUMENTS OF TRUE GLOBAL SOLUTION CALL. C CG,PDG,WKG,WG,YPG,INFG C WORKSPACE FOR 'TRUE' GLOBAL SOLUTION. C XT DOUBLE. HOLDS LAST METHOD MESHPOINT BETWEEN CALLS TO C STATS. C PRECIS DOUBLE. HOLDS 1000 * (UNIT ROUNDOFF) APPROX. C ERLUMP DOUBLE. ACCUMULATES METHOD'S LOCAL ERROR ESTIMATES TO C FORM AN ESTIMATE OVER A LUMPED STEP. C C C COMMON /STCOM5/ PASSES INFORMATION BETWEEN CNTROL AND FCN, PDERV, (OR C ANY REPLACEMENTS A USER MAY PROVIDE FOR FCN, PDERV). C C CNTROL C | FCN C | | PDERV C | | | C C S A A WT DOUBLE. ARRAY OF WEIGHTS USED TO IMPLEMENT THE C 'SCALED' INTEGRATION OPTION. C S A A IWT1,N1,ID1 C INTEGER. COPIES OF IWT,N,ID IN /STCOM1/ OR /STCOM2/. C C C COMMON /STCOM6/ HOLDS COUNTERS. THEY ARE INITIALIZED IN CNTROL, C SAVED-AND-RESTORED IN STATS, AND EVENTUALLY COPIED BY CNTROL TO THE C CORRESPONDING VARIABLES IN /STCOM3/. C C CNTROL C | STATS C | | FCN C | | | PDERV C | | | | DDCOMP,ETC C | | | | | C C IA AS U - - NFCN1 INTEGER. COUNTS CALLS TO FCN. C IA AS - U - NJAC1 INTEGER. COUNTS CALLS TO PDERV. C IA AS - - U NLUD1 INTEGER. COUNTS CALLS TO ANY "O(N CUBED)" C LINEAR ALGEBRA ROUTINES WHICH METHOD MAY EMPLOY. IN C PARTICULAR IT IS INCREMENTED BY THE LU DECOMPOSITION C ROUTINE DDCOMP WHICH IS USED BY TRUE AND IS AVAILABLE C TO THE USER. C C C THERE IS ALSO A COMMON/STCOM7/ USED BY THE DUMMY (DEBUGGING) VERSIONS C OF STDTST AND STATS FOR COMMUNICATION. C C--------+---------+---------+---------+---------+---------+---------+-- C E N D O F G E N E R A L D O C U M E N T A T I O N C********+*********+*********+*********+*********+*********+*********+** C C DESCRIPTION OF STDTST C ----------- -- ------ C C ROUTINE STDTST INTERPRETS THE LIST OF TOLERANCES AND LIST OF C GROUPS OF PROBLEMS SPECIFIED IN THE ARGUMENTS. USING CNTROL C TO GATHER INDIVIDUAL STATISTICS FOR ONE PROBLEM AT ONE C TOLERANCE, IT ORGANIZES THE FORMATION AND OUTPUT OF SUMMARY C STATISTICS. C INDIVIDUAL STATISTICS ARE INDEXED OVER TOLERANCES, PROBLEMS C AND GROUPS. C 'PROBLEMS-SUMMARY' MEANS SUM OF THESE OVER PROBLEMS IN A GROUP. C 'GROUPS-SUMMARY' MEANS SUM OF PROBLEMS-SUMMARY OVER ALL GROUPS. C 'OVERALL-SUMMARY' MEANS SUM OF GROUPS-SUMMARIES OVER ALL C TOLERANCES. C (READ 'MAX' FOR 'SUM' IN CASE OF SOME OF THE STATISTICS.) C C LOCAL VARIABLES: C PSNFCN,PSNJAC,... HOLD THE SUMMARY OVER PROBLEMS IN A GROUP C OF NFCN,NJAC,... (SEE DESCRIPTION OF /STCOM3/) AT ALL THE C TOLERANCES USED. C GSNFCN,... HOLD SUMMARY OVER GROUPS OF PSNFCN,... C OSNFCN,... HOLD OVERALL SUMMARY (OVER TOLERANCES) OF GSNFCN,... C C LGTOL HOLDS LOGARITHMS TO BASE 10 OF ELEMENTS OF ARRAY TOL, C AND LGGEMX,LGGEND HOLD LOGARITHMS OF CORRESPONDING GEMX C AND GEND VALUES, USED IN SMOOTHNESS CALCULATIONS. C NSNFCN,... STORE NFCN,... FOR ONE PROBLEM AT ALL TOLERANCES C USED, FOR USE IN NORMALIZED EFFICIENCY CALCULATIONS. C ERFLGE,ERFLG1 FLAG 'MISSING VALUES' IN SMOOTHNESS AND NORMALIZED C EFFICIENCY CALCULATIONS. C C C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREAS C--------+---------+---------+---------+---------+---------+---------+-- C1 C3 C .. Scalar Arguments .. REAL FLAG CHARACTER*80 TITLE C .. Array Arguments .. REAL TOL(11) INTEGER IDLIST(60), OPTION(10) C .. Scalars in Common .. DOUBLE PRECISION ERRTOL, XFIN, XTRUE REAL GEMX, GEND, LEMXSC, OVHD, TIME, TRUTIM INTEGER ID, IOUT, IWT, NBAD, NDCV, NFCN, NJAC, NLUD, * NRMTYP, NSTART, NSTL, NSTP, NTRU, OPT, XTRAP C .. Local Scalars .. REAL BIG, C, C1, CTEN, CTEN1, DUM, E, E1, FBADEC, * FDECEV, GEMXSC, GENDSC, OSLEMX, OSOVHD, OSTIME, * RES, RES1, TOLK INTEGER CMPLET, I, ICH, IDSUB, IID, INDG1, INDL1, * KCLASS, KGRP, KSYST, KTOL, NGRP, NOK, NOK1, * NORMEF, NSYST, NTOL, OSNBAD, OSNDCV, OSNFCN, * OSNJAC, OSNLUD, OSNSTP, OSNTRU CHARACTER BL CHARACTER*10 IDCLAS CHARACTER*32 MCNAME C .. Local Arrays .. REAL GSLEMX(10), GSOVHD(10), GSTIME(10), LGGEMX(10), * LGGEND(10), LGTOL(10), NSOVHD(10), NSTIME(10), * PSGEMX(10), PSGEND(10), PSLEMX(10), PSOVHD(10), * PSTIME(10) INTEGER GRPLST(2,6), GSNBAD(10), GSNDCV(10), GSNFCN(10), * GSNJAC(10), GSNLUD(10), GSNSTP(10), GSNTRU(10), * NSNFCN(10), NSNJAC(10), NSNLUD(10), NSNSTP(10), * PSNBAD(10), PSNDCV(10), PSNFCN(10), PSNJAC(10), * PSNLUD(10), PSNSTP(10), PSNTRU(10) LOGICAL ERFLG1(10), ERFLGE(10) C .. External Functions .. REAL CONST, RATIO EXTERNAL CONST, RATIO C .. External Subroutines .. EXTERNAL CNTROL, EFSTAT, LSQFIT, PARCHK, PLOT C .. Intrinsic Functions .. INTRINSIC ALOG10, AMAX1, CHAR, DBLE, IABS, ISIGN C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, * IOUT COMMON /STCOM3/XFIN, XTRUE, TIME, OVHD, TRUTIM, GEND, * GEMX, LEMXSC, NFCN, NJAC, NLUD, NSTP, NSTL, * NDCV, NBAD, NTRU, NSTART C .. Data statements .. CE C DATA IDCLAS/'ABCDEFGHIJ'/, BL/' '/, BIG/1.E20/ C .. Executable Statements .. C C--------+---------+---------+---------+---------+---------+---------+-- C COPY THE ENTRIES IN ARRAY 'OPTION'. C DO DUMMY CALL TO CONST TO INVOKE MACHINE-DEPENDENT INITIALIZ- C ATIONS. SET MACHINE NAME. SET OUTPUT UNIT NUMBER. C WRITE OUTPUT-HEADING. CALL ARGUMENT-CHECKING ROUTINE. C--------+---------+---------+---------+---------+---------+---------+-- OPT = OPTION(1) NORMEF = OPTION(2) NRMTYP = OPTION(3) XTRAP = OPTION(4) DUM = CONST(0) DO 20 I = 1, 32 ICH = CONST(-I) MCNAME(I:I) = CHAR(ICH) 20 CONTINUE IOUT = CONST(3) C WRITE (IOUT,FMT=99999) OPT, NORMEF, NRMTYP, MCNAME C CALL PARCHK(OPT,NORMEF,NRMTYP,TOL,IDLIST,NTOL,NGRP,GRPLST,LGTOL, * FLAG) IF (FLAG.EQ.0.) GO TO 40 WRITE (IOUT,FMT=99998) FLAG RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C INITIALIZE OVERALL- AND GROUPS-SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- 40 OSTIME = 0. OSOVHD = 0. OSNFCN = 0 OSNJAC = 0 OSNLUD = 0 OSNSTP = 0 OSNTRU = 0 OSLEMX = 0. OSNDCV = 0 OSNBAD = 0 DO 60 I = 1, NTOL GSTIME(I) = 0. GSOVHD(I) = 0. GSNFCN(I) = 0 GSNJAC(I) = 0 GSNLUD(I) = 0 GSNSTP(I) = 0 GSNTRU(I) = 0 GSLEMX(I) = 0. GSNDCV(I) = 0 GSNBAD(I) = 0 60 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C LOOP OVER GROUPS OF PROBLEMS C--------+---------+---------+---------+---------+---------+---------+-- C DO 300 KGRP = 1, NGRP C C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT HEADING, ON NEW PAGE FOR GROUPS AFTER FIRST. C SELECT GROUP OF DIFFERENTIAL EQUATIONS. C GET NO. OF SYSTEMS IN THIS GROUP, & OFFSET FOR C POSITION OF ITEM IN GROUP WITHIN IDLIST. C INITIALIZE PROBLEM SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- IF (KGRP.GT.1) WRITE (IOUT,FMT=99997) WRITE (IOUT,FMT=99996) KGRP, TITLE C NSYST = GRPLST(1,KGRP) IDSUB = GRPLST(2,KGRP) C DO 80 I = 1, NTOL PSTIME(I) = 0. PSOVHD(I) = 0. PSNFCN(I) = 0 PSNJAC(I) = 0 PSNLUD(I) = 0 PSNSTP(I) = 0 PSNTRU(I) = 0 PSLEMX(I) = 0. PSNDCV(I) = 0 PSNBAD(I) = 0 PSGEMX(I) = 0. PSGEND(I) = 0. 80 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C LOOP OVER PROBLEMS WITHIN A GROUP C--------+---------+---------+---------+---------+---------+---------+-- DO 260 KSYST = 1, NSYST C--------+---------+---------+---------+---------+---------+---------+-- C GET NEXT PROBLEM-ID: C EXTRACT THE WEIGHTING OPTION (IWT=1 OR -1). C UNPACK ID INTO CLASSNAME + INDEX WITHIN CLASS AND TRANSLATE C INTO STDTST INTERNAL ID BY SUBTRACTING 10: C--------+---------+---------+---------+---------+---------+---------+-- IDSUB = IDSUB + 1 ID = IDLIST(IDSUB) IWT = ISIGN(1,ID) ID = IABS(ID) KCLASS = (ID-1)/10 IID = ID - 10*KCLASS ID = ID - 10 IF (IWT.GT.0) WRITE (IOUT,FMT=99995) IDCLAS(KCLASS:KCLASS), * IID IF (IWT.LE.0) WRITE (IOUT,FMT=99994) IDCLAS(KCLASS:KCLASS), * IID WRITE (IOUT,FMT=99993) (BL,I=1,OPT) WRITE (IOUT,FMT=99992) (BL,I=1,OPT) C C--------+---------+---------+---------+---------+---------+---------+-- C LOOP OVER TOLERANCES FOR ONE PROBLEM C--------+---------+---------+---------+---------+---------+---------+-- DO 220 KTOL = 1, NTOL C--------+---------+---------+---------+---------+---------+---------+-- C CALL PLOT TO INITIALIZE LOCAL-ERROR SCATTER DIAGRAM C IF OPT=4. C CALL CNTROL TO ORGANIZE THE COLLECTION OF C STATISTICS. C ON EXIT FROM CNTROL THE VALUE OF CMPLET WILL C INDICATE WHETHER A FAILURE OCCURRED. C C CMPLET = 1 NO FAILURES. C CMPLET = 0 DETEST FAILED TO OBTAIN TRUE C LOCAL OR GLOBAL SOLUTION. C CMPLET = -1 METHOD FAILED TO REACH THE END C OF RANGE. C CMPLET = -2 DETEST FAILED AND SUBSEQUENTLY C METHOD FAILED. C CMPLET = -3 METHOD COULD NOT START THE C INTEGRATION. C CMPLET = -4 METHOD COMPLETED THE STATISTICS C GATHERING BUT FAILED IN TIMING LOOP. C C ON EXIT INDG1,INDL1 HOLD EXIT-FLAGS OF 'TRUE' C GLOBAL AND LOCAL SOLUTIONS RESPECTIVELY. C C ERFLGE(KTOL) IS TRUE IF METHOD FAILED TO REACH XEND. C ERFLG1(KTOL) IS TRUE IF EITHER METHOD OR C TRUE-SOLUTION FAILED TO REACH XEND (THUS INVALIDATING C GEMX AS DATA FOR SMOOTHNESS CALC WHEN NORMEF=2 ). C C IF CMPLET IS -4,-2,-1,0 OR 1 PRINT A LINE OF STATISTICS: C IF CMPLET ISNT 1, PRINT AN ERROR MESSAGE. C CALL PLOT TO PRINT LOCAL-ERROR SCATTER DIAGRAM C IF OPT=4 C NOTE IF METHOD FAILED TO REACH XEND, ANY STATISTICS FOR C THIS PROBLEM ARE PRINTED BUT DO NOT CONTRIBUTE TO THE C SUMMARY STATISTICS. CONVERSELY IF METHOD REACHED XEND, C ALL STATISTICS CONTRIBUTE TO THE SUMMARIES THOUGH GEMX, C LEMXSC,NDCV,NBAD,NTRU ONLY APPLY TO PART OF THE RANGE C IF 'TRUE' FAILED. C--------+---------+---------+---------+---------+---------+---------+-- C TOLK = TOL(KTOL) ERRTOL = DBLE(TOLK) IF (OPT.EQ.4) CALL PLOT(0.,0.,0) C CALL CNTROL(CMPLET,INDG1,INDL1) C ERFLGE(KTOL) = CMPLET .LT. 0 .AND. CMPLET .GT. -4 ERFLG1(KTOL) = CMPLET .LT. 1 .AND. CMPLET .GT. -4 GENDSC = BIG IF (ERFLGE(KTOL)) GO TO 100 GENDSC = GEND/TOLK LGGEND(KTOL) = ALOG10(AMAX1(GEND,.01*TOLK)) 100 CONTINUE GEMXSC = GEMX/TOLK FDECEV = RATIO(NDCV,NTRU) FBADEC = RATIO(NBAD,NTRU) C IF (CMPLET.EQ.-3) GO TO 120 IF (OPT.EQ.1) WRITE (IOUT,FMT=99991) LGTOL(KTOL), TIME, * OVHD, NFCN, NJAC, NLUD, NSTP, GENDSC IF (OPT.EQ.2) WRITE (IOUT,FMT=99991) LGTOL(KTOL), TIME, * OVHD, NFCN, NJAC, NLUD, NSTP, GENDSC, GEMXSC IF (OPT.GE.3) WRITE (IOUT,FMT=99991) LGTOL(KTOL), TIME, * OVHD, NFCN, NJAC, NLUD, NSTP, GENDSC, GEMXSC, LEMXSC, * FDECEV, FBADEC IF (OPT.GE.3 .AND. NSTP.NE.NTRU) WRITE (IOUT,FMT=99990) * NTRU 120 CONTINUE C C IF (CMPLET.EQ.-4) WRITE (IOUT,FMT=99989) IF (CMPLET.EQ.-3) WRITE (IOUT,FMT=99988) LGTOL(KTOL) C IF (CMPLET.EQ.-2) WRITE (IOUT,FMT=99987) XTRUE, INDG1, * INDL1, XFIN C IF (CMPLET.EQ.-1) WRITE (IOUT,FMT=99986) XFIN C IF (CMPLET.EQ.0) WRITE (IOUT,FMT=99985) XTRUE, INDG1, * INDL1 C IF (OPT.EQ.4) THEN C WRITE (IOUT,FMT=99984) XTRAP C CALL PLOT(0.,0.,2) END IF C FOR EVALUATING PERFORMANCE OF 'TRUE': C CALL TRUCHK(4,IDUM) C C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE PROBLEMS-SUMMARY STATS IF METHOD REACHED XEND. C (IF IT DIDN'T, DON'T UPDATE THE LOCAL-ASSESSMENT INFO: C NTRU,LEMXSC,NDCV,NBAD. THIS IS AN ARBITRARY CHOICE, IT C MAKES IT SIMPLER TO EXPLAIN TO THE USER. C STORE NORMEF STATISTICS: C--------+---------+---------+---------+---------+---------+---------+-- C IF (ERFLGE(KTOL)) GO TO 180 PSTIME(KTOL) = PSTIME(KTOL) + TIME PSOVHD(KTOL) = PSOVHD(KTOL) + OVHD PSNFCN(KTOL) = PSNFCN(KTOL) + NFCN PSNSTP(KTOL) = PSNSTP(KTOL) + NSTP PSNJAC(KTOL) = PSNJAC(KTOL) + NJAC PSNLUD(KTOL) = PSNLUD(KTOL) + NLUD PSGEND(KTOL) = AMAX1(PSGEND(KTOL),GENDSC) C IF (OPT.LT.2) GO TO 140 PSGEMX(KTOL) = AMAX1(PSGEMX(KTOL),GEMXSC) LGGEMX(KTOL) = ALOG10(AMAX1(GEMX,.01*TOLK)) C 140 IF (OPT.LT.3) GO TO 160 PSNTRU(KTOL) = PSNTRU(KTOL) + NTRU PSLEMX(KTOL) = AMAX1(PSLEMX(KTOL),LEMXSC) PSNDCV(KTOL) = PSNDCV(KTOL) + NDCV PSNBAD(KTOL) = PSNBAD(KTOL) + NBAD 160 CONTINUE 180 CONTINUE C IF (NORMEF.EQ.0) GO TO 200 NSTIME(KTOL) = TIME NSOVHD(KTOL) = OVHD NSNFCN(KTOL) = NFCN NSNSTP(KTOL) = NSTP NSNJAC(KTOL) = NJAC NSNLUD(KTOL) = NLUD 200 CONTINUE C--------+---------+---------+---------+---------+---------+---------+-- C END OF LOOP OVER TOLERANCES FOR ONE PROBLEM C--------+---------+---------+---------+---------+---------+---------+-- 220 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C SMOOTHNESS AND NORMALIZED EFFICIENCY CALCULATIONS BEGIN C--------+---------+---------+---------+---------+---------+---------+-- WRITE (IOUT,FMT=99983) C WRITE (IOUT,FMT=99982) C CALL LSQFIT(LGTOL,LGGEND,ERFLGE,NTOL,NOK,C,E,RES) C CTEN = 10.**C IF (NOK.LE.2) WRITE (IOUT,FMT=99981) NOK C IF (NOK.GT.2) WRITE (IOUT,FMT=99980) CTEN, E, RES, NOK C IF (OPT.LT.2) GO TO 240 WRITE (IOUT,FMT=99979) C CALL LSQFIT(LGTOL,LGGEMX,ERFLG1,NTOL,NOK1,C1,E1,RES1) C CTEN1 = 10.**C1 IF (NOK1.LE.2) WRITE (IOUT,FMT=99981) NOK1 IF (NOK1.GT.2) WRITE (IOUT,FMT=99980) CTEN1, E1, RES1, NOK1 240 CONTINUE C IF (NORMEF.EQ.1) CALL EFSTAT(C,E,LGTOL,NTOL,NOK,ERFLGE, * 'ENDPOINT',IOUT,NSTIME,NSOVHD, * NSNFCN,NSNJAC,NSNLUD,NSNSTP) C IF (NORMEF.EQ.2) CALL EFSTAT(C1,E1,LGTOL,NTOL,NOK1,ERFLG1, * 'MAXIMUM ',IOUT,NSTIME,NSOVHD, * NSNFCN,NSNJAC,NSNLUD,NSNSTP) C C--------+---------+---------+---------+---------+---------+---------+-- C SMOOTHNESS AND NORMALIZED EFFICIENCY CALCULATIONS END C--------+---------+---------+---------+---------+---------+---------+-- C C--------+---------+---------+---------+---------+---------+---------+-- C END OF LOOP OVER PROBLEMS IN A GROUP. C--------+---------+---------+---------+---------+---------+---------+-- 260 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT PROBLEMS-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- C WRITE (IOUT,FMT=99978) KGRP WRITE (IOUT,FMT=99993) (BL,I=1,OPT) WRITE (IOUT,FMT=99992) (BL,I=1,OPT) DO 280 KTOL = 1, NTOL FDECEV = RATIO(PSNDCV(KTOL),PSNTRU(KTOL)) FBADEC = RATIO(PSNBAD(KTOL),PSNTRU(KTOL)) C IF (OPT.EQ.1) WRITE (IOUT,FMT=99991) LGTOL(KTOL), * PSTIME(KTOL), PSOVHD(KTOL), PSNFCN(KTOL), PSNJAC(KTOL), * PSNLUD(KTOL), PSNSTP(KTOL), PSGEND(KTOL) C IF (OPT.EQ.2) WRITE (IOUT,FMT=99991) LGTOL(KTOL), * PSTIME(KTOL), PSOVHD(KTOL), PSNFCN(KTOL), PSNJAC(KTOL), * PSNLUD(KTOL), PSNSTP(KTOL), PSGEND(KTOL), PSGEMX(KTOL) C IF (OPT.GE.3) WRITE (IOUT,FMT=99991) LGTOL(KTOL), * PSTIME(KTOL), PSOVHD(KTOL), PSNFCN(KTOL), PSNJAC(KTOL), * PSNLUD(KTOL), PSNSTP(KTOL), PSGEND(KTOL), PSGEMX(KTOL), * PSLEMX(KTOL), FDECEV, FBADEC C IF (OPT.GE.3 .AND. PSNSTP(KTOL).NE.PSNTRU(KTOL)) * WRITE (IOUT,FMT=99990) PSNTRU(KTOL) C C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE GROUPS-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- GSTIME(KTOL) = GSTIME(KTOL) + PSTIME(KTOL) GSOVHD(KTOL) = GSOVHD(KTOL) + PSOVHD(KTOL) GSNFCN(KTOL) = GSNFCN(KTOL) + PSNFCN(KTOL) GSNJAC(KTOL) = GSNJAC(KTOL) + PSNJAC(KTOL) GSNLUD(KTOL) = GSNLUD(KTOL) + PSNLUD(KTOL) GSNSTP(KTOL) = GSNSTP(KTOL) + PSNSTP(KTOL) C IF (OPT.LT.3) GO TO 280 GSNTRU(KTOL) = GSNTRU(KTOL) + PSNTRU(KTOL) GSLEMX(KTOL) = AMAX1(GSLEMX(KTOL),PSLEMX(KTOL)) GSNDCV(KTOL) = GSNDCV(KTOL) + PSNDCV(KTOL) GSNBAD(KTOL) = GSNBAD(KTOL) + PSNBAD(KTOL) 280 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C END OF LOOP OVER GROUPS C--------+---------+---------+---------+---------+---------+---------+-- 300 CONTINUE C C C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT HEADINGS FOR GROUPS- AND OVERALL-SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- WRITE (IOUT,FMT=99977) TITLE, (BL,I=1,OPT) WRITE (IOUT,FMT=99976) (BL,I=1,OPT) C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT GROUPS-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.GE.3) GO TO 340 DO 320 I = 1, NTOL WRITE (IOUT,FMT=99975) LGTOL(I), GSTIME(I), GSOVHD(I), * GSNFCN(I), GSNJAC(I), GSNLUD(I), GSNSTP(I) 320 CONTINUE GO TO 380 340 DO 360 I = 1, NTOL FDECEV = RATIO(GSNDCV(I),GSNTRU(I)) FBADEC = RATIO(GSNBAD(I),GSNTRU(I)) WRITE (IOUT,FMT=99975) LGTOL(I), GSTIME(I), GSOVHD(I), * GSNFCN(I), GSNJAC(I), GSNLUD(I), GSNSTP(I), GSLEMX(I), * FDECEV, FBADEC C IF (GSNSTP(I).NE.GSNTRU(I)) WRITE (IOUT,FMT=99990) GSNTRU(I) 360 CONTINUE 380 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C COMPUTE OVERALL-SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- DO 400 I = 1, NTOL OSTIME = OSTIME + GSTIME(I) OSOVHD = OSOVHD + GSOVHD(I) OSNFCN = OSNFCN + GSNFCN(I) OSNJAC = OSNJAC + GSNJAC(I) OSNLUD = OSNLUD + GSNLUD(I) OSNSTP = OSNSTP + GSNSTP(I) C IF (OPT.LT.3) GO TO 400 OSNTRU = OSNTRU + GSNTRU(I) OSNDCV = OSNDCV + GSNDCV(I) OSNBAD = OSNBAD + GSNBAD(I) OSLEMX = AMAX1(OSLEMX,GSLEMX(I)) 400 CONTINUE FDECEV = RATIO(OSNDCV,OSNTRU) FBADEC = RATIO(OSNBAD,OSNTRU) C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT OVERALL-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.LT.3) WRITE (IOUT,FMT=99974) OSTIME, OSOVHD, OSNFCN, * OSNJAC, OSNLUD, OSNSTP C IF (OPT.GE.3) WRITE (IOUT,FMT=99974) OSTIME, OSOVHD, OSNFCN, * OSNJAC, OSNLUD, OSNSTP, OSLEMX, FDECEV, FBADEC C C RETURN C 99999 FORMAT ('0STIFF DETEST PACKAGE OPT=',I2,', NORMEF=',I2, * ', NRMTYP=',I2,19X,'ON ',A,//) 99998 FORMAT ('0PARAMETER ERRORS AS SHOWN BY FLAG=',E15.8,/' ',49('*') * ,//) 99997 FORMAT ('1') 99996 FORMAT ('0GROUP',I3,18X,A) 99995 FORMAT (/'0',A3,I1,' (SCALED)',/) 99994 FORMAT (/'0',A3,I1,' (UNSCALED)',/) 99993 FORMAT (' ',A1,6X,'LOG10',5X,'TIME',3X,'OVHD',5X,'FCN',5X,'JAC', * 5X,'MAT',4X,'NO OF',3X,'END PNT',A1,2X,'MAXIMUM',A1,2X, * 'MAXIMUM',3X,'FRACTION',3X,'FRACTION',A1) 99992 FORMAT (' ',A1,7X,'TOL',21X,'CALLS',3X,'CALLS',4X,'FACT',3X, * 'STEPS',3X,'GLB ERR',A1,2X,'GLB ERR',A1,2X,'LOC ERR',3X, * 'DECEIVED',3X,'BAD DECV',A1) 99991 FORMAT ('0',6X,F6.2,2X,2F7.3,1X,4I8,2X,F8.2,1X,F9.2,1X,F9.3,1X, * F9.3,1X,F10.3,1X,F10.3) 99990 FORMAT (114X,'(LOC ASSESS ON',I4,')') 99989 FORMAT ('0',20X, * '***** UNEXPECTED FAILURE OF METHOD WHILE BEING TIMED *****' * ,/) 99988 FORMAT ('0',6X,F6.2,' *** METHOD FAILED TO START ***') 99987 FORMAT (15X,'TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = ',1P, * E12.5,', ERROR FLAG (GLOBAL) ',I3,', (LOCAL) ',I3,/21X, * 'AND SUBSEQUENTLY METHOD FAILED AT X = ',1P,E12.5) 99986 FORMAT (21X,'METHOD FAILED AT X = ',1P,E12.5) 99985 FORMAT (21X,'TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = ',1P, * E12.5,', ERROR FLAG (GLOBAL) ',I3,', (LOCAL) ',I3) 99984 FORMAT (/6X,'ERROR ESTIMATE ANALYSIS',10X, * 'EXTRAPOLATION (0=NO 1=YES):',I2,/11X, * 'HORIZONTAL AXIS: R1=||ERREST|| / ERRBND',/11X, * 'VERTICAL AXIS: R2 = ||ERROR IN ERREST|| / ERRBND',/11X, *'PLOT SHOWS % STEPS WHERE (R1,R2) LAY IN INDICATED PIGEONHOLE, A', *1X,'DOT MEANS UNDER 1%',/) 99983 FORMAT (/'0',17X,'SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL)') 99982 FORMAT ('0',17X,'ENDPOINT GLOBAL ERROR') 99981 FORMAT (39X,I2,' VALUES, TOO FEW TO GET STATISTICS') 99980 FORMAT (39X,'=',1P,G10.3,' *(TOL**',0P,F6.3,') APPROX,',6X, * 'R.M.S. RESIDUAL=',1P,E8.1,' OVER',I3,' VALUES') 99979 FORMAT ('0',17X,'MAXIMUM GLOBAL ERROR') 99978 FORMAT (/'0SUMMARY OVER GROUP',I3) 99977 FORMAT ('1SUMMARY OVER ALL GROUPS',6X,A,//' ',A1,6X,'LOG10',5X, * 'TIME',3X,'OVHD',5X,'FCN',5X,'JAC',5X,'MAT',4X,'NO OF',2A1, * 2X,'MAXIMUM',3X,'FRACTION',3X,'FRACTION',A1) 99976 FORMAT (' ',A1,7X,'TOL',21X,'CALLS',3X,'CALLS',4X,'FACT',3X, * 'STEPS',2A1,2X,'LOC ERR',3X,'DECEIVED',3X,'BAD DECV',A1) 99975 FORMAT ('0',6X,F6.2,2X,2F7.3,1X,4I8,1X,3F11.3) 99974 FORMAT ('0',5X,'OVERALL',/6X,'SUMMARY',2X,2F7.3,1X,4I8,1X,3F11.3) END C C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE PARCHK(OPT,NORMEF,NRMTYP,TOL,IDLIST,NTOL,NGRP,GRPLST, * LGTOL,FLAG) C C********+*********+*********+*********+*********+*********+*********+** C ROUTINE TO DO PARAMETER CHECKS FOR REVISED STDTST INTERFACE. C C INPUT: OPT,NORMEF,NRMTYP,TOL,IDLIST C VALID INPUT IS: C OPTION = 1 2 3 OR 4 C NORMEF = 0 1 OR 2 C NRMTYP = 1 2 OR 3 C TOL = LIST OF UP TO 10 POSITIVE REAL'S FOLLOWED BY A 0., C IN STRICTLY DECREASING ORDER C IDLIST = LIST OF GROUPS OF PROBLEM-IDS SEPARATED BY ZEROS C WITH 2 ZEROS AFTER LAST GROUP, AT MOST 60 ITEMS TOTAL. C EACH ID MAY HAVE A MINUS SIGN TO SELECT THE 'UNSCALED' C ERROR CONTROL OPTION. C VALID PROBLEM-IDS ARE IN RANGES C 11-14 21-25 31-35 41-46 51-55 61-65 C FOR PROBLEM CLASSES A1-A4 B1-B5 ETC. C OUTPUT: NTOL = NO. OF TOLERANCES IN TOL LIST C NGRP = NO. OF GROUPS IN IDLIST LIST C GRPLST(1,I) = SIZE OF I-TH GROUP OF PROBLEMS CC ... (2,I) = POINTER TO (START OF I-TH GROUP)-1 IN IDLIST C LGTOL(I) = LOG10(TOL(I)) C FLAG IS ERROR FLAG, 0.0 IF ALL OK, ELSE ITS DECIMAL DIGITS C INDICATE WHICH PARAMETER ERRORS WERE FOUND: C 1: OPT INVALID C 2: NORMEF INVALID C 3: NORMEF = 2 REQUESTED WITH OPT = 1 C 4: TOL(I) < 0, OR LIST NOT IN DECREASING ORDER C 5: TOL LIST EMPTY OR NOT TERMINATED BY ZERO C 6: INVALID PROBLEM-ID FOUND C 7: LIST OF GROUPS IN IDLIST EMPTY,NOT TERMINATED BY C 2 ZEROS OR HAS MORE THAN MAXGRP GROUPS C 8: NRMTYP INVALID C--------+---------+---------+---------+---------+---------+---------+-- C C .. Scalar Arguments .. REAL FLAG INTEGER NGRP, NORMEF, NRMTYP, NTOL, OPT C .. Array Arguments .. REAL LGTOL(10), TOL(11) INTEGER GRPLST(2,6), IDLIST(60) C .. Local Scalars .. REAL BIG, TOLPRV INTEGER ENDLST, I, ID, IID, ISAV, KCLASS, LENIDS, * LENTOL, MAXGRP, NCLASS C .. Local Arrays .. INTEGER NSYSTM(6) C .. Intrinsic Functions .. INTRINSIC ALOG10, IABS C .. Data statements .. DATA ENDLST/-1/, BIG/1E20/ DATA NCLASS/6/, NSYSTM/4, 5, 5, 6, 5, 5/, MAXGRP/6/, * LENTOL/11/, LENIDS/60/ C .. Executable Statements .. C FLAG = 0. IF (OPT.LT.1 .OR. OPT.GT.4) FLAG = 1. IF (NORMEF.LT.0 .OR. NORMEF.GT.2) FLAG = 10.*FLAG + 2. IF (OPT.EQ.1 .AND. NORMEF.EQ.2) FLAG = 10.*FLAG + 3. IF (NRMTYP.LT.1 .OR. NRMTYP.GT.3) FLAG = 10.*FLAG + 8. C C TOLERANCES: NTOL = 0 TOLPRV = BIG DO 20 I = 1, LENTOL IF (TOL(I).LT.0. .OR. TOL(I).GE.TOLPRV) FLAG = 10.*FLAG + 4. IF (TOL(I).EQ.0.) GO TO 40 NTOL = NTOL + 1 TOLPRV = TOL(I) 20 CONTINUE C C NO TERMINATING 0 IN TOLERANCE LIST: FLAG = 10.*FLAG + 5. C C CHECK FOR EMPTY TOLERANCE LIST: 40 IF (NTOL.EQ.0) FLAG = 10.*FLAG + 5. C C LIST OF GROUPS OF PROBLEMS: NGRP = 0 I = 0 C C WHILE NEXT ID IN LIST ISNT 0 OR END OF LIST: 60 I = I + 1 ID = ENDLST IF (I.LE.LENIDS) ID = IDLIST(I) C IF (ID.EQ.0) GO TO 160 IF (NGRP.GE.MAXGRP) GO TO 180 ISAV = I - 1 C C WHILE ID ISNT 0, GET ONE GROUP: 80 IF (ID.EQ.0) GO TO 140 IF (ID.EQ.ENDLST) GO TO 180 C TRANSLATE ID INTO CLASS & NUMBER WITHIN CLASS, C IGNORING SIGN (WHICH SELECTS SCALED/UNSCALED OPTION): ID = IABS(ID) KCLASS = (ID-1)/10 IID = ID - 10*KCLASS IF ( .NOT. (KCLASS.GE.1 .AND. KCLASS.LE.NCLASS)) GO TO 100 IF (IID.LE.NSYSTM(KCLASS)) GO TO 120 100 FLAG = 10.*FLAG + 6. 120 CONTINUE C GET NEXT ID AS ABOVE: I = I + 1 ID = ENDLST IF (I.LE.LENIDS) ID = IDLIST(I) GO TO 80 C C NEW GROUP FORMED: 140 NGRP = NGRP + 1 GRPLST(1,NGRP) = I - ISAV - 1 GRPLST(2,NGRP) = ISAV GO TO 60 C C CHECK IF NO GROUPS WERE SPECIFIED: 160 IF (NGRP.LE.0) GO TO 180 GO TO 200 C 180 FLAG = 10.*FLAG + 7. C C IF ALL OK, COMPUTE LOGS OF TOLERANCES: C 200 IF (FLAG.NE.0.) GO TO 240 DO 220 I = 1, NTOL LGTOL(I) = ALOG10(TOL(I)) 220 CONTINUE 240 RETURN END SUBROUTINE LSQFIT(X,Y,MISS,N,NN,C0,C1,RES) C .. Scalar Arguments .. REAL C0, C1, RES INTEGER N, NN C .. Array Arguments .. REAL X(N), Y(N) LOGICAL MISS(N) C .. Local Scalars .. REAL SX, SXX, SXY, SY, XNN INTEGER I C .. Intrinsic Functions .. INTRINSIC SQRT C .. Executable Statements .. C C********+*********+*********+*********+*********+*********+*********+** C FITS MODEL Y = C0 + C1*X TO DATA X(I),Y(I),I = 1..N WHERE DATA C FOR WHICH MISS(I) IS .TRUE. IS REGARDED AS MISSING. C C ON EXIT C X,Y,MISS,N ARE UNCHANGED. C NN = NO. OF NONMISSING VALUES C C0,C1 = FITTED COEFFICIENTS C RES = ROOT MEAN SQUARE RESIDUAL C C EXCEPT THAT IF NN.LE.1 NO COMPUTATION OF THE COEFFICIENTS IS DONE. C--------+---------+---------+---------+---------+---------+---------+-- C NN = 0 SX = 0. SY = 0. DO 20 I = 1, N IF (MISS(I)) GO TO 20 NN = NN + 1 SX = SX + X(I) SY = SY + Y(I) 20 CONTINUE IF (NN.LE.1) GO TO 80 XNN = NN SX = SX/XNN SY = SY/XNN SXX = 0. SXY = 0. DO 40 I = 1, N IF (MISS(I)) GO TO 40 SXX = SXX + (X(I)-SX)**2 SXY = SXY + (X(I)-SX)*(Y(I)-SY) 40 CONTINUE C1 = SXY/SXX C0 = SY - C1*SX RES = 0. DO 60 I = 1, N IF ( .NOT. MISS(I)) RES = RES + (Y(I)-SY-C1*(X(I)-SX))**2 60 CONTINUE C RES = SQRT(RES/XNN) C 80 RETURN END C C********+*********+*********+*********+*********+*********+*********+** C REAL FUNCTION RATIO(M,N) C C********+*********+*********+*********+*********+*********+*********+** C .. Scalar Arguments .. INTEGER M, N C .. Intrinsic Functions .. INTRINSIC FLOAT C .. Executable Statements .. RATIO = 1E20 IF (N.NE.0) RATIO = FLOAT(M)/FLOAT(N) RETURN END C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE EFSTAT(C,E,LGTOL,NTOL,NOK,ERFLG,TITLE,IOUT,W1,W2,W3,W4, * W5,W6) C C********+*********+*********+*********+*********+*********+*********+** C ROUTINE TO COMPUTE AND PRINT NORMALIZED EFFICIENCY STATISTICS. C C PARAMETERS (ALL INPUT): C C,E - COEFFICIENTS IN LEAST-SQUARES FIT OF ACHIEVED ACCURACY C (EITHER AT ENDPOINT OR MAX-OVER-RANGE) TO TOLERANCE. C LGTOL - LIST OF LOGS TO BASE 10 OF TOLERANCES C NTOL - NO. OF TOLERANCES. C NOK - NO. OF .FALSE. ENTRIES IN ERFLG (FROM LSQFIT CALL) C ERFLG - LOGICAL VECTOR INDICATING FOR WHICH TOLERANCES DATA C IS TO BE REGARDED AS MISSING. C TITLE C - IDENTIFYING CHARACTER STRING. C IOUT - OUTPUT UNIT NUMBER. C W1,...,W6 C - VECTORS OF STATISTICS, INDEXED OVER TOLERANCES, FOR C WHICH NORMALIZED STATISTICS ARE TO BE PRODUCED. C (NOTE SOME ARE REAL, SOME INTEGER: REFER TO ACTUAL CALL C IN STDTST.) C IT IS ASSUMED THAT NTOL.LE.10, OTHERWISE ARRAY S MUST BE LONGER. C--------+---------+---------+---------+---------+---------+---------+-- C C LOCAL VARIABLES C .. Scalar Arguments .. REAL C, E INTEGER IOUT, NOK, NTOL CHARACTER*8 TITLE C .. Array Arguments .. REAL LGTOL(NTOL), W1(NTOL), W2(NTOL) INTEGER W3(NTOL), W4(NTOL), W5(NTOL), W6(NTOL) LOGICAL ERFLG(NTOL) C .. Local Scalars .. REAL EQVTOL, S0, THETA, W1INT, W2INT, X INTEGER I, MSINT, NHI, NLO, SHI, SINT, SLO, W3INT, * W4INT, W5INT, W6INT C .. Local Arrays .. REAL S(10) C .. Intrinsic Functions .. INTRINSIC FLOAT, INT C .. Statement Functions .. INTEGER FLOOR C .. Statement Function definitions .. C C STATEMENT FUNCTION C FLOOR FUNCTION VALID IF ARGUMENT X.GE.-100 WHICH IS OK HERE. FLOOR(X) = INT(X+100.) - 100 C .. Executable Statements .. C IF (NOK.LE.2) GO TO 200 C C TRANSFORM THE LOG10(TOL)'S TO NORMALIZED-EFFICIENCY VARIABLE: DO 20 I = 1, NTOL S(I) = -(C+E*LGTOL(I)) 20 CONTINUE C C FIND SET OF CONSECUTIVE TOL'S FOR WHICH INTEGRATION SUCCEEDED: DO 40 NLO = 1, NTOL IF ( .NOT. ERFLG(NLO)) GO TO 60 40 CONTINUE C ELSE ALL INTEGRATIONS FOR THIS PROBLEM FAILED: GO TO 200 60 CONTINUE NHI = NLO - 1 DO 80 I = NLO, NTOL IF (ERFLG(I)) GO TO 100 NHI = I 80 CONTINUE 100 CONTINUE C IF (NHI.LE.NLO) GO TO 200 IF (E.LE.0.) GO TO 220 C C FORM RANGE OF INTEGER POWERS OF 10 FOR WHICH NORMALIZED STATISTICS C ARE TO BE PRINTED: SLO = -FLOOR(-S(NLO)+0.1) SHI = FLOOR(S(NHI)+0.1) IF (SHI.LT.SLO) GO TO 240 C WRITE (IOUT,FMT=99999) TITLE C C START OF LOOP TO PRINT A LINE OF STATISTICS FOR EACH POWER OF 10: I = NLO + 1 CC ... WHICH IS KNOWN TO BE .LE. NHI C DO 160 SINT = SLO, SHI S0 = FLOAT(SINT) C C MOVE INTERVAL S(I-1)..S(I) TO RIGHT WHILE S(I).LT.SINT: 120 IF (S(I).GE.S0 .OR. I.GE.NHI) GO TO 140 I = I + 1 GO TO 120 140 CONTINUE C NECESSARILY NOW NLO + 1 .LE. I .LE. NHI C C NOW DO INTERPOLATION (POSSIBLY EXTRAPOLATION A SHORT DISTANCE) C USING DATA FOR I AND I + 1: THETA = (S0-S(I-1))/(S(I)-S(I-1)) W1INT = W1(I-1) + THETA*(W1(I)-W1(I-1)) W2INT = W2(I-1) + THETA*(W2(I)-W2(I-1)) W3INT = W3(I-1) + THETA*(W3(I)-W3(I-1)) W4INT = W4(I-1) + THETA*(W4(I)-W4(I-1)) W5INT = W5(I-1) + THETA*(W5(I)-W5(I-1)) W6INT = W6(I-1) + THETA*(W6(I)-W6(I-1)) C MSINT = -SINT EQVTOL = -(C+S0)/E WRITE (IOUT,FMT=99998) MSINT, EQVTOL, W1INT, W2INT, W3INT, * W4INT, W5INT, W6INT C 160 CONTINUE C 180 RETURN C 200 WRITE (IOUT,FMT=99997) GO TO 180 C 220 WRITE (IOUT,FMT=99996) GO TO 180 C 240 WRITE (IOUT,FMT=99995) GO TO 180 C 99999 FORMAT (/'0',6X,'NORMALIZED EFFICIENCY - ',A8,' GLOBAL ERROR', * //7X,'EXPECTED',3X,'EQUIV',4X,'TIME',3X,'OVHD',5X,'FCN',5X, * 'JAC',5X,'MAT',4X,'NO OF',/7X,'ACCURACY',1X,'LOG10 TOL', * 17X,'CALLS',3X,'CALLS',4X,'FACT',3X,'STEPS') 99998 FORMAT ('0',6X,'10**',I3,F8.2,F9.3,F7.3,1X,4I8) 99997 FORMAT ('0',10X,'NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM',1X, * 'NORMALIZED STATISTICS') 99996 FORMAT ('0',10X,'DEPENDENCE OF ACCURACY ON TOLERANCE IS TOO',1X, * 'UNRELIABLE TO FORM NORMALIZED STATISTICS') 99995 FORMAT ('0',10X,'NO POWERS OF TEN WITHIN RANGE OF TOLERANCES',1X, * 'USED: NO NORMALIZED STATISTICS') END C C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE CNTROL(CMPLET,INDG1,INDL1) C C********+*********+*********+*********+*********+*********+*********+** C CNTROL ORGANIZES THE CALLS TO METHOD NEEDED TO GATHER C STATISTICS FOR ONE PROBLEM AND ONE TOLERANCE AT THE LEVEL OF C DETAIL SPECIFIED BY OPT, WITH SCALING TURNED ON OR OFF BY IWT. C C ON EXIT FROM CNTROL C CMPLET INDICATES WHETHER A FAILURE OCCURRED: C CMPLET = 1 NO FAILURES. C CMPLET = 0 DETEST FAILED TO OBTAIN TRUE LOCAL OR GLOBAL C SOLUTION. C CMPLET = -1 METHOD FAILED TO REACH THE END OF RANGE. C CMPLET = -2 DETEST FAILED AND SUBSEQUENTLY METHOD FAILED C CMPLET = -3 METHOD COULD NOT START THE INTEGRATION. C CMPLET = -4 METHOD COMPLETED THE STATISTICS GATHERING CALL C BUT (UNEXPECTEDLY) FAILED IN THE TIMING LOOP. C C INDG1, INDL1 RETURN THE ERROR FLAGS OF THE 'TRUE' GLOBAL C AND LOCAL SOLUTIONS RESPECTIVELY. C C THE MAIN OUTPUT FROM CNTROL CONSISTS OF THE STATISTICS HELD C IN COMMON /STCOM3/ C--------+---------+---------+---------+---------+---------+---------+-- C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREAS C--------+---------+---------+---------+---------+---------+---------+-- C1 C2 C3 C5 C6 C .. Scalar Arguments .. INTEGER CMPLET, INDG1, INDL1 C .. Scalars in Common .. DOUBLE PRECISION ERRTOL, HSTART, XEND, XFIN, XTRUE REAL GEMX, GEND, LEMXSC, OVHD, TIME, TRUTIM INTEGER ID, ID1, IFLAG, INDG, INDL, IOUT, IWT, IWT1, N, * N1, NBAD, NDCV, NFCN, NFCN1, NJAC, NJAC1, NLUD, * NLUD1, NRMTYP, NSTART, NSTL, NSTP, NTRU, OPT, * XTRAP C .. Arrays in Common .. DOUBLE PRECISION WT(20) C .. Local Scalars .. DOUBLE PRECISION DUMMY, HINIT, HMAX, X, XSTART REAL FCNTIM, JACTIM, LUDTIM, S, TIMCUM, TSTTIM INTEGER COUNT, I LOGICAL NOSTRT, OKMETH, TIMERR C .. Local Arrays .. DOUBLE PRECISION Y(20), YEND(20), YSTART(20) C .. External Functions .. REAL CLOCK, CONST, DIFNRM EXTERNAL CLOCK, CONST, DIFNRM C .. External Subroutines .. EXTERNAL EVALU, IVALU, METHOD, STATS C .. Intrinsic Functions .. INTRINSIC FLOAT C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, * IOUT COMMON /STCOM2/XEND, HSTART, N, IFLAG, INDL, INDG COMMON /STCOM3/XFIN, XTRUE, TIME, OVHD, TRUTIM, GEND, * GEMX, LEMXSC, NFCN, NJAC, NLUD, NSTP, NSTL, * NDCV, NBAD, NTRU, NSTART COMMON /STCOM5/WT, IWT1, N1, ID1 COMMON /STCOM6/NFCN1, NJAC1, NLUD1 C .. Executable Statements .. CE C C--------+---------+---------+---------+---------+---------+---------+-- C NOTE ON INDL, INDG IN /STCOM2/: C THESE ARE ERROR INDICATORS FOR THE 'TRUE' LOCAL AND C GLOBAL SOLUTION RESPECTIVELY. THEY ARE SET INSIDE STATS C WHICH IS CALLED BY METHOD. C ON RETURN FROM METHOD, INDL IS: C 2 IF NO CALL TO TRUE TO COMPUTE LOCAL SOLUTION HAS C YET BEEN MADE (SET BY INITIALIZING CALL TO STATS). C .GT.0 IF ALL CALLS TO TRUE FOR CALCULATION OF LOCAL C SOLUTION WERE SUCCESSFUL. C .LT.0 IF AN UNSUCCESSFUL CALL TO TRUE FOR THE LOCAL C SOLUTION WAS MADE. C THE VALUE ON EXIT IF NOT 0 IS THE VALUE RETURNED IN THE C FLAG 'IND' OF SUBROUTINE TRUE. C INDG IS THE SAME, BUT FOR THE GLOBAL SOLUTION. C C INDL,INDG ARE USED ON RE-ENTRY TO STATS TO TEST IF A C FAILURE OF THE TRUE SOLUTIONS OCCURRED ON A PREVIOUS STEP C AND SHOULD THUS BE LEFT ALONE BETWEEN STEPS. C--------+---------+---------+---------+---------+---------+---------+-- C C ACTION OF THE ROUTINE: C CALL IVALU TO SET INTEGRATION PARAMETERS. C COPY N,ID,IWT INTO /STCOM5/ FOR USE BY FCN,PDERV. C SET IFLAG = 1 AND CALL STATS TO INITIALIZE ITS COMMON AREAS. C (THE ARGUMENTS FOR THIS CALL ARE DUMMIES.) C SET X,Y,NSTP,NFCN FOR USE IN STATS. SET IFLAG = 2 SO THAT C THE CALL TO METHOD WILL SET THE FIRST STEP SIZE (HSTART) C AND RETURN. C SET NSTART = NO. OF FCN CALLS NEEDED BY METHOD TO START. C--------+---------+---------+---------+---------+---------+---------+-- C CALL IVALU(N,XSTART,XEND,HINIT,HMAX,YSTART,FCNTIM,JACTIM,LUDTIM, * WT,IWT,ID) C N1 = N ID1 = ID IWT1 = IWT X = XSTART DO 20 I = 1, N Y(I) = YSTART(I) 20 CONTINUE C IFLAG = 1 CALL STATS(X,Y,DUMMY,Y) C NFCN1 = 0 NSTP = 0 IFLAG = 2 C CALL METHOD(N,X,Y,XEND,ERRTOL,HMAX,HINIT) C NOSTRT = X .LT. XEND NSTART = NFCN1 C--------+---------+---------+---------+---------+---------+---------+-- C INITIALIZE THE COUNTERS ETC. IN /STCOM3/,/STCOM6/. C IF METHOD FAILED TO START, SET FLAGS AND EXIT. C SET IFLAG = 3 SO THAT THE CALL TO METHOD WILL DO A COMPLETE C INTEGRATION, COMPILING STATISTICS ON EACH STEP. C START THE CLOCK. C--------+---------+---------+---------+---------+---------+---------+-- NFCN1 = 0 NJAC1 = 0 NLUD1 = 0 NSTP = 0 NSTL = 0 LEMXSC = 0. NDCV = 0 NBAD = 0 GEMX = 0. TRUTIM = 0. NTRU = 0 C IF (NOSTRT) GO TO 180 C X = XSTART DO 40 I = 1, N Y(I) = YSTART(I) 40 CONTINUE IFLAG = 3 S = CLOCK(0.0) C CALL METHOD(N,X,Y,XEND,ERRTOL,HMAX,HSTART) C TIME = CLOCK(S) OKMETH = X .GE. XEND XFIN = X NFCN = NFCN1 NJAC = NJAC1 NLUD = NLUD1 IF ( .NOT. OKMETH) GO TO 160 C--------+---------+---------+---------+---------+---------+---------+-- C IF OPT.GT.1, OR IF OPT = 1 BUT THE TIMING ESTIMATE ALREADY C OBTAINED WAS TOO SMALL TO BE RELIABLE, DO A TIMING COMPUTATION C PROVIDED THAT METHOD REACHED THE ENDPOINT IN THE PREVIOUS CALL. C SET IFLAG = 0, START THE CLOCK, AND CALL C METHOD SUFFICIENTLY MANY TIMES FOR THE SOLUTION TIME TO C BE OBTAINED ACCURATELY. COMPUTE THE OVERHEAD AS THE C TOTAL TIME EXCLUSIVE OF FUNCTION AND JACOBIAN EVALUATIONS C AND MATRIX INVERSIONS. C--------+---------+---------+---------+---------+---------+---------+-- TSTTIM = CONST(4) TIMERR = .FALSE. IF (TSTTIM.LE.0) GO TO 120 IF (OPT.EQ.1 .AND. TIME.GE.0.5*TSTTIM) GO TO 120 COUNT = 0 IFLAG = 0 S = CLOCK(0.0) C--------+---------+---------+---------+---------+---------+---------+-- C LOOP TILL 'TSTTIM' TIME UNITS HAVE ELAPSED: C--------+---------+---------+---------+---------+---------+---------+-- 60 CONTINUE X = XSTART DO 80 I = 1, N Y(I) = YSTART(I) 80 CONTINUE CALL METHOD(N,X,Y,XEND,ERRTOL,HMAX,HSTART) TIMERR = X .LT. XEND IF (TIMERR) GO TO 100 TIMCUM = CLOCK(S) COUNT = COUNT + 1 IF (TIMCUM.LT.TSTTIM .AND. COUNT.LT.10) GO TO 60 C 100 IF (COUNT.GE.1) TIME = TIMCUM/FLOAT(COUNT) 120 CONTINUE C--------+---------+---------+---------+---------+---------+---------+-- C WE NOW HAVE A VALUE FOR TIME: THE ONE OBTAINED BEFORE THE C TIMING LOOP IF WE SKIPPED THE LATTER OR IN THE UNLIKELY C EVENT OF AN ERROR IN THE 1ST TIMING ITERATION; OTHERWISE C THE ONE FROM THE TIMING LOOP. C COMPUTE OVERHEAD AND ENDPOINT GLOBAL ERROR. C--------+---------+---------+---------+---------+---------+---------+-- OVHD = TIME - FLOAT(NFCN)*FCNTIM - FLOAT(NJAC)*JACTIM - * FLOAT(NLUD)*LUDTIM CALL EVALU(YEND,N,WT,IWT,ID) GEND = DIFNRM(YEND,Y,N) C IF (TIMERR) GO TO 200 C C--------+---------+---------+---------+---------+---------+---------+-- C SET THE OUTPUT VALUE OF CMPLET, INDG1 AND INDL1. C--------+---------+---------+---------+---------+---------+---------+-- CMPLET = 1 IF (INDL.LT.0 .OR. INDG.LT.0) CMPLET = 0 140 INDG1 = INDG INDL1 = INDL RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C *********** ERROR EXITS *********** C--------+---------+---------+---------+---------+---------+---------+-- C METHOD FAILED TO REACH XEND C--------+---------+---------+---------+---------+---------+---------+-- 160 CMPLET = -1 IF (INDL.LT.0 .OR. INDG.LT.0) CMPLET = -2 TIME = 1E20 OVHD = 1E20 GEND = 1E20 GO TO 140 C C--------+---------+---------+---------+---------+---------+---------+-- C METHOD FAILED TO START C--------+---------+---------+---------+---------+---------+---------+-- 180 CMPLET = -3 NFCN = 0 NJAC = 0 NLUD = 0 TIME = 1E20 OVHD = 1E20 GEND = 1E20 GO TO 140 C--------+---------+---------+---------+---------+---------+---------+-- C INTEGRATION FAILED IN TIMING LOOP C--------+---------+---------+---------+---------+---------+---------+-- 200 CMPLET = -4 GO TO 140 END C C********+*********+*********+*********+*********+*********+*********+** C REAL FUNCTION DIFNRM(A,B,N) C1 C .. Scalar Arguments .. INTEGER N C .. Array Arguments .. DOUBLE PRECISION A(N), B(N) C .. Scalars in Common .. DOUBLE PRECISION ERRTOL INTEGER ID, IOUT, IWT, NRMTYP, OPT, XTRAP C .. Local Scalars .. INTEGER I C .. Intrinsic Functions .. INTRINSIC AMAX1, DABS, REAL, SQRT C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, * IOUT C .. Executable Statements .. C C********+*********+*********+*********+*********+*********+*********+** C NORM OF DIFFERENCE BETWEEN TWO DOUBLE PRECISION VECTORS, C SINGLE PRECISION RESULT. C NRMTYP=1,2,3 CHOOSES MAX-NORM, 2-NORM, R.M.S.-NORM. C--------+---------+---------+---------+---------+---------+---------+-- IF (NRMTYP.EQ.1) THEN DIFNRM = 0.0 DO 20 I = 1, N DIFNRM = AMAX1(DIFNRM,REAL(DABS(A(I)-B(I)))) 20 CONTINUE ELSE DIFNRM = 0.0 DO 40 I = 1, N DIFNRM = DIFNRM + REAL(DABS(A(I)-B(I)))**2 40 CONTINUE C IF (NRMTYP.EQ.2) DIFNRM = SQRT(DIFNRM) IF (NRMTYP.EQ.3) DIFNRM = SQRT(DIFNRM/N) END IF RETURN END C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE STATS(X,Y,ERRBND,ERREST) C C********+*********+*********+*********+*********+*********+*********+** C STATS 'INSTRUMENTS' THE ODE-SOLVER BEING TESTED, BY COMPUTING C THE DEVIATION OF THE SOLUTION COMPUTED IN ROUTINE METHOD FROM C THE 'TRUE' GLOBAL AND LOCAL SOLUTIONS IF REQUESTED, AND BY C ACCUMULATING VARIOUS ASSOCIATED STATISTICS. IT ALSO PERFORMS C VARIOUS INITIALIZATION DUTIES, DEPENDING ON THE VALUE OF IFLAG C ON ENTRY. C C ON ENTRY C X,Y - MUST HOLD 'SOLVER' SOLUTION AT CURRENT STEP C ERREST- MUST HOLD ESTIMATED LOCAL ERROR VECTOR AT THIS STEP C DEFINED AS (COMPUTED Y) - (TRUE LOCAL SOLUTION AT NEW X). C SINCE ABSOLUTE ERROR-CONTROL IS SPECIFIED, THIS IS THE C VECTOR WHOSE NORM IS MAINTAINED BELOW ERRBND BY 'METHOD'. C IT IS ASSUMED THAT 'METHOD' USES ONE OF THE 3 NORMS C OFFERED BY THE PACKAGE, AND NRMTYP MUST BE SET SUITABLY. C ERRBND- MUST HOLD TOLERANCE BELOW WHICH THE NORM OF ERREST IS C BEING HELD AT THIS STEP. USUALLY SAME AS ERRTOL BUT WILL C BE DIFFERENT AND VARY WITH STEPSIZE IF (EG) A PER-UNIT- C STEP ERROR CRITERION IS USED. C C STORAGE FOR VARIOUS SOLUTIONS: C X,Y - CURRENT SOLUTION COMPUTED BY METHOD, PASSED IN C VIA ARGUMENT LIST. C XOLD,YOLD- VALUES OF X,Y AT AN OLD MESHPOINT OF METHOD, C USUALLY THE LAST ONE BUT OLDER IF A LUMPED C STEP IS BEING FORMED (SEE BELOW). C IF IFLAG = 0, NEITHER XOLD NOR YOLD IS USED. C YOLD IS NOT USED UNLESS STATISTICS ON LOCAL ERROR C ARE BEING COMPILED (IFLAG=3 AND OPT=3). C THE 'TRUE' LOCAL SOLUTION IS OBTAINED BY INTEG- C RATING FROM XOLD,YOLD TO THE CURRENT X. C XOLD,YOLD ARE USED AS THE ACTUAL ARGUMENTS IN THIS C INTEGRATION, AND ARE THEN UPDATED TO HOLD X,Y IN C PREPARATION FOR NEXT CALL TO STATS. C XT - LAST MESHPOINT OF METHOD. C XOLDG - INDEP VAR FOR 'TRUE' GLOBAL SOLUTION, IN COMMON. C YOLDG - 'TRUE' GLOBAL SOLUTION AT XOLDG, HELD IN COMMON. C UPDATED BY CALLING TRUE AT EACH CALL TO STATS IF C DETAILED STATISTICS ARE BEING COMPILED (IFLAG = 3) C AND IF OPT.GE.2 C YSTAR - ONLY USED IF OPT.EQ.4. IF SOLVER DOES NOT DO LOCAL C EXTRAPOLATION, WE FORM THE LOCALLY EXTRAPOLATED C SOLUTION IN YSTAR. C--------+---------+---------+---------+---------+---------+---------+-- C C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREAS C--------+---------+---------+---------+---------+---------+---------+-- C1 C2 C3 C4 C6 C .. Scalar Arguments .. DOUBLE PRECISION ERRBND, X C .. Array Arguments .. DOUBLE PRECISION ERREST(20), Y(20) C .. Scalars in Common .. DOUBLE PRECISION ERLUMP, ERRTOL, HSTART, PRECIS, XEND, XFIN, XOLD, * XOLD1, XOLDG, XT, XTRUE REAL GEMX, GEND, LEMXSC, OVHD, TIME, TRUTIM INTEGER ID, IFLAG, INDG, INDL, IOUT, IWT, N, NBAD, NDCV, * NFCN, NFCN1, NJAC, NJAC1, NLUD, NLUD1, NRMTYP, * NSTART, NSTL, NSTP, NTRU, OPT, XTRAP C .. Arrays in Common .. DOUBLE PRECISION CG(20), PDG(400), WG(400), WKG(20,12), YOLD(20), * YOLDG(20), YPG(20,11) INTEGER INFG(40) C .. Local Scalars .. DOUBLE PRECISION HLUMP, YNORM REAL ESTSC, LEERSC, LESC, THETA, TRUT0 INTEGER I, NDIM, NNFCN, NNJAC, NNLUD C .. Local Arrays .. DOUBLE PRECISION CL(20), PDL(400), WKL(20,12), WL(400), * YPL(20,11), YSTAR(20), ZERO(20) INTEGER INFL(40) C .. External Functions .. REAL CLOCK, CONST, DIFNRM EXTERNAL CLOCK, CONST, DIFNRM C .. External Subroutines .. EXTERNAL FCN, DERV, PLOT, TRUE C .. Intrinsic Functions .. INTRINSIC AMAX1, DABS, DMAX1 C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, IOUT COMMON /STCOM2/XEND, HSTART, N, IFLAG, INDL, INDG COMMON /STCOM3/XFIN, XTRUE, TIME, OVHD, TRUTIM, GEND, * GEMX, LEMXSC, NFCN, NJAC, NLUD, NSTP, NSTL, NDCV, * NBAD, NTRU, NSTART COMMON /STCOM4/XOLD1, XOLD, YOLD, XOLDG, YOLDG, CG, PDG, * WKG, WG, YPG, XT, PRECIS, ERLUMP, INFG COMMON /STCOM6/NFCN1, NJAC1, NLUD1 C .. Data statements .. CE C DATA NDIM/20/ C .. Executable Statements .. C C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 0 METHOD IS BEING TIMED. C--------+---------+---------+---------+---------+---------+---------+-- IF (IFLAG.EQ.0) RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 1 INITIALIZE VARIABLES TO DO WITH FINDING FIRST STEP- C SIZE, ASSESSING LUMPED STEPS AND COMPUTING TRUE GLOBAL SOLUTION. C RESET INDL, OTHERWISE A LOCAL FAILURE (INDL<0) ON A PREVIOUS C INTEGRATION WILL BE DEEMED A FAILURE ON THIS ONE. C 1ST 5 ELEMENTS OF INFG,CG MUST BE INITIALIZED; WE INITIALIZE C MORE TO AID DIAGNOSTICS. C--------+---------+---------+---------+---------+---------+---------+-- IF (IFLAG.NE.1) GO TO 60 C C FOR EVALUATING PERFORMANCE OF 'TRUE': C CALL TRUCHK(1,IDUM) PRECIS = 1000.D0*CONST(1) ERLUMP = 0.D0 XOLD1 = X XOLD = X XOLDG = X XT = X DO 20 I = 1, N YOLD(I) = Y(I) YOLDG(I) = Y(I) 20 CONTINUE DO 40 I = 1, 20 INFG(I) = 0 CG(I) = 0.D0 40 CONTINUE INFG(1) = 1 INFG(3) = 1000 INDG = 2 INDL = 2 RETURN C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 2 DETERMINE THE INITIAL STEPSIZE FOR C THE INTEGRATION PROPER. WE CHOOSE THE SECOND STEP C TAKEN AND TERMINATE THE INTEGRATION BY SETTING X C EQUAL TO XEND. HSTART THEN HOLDS THE CURRENT STEPSIZE. C--------+---------+---------+---------+---------+---------+---------+-- 60 IF (IFLAG.NE.2) GO TO 80 NSTP = NSTP + 1 HSTART = X - XOLD1 XOLD1 = X IF (NSTP.GE.2) X = XEND RETURN C C C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 3 COMPILE STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- C C IF THE STEPSIZE AND, HENCE, THE ERROR REQUIREMENT WAS C TOO SMALL TO PERMIT AN EFFECTIVE ASSESSMENT AT THIS C PRECISION, CONTINUE THE INTEGRATION. A LUMPED ERROR C ESTIMATE IS FORMED IN ERLUMP AND SEVERAL SMALL STEPS C ASSESSED AS ONE. C THE TEST FOR THE SIZE OF A LUMPED STEP IS MATCHED TO THE C MINIMUM STEPSIZE TEST IN 'TRUE' AND IS INTENDED TO ENSURE C (VERY CONSERVATIVELY) THAT ROUNDOFF EFFECTS ARE NEGLIGIBLE. C MAX-NORM IS USED IRRESPECTIVE OF THE VALUE OF NRMTYP IN /STCOM1/. C IT IS ASSUMED THAT LUMPING OCCURS ONLY WHEN FAST TRANSIENTS ARE C BEING DAMPED OUT AND CONSEQUENTLY THE STEPSIZE WILL BE RAPIDLY C INCREASING. IN THIS SITUATION EARLIER LOCAL ERRORS HAVE LESS C EFFECT ON THE LUMPED ERROR THAN RECENT ONES AND THE C FORMULA FOR ERLUMP IS A CRUDE WAY TO ENSURE THIS. C--------+---------+---------+---------+---------+---------+---------+-- 80 CONTINUE NSTP = NSTP + 1 HLUMP = X - XOLD THETA = (X-XT)/HLUMP ERLUMP = ERLUMP + THETA*(ERRBND-ERLUMP) XT = X YNORM = 0.D0 DO 100 I = 1, N YNORM = DMAX1(YNORM,DABS(YOLDG(I)),DABS(Y(I))) 100 CONTINUE IF (HLUMP*ERRTOL.GE.YNORM*PRECIS) GO TO 120 C WRITE(6,998)XOLD,X,THETA,HLUMP,ERREST,ERRBND,NSTL,NSTP C998 FORMAT(1H0,'XOLD X THETA HLUMP ERREST ERRBND NSTL NSTP=', C * 1P6D12.4,2I4) RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C A SUFFICIENTLY LARGE LUMPED STEP HAS BEEN FORMED. C INCREMENT THE LUMPED STEP COUNT. C--------+---------+---------+---------+---------+---------+---------+-- 120 CONTINUE NSTL = NSTL + 1 C--------+---------+---------+---------+---------+---------+---------+-- C GLOBAL ASSESSMENT C SAVE COUNTERS THAT WILL BE AFFECTED BY 'TRUE' CALLS. SET MAX C STEPSIZE FOR GLOBAL SOLUTION TO X-XOLDG (DEFAULT VALUE IN TRUE IS C 1/5TH OF THIS.) C CONTINUE TRUE GLOBAL SOLUTION TO CURRENT MESHPOINT AND C UPDATE MAX GLOBAL ERROR GEMX. C IF FAILURE OCCURS, RECORD POSITION IN XTRUE AND SKIP LOCAL C ASSESSMENT ALSO. C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.LT.2 .OR. INDG.LT.0) GO TO 240 NNFCN = NFCN1 NNJAC = NJAC1 NNLUD = NLUD1 CG(4) = 1.1D0*(X-XOLDG) TRUT0 = CLOCK(0.) C CALL TRUE(FCN,DERV,NDIM,N,XOLDG,YOLDG,X,1.D-2*ERRTOL,INDG,CG, * INFG,YPG,WG,PDG,WKG) C TRUTIM = TRUTIM + CLOCK(TRUT0) INFG(3) = INFG(13) + 100 IF (INDG.GE.0) GO TO 140 XTRUE = XOLDG C WRITE(6,999)(INFG(I),I=1,20),CG C999 FORMAT(1H0,'TRUE FAILURE, INF & C ='/1H0,20I6/ C * (1H0,1P10D12.4)) GO TO 220 140 GEMX = AMAX1(GEMX,DIFNRM(Y,YOLDG,N)) C--------+---------+---------+---------+---------+---------+---------+-- C LOCAL ASSESSMENT C OBTAIN THE LOCAL SOLUTION THROUGH THE PREVIOUS COMPUTED C MESH VALUE TO HIGHER ACCURACY THAN METHOD, PROVIDED NO C FAILURES HAVE OCCURRED IN PREVIOUS CALLS TO TRUE C (INDL.GE.0). CHECK FOR A FAILURE THIS TIME AFTER THE C CALL TO TRUE. COMPILE THE RELIABILITY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.LT.3 .OR. INDL.LT.0) GO TO 220 DO 160 I = 1, 5 INFL(I) = 0 CL(I) = 0.D0 160 CONTINUE INFL(1) = 1 INFL(3) = 500 INDL = 2 CL(4) = 1.1D0*(X-XOLD) TRUT0 = CLOCK(0.) C CALL TRUE(FCN,DERV,NDIM,N,XOLD,YOLD,X,1.D-2*ERLUMP,INDL,CL,INFL, * YPL,WL,PDL,WKL) C TRUTIM = TRUTIM + CLOCK(TRUT0) XTRUE = XOLD C IF(INDL.LT.0)WRITE(6,999)(INFL(I),I=1,20),CL IF (INDL.LT.0) GO TO 220 C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE STATISTICS C LESC RECORDS THE RATIO OF THE MAGNITUDE OF THE TRUE C LOCAL ERROR TO THE ASSUMED LOCAL ERROR BOUND. C LEMXSC RECORDS ITS MAXIMUM OVER THE RANGE. C NTRU COUNTS THE NO. OF LUMPED STEPS OF METHOD ON WHICH C LOCAL ASSESSMENT SUCCEEDED, SO AS TO ALLOW SUMMARY OF PARTIAL C RESULTS IF TRUE FAILS AT SOME POINT. C C IF OPT=4, DO THE ANALYSIS OF THE LOCAL ERROR ESTIMATE VECTOR, C ERREST, BY FORMING THE SCALED ||ERROR|| IN ERREST. IF LOCAL C EXTRAPOLATION IS DONE THIS IS LESC=||ERREST||/ERLUMP. IF NOT, C FORM YSTAR=LOCALLY EXTRAPOLATED SOLUTION AND IT IS THEN C ||YSTAR-YOLD||/ERLUMP. FORM A POINT ON THE SCATTER DIAGRAM C OF ERROR IN ERREST (VERT AXIS) VS. ERREST (HORIZ AXIS) C AND ENTER IT BY A CALL TO 'PLOT'. C--------+---------+---------+---------+---------+---------+---------+-- C C FOR EVALUATING PERFORMANCE OF 'TRUE': C CALL TRUCHK(3,INFL) LESC = DIFNRM(Y,YOLD,N)/ERLUMP LEMXSC = AMAX1(LEMXSC,LESC) IF (LESC.GT.1.0) NDCV = NDCV + 1 IF (LESC.GT.5.0) NBAD = NBAD + 1 IF (OPT.EQ.4) THEN C XTRAP=1 OR 0 ACCORDING AS THE USER HAS TOLD THE PACKAGE THAT C LOCAL EXTRAPOLATION IS OR IS NOT BEING DONE BY SOLVER: IF (XTRAP.EQ.0) THEN DO 180 I = 1, N YSTAR(I) = Y(I) - ERREST(I) 180 CONTINUE LEERSC = DIFNRM(YSTAR,YOLD,N)/ERLUMP ELSE LEERSC = LESC END IF ESTSC = DIFNRM(ERREST,ZERO,N)/ERLUMP CALL PLOT(ESTSC,LEERSC,1) C WRITE(IOUT,'('' I TRUE LE EST LE'')') C DO 95 I=1,N C95 WRITE(IOUT,''(' ',I3,2F14.10)'') I,LERR(I),ERREST(I) END IF C NTRU = NTRU + 1 C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE MEMORY OF LAST COMPUTED VALUES. C--------+---------+---------+---------+---------+---------+---------+-- DO 200 I = 1, N YOLD(I) = Y(I) 200 CONTINUE C--------+---------+---------+---------+---------+---------+---------+-- C RESTORE THE COUNTS AFFECTED BY 'TRUE' CALLS. C--------+---------+---------+---------+---------+---------+---------+-- 220 NFCN1 = NNFCN NJAC1 = NNJAC NLUD1 = NNLUD C--------+---------+---------+---------+---------+---------+---------+-- C RE-INITIALIZE THE DATA PERTAINING TO A LUMPED STEP. C--------+---------+---------+---------+---------+---------+---------+-- 240 ERLUMP = 0.D0 XOLD = X C--------+---------+---------+---------+---------+---------+---------+-- C RETURN TO METHOD TO CONTINUE THE INTEGRATION. C--------+---------+---------+---------+---------+---------+---------+-- RETURN END * SUBROUTINE PLOT(X,Y,IFLAG) C ROUTINE TO FORM PLOTS OF LOCAL ERROR INFORMATION FOR DETEST, USING C AN ARRAY K WHICH IS IN 'SAVE' STORAGE. C C IF IFLAG<=0, IT RESETS ARRAY K TO ZERO. C C IF IFLAG=1, THE ROUTINE ENTERS (X,Y) ON THE SCATTER-DIAGRAM C REPRESENTED BY K. HERE X,Y ARE >= 0, AND THE RANGE 0 TO INFINITY IS C SPLIT INTO CLASS-INTERVALS NUMBERED I = NLO .. NHI, THE I-TH INTERVAL C BEING 2**(I-1) <= X < 2**I EXCEPT THAT THE NLO-TH ONE INCLUDES ALL C X BELOW 2**NLO AND THE NHI-TH INCLUDES ALL X >=2**(NHI-1). C C IF IFLAG=2, THE SCATTER DIAGRAM IS PRINTED OUT. C C NOTE: IF IMPLEMENTER WISHES TO ALTER NLO, NHI THEN THE DATA C STATEMENTS MUST BE ALTERED CORRESPONDINGLY. C CERR CHARACTER STR3*3, LINE*LINLEN, LINE1*LINLEN, LINE2*LINLEN, CERR * LINE3*LINLEN, LINE4*LINLEN C .. Parameters .. INTEGER NLO, NHI REAL ALOG2 INTEGER NMIN, LINLEN REAL XYMIN PARAMETER (NLO=-7,NHI=4,ALOG2=.69314718,NMIN=NLO-1, * LINLEN=3*(NHI-NLO+1)+1,XYMIN=2.**NMIN) C .. Scalar Arguments .. REAL X, Y INTEGER IFLAG C .. Local Scalars .. REAL C, P, T INTEGER I, IOUT, J, JL, KMAX, KTOT CHARACTER*(LINLEN) LINE CHARACTER*(LINLEN) LINE1 CHARACTER*(LINLEN) LINE2 CHARACTER*(LINLEN) LINE3 CHARACTER*(LINLEN) LINE4 C .. Local Arrays .. INTEGER K(NLO:NHI,NLO:NHI) C .. External Functions .. REAL CONST CHARACTER*3 STR3 EXTERNAL CONST, STR3 C .. Intrinsic Functions .. INTRINSIC ALOG, MAX, MIN, NINT C .. Statement Functions .. INTEGER ICLAS, ICLAS0 C .. Save statement .. SAVE K, KTOT, KMAX, IOUT C .. Data statements .. DATA LINE1/'+--+--+--+--+--+--+--+--+--+--+--+--+'/, * LINE2/'+ +'/, * LINE3/'| |'/, * LINE4/' 2 2 2 2 2 2 2 2 2 2 2 '/ C .. Executable Statements .. C C C .. Statement Function definitions .. ICLAS0(T) = NMIN + NINT(ALOG(MAX(1.,T/XYMIN))/ALOG2) ICLAS(T) = MIN(MAX(ICLAS0(T),NLO),NHI) IF (IFLAG.LE.0) THEN IOUT = CONST(3) KTOT = 0 KMAX = 0 DO 40 I = NLO, NHI DO 20 J = NLO, NHI K(I,J) = 0 20 CONTINUE 40 CONTINUE ELSE IF (IFLAG.EQ.1) THEN IF (X.LT.0. .OR. Y.LT.0.) THEN WRITE (IOUT,FMT=*) * ' ERROR IN ARGUMENTS TO DETEST PLOT ROUTINE', X, Y STOP END IF I = ICLAS(X) J = ICLAS(Y) K(I,J) = K(I,J) + 1 KTOT = KTOT + 1 KMAX = MAX(KMAX,K(I,J)) ELSE C = KTOT DO 80 I = NHI, NLO, -1 LINE = LINE3 DO 60 J = NLO, NHI JL = J - NLO P = K(J,I)/C LINE(3*JL+1:3*JL+3) = STR3(P) 60 CONTINUE CERR8 LINE(3*JL+1:3*JL+3) = STR3(K(J,I)/C) IF (LINE(1:1).EQ.' ') LINE(1:1) = '|' IF (I.EQ.NHI) THEN WRITE (IOUT,FMT='(1X,15X,''INFINITY '',A)') LINE1 WRITE (IOUT,FMT='(1X,20X,'' '',A)') LINE ELSE WRITE (IOUT,FMT='(1X,15X,I8,1X,A)') I, LINE2 WRITE (IOUT,FMT='(1X,20X,''2 '',A)') LINE END IF 80 CONTINUE WRITE (IOUT,FMT='(1X,24X,A)') LINE1 WRITE (IOUT,FMT='(/1X,25X,30I3)') (J,J=NLO,NHI-1) WRITE (IOUT,FMT='(1X,24X,A)') LINE4 END IF RETURN END CHARACTER*3 FUNCTION STR3(P) C CONVERTS P (MEANT TO BE IN RANGE 0 TO 1) TO A 3 CHARACTER C INTEGER PERCENTAGE. P=0 BECOMES ' ', 0 HMAX. C IF (C(9).LE.C(11)) GO TO 560 IND = -2 RETURN 560 CONTINUE C C CASES - INITIAL STEP, LAST STEP ACCEPTED, LAST STEP REJECTED. C IER = INF(8) GO TO (580,720,980,980) IER C C CASE 1 - INITIAL STEP (INF(8) .EQ. 1) C 580 CONTINUE CALL FCN(X,Y,YP(1,8)) CALL DERV(X,Y,PDERIV) INF(13) = INF(13) + 1 INF(14) = INF(14) + 1 INF(6) = 3 K = 1 INF(17) = 0 INF(16) = 0 INF(20) = 1 INF(18) = -1 INF(19) = 1 CALL COEFF(K,POEF,COEF,PIE,PII) DO 620 I = 1, N YDP = 0.D0 DO 600 J = 1, N YDP = YDP + PDERIV(I+(J-1)*N)*YP(J,8) 600 CONTINUE YP(I,9) = YDP 620 CONTINUE HSTART = C(5) IF (HSTART.EQ.0.D0) GO TO 640 C(12) = DMIN1(DABS(HSTART),C(11)) GO TO 700 640 CONTINUE HABS = DSQRT(C(6)) HTMP = DSIGN(HABS,XEND-X) DO 660 I = 1, N WORK(I,1) = Y(I) + HTMP*(YP(I,8)+.5D0*HTMP*YP(I,9)) 660 CONTINUE CALL FCN(X+HTMP,WORK(1,1),YP(1,10)) YP3NRM = C(7) DO 680 I = 1, N YDP = (WORK(I,1)-Y(I)-HTMP*(COEF(2)*YP(I,10)+COEF(1)*YP(I,8))) * /(HTMP*HTMP*COEF(3)) YP3NRM = DMAX1(YP3NRM,DABS(YP(I,9)-YDP)) 680 CONTINUE C(12) = DMIN1(C(11),.95D0*(6.D0*TOL*HABS/YP3NRM)**(1.D0/3.D0)) 700 CONTINUE C(14) = DSIGN(C(12),XEND-X) C(13) = X + C(14) GO TO 1220 720 CONTINUE IF (INF(16).LE.0 .OR. C(12).GE.C(11)) GO TO 920 HABS = DABS(C(14)) IF (INF(16).GE.K+1) GO TO 740 C(12) = STEP(C(15),C(12),TOL,INF(6)) HK = C(12) GO TO 900 740 CONTINUE HPAST = C(16) KM1 = K - 1 NQM1 = INF(6) - 1 KP1 = K + 1 NQP1 = INF(6) + 1 HKM1 = 0.D0 IF (K.EQ.1) GO TO 800 CALL COEFF(KM1,PTMP,CTMP,PEKM1,PIKM1) ESTKM1 = 0.D0 JSHFT = 8 - K DO 780 I = 1, N SUM = C(14)*PTMP(NQM1)*YP(I,9) DO 760 J = 1, K SUM = SUM + PTMP(J)*YP(I,J+JSHFT) 760 CONTINUE YKM1 = C(14)*SUM + WORK(I,4) ESTKM1 = DMAX1(ESTKM1,DABS(YKM1-Y(I))*WORK(I,9)) 780 CONTINUE ESTKM1 = PIKM1*ESTKM1/PEKM1 HKM1 = STEP(ESTKM1,C(12),TOL,NQM1) 800 CONTINUE HKP1 = 0.D0 IF (INF(6).EQ.INF(7)) GO TO 840 CALL COEFF(KP1,PTMP,CTMP,PEKP1,PIKP1) HP = (C(14)/HPAST)**NQP1 ESTKP1 = 0.D0 DO 820 I = 1, N ESTKP1 = DMAX1(ESTKP1,DABS(WORK(I,7)-WORK(I,8)*HP)*WORK(I,9)) 820 CONTINUE ESTKP1 = PIKP1*ESTKP1/(PIE-PII) HKP1 = STEP(ESTKP1,C(12),TOL,NQP1) 840 CONTINUE IF (HKP1.GT.HKM1) GO TO 860 HTMP = HKM1 KTMP = KM1 GO TO 880 860 CONTINUE HTMP = HKP1 KTMP = KP1 880 CONTINUE HK = STEP(C(15),C(12),TOL,INF(6)) C(12) = HK IF (HK.GE.DMIN1(HTMP,C(11)) .OR. HTMP.LT.1.3D0*HABS .AND. .NOT. * (HK.LE.HABS .AND. HTMP.GT.1.1D0*HABS)) GO TO 900 C(12) = HTMP K = KTMP INF(6) = K + 2 CALL COEFF(K,POEF,COEF,PIE,PII) INF(16) = 0 INF(20) = 1 900 CONTINUE C(12) = DMIN1(C(12),C(11)) IF (C(12).EQ.HK .AND. C(12).LE.1.3D0*HABS) C(12) = HABS 920 CONTINUE JSHFT = 8 - K DO 960 I = 1, N DO 940 J = JSHFT, 7 YP(I,J) = YP(I,J+1) 940 CONTINUE YP(I,8) = YP(I,10) YP(I,9) = YP(I,11) 960 CONTINUE C(16) = C(14) GO TO 1100 980 CONTINUE IF (INF(8).EQ.4) GO TO 1000 INF(8) = 4 INF(16) = -1 C(12) = C(12)*.5D0 IF (INF(6).EQ.3) GO TO 1060 IF (INF(12).GE.4) GO TO 1040 GO TO 1020 1000 CONTINUE C(12) = STEP(C(15),C(12),TOL,INF(6)-1) IF (INF(6).EQ.3) GO TO 1060 IF (INF(12).GE.4) GO TO 1040 INF(18) = -1*INF(18) IF (INF(18).EQ.-1) GO TO 1080 1020 CONTINUE INF(16) = MIN0(INF(16),0) INF(6) = INF(6) - 1 K = K - 1 CALL COEFF(K,POEF,COEF,PIE,PII) GO TO 1080 1040 CONTINUE INF(6) = 3 K = 1 CALL COEFF(K,POEF,COEF,PIE,PII) 1060 CONTINUE INF(17) = INF(17) + 1 IF (INF(17).GE.2) INF(19) = 1 1080 CONTINUE 1100 CONTINUE C>>>>>>>>INTERRUPT NO. 1 (IND .EQ. 4) IF REQUESTED IF (INF(4).EQ.0) GO TO 1120 IND = 4 RETURN C C RESUME HERE ON RE-ENTRY WITH IND .EQ. 4 - ...RE-ENTRY........... C 1120 CONTINUE C C OBTAIN FINAL HMAG, XTRIAL AND HTRIAL C DIFF = XEND - X K = INF(6) - 2 IF (IND.EQ.4) CALL COEFF(K,POEF,COEF,PIE,PII) IF (C(12).GE.DABS(DIFF)) GO TO 1140 C DO NOT STEP MORE THAN HALF WAY TO XEND C(12) = DMIN1(C(12),.5D0*DABS(DIFF)) IF (C(4).EQ.0.D0) C(11) = C(12) GO TO 1160 1140 CONTINUE C HIT XEND EXACTLY C(12) = DABS(DIFF) 1160 CONTINUE C CALCULATE HTRIAL HTMP = C(14) C(14) = DSIGN(C(12),DIFF) C(13) = X + C(14) IF (HTMP.NE.C(14)) GO TO 1180 GO TO 1200 1180 CONTINUE C C IF HTRIAL IS BEING CHANGED RESET UPDATE, INF(20), AND C CALL NEWSTP TO OBTAIN THE APPROXIMATION TO F AT C K EQUALLY SPACED POINTS C INF(20) = 1 IF (INF(19).EQ.0) CALL NEWSTP(NDIM,N,K,X,HTMP,C(14),YP) 1200 CONTINUE 1220 CONTINUE 1240 CONTINUE NQ = INF(6) RREB = C(6) HMAG = C(12) XTRIAL = C(13) HTRIAL = C(14) HPAST = C(16) IF (INF(19).EQ.1) GO TO 1260 GO TO 1300 1260 CONTINUE DO 1280 I = 1, N WORK(I,2) = Y(I) + HTRIAL*(YP(I,8)+HTRIAL*YP(I,9)*.5D0) WORK(I,1) = WORK(I,2) IF (INF(10).EQ.0) GO TO 1280 WORK(I,1) = Y(I) + (Y(I)-WORK(I,4))*HTRIAL/HPAST YP(I,1) = WORK(I,1) 1280 CONTINUE GO TO 1400 1300 CONTINUE RATIO = HTRIAL/HPAST JSHFT = 7 - K KP1 = K + 1 DO 1340 I = 1, N SUM = HTRIAL*POEF(NQ)*YP(I,9) DO 1320 J = 1, KP1 SUM = SUM + POEF(J)*YP(I,JSHFT+J) 1320 CONTINUE WORK(I,2) = HTRIAL*SUM + Y(I) WORK(I,1) = WORK(I,2) IF (NQ.GT.3) GO TO 1340 WORK(I,1) = Y(I) + (Y(I)-WORK(I,4))*RATIO YP(I,1) = WORK(I,1) 1340 CONTINUE IF (INF(8).NE.2) GO TO 1380 DO 1360 I = 1, N WORK(I,8) = WORK(I,7) 1360 CONTINUE 1380 CONTINUE 1400 CONTINUE NN = N*N NP1 = N + 1 CALL FCN(XTRIAL,WORK(1,1),YP(1,10)) INF(13) = INF(13) + 1 CALL DERV(XTRIAL,WORK(1,1),PDERIV) INF(14) = INF(14) + 1 ERRCO = PII/(PIE-PII) DMAX = 1.D0 DPRED = 1.D-16 JSHFT = 8 - K DO 1440 I = 1, N DPRED = DMAX1(DPRED,DABS(YP(I,10)-YP(I,8)) * /DMAX1(1.D0,DABS(YP(I,8)))) WORK(I,6) = YP(I,10) CNST = 0.D0 DO 1420 J = 1, K CNST = CNST + COEF(J)*YP(I,JSHFT+J) 1420 CONTINUE WORK(I,5) = HTRIAL*CNST + Y(I) 1440 CONTINUE DPRED = HMAG*DPRED DPAST = DPRED DSTRT = DPRED ICONV = 1 IF (INF(8).EQ.2 .AND. INF(20).EQ.0) ICONV = 2 RESTRT = .FALSE. ERRLIM = .25D0*(1.9D0**NQ)*TOL KOUNT = 1 C C ITERATE UNTIL CONVERGENCE, DIVERGENCE DETECTED, OR KOUNT .GE. 5 C 1460 IF (ICONV.EQ.1) GO TO 1480 GO TO 1600 C C IF ICONV = 1 THEN RE-EVALUATE W, THE ITERATION MATRIX. C OTHERWISE, PROCEED TO THE NEXT STAGE C 1480 CONTINUE IF (KOUNT.EQ.1) GO TO 1500 CALL DERV(XTRIAL,WORK(1,1),PDERIV) INF(14) = INF(14) + 1 1500 CONTINUE RESTRT = .TRUE. R = -HTRIAL*HTRIAL*COEF(NQ) HTMP = -HTRIAL*COEF(K+1) DO 1560 I = 1, N DO 1540 J = 1, N JM1TN = (J-1)*N IJ = I + JM1TN W(IJ) = PDERIV(IJ)*HTMP IF (I.EQ.J) W(IJ) = W(IJ) + 1.D0 SUM = 0.D0 DO 1520 M = 1, N SUM = SUM + PDERIV(I+(M-1)*N)*PDERIV(M+JM1TN) 1520 CONTINUE SUM = R*SUM IF (I.EQ.J .AND. SUM.EQ.SUM+1.D0) * SUM = SUM*(1.D0-10.D0*RREB) W(IJ) = W(IJ) + SUM 1540 CONTINUE 1560 CONTINUE INF(15) = INF(15) + 1 CALL DDCOMP(N,N,W,INF(21),ISING) IF (ISING.EQ.0) GO TO 1580 C MATRIX APPEARS SINGULAR, SET INF(8) TO 3 AND BRANCH TO C THE END OF YCALC. INF(8) = 3 GO TO 1980 1580 CONTINUE 1600 CONTINUE C C CALCULATE THE RIGHT HAND SIDE OF THE SYSTEM, WORK(*,10) C THEN BACK-SUBSTITUTE TO SOLVE FOR THE CORRECTION C VECTOR, WORK(*,11). C DO 1640 I = 1, N R = 0.D0 DO 1620 J = 1, N R = R + PDERIV(I+(J-1)*N)*YP(J,10) 1620 CONTINUE YP(I,11) = R WORK(I,10) = -WORK(I,1) + HTRIAL*COEF(K+1)*YP(I,10) + * HTRIAL*HTRIAL*COEF(NQ)*R + WORK(I,5) 1640 CONTINUE CALL DSOLVE(N,N,W,INF(21),WORK(1,10),WORK(1,11)) DELMAX = 0.D0 CMAX = 0.D0 DO 1660 I = 1, N DELTA = WORK(I,11) WEIGHT = WORK(I,3) WORK(I,1) = WORK(I,1) + DELTA WORK(I,7) = WORK(I,2) - WORK(I,1) WORK(I,12) = ERRCO*WORK(I,7) DELMAX = DMAX1(DELMAX,DABS(DELTA)*WEIGHT) CMAX = DMAX1(CMAX,DABS(WORK(I,7))*WEIGHT) WORK(I,10) = YP(I,10) 1660 CONTINUE C(15) = ERRCO*CMAX CONVGD = .FALSE. DIFF = DMAX1(1.D-2*TOL,RREB*C(8)) IF (DELMAX.LE.DMAX1(DIFF,RREB)) CONVGD = .TRUE. DBND = DMIN1(RREB,.1D0*TOL) IF ((DMAX.LE.DBND .AND. CONVGD) .OR. * (KOUNT.EQ.2 .AND. DELMAX.LE.DBND)) GO TO 1700 C C IF IT APPEARS THAT THE SYSTEM IS LINEAR, DON'T DO THE C LAST FUNCTION EVALUATION. C INF(13) = INF(13) + 1 CALL FCN(XTRIAL,WORK(1,1),YP(1,10)) FMAX = 0.D0 DO 1680 I = 1, N FMAX = DMAX1(FMAX,DABS(WORK(I,10)-YP(I,10)) * /DMAX1(DABS(WORK(I,10)),1.D0)) 1680 CONTINUE DMAX = DMAX1(HMAG*FMAX,DBND) 1700 CONTINUE C C CHECK FOR CONVERGENCE (DMAX <=MIN(1.D-3,TOL) AND C DELMAX <= 1.D-2*TOL) C IF ((DMAX.LE.DMIN1(TOL,1.D-3) .AND. CONVGD) * .OR. (KOUNT.EQ.2 .AND. DELMAX.LE.DBND)) GO TO 1720 GO TO 1760 1720 CONTINUE DO 1740 I = 1, N YP(I,11) = (WORK(I,1)-WORK(I,5)-COEF(K+1)*HTRIAL*YP(I,10)) * /(HTRIAL*HTRIAL*COEF(NQ)) 1740 CONTINUE GO TO 1980 1760 CONTINUE C C IF CONVERGENCE CRITERIA HAVE NOT BEEN SATISFIED, PREPARE FOR C THE NEXT ITERATION. C CHECK TO SEE THAT ANOTHER ITERATION IS ALLOWED (KOUNT < 5) C IF (KOUNT.GE.5) GO TO 1780 GO TO 1800 1780 INF(8) = 3 GO TO 1980 1800 CONTINUE KOUNT = KOUNT + 1 IF (C(15).GT.TOL) GO TO 1820 GO TO 1900 1820 CONTINUE IF (RESTRT) GO TO 1840 GO TO 1860 1840 CONTINUE IF (C(15).GT.ERRLIM) INF(8) = 3 GO TO 1980 1860 CONTINUE ICONV = 1 DO 1880 I = 1, N WORK(I,1) = WORK(I,2) IF (NQ.EQ.3) WORK(I,1) = YP(I,1) YP(I,10) = WORK(I,6) 1880 CONTINUE DPRED = DSTRT DPAST = DSTRT GO TO 1460 1900 CONTINUE C C ANOTHER ITERATION WILL BE DONE, CHECK TO SEE IF AN UPDATE OF C W IS NECESSARY. C IF ((DMAX.LE.DPRED .OR. (KOUNT.EQ.2 .AND. RESTRT)) .OR. CONVGD) * GO TO 1920 GO TO 1940 1920 ICONV = 2 GO TO 1960 1940 IF (DMAX.GT.(N/6)*DPRED) ICONV = 1 1960 CONTINUE C ALLOW AT MOST 2 UPDATES PER TRIAL STEP. IF (ICONV.EQ.1) INF(20) = INF(20) + 1 IF (INF(20).GT.2) ICONV = 2 RATE = DMAX1(.2D0,DMIN1(.5D0,DMAX/DPAST)) DPAST = DMAX IF (KOUNT.EQ.2 .OR. DPRED.GT.RATE*DMAX) * DPRED = DMAX1(TOL,RATE*DMAX) GO TO 1460 1980 CONTINUE C C SET INF(8) AND IND TO THEIR CORRECT VALUES. C IF (INF(8).EQ.3) GO TO 2000 INF(8) = 2 IF (C(15).GT.TOL) INF(8) = 4 2000 CONTINUE IND = 5 + INF(8)/3 C>>>>>>>>INTERRUPT NO. 2 (IND .EQ. 5) IF REQUESTED IF (INF(5).EQ.0) GO TO 2020 RETURN C C RESUME HERE ON RE-ENTRY WITH IND .EQ. 5 - ...RE-ENTRY........... C 2020 CONTINUE K = INF(6) - 2 IF (INF(5).NE.0) CALL COEFF(K,POEF,COEF,PIE,PII) IF (INF(8).NE.2 .OR. IND.EQ.6) GO TO 2080 C C LAST STEP IS ACCEPTED, RESET STATUS VARIABLES TO INDICATE C THIS, UPDATE X AND Y AND FINALLY SEE IF X = XEND. C INF(8) = 2 X = C(13) DO 2040 I = 1, N WORK(I,9) = WORK(I,3) WORK(I,4) = Y(I) Y(I) = WORK(I,1) 2040 CONTINUE INF(10) = INF(10) + 1 INF(12) = 0 INF(16) = INF(16) + 1 INF(17) = 0 INF(18) = 1 INF(19) = 0 INF(20) = 0 IF (XEND+DABS(XEND-X)*.1D0.NE.XEND) GO TO 2060 IND = 3 C(17) = XEND X = XEND INF(9) = 1 RETURN 2060 CONTINUE GO TO 2120 C C ELSE STEP IS REJECTED C ADD 1 TO COUNTER FOR NUMBER OF FAILURES C ADD 1 TO NUMBER OF SUCCESSIVE FAILURES C 2080 CONTINUE INF(11) = INF(11) + 1 INF(12) = INF(12) + 1 IF (DABS(C(14)).GT.C(9)) GO TO 2100 C C*************** ERROR RETURN IF |HTRIAL| <= HMIN C IND = -3 RETURN 2100 CONTINUE 2120 CONTINUE GO TO 240 C C*********************************************************************** C*********************************************************************** C C BEGIN ABORT ACTION: 2140 CONTINUE IOUT = CONST(3) WRITE (IOUT,FMT=99999) IND, TOL, X, N, C(9), XEND, NDIM, C(11), * C(17), INF(10), INF(12), INF(13), (Y(J),J=1,N) STOP C 99999 FORMAT (/// * '0COMPUTATION STOPPED IN SECDER WITH THE FOLLOWING VALUES', * /'0IND =',I4,5X,'TOL =',1P,D13.6,5X,'X =',1P, * D22.15,/' N =',I4,5X,'HMIN =',1P,D13.6,5X,'XEND =', * 1P,D22.15,/' NDIM=',I4,5X,'HMAX =',1P,D13.6,5X, * 'PREV XEND =',1P,D22.15,/'0',14X, * 'NO OF SUCCESSFUL STEPS =',I8,/15X, * 'NO OF SUCCESSIVE FAILURES =',I8,/15X, * 'NO OF FUNCTION EVALS =',I8, * /'0THE COMPONENTS OF Y ARE',//(' ',1P,D24.15)) END DOUBLE PRECISION FUNCTION STEP(ERR,HMAG,TOL,NQ) C .. Scalar Arguments .. DOUBLE PRECISION ERR, HMAG, TOL INTEGER NQ C .. Local Scalars .. DOUBLE PRECISION STPMAX C .. Executable Statements .. STPMAX = 1.D1 IF (NQ.GE.5) STPMAX = 2.D0 IF (TOL.GE.(STPMAX/.95D0)**(NQ+1)*4.D0*ERR) GO TO 20 GO TO 40 20 STEP = STPMAX*HMAG RETURN 40 STEP = .95*HMAG*(TOL/(4.D0*ERR))**(1.D0/(NQ+1)) RETURN END SUBROUTINE NEWSTP(NDIM,N,K,X,H,HNEW,YP) C .. Scalar Arguments .. DOUBLE PRECISION H, HNEW, X INTEGER K, N, NDIM C .. Array Arguments .. DOUBLE PRECISION YP(NDIM,11) C .. Local Scalars .. DOUBLE PRECISION FCT, RATIO, SP1, TMP, VALUE INTEGER I, IMAX, J, KOUNT, KP1, L, LIM, LM1, M, NQ C .. Local Arrays .. DOUBLE PRECISION C(9), DIV(8), FACT(7,7), FKP1(7), S(7) C .. Intrinsic Functions .. INTRINSIC DBLE C .. Executable Statements .. KP1 = K + 1 NQ = K + 2 DIV(1) = 1.D0 DO 20 I = 2, KP1 DIV(I) = 1.D0/DBLE(I) 20 CONTINUE RATIO = HNEW/H C CALCULATE THE COEFFICIENTS FOR THE BACKWARD DIFFERENCES C DO 60 M = 1, K S(M) = M*RATIO SP1 = S(M) + 1.D0 FCT = 1.D0 DO 40 J = 1, K FCT = -FCT*(SP1-J)*DIV(J) FACT(M,J) = FCT 40 CONTINUE FKP1(M) = -FCT*(S(M)-K) 60 CONTINUE DO 200 KOUNT = 1, N C C CALCULATE THE BACKWARD DIFFERENCE FORM OF THE OLD POINT C SET, STORING THE RESULTS IN C. C LIM = 8 - K LM1 = LIM - 1 DO 80 I = LIM, 9 C(I-LM1) = YP(KOUNT,I) 80 CONTINUE DO 120 L = 1, K IMAX = KP1 - L DO 100 I = 1, IMAX C(I) = C(I+1) - C(I) 100 CONTINUE 120 CONTINUE TMP = H*C(NQ) DO 140 I = 1, K TMP = TMP - DIV(I)*C(KP1-I) 140 CONTINUE C C EVALUATE THE INTERPOLATING POLYNOMIAL AT THE NEW POINT SET C DO 180 M = 1, K VALUE = C(KP1) + FKP1(M)*TMP DO 160 J = 1, K VALUE = VALUE + FACT(M,J)*C(KP1-J) 160 CONTINUE YP(KOUNT,8-M) = VALUE 180 CONTINUE 200 CONTINUE RETURN END SUBROUTINE COEFF(K,POEF,COEF,PIE,PII) C .. Scalar Arguments .. DOUBLE PRECISION PIE, PII INTEGER K C .. Array Arguments .. DOUBLE PRECISION COEF(9), POEF(9) C .. Executable Statements .. GO TO (20,40,60,80,100,120,140) K C ****************************************************** C 1: ORDER = 3 C ****************************************************** 20 COEF(1) = 1.D0/3.D0 COEF(2) = 2.D0/3.D0 COEF(3) = -1.D0/6.D0 POEF(1) = COEF(1) POEF(2) = COEF(2) POEF(3) = 5.D0/6.D0 PII = 1.D0/72.D0 PIE = 7.D0/72.D0 GO TO 160 C ****************************************************** C 2: ORDER = 4 C ****************************************************** 40 COEF(1) = -1.0D0/48.0D0 COEF(2) = 5.0D0/12.0D0 COEF(3) = 29.0D0/48.0D0 COEF(4) = -1.0D0/8.0D0 POEF(1) = -7.D0/48.D0 POEF(2) = 11.D0/12.D0 POEF(3) = 11.D0/48.D0 POEF(4) = 9.D0/8.D0 PII = 7.D0/1440.D0 PIE = 97.D0/1440.D0 GO TO 160 C ****************************************************** C 3: ORDER = 5 C ****************************************************** 60 COEF(1) = 7.0D0/1080.0D0 COEF(2) = -1.0D0/20.0D0 COEF(3) = 19.0D0/40.0D0 COEF(4) = 307.0D0/540.0D0 COEF(5) = -19.0D0/180.0D0 POEF(1) = 97.D0/1080.D0 POEF(2) = -11.D0/20.D0 POEF(3) = 69.D0/40.D0 POEF(4) = -143.D0/540.D0 POEF(5) = 251.D0/180.D0 PII = 17.D0/7200.D0 PIE = 367.D0/7200.D0 GO TO 160 C ****************************************************** C 4: ORDER = 6 C ****************************************************** 80 COEF(1) = -17.0D0/5760.0D0 COEF(2) = 1.0D0/45.0D0 COEF(3) = -41.0D0/480.0D0 COEF(4) = 47.0D0/90.0D0 COEF(5) = 3133.0D0/5760.0D0 COEF(6) = -3.0D0/32.0D0 POEF(1) = -367.D0/5760.D0 POEF(2) = 58.D0/135.D0 POEF(3) = -631.D0/480.D0 POEF(4) = 247.D0/90.D0 POEF(5) = -13751.D0/17280.D0 POEF(6) = 475.D0/288.D0 PII = 41.D0/30240.D0 PIE = 1231.D0/30240.D0 GO TO 160 C ****************************************************** C 5: ORDER = 7 C ****************************************************** 100 COEF(1) = 41.0D0/25200.0D0 COEF(2) = -529.0D0/40320.0D0 COEF(3) = 373.0D0/7560.0D0 COEF(4) = -1271.0D0/10080.0D0 COEF(5) = 2837.0D0/5040.0D0 COEF(6) = 317731.0D0/604800.0D0 COEF(7) = -863.0D0/10080.0D0 POEF(1) = 1231.D0/25200.D0 POEF(2) = -14879.D0/40320.D0 POEF(3) = 9403.D0/7560.D0 POEF(4) = -25561.D0/10080.D0 POEF(5) = 19987.D0/5040.D0 POEF(6) = -818579.D0/604800.D0 POEF(7) = 19087.D0/10080.D0 PII = 731.D0/846720.D0 PIE = 28549.D0/846720.D0 GO TO 160 C ****************************************************** C 6: ORDER = 8 C ****************************************************** 120 COEF(1) = -731.0D0/725760.0D0 COEF(2) = 179.0D0/20160.0D0 COEF(3) = -5771.0D0/161280.0D0 COEF(4) = 8131.0D0/90720.0D0 COEF(5) = -13823.0D0/80640.0D0 COEF(6) = 12079.0D0/20160.0D0 COEF(7) = 247021.0D0/483840.0D0 COEF(8) = -275.0D0/3456.0D0 POEF(1) = -28549.D0/725760.D0 POEF(2) = 33473.D0/100800.D0 POEF(3) = -202261.D0/161280.D0 POEF(4) = 255581.D0/90720.D0 POEF(5) = -347233.D0/80640.D0 POEF(6) = 108497.D0/20160.D0 POEF(7) = -1557739.D0/806400.D0 POEF(8) = 36799.D0/17280.D0 PII = 8563.D0/14515200.D0 PIE = 416173.D0/14515200.D0 GO TO 160 C ****************************************************** C 7: ORDER = 9 C ****************************************************** 140 COEF(1) = 8563.0D0/12700800.0D0 COEF(2) = -35453.0D0/5443200.0D0 COEF(3) = 86791.0D0/3024000.0D0 COEF(4) = -2797.0D0/36288.0D0 COEF(5) = 157513.0D0/1088640.0D0 COEF(6) = -133643.0D0/604800.0D0 COEF(7) = 1147051.0D0/1814400.0D0 COEF(8) = 1758023.0D0/3528000.0D0 COEF(9) = -33953/453600.0D0 POEF(1) = 416173.D0/12700800.D0 POEF(2) = -1670723.D0/5443200.D0 POEF(3) = 3917401.D0/3024000.D0 POEF(4) = -118339.D0/36288.D0 POEF(5) = 5980183.D0/1088640.D0 POEF(6) = -4060853.D0/604800.D0 POEF(7) = 12677941.D0/1814400.D0 POEF(8) = -26739941.D0/10584000.D0 POEF(9) = 1070017.D0/453600.D0 PII = 27719.D0/65318400.D0 PIE = 324901.D0/13063680.D0 160 RETURN END SUBROUTINE DDCOMP(NDIM,N,A,NPIV,IND) C C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREA USED FOR STATISTICS GATHERING BY STDTST PACKAGE C .. Scalar Arguments .. INTEGER IND, N, NDIM C .. Array Arguments .. DOUBLE PRECISION A(NDIM,N) INTEGER NPIV(N) C .. Scalars in Common .. INTEGER NFCN, NJAC, NLUD C .. Local Scalars .. DOUBLE PRECISION AMULT, COLMAX, HOLD INTEGER I, IP1, IPIVOT, J, JPIVOT, K, NM1, NROW C .. Intrinsic Functions .. INTRINSIC DABS C .. Common blocks .. COMMON /STCOM6/NFCN, NJAC, NLUD C .. Executable Statements .. C--------+---------+---------+---------+---------+---------+---------+-- C NLUD = NLUD + 1 C IND = 0 C C *************** C * C * CHECK FOR A SYSTEM OF ONLY ONE UNKNOWN C * C *************** C IF (N.EQ.1) RETURN C C *************** C * C * INITIALIZE PIVOT VECTOR C * C *************** C DO 20 I = 1, N NPIV(I) = I 20 CONTINUE C C *************** C * C * MAIN LOOP FOR GAUSS ELIMINATION C * C *************** C NM1 = N - 1 DO 140 I = 1, NM1 C C *************** C * C * SEARCH COLUMN FOR LARGEST PIVOT,I.E., C * MAX |A(J,I)|, I <= J <= N. C * C *************** C COLMAX = 0.D0 DO 40 J = I, N HOLD = DABS(A(NPIV(J),I)) IF (HOLD.LE.COLMAX) GO TO 40 COLMAX = HOLD NROW = J 40 CONTINUE C C *************** C * C * TEST FOR SINGULARITY. THE MATRIX IS ASSUMED TO BE SINGULAR C * IF COLMAX (THE ABS. VALUE OF THE PIVOT) IS EQUIVALENT C * TO ZERO, I.E., C * 1.0 + COLMAX = 1.0 . C * IF THIS IS TRUE THEN THE ROUTINE PROCEEDS ON TO THE (I+1)-TH C * STAGE OF THE ELIMINATION. C * C *************** C IF (1.D0+COLMAX.NE.1.D0) GO TO 60 IND = -1 GO TO 140 C C *************** C * C * IF AN INTERCHANGE IS NECESSARY, ALTER THE PIVOT VECTOR NPIV. C * C *************** C 60 IPIVOT = NPIV(NROW) IF (NROW.EQ.I) GO TO 80 NPIV(NROW) = NPIV(I) NPIV(I) = IPIVOT C C *************** C * C * THE MULTIPLIERS FOR THE COMPUTATION OF THE REMAINING ROWS ARE C * DETERMINED AND ELIMINATION IS PERFORMED. THE VALUE OF EACH C * MULTIPLIER IS STORED IN THE POSITION OF THE ELIMINATED C * ELEMENT. C * C *************** C 80 IP1 = I + 1 DO 120 J = IP1, N JPIVOT = NPIV(J) AMULT = A(JPIVOT,I)/A(IPIVOT,I) A(JPIVOT,I) = AMULT DO 100 K = IP1, N A(JPIVOT,K) = A(JPIVOT,K) - AMULT*A(IPIVOT,K) 100 CONTINUE 120 CONTINUE 140 CONTINUE IF (1.D0+DABS(A(NPIV(N),N)).EQ.1.D0) IND = -1 RETURN END SUBROUTINE DSOLVE(NDIM,N,LU,NPIV,B,X) C .. Scalar Arguments .. INTEGER N, NDIM C .. Array Arguments .. DOUBLE PRECISION B(N), LU(NDIM,N), X(N) INTEGER NPIV(N) C .. Local Scalars .. DOUBLE PRECISION SUM INTEGER I, J, K, KM1, KP1, KPIVOT C .. Executable Statements .. C C *************** C * C * CHECK FOR SYSTEM OF ONLY ONE UNKNOWN C * C *************** C IF (N.GT.1) GO TO 20 X(1) = B(1)/LU(1,1) RETURN C C *************** C * C * FORWARD ELIMINATION ON B. THE RESULT IS PLACED IN X. C * C *************** C 20 KPIVOT = NPIV(1) X(1) = B(KPIVOT) DO 60 K = 2, N KPIVOT = NPIV(K) KM1 = K - 1 SUM = B(KPIVOT) DO 40 J = 1, KM1 SUM = SUM - LU(KPIVOT,J)*X(J) 40 CONTINUE X(K) = SUM 60 CONTINUE C C *************** C * C * BACK SUBSTITUTION BEGINS. C * C *************** C X(N) = X(N)/LU(KPIVOT,N) K = N DO 100 I = 2, N KP1 = K K = K - 1 KPIVOT = NPIV(K) SUM = X(K) DO 80 J = KP1, N SUM = SUM - LU(KPIVOT,J)*X(J) 80 CONTINUE X(K) = SUM/LU(KPIVOT,K) 100 CONTINUE RETURN END SUBROUTINE IVALU(N,XSTART,XEND,HBEGIN,HMAX,Y,FCNTIM,JACTIM,LUDTIM, * W,IWT,ID) C C**************************************************************** C C ROUTINE TO PROVIDE THE INITIAL VALUES REQUIRED TO SPECIFY C THE MATHEMATICAL PROBLEM AS WELL AS VARIOUS PROBLEM C PARAMETERS REQUIRED BY THE TESTING PACKAGE. THE APPROPRIATE C SCALING VECTOR IS ALSO INITIALISED IN CASE THIS OPTION IS C SELECTED. C C PARAMETERS (OUTPUT) C N - DIMENSION OF THE PROBLEM C XSTART - INITIAL VALUE OF THE INDEPENDENT VARIABLE C XEND - FINAL VALUE OF THE INDEPENDENT VARIABLE C HBEGIN - APPROPRIATE STARTING STEPSIZE C Y - VECTOR OF INITIAL CONDITIONS FOR THE DEPENDENT C VARIABLES C FCNTIM - AVERAGE COMPUTER TIME REQUIRED FOR A DERIVATIVE C EVALUATION C JACTIM - AVERAGE COMPUTER TIME REQUIRED FOR A JACOBIAN C EVALUATION C LUDTIM - AVERAGE COMPUTER TIME REQUIRED FOR AN L/U C FACTORIZATION C WT - VECTOR OF WEIGHTS USED TO SCALE THE PROBLEM IF C THIS OPTION IS SELECTED. C C PARAMETER (INPUT) C IWT - FLAG TO INDICATE IF SCALED OPTION IS SELESTED C ID - FLAG IDENTIFYING WHICH EQUATION IS BEING SOLVED C C***************************************************************** C .. Scalar Arguments .. DOUBLE PRECISION HBEGIN, HMAX, XEND, XSTART REAL FCNTIM, JACTIM, LUDTIM INTEGER ID, IWT, N C .. Array Arguments .. DOUBLE PRECISION W(20), Y(20) C .. Local Scalars .. DOUBLE PRECISION XS INTEGER I, IID, IOUT, ITMP C .. External Functions .. REAL CONST EXTERNAL CONST C .. Intrinsic Functions .. INTRINSIC MOD C .. Data statements .. DATA XS/0.D0/ C .. Executable Statements .. XSTART = XS IID = MOD(ID,10) GO TO (40,80,120,160,20,20,20,20,20, * 20,200,220,220,220,220,20,20,20, * 20,20,360,400,400,400,400,20,20, * 20,20,20,540,580,600,640,660,680, * 20,20,20,20,700,740,760,780,800, * 20,20,20,20,20,840,860,880,900, * 920) ID 20 IOUT = CONST(3) WRITE (IOUT,FMT=99999) ID STOP C C C PROBLEM CLASS A - LINEAR WITH REAL EIGENVALUES C C 40 CONTINUE CP PROBLEM A1 FCNTIM = 1.0423E-05 JACTIM = 5.2437E-05 LUDTIM = 1.6114E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 60 I = 1, N Y(I) = 1.D0 60 CONTINUE GO TO 940 C 80 CONTINUE CP PROBLEM A2 FCNTIM = 5.2697E-05 JACTIM = 1.1333E-04 LUDTIM = 1.0000E-03 N = 9 W(1) = 0.100D+00 W(2) = 0.200D+00 W(3) = 0.300D+00 W(4) = 0.400D+00 W(5) = 0.500D+00 W(6) = 0.600D+00 W(7) = 0.700D+00 W(8) = 0.800D+00 W(9) = 0.900D+00 XEND = 120.D0 HBEGIN = 5.D-4 HMAX = 120.D0 DO 100 I = 1, N Y(I) = 0.D0 100 CONTINUE GO TO 940 C 120 CONTINUE CP PROBLEM A3 FCNTIM = 5.7981E-05 JACTIM = 2.7828E-05 LUDTIM = 1.6068E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.782D+01 W(4) = 0.100D+01 HBEGIN = 1.D-5 XEND = 20.D0 HMAX = 20.D0 DO 140 I = 1, N Y(I) = 1.D0 140 CONTINUE GO TO 940 C 160 CONTINUE CP PROBLEM A4 FCNTIM = 4.3962E-05 JACTIM = 1.1557E-04 LUDTIM = 1.2879E-03 N = 10 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 W(7) = 0.100D+01 W(8) = 0.100D+01 W(9) = 0.100D+01 W(10) = 0.100D+01 XEND = 1.D0 HBEGIN = 1.D-5 HMAX = 1.D0 DO 180 I = 1, N Y(I) = 1.D0 180 CONTINUE GO TO 940 C C PROBLEM CLASS B - LINEAR WITH NON-REAL EIGENVALUES C C 200 CONTINUE CP PROBLEM B1 FCNTIM = 4.0495E-05 JACTIM = 3.5095E-05 LUDTIM = 1.4886E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.859D+01 W(3) = 0.100D+01 W(4) = 0.322D+02 XEND = 20.D0 HBEGIN = 7.D-3 HMAX = 20.D0 Y(1) = 1.D0 Y(2) = 0.D0 Y(3) = 1.D0 Y(4) = 0.D0 GO TO 940 C 220 CONTINUE CP PROBLEM B2, B3, B4, B5 FCNTIM = 2.2066E-05 JACTIM = 3.6836E-05 LUDTIM = 4.0865E-04 N = 6 ITMP = IID - 1 GO TO (240,260,280,300) ITMP 240 CONTINUE W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 GO TO 320 260 CONTINUE W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 GO TO 320 280 CONTINUE W(1) = 0.112D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 GO TO 320 300 CONTINUE W(1) = 0.131D+01 W(2) = 0.112D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 320 CONTINUE XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 340 I = 1, N Y(I) = 1.D0 340 CONTINUE GO TO 940 C C PROBLEM CLASS C - NON-LINEAR COUPLING FROM C STEADY STATE TO TRANSIENT C C 360 CONTINUE CP PROBLEM C1 FCNTIM = 4.0836E-05 JACTIM = 6.3958E-05 LUDTIM = 1.4155E-04 N = 4 W(1) = 0.102D+01 W(2) = 0.103D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 380 I = 1, N Y(I) = 1.D0 380 CONTINUE GO TO 940 C 400 CONTINUE CP PROBLEM C2, C3, C4, C5 FCNTIM = 4.5958E-05 JACTIM = 4.0047E-05 LUDTIM = 1.6966E-04 N = 4 ITMP = IID - 1 GO TO (420,440,460,480) ITMP 420 CONTINUE W(1) = 0.200D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 GO TO 500 440 CONTINUE W(1) = 0.200D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 GO TO 500 460 CONTINUE W(1) = 0.200D+01 W(2) = 0.400D+01 W(3) = 0.200D+02 W(4) = 0.420D+03 GO TO 500 480 CONTINUE W(1) = 0.200D+01 W(2) = 0.800D+01 W(3) = 0.136D+03 W(4) = 0.371D+05 500 CONTINUE XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 520 I = 1, N Y(I) = 1.D0 520 CONTINUE GO TO 940 C C PROBLEM CLASS D - NON-LINEAR WITH REAL EIGENVALUES C C 540 CONTINUE CP PROBLEM D1 FCNTIM = 3.5759E-05 JACTIM = 8.0439E-06 LUDTIM = 4.8023E-05 N = 3 W(1) = 0.223D+02 W(2) = 0.271D+02 W(3) = 0.400D+03 XEND = 400.D0 HBEGIN = 1.7D-2 HMAX = 400.D0 DO 560 I = 1, N Y(I) = 0.D0 560 CONTINUE GO TO 940 C 580 CONTINUE CP PROBLEM D2 FCNTIM = 3.7511E-05 JACTIM = 4.8655E-05 LUDTIM = 1.3732E-04 N = 3 W(1) = 0.100D+01 W(2) = 0.365D+00 W(3) = 0.285D+02 XEND = 40.D0 HBEGIN = 1.D-5 HMAX = 40.D0 Y(1) = 1.D0 Y(2) = 0.D0 Y(3) = 0.D0 GO TO 940 C 600 CONTINUE CP PROBLEM D3 FCNTIM = 3.3307E-05 JACTIM = 4.6448E-05 LUDTIM = 1.7745E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.360D+00 W(4) = 0.485D+00 XEND = 20.D0 HBEGIN = 2.5D-5 HMAX = 20.D0 DO 620 I = 1, 2 Y(I) = 1.D0 Y(I+2) = 0.D0 620 CONTINUE GO TO 940 C 640 CONTINUE CP PROBLEM D4 FCNTIM = 2.0236E-05 JACTIM = 2.2098E-05 LUDTIM = 3.9107E-05 N = 3 W(1) = 0.100D+01 W(2) = 0.142D+01 W(3) = 0.371D-05 XEND = 50.D0 HBEGIN = 2.9D-4 HMAX = 50.D0 Y(1) = 1.D0 Y(2) = 1.D0 Y(3) = 0.D0 GO TO 940 C 660 CONTINUE CP PROBLEM D5 FCNTIM = 8.2472E-06 JACTIM = 4.2521E-05 LUDTIM = 7.7238E-05 N = 2 W(1) = 0.992D+00 W(2) = 0.984D+00 XEND = 1.D2 HBEGIN = 1.D-4 HMAX = 1.D2 Y(1) = 0.D0 Y(2) = 0.D0 GO TO 940 C 680 CONTINUE CP PROBLEM D6 FCNTIM = 2.0696E-05 JACTIM = 4.2854E-05 LUDTIM = 5.1625E-05 N = 3 W(1) = 0.100D+01 W(2) = 0.148D+00 W(3) = 0.577D-07 XEND = 1.D0 HBEGIN = 3.3D-8 HMAX = 1.D0 Y(1) = 1.D0 Y(2) = 0.D0 Y(3) = 0.D0 GO TO 940 C C PROBLEM CLASS E - NON-LINEAR WITH NON-REAL EIGENVALUES C C 700 CONTINUE CP PROBLEM E1 FCNTIM = 6.2417E-06 JACTIM = 1.1033E-05 LUDTIM = 1.8910E-04 N = 4 W(1) = 0.100D-07 W(2) = 0.223D-06 W(3) = 0.132D-04 W(4) = 0.171D-02 XEND = 1.D0 HBEGIN = 6.8D-3 HMAX = 1.D0 DO 720 I = 1, N Y(I) = 0.D0 720 CONTINUE GO TO 940 C 740 CONTINUE CP PROBLEM E2 FCNTIM = 1.5438E-05 JACTIM = 5.2993E-05 LUDTIM = 6.9787E-05 N = 2 W(1) = 0.202D+01 W(2) = 0.764D+01 XEND = 1.D1 HBEGIN = 1.D-3 HMAX = 1.D1 Y(1) = 2.D0 Y(2) = 0.D0 GO TO 940 C 760 CONTINUE CP PROBLEM E3 FCNTIM = 5.5635E-06 JACTIM = 3.7980E-05 LUDTIM = 6.7837E-05 N = 3 W(1) = 0.163D+01 W(2) = 0.160D+01 W(3) = 0.263D+02 XEND = 5.D2 HBEGIN = .2D-1 HMAX = 5.D2 Y(1) = 1.D0 Y(2) = 1.D0 Y(3) = 0.D0 GO TO 940 C 780 CONTINUE CP PROBLEM E4 FCNTIM = 2.7696E-05 JACTIM = 1.4108E-04 LUDTIM = 1.7745E-04 N = 4 W(1) = 0.288D+02 W(2) = 0.295D+02 W(3) = 0.155D+02 W(4) = 0.163D+02 XEND = 1.D3 HBEGIN = 1.D-3 HMAX = 1.D3 Y(1) = 0.D0 Y(2) = -2.D0 Y(3) = -1.D0 Y(4) = -1.D0 GO TO 940 C 800 CONTINUE CP PROBLEM E5 FCNTIM = 3.6063E-05 JACTIM = 1.0640E-05 LUDTIM = 1.6848E-04 N = 4 W(1) = 0.176D-02 W(2) = 0.146D-09 W(3) = 0.827D-11 W(4) = 0.138D-09 XEND = 1.D3 HBEGIN = 5.D-5 HMAX = 1.D3 Y(1) = 1.76D-3 DO 820 I = 2, N Y(I) = 0.D0 820 CONTINUE GO TO 940 C C PROBLEM CLASS F - CHEMICAL KINETICS EQUATIONS C C 840 CONTINUE CP PROBLEM F1 FCNTIM = 1.5420E-05 JACTIM = 3.5365E-05 LUDTIM = 1.3219E-04 N = 4 W(1) = 0.121D+04 W(2) = 0.835D-01 W(3) = 0.121D+04 W(4) = 0.100D+00 HMAX = 1.D3 HBEGIN = 1.D-4 XEND = 1.D3 Y(1) = 761.D0 Y(2) = 0.D0 Y(3) = 600.D0 Y(4) = .1D0 GO TO 940 C 860 CONTINUE CP PROBLEM F2 FCNTIM = 2.8234E-05 JACTIM = 3.6186E-05 LUDTIM = 7.0103E-05 N = 2 W(1) = 0.100D+01 W(2) = 0.253D-02 HMAX = 240.D0 HBEGIN = 1.D-2 XEND = 240.D0 Y(1) = 1.0D0 Y(2) = 0.D0 GO TO 940 C 880 CONTINUE CP PROBLEM F3 FCNTIM = 5.7725E-05 JACTIM = 4.3581E-06 LUDTIM = 2.0384E-04 N = 5 W(1) = 0.400D-05 W(2) = 0.100D-05 W(3) = 0.374D-08 W(4) = 0.765D-06 W(5) = 0.324D-05 HBEGIN = 1.D-6 HMAX = 100.D0 XEND = 100.D0 Y(1) = 4.D-6 Y(2) = 1.D-6 Y(3) = 0.0D0 Y(4) = 0.0D0 Y(5) = 0.0D0 GO TO 940 C 900 CONTINUE CP PROBLEM F4 FCNTIM = 6.7891E-06 JACTIM = 4.0797E-05 LUDTIM = 5.9069E-05 N = 3 W(1) = 0.118D+06 W(2) = 0.177D+04 W(3) = 0.313D+05 HBEGIN = 1.D-3 HMAX = 50.D0 XEND = 300.D0 Y(1) = 4.D0 Y(2) = 1.1D0 Y(3) = 4.D0 GO TO 940 C 920 CONTINUE CP PROBLEM F5 FCNTIM = 1.1586E-05 JACTIM = 4.0856E-05 LUDTIM = 1.7764E-04 N = 4 W(1) = 0.336D-06 W(2) = 0.826D-02 W(3) = 0.619D-02 W(4) = 0.955D-05 HBEGIN = 1.D-7 HMAX = 100.D0 XEND = 100.D0 Y(1) = 3.365D-7 Y(2) = 8.261D-3 Y(3) = 1.642D-3 Y(4) = 9.380D-6 940 CONTINUE IF (IWT.LT.0) GO TO 980 DO 960 I = 1, N Y(I) = Y(I)/W(I) 960 CONTINUE 980 CONTINUE RETURN C 99999 FORMAT ('0AN INVALID INTERNAL PROBLEM ID OF ',I4, * ' WAS FOUND BY THE IVALU ROUTINE', * /' RUN TERMINATED. CHECK THE DATA AND THE PARCHK ROUTINE!') END SUBROUTINE EVALU(Y,N,W,IWT,ID) C C********************************************************************** C C ROUTINE TO PROVIDE THE 'TRUE' SOLUTION OF THE DIFFERENTIAL C EQUATION EVALUATED AT THE ENDPOINT OF THE INTEGRATION. C C 1986 REVISION: SOME VERY SMALL CONSTANTS HAVE BEEN RECAST IN THE C (NOT SO SMALL CONST)/(1.E38) TO AVOID COMPILE-TIME UNDERFLOW ERROR C IT IS ASSUMED 1E+38 WON'T OVERFLOW. C PARAMETER (OUTPUT) C Y - THE TRUE SOLUTION VECTOR EVALUATED AT THE ENDPOINT C C PARAMETERS (INPUT) C N - DIMENSION OF THE PROBLEM C W - VECTOR OF WEIGHTS USED TO SCALE THE PROBLEM C IF THIS OPTION IS SELECTED C IWT - FLAG USED TO SIGNAL WHEN THE SCALED PROBLEM IS C BEING SOLVED C ID - FLAG USED TO INDICATE WHICH EQUATION IS BEING C SOLVED C C********************************************************************** C .. Parameters .. REAL TENE38 PARAMETER (TENE38=1.D38) C .. Scalar Arguments .. INTEGER ID, IWT, N C .. Array Arguments .. DOUBLE PRECISION W(20), Y(20) C .. Local Scalars .. INTEGER I C .. Executable Statements .. GO TO (20,40,60,80,620,620,620,620,620, * 620,100,120,140,160,180,620,620,620, * 620,620,200,220,240,260,280,620,620, * 620,620,620,300,320,340,360,380,400, * 620,620,620,620,420,440,460,480,500, * 620,620,620,620,620,520,540,560,580, * 600,620,620,620,620,620) ID GO TO 620 C PROBLEM CLASS A C C PROBLEM A1 20 Y(1) = 4.539992969929191D-05 Y(2) = 2.061153036149920D-09 Y(3) = 2.823006338263857D-18/TENE38 Y(4) = 5.235792540515384D-14/TENE38 GO TO 620 C C PROBLEM A2 40 Y(1) = 9.999912552999704D-02 Y(2) = 1.999982511586291D-01 Y(3) = 2.999975543202422D-01 Y(4) = 3.999971057541257D-01 Y(5) = 4.999969509963023D-01 Y(6) = 5.999971057569546D-01 Y(7) = 6.999975543256127D-01 Y(8) = 7.999982511659962D-01 Y(9) = 8.999991255386128D-01 GO TO 620 C C PROBLEM A3 60 Y(1) = -1.353352661867235D-03 Y(2) = 1.368526917891521D-02 Y(3) = 1.503725348455117D+00 Y(4) = 1.353352832366099D-01 GO TO 620 C C PROBLEM A4 80 Y(1) = 3.678794411714325D-01 Y(2) = 1.265870722340194D-14 Y(3) = 1.911533219339204D-04/TENE38 Y(4) = 2.277441666729596D-17/TENE38 Y(5) = 0.0D0 Y(6) = 0.0D0 Y(7) = 0.0D0 Y(8) = 0.0D0 Y(9) = 0.0D0 Y(10) = 0.0D0 GO TO 620 C PROBLEM CLASS B C C PROBLEM B1 100 Y(1) = 1.004166730990124D-09 Y(2) = 1.800023280346500D-08 Y(3) = 0.0D0 Y(4) = -6.042962877027475D-03/TENE38/TENE38 GO TO 620 C C PROBLEM B2 120 Y(1) = 6.181330838820067D-31 Y(2) = 8.963657877626303D-31 Y(3) = 2.738406773453261D-27 Y(4) = 2.061153063164016D-09 Y(5) = 4.539992973654118D-05 Y(6) = 1.353352832365270D-01 GO TO 620 C C PROBLEM B3 140 Y(1) = -1.076790816984970D-28 Y(2) = 5.455007683862160D-28 Y(3) = 2.738539964946867D-27 Y(4) = 2.061153071123456D-09 Y(5) = 4.539992974611305D-05 Y(6) = 1.353352832365675D-01 GO TO 620 C C PROBLEM B4 160 Y(1) = 1.331242472678293D-22 Y(2) = -2.325916064237926D-22 Y(3) = 1.517853928534857D-35 Y(4) = 2.061152428936651D-09 Y(5) = 4.539992963392291D-05 Y(6) = 1.353352832363442D-01 GO TO 620 C C PROBLEM B5 180 Y(1) = -3.100634584292190D-14 Y(2) = 3.862788998076547D-14 Y(3) = 1.804851385304217D-35 Y(4) = 2.061153622425655D-09 Y(5) = 4.539992976246673D-05 Y(6) = 1.353352832366126D-01 GO TO 620 C PROBLEM CLASS C C C PROBLEM C1 200 Y(1) = 4.003223925456179D-04 Y(2) = 4.001600000000000D-04 Y(3) = 4.000000000000000D-04 Y(4) = 2.000000000000000D-02 GO TO 620 C C PROBLEM C2 220 Y(1) = 1.999999997938994D+00 Y(2) = 3.999999990839974D-02 Y(3) = 4.001599991537078D-02 Y(4) = 4.003201271914461D-02 GO TO 620 C C PROBLEM C3 240 Y(1) = 1.999999997939167D+00 Y(2) = 3.999999990840744D-01 Y(3) = 4.159999990793773D-01 Y(4) = 4.333055990159567D-01 GO TO 620 C C PROBLEM C4 260 Y(1) = 1.999999997938846D+00 Y(2) = 3.999999990839318D+00 Y(3) = 1.999999991637941D+01 Y(4) = 4.199999965390368D+02 GO TO 620 C C PROBLEM C5 280 Y(1) = 1.999999997938846D+00 Y(2) = 7.999999981678634D+00 Y(3) = 1.359999993817714D+02 Y(4) = 3.712799965967762D+04 GO TO 620 C PROBLEM CLASS D C C PROBLEM D1 300 Y(1) = 2.224222010616901D+01 Y(2) = 2.711071334484136D+01 Y(3) = 3.999999999999999D+02 GO TO 620 C C PROBLEM D2 320 Y(1) = 7.158270687193941D-01 Y(2) = 9.185534764557338D-02 Y(3) = 2.841637457458413D+01 GO TO 620 C C PROBLEM D3 340 Y(1) = 6.397604446889910D-01 Y(2) = 5.630850708287990D-03 Y(3) = 3.602395553110090D-01 Y(4) = 3.170647969903515D-01 GO TO 620 C C PROBLEM D4 360 Y(1) = 5.976546980673215D-01 Y(2) = 1.402343408546138D+00 Y(3) = -1.893386540441913D-06 GO TO 620 C C PROBLEM D5 380 Y(1) = -9.916420698713913D-01 Y(2) = 9.833363588544478D-01 GO TO 620 C C PROBLEM D6 400 Y(1) = 8.523995440749948D-01 Y(2) = 1.476003981941319D-01 Y(3) = 5.773087333950041D-08 GO TO 620 C PROBLEM CLASS E C C PROBLEM E1 420 Y(1) = 1.000000000000012D-08 Y(2) = -1.625323873316817D-19 Y(3) = 2.025953375595861D-17 Y(4) = -1.853149807630002D-15 GO TO 620 C C PROBLEM E2 440 Y(1) = -1.158701266031984D+00 Y(2) = 4.304698089780476D-01 GO TO 620 C C PROBLEM E3 460 Y(1) = 4.253052197643089D-03 Y(2) = 5.317019548450387D-03 Y(3) = 2.627647748753926D+01 GO TO 620 C C PROBLEM E4 480 Y(1) = 1.999999977523654D+01 Y(2) = -2.000000022476345D+01 Y(3) = -2.247634567084293D-07 Y(4) = 2.247634567084293D-07 GO TO 620 C C PROBLEM E5 500 Y(1) = 1.618076919919600D-03 Y(2) = 1.382236955418478D-10 Y(3) = 8.251573436034144D-12 Y(4) = 1.299721221058136D-10 GO TO 620 C PROBLEM CLASS F C C PROBLEM F1 520 Y(1) = 1.211129474696585D+03 Y(2) = 1.271123619113051D-05 Y(3) = 1.208637804660361D+03 Y(4) = 3.241981171933418D-04 GO TO 620 C C PROBLEM F2 540 Y(1) = 3.912699122292088D-01 Y(2) = 1.329964166084866D-03 GO TO 620 C C PROBLEM F3 560 Y(1) = 3.235910070806680D-13 Y(2) = 2.360679774997897D-07 Y(3) = 7.639319089351045D-14 Y(4) = 7.639319461070194D-07 Y(5) = 3.236067653908783D-06 GO TO 620 C C PROBLEM F4 580 Y(1) = 4.418303324022590D+00 Y(2) = 1.290244712916425D+00 Y(3) = 3.019282584050490D+00 GO TO 620 C C PROBLEM F5 600 Y(1) = 1.713564284690712D-07 Y(2) = 3.713563071160676D-03 Y(3) = 6.189271785267793D-03 Y(4) = 9.545143571530929D-06 620 CONTINUE IF (IWT.LT.0) GO TO 660 DO 640 I = 1, N Y(I) = Y(I)/W(I) 640 CONTINUE 660 CONTINUE RETURN END SUBROUTINE FCN(X,Y,YP) C C********************************************************************** C ROUTINE TO EVALUATE THE DERIVATIVE F(X,Y) CORRESPONDING TO THE C DIFFERENTIAL EQUATION: C DY/DX = F(X,Y) . C THE ROUTINE STORES THE VECTOR OF DERIVATIVES IN YP(*). THE C PARTICULAR EQUATION BEING INTEGRATED IS INDICATED BY THE C VALUE OF THE FLAG ID WHICH IS PASSED THROUGH COMMON. THE C DIFFERENTIAL EQUATION IS SCALED BY THE WEIGHT VECTOR W(*) C IF THIS OPTION HAS BEEN SELECTED (IF SO IT IS SIGNALLED C BY THE FLAG IWT). C C********************************************************************* C CC*******+*********+*********+*********+*********+*********+*********+** C COMMON AREAS C********+*********+*********+*********+*********+*********+*********+** C5 C6 C .. Scalar Arguments .. DOUBLE PRECISION X C .. Array Arguments .. DOUBLE PRECISION Y(20), YP(20) C .. Scalars in Common .. INTEGER ID, IWT, N, NFCN, NJAC, NLUD C .. Arrays in Common .. DOUBLE PRECISION W(20) C .. Local Scalars .. DOUBLE PRECISION F, Q, S, SUM, T, TEMP, XTEMP INTEGER I, IID C .. Local Arrays .. DOUBLE PRECISION BPARM(4), CPARM(4), VECT1(4), VECT2(4), YTEMP(20) C .. Intrinsic Functions .. INTRINSIC DBLE, DEXP, DSIN, MOD C .. Common blocks .. COMMON /STCOM5/W, IWT, N, ID COMMON /STCOM6/NFCN, NJAC, NLUD C .. Data statements .. CE DATA BPARM/3.D0, 8.D0, 25.D0, 1.D2/ DATA CPARM/1.D-1, 1.D0, 1.D1, 2.D1/ C .. Executable Statements .. NFCN = NFCN + 1 IF (IWT.LT.0) GO TO 40 DO 20 I = 1, N YTEMP(I) = Y(I) Y(I) = Y(I)*W(I) 20 CONTINUE 40 CONTINUE IID = MOD(ID,10) GO TO (60,80,120,140,640,640,640,640,640, * 640,180,200,200,200,200,640,640,640, * 640,640,220,240,240,240,240,640,640, * 640,640,640,260,280,300,320,340,360, * 640,640,640,640,380,400,420,440,520, * 640,640,640,640,640,540,560,580,600, * 620) ID GO TO 640 C C PROBLEM CLASS A - LINEAR WITH REAL EIGENVALUES C C C PROBLEM A1 60 YP(1) = -.5D0*Y(1) YP(2) = -1.D0*Y(2) YP(3) = -1.D2*Y(3) YP(4) = -9.D1*Y(4) GO TO 640 C C PROBLEM A2 80 YP(1) = -1.8D3*Y(1) + 9.D2*Y(2) DO 100 I = 2, 8 YP(I) = Y(I-1) - 2.D0*Y(I) + Y(I+1) 100 CONTINUE YP(9) = 1.D3*Y(8) - 2.D3*Y(9) + 1.D3 GO TO 640 C C PROBLEM A3 120 YP(1) = -1.D4*Y(1) + 1.D2*Y(2) - 1.D1*Y(3) + 1.D0*Y(4) YP(2) = -1.D3*Y(2) + 1.D1*Y(3) - 1.D1*Y(4) YP(3) = -1.D0*Y(3) + 1.D1*Y(4) YP(4) = -1.D-1*Y(4) GO TO 640 C C PROBLEM A4 140 DO 160 I = 1, 10 YP(I) = -DBLE(I)**5*Y(I) 160 CONTINUE GO TO 640 C C PROBLEM CLASS B - LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM B1 180 YP(1) = -Y(1) + Y(2) YP(2) = -1.D2*Y(1) - Y(2) YP(3) = -1.D2*Y(3) + Y(4) YP(4) = -1.D4*Y(3) - 1.D2*Y(4) GO TO 640 C C PROBLEMS B2, B3, B4, B5 200 YP(1) = -1.D1*Y(1) + BPARM(IID-1)*Y(2) YP(2) = -BPARM(IID-1)*Y(1) - 1.D1*Y(2) YP(3) = -4.D0*Y(3) YP(4) = -1.D0*Y(4) YP(5) = -.5D0*Y(5) YP(6) = -.1D0*Y(6) GO TO 640 C C PROBLEM CLASS C - NON-LINEAR COUPLING FROM C STEADY STATE TO TRANSIENT C C C PROBLEM C1 220 YP(1) = -Y(1) + (Y(2)*Y(2)+Y(3)*Y(3)+Y(4)*Y(4)) YP(2) = -1.D1*Y(2) + 1.D1*(Y(3)*Y(3)+Y(4)*Y(4)) YP(3) = -4.D1*Y(3) + 4.D1*Y(4)*Y(4) YP(4) = -1.D2*Y(4) + 2.D0 GO TO 640 C C PROBLEMS C2, C3, C4, C5 240 YP(1) = -Y(1) + 2.D0 YP(2) = -1.D1*Y(2) + CPARM(IID-1)*Y(1)*Y(1) YP(3) = -4.D1*Y(3) + (Y(1)*Y(1)+Y(2)*Y(2))*CPARM(IID-1)*4.D0 YP(4) = (Y(1)*Y(1)+Y(2)*Y(2)+Y(3)*Y(3))*CPARM(IID-1)*1.D1 - * 1.D2*Y(4) GO TO 640 C C PROBLEM CLASS D - NON-LINEAR WITH REAL EIGENVALUES C C C PROBLEM D1 260 YP(1) = .2D0*Y(2) - .2D0*Y(1) YP(2) = 1.D1*Y(1) - (6.D1-.125D0*Y(3))*Y(2) + .125D0*Y(3) YP(3) = 1.D0 GO TO 640 C C PROBLEM D2 280 YP(1) = -.04D0*Y(1) + .01D0*Y(2)*Y(3) YP(2) = 4.D2*Y(1) - 1.D2*Y(2)*Y(3) - 3.D3*Y(2)**2 YP(3) = 3.D1*Y(2)**2 GO TO 640 C C PROBLEM D3 300 YP(1) = Y(3) - 1.D2*Y(1)*Y(2) YP(3) = -YP(1) YP(4) = -Y(4) + 1.D4*Y(2)**2 YP(2) = YP(1) - YP(4) + Y(4) - 1.D4*Y(2)**2 GO TO 640 C C PROBLEM D4 320 YP(1) = -.013D0*Y(1) - 1.D3*Y(1)*Y(3) YP(2) = -2.5D3*Y(2)*Y(3) YP(3) = YP(1) + YP(2) GO TO 640 C C PROBLEM D5 340 XTEMP = .01D0 + Y(1) + Y(2) YP(1) = .01D0 - XTEMP*(1.D0+(Y(1)+1.D3)*(Y(1)+1.D0)) YP(2) = .01D0 - XTEMP*(1.D0+Y(2)**2) GO TO 640 C C PROBLEM D6 360 YP(1) = -Y(1) + 1.D8*Y(3)*(1.D0-Y(1)) YP(2) = -1.D1*Y(2) + 3.D7*Y(3)*(1.D0-Y(2)) YP(3) = -YP(1) - YP(2) GO TO 640 C C PROBLEM CLASS E - NON-LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM E1 380 YP(1) = Y(2) YP(2) = Y(3) YP(3) = Y(4) YP(4) = (Y(1)**2-DSIN(Y(1))-1.D8)*Y(1) + (Y(2)*Y(3)/(Y(1)**2+1.D0) * -4.D6)*Y(2) + (1.D0-6.D4)*Y(3) + (1.D1*DEXP(-Y(4)**2) * -4.D2)*Y(4) + 1.D0 GO TO 640 C C PROBLEM E2 400 YP(1) = Y(2) YP(2) = 5.D0*Y(2) - 5.D0*Y(1)*Y(1)*Y(2) - Y(1) GO TO 640 C C PROBLEM E3 420 YP(1) = -55.D0*Y(1) - Y(3)*Y(1) + 65.D0*Y(2) YP(2) = .785D-1*Y(1) - .785D-1*Y(2) YP(3) = .1D0*Y(1) GO TO 640 C C PROBLEM E4 440 SUM = Y(1) + Y(2) + Y(3) + Y(4) DO 460 I = 1, 4 VECT2(I) = -Y(I) + .5D0*SUM 460 CONTINUE VECT1(1) = .5D0*(VECT2(1)**2-VECT2(2)**2) VECT1(2) = VECT2(1)*VECT2(2) VECT1(3) = VECT2(3)**2 VECT1(4) = VECT2(4)**2 TEMP = -1.D1*VECT2(1) - 1.D1*VECT2(2) VECT2(2) = 1.D1*VECT2(1) - 1.D1*VECT2(2) VECT2(1) = TEMP VECT2(3) = 1.D3*VECT2(3) VECT2(4) = 1.D-2*VECT2(4) SUM = 0.D0 DO 480 I = 1, 4 SUM = SUM + VECT1(I) - VECT2(I) 480 CONTINUE DO 500 I = 1, 4 YP(I) = VECT2(I) - VECT1(I) + .5D0*SUM 500 CONTINUE GO TO 640 C C PROBLEM E5 520 XTEMP = -7.89D-10*Y(1) YP(1) = XTEMP - 1.1D7*Y(1)*Y(3) YP(2) = -XTEMP - 1.13D9*Y(2)*Y(3) YP(4) = 1.1D7*Y(1)*Y(3) - 1.13D3*Y(4) YP(3) = YP(2) - YP(4) GO TO 640 C C PROBLEM CLASS F - CHEMICAL KINETICS EQUATIONS C C C PROBLEM F1 540 TEMP = 6.D-3*DEXP(20.7D0-1.5D4/Y(1)) YP(1) = 1.3D0*(Y(3)-Y(1)) + 1.04D4*TEMP*Y(2) YP(2) = 1.88D3*(Y(4)-Y(2)*(1.D0+TEMP)) YP(3) = 1752.D0 - 269.D0*Y(3) + 267.D0*Y(1) YP(4) = .1D0 + 320.D0*Y(2) - 321.D0*Y(4) GO TO 640 C C PROBLEM F2 560 YP(1) = -Y(1) - Y(1)*Y(2) + 294.D0*Y(2) YP(2) = Y(1)*(1.D0-Y(2))/98.D0 - 3.D0*Y(2) GO TO 640 C C PROBLEM F3 580 YP(1) = -1.0D7*Y(2)*Y(1) + 1.D1*Y(3) YP(2) = -1.0D7*Y(2)*Y(1) - 1.D7*Y(2)*Y(5) + 1.D1*Y(3) + 1.D1*Y(4) YP(3) = 1.0D7*Y(2)*Y(1) - 1.001D4*Y(3) + 1.D-3*Y(4) YP(4) = 1.D4*Y(3) - 1.0001D1*Y(4) + 1.D7*Y(2)*Y(5) YP(5) = 1.D1*Y(4) - 1.D7*Y(2)*Y(5) GO TO 640 C C PROBLEM F4 600 S = 77.27D0 T = 0.161D0 Q = 8.375D-6 F = 1.D0 YP(1) = S*(Y(2)-Y(1)*Y(2)+Y(1)-Q*Y(1)*Y(1)) YP(2) = (-Y(2)-Y(1)*Y(2)+F*Y(3))/S YP(3) = T*(Y(1)-Y(3)) GO TO 640 C C PROBLEM F5 620 YP(1) = -3.D11*Y(1)*Y(2) + 1.2D8*Y(4) - 9.D11*Y(1)*Y(3) YP(2) = -3.D11*Y(1)*Y(2) + 2.D7*Y(4) YP(3) = -9.D11*Y(1)*Y(3) + 1.D8*Y(4) YP(4) = 3.D11*Y(1)*Y(2) - 1.2D8*Y(4) + 9.D11*Y(1)*Y(3) 640 CONTINUE IF (IWT.LT.0) GO TO 680 DO 660 I = 1, N YP(I) = YP(I)/W(I) Y(I) = YTEMP(I) 660 CONTINUE 680 CONTINUE RETURN END SUBROUTINE DERV(X,Y,DY) C********************************************************************** C C ROUTINE TO EVALUATE THE JACOBIAN MATRIX OF PARTIAL DERIVATIVES C CORRESPONDING TO THE DIFFERENTIAL EQUATION: C DY/DX = F(X,Y). C THE N**2 ELEMENTS OF THE ARRAY DY(*) ARE ASSIGNED THE VALUE OF C THE JACOBIAN MATRIX WITH ELEMENT I+(J-1)*N BEING ASSIGNED THE C VALUE OF DF(I)/DY(J). THE PARTICULAR EQUATION BEING INTEGRATED C IS INDICATED BY THE VALUE OF THE FLAG ID WHICH IS PASSED THROUGH C COMMON. IF A SCALED DIFFERENTIAL EQUATION IS BEING SOLVED (AS C SIGNALLED IWT) THE ELEMENTS OF THE JACOBIAN ARE SCALED ACCORDING- C LY BY THE WEIGHT VECTOR W(*). C C********************************************************************** CC*******+*********+*********+*********+*********+*********+*********+** C COMMON AREAS C********+*********+*********+*********+*********+*********+*********+** C5 C6 C .. Scalar Arguments .. DOUBLE PRECISION X C .. Array Arguments .. DOUBLE PRECISION DY(400), Y(20) C .. Scalars in Common .. INTEGER ID, IWT, N, NFCN, NJAC, NLUD C .. Arrays in Common .. DOUBLE PRECISION W(20) C .. Local Scalars .. DOUBLE PRECISION F, Q, S, SUM, T, TEMP, XTEMP1, XTEMP2, XTEMP3 INTEGER I, IID, ITMP, J, L C .. Local Arrays .. DOUBLE PRECISION BPARM(4), CPARM(4), VECT2(4), YTEMP(20) C .. Intrinsic Functions .. INTRINSIC DBLE, DCOS, DEXP, DSIN, MOD C .. Common blocks .. COMMON /STCOM5/W, IWT, N, ID COMMON /STCOM6/NFCN, NJAC, NLUD C .. Data statements .. CE DATA BPARM/3.D0, 8.D0, 25.D0, 1.D2/ DATA CPARM/1.D-1, 1.D0, 1.D1, 2.D1/ C .. Executable Statements .. NJAC = NJAC + 1 IF (IWT.LT.0) GO TO 40 DO 20 I = 1, N YTEMP(I) = Y(I) Y(I) = Y(I)*W(I) 20 CONTINUE 40 CONTINUE IID = MOD(ID,10) GO TO (60,100,160,200,980,980,980,980,980, * 980,260,300,300,300,300,980,980,980, * 980,980,340,380,380,380,380,980,980, * 980,980,980,420,440,460,480,520,540, * 980,980,980,980,580,620,640,660,840, * 980,980,980,980,980,880,900,920,940, * 960) ID GO TO 980 C C PROBLEM CLASS A - LINEAR WITH REAL EIGENVALUES C C C PROBLEM A1 60 DO 80 I = 1, 16 DY(I) = 0.D0 80 CONTINUE DY(1) = -.5D0 DY(6) = -1.D0 DY(11) = -1.D2 DY(16) = -9.D1 GO TO 980 C C PROBLEM A2 100 DO 120 I = 1, 81 DY(I) = 0.D0 120 CONTINUE DO 140 I = 2, 62, 10 DY(I) = 1.D0 DY(I+9) = -2.D0 DY(I+18) = 1.D0 140 CONTINUE DY(1) = -1.8D3 DY(10) = 9.D2 DY(72) = 1.D3 DY(81) = -2.D3 GO TO 980 C C PROBLEM A3 160 DO 180 I = 1, 16 DY(I) = 0.D0 180 CONTINUE DY(1) = -1.D4 DY(5) = 1.D2 DY(6) = -1.D3 DY(9) = -1.D1 DY(10) = 1.D1 DY(11) = -1.D0 DY(13) = 1.D0 DY(14) = -1.D1 DY(15) = 1.D1 DY(16) = -1.D-1 GO TO 980 C C PROBLEM A4 200 DO 220 I = 1, 100 DY(I) = 0.D0 220 CONTINUE DO 240 I = 1, 10 DY((I-1)*10+I) = -DBLE(I)**5 240 CONTINUE GO TO 980 C C PROBLEM CLASS B - LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM B1 260 DO 280 I = 1, 16 DY(I) = 0.D0 280 CONTINUE DY(1) = -1.D0 DY(2) = -1.D2 DY(5) = 1.D0 DY(6) = -1.D0 DY(11) = -1.D2 DY(12) = -1.D4 DY(15) = 1.D0 DY(16) = -1.D2 GO TO 980 C C PROBLEMS B2, B3, B4, B5 300 DO 320 I = 1, 36 DY(I) = 0.D0 320 CONTINUE DY(1) = -1.D1 DY(2) = -BPARM(IID-1) DY(7) = BPARM(IID-1) DY(8) = -1.D1 DY(15) = -4.D0 DY(22) = -1.D0 DY(29) = -.5D0 DY(36) = -.1D0 GO TO 980 C C PROBLEM CLASS C - NON-LINEAR COUPLING FROM C STEADY STATE TO TRANSIENT C C C PROBLEM C1 340 DO 360 I = 1, 16 DY(I) = 0.D0 360 CONTINUE DY(1) = -1.D0 DY(5) = 2.D0*Y(2) DY(6) = -1.D1 DY(9) = 2.D0*Y(3) DY(10) = 2.D1*Y(3) DY(11) = -4.D1 DY(13) = 2.D0*Y(4) DY(14) = 2.D1*Y(4) DY(15) = 8.D1*Y(4) DY(16) = -1.D2 GO TO 980 C C PROBLEMS C2, C3, C4, C5 380 DO 400 I = 1, 16 DY(I) = 0.D0 400 CONTINUE DY(1) = -1.D0 DY(2) = 2.D0*Y(1)*CPARM(IID-1) DY(3) = 8.D0*Y(1)*CPARM(IID-1) DY(4) = 2.D1*Y(1)*CPARM(IID-1) DY(6) = -1.D1 DY(7) = 8.D0*Y(2)*CPARM(IID-1) DY(8) = 2.D1*Y(2)*CPARM(IID-1) DY(11) = -4.D1 DY(12) = 2.D1*Y(3)*CPARM(IID-1) DY(16) = -1.D2 GO TO 980 C C PROBLEM CLASS D - NON-LINEAR WITH REAL EIGENVALUES C C C PROBLEM D1 420 DY(1) = -.2D0 DY(2) = 1.D1 DY(3) = 0.D0 DY(4) = .2D0 DY(5) = -6.D1 + .125D0*Y(3) DY(6) = 0.D0 DY(7) = 0.D0 DY(8) = .125D0*Y(2) + .125D0 DY(9) = 0.D0 GO TO 980 C C PROBLEM D2 440 DY(1) = -4.D-2 DY(2) = 4.D2 DY(3) = 0.D0 DY(4) = 1.D-2*Y(3) DY(5) = -1.D2*Y(3) - 6.D3*Y(2) DY(6) = 6.D1*Y(2) DY(7) = .1D-1*Y(2) DY(8) = -1.D2*Y(2) DY(9) = 0.D0 GO TO 980 C C PROBLEM D3 460 DY(1) = -1.D2*Y(2) DY(2) = DY(1) DY(3) = -DY(1) DY(4) = 0.D0 DY(5) = -1.D2*Y(1) DY(7) = -DY(5) DY(8) = 2.D4*Y(2) DY(6) = DY(5) - DY(8) DY(6) = DY(6) - 2.D4*Y(2) DY(9) = 1.D0 DY(10) = 1.D0 DY(11) = -1.D0 DY(12) = 0.D0 DY(13) = 0.D0 DY(14) = 2.D0 DY(15) = 0.D0 DY(16) = -1.D0 GO TO 980 C C PROBLEM D4 480 DY(1) = -.013D0 - 1.D3*Y(3) DY(2) = 0.D0 DY(4) = 0.D0 DY(5) = -2.5D3*Y(3) DY(7) = -1.D3*Y(1) DY(8) = -2.5D3*Y(2) DO 500 I = 3, 9, 3 DY(I) = DY(I-1) + DY(I-2) 500 CONTINUE GO TO 980 C C PROBLEM D5 520 XTEMP1 = Y(1) + 1.D3 XTEMP2 = Y(1) + 1.D0 XTEMP3 = .01D0 + Y(1) + Y(2) DY(2) = -(1.D0+Y(2)**2) DY(3) = -(1.D0+XTEMP1*XTEMP2) DY(1) = -(-DY(3)+XTEMP3*(XTEMP1+XTEMP2)) DY(4) = -(2.D0*XTEMP3*Y(2)-DY(2)) GO TO 980 C C PROBLEM D6 540 DY(1) = -1.D0 - 1.D8*Y(3) DY(2) = 0.D0 DY(4) = 0.D0 DY(5) = -1.D1 - 3.D7*Y(3) DY(7) = 1.D8*(1.D0-Y(1)) DY(8) = 3.D7*(1.D0-Y(2)) DO 560 I = 3, 9, 3 DY(I) = -DY(I-2) - DY(I-1) 560 CONTINUE GO TO 980 C C PROBLEM CLASS E - NON-LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM E1 580 DO 600 I = 1, 16 DY(I) = 0.D0 600 CONTINUE DY(5) = 1.D0 DY(10) = 1.D0 DY(15) = 1.D0 XTEMP1 = Y(1) XTEMP2 = Y(2)/(XTEMP1**2+1.D0)**2 DY(4) = 3.D0*XTEMP1**2 - XTEMP1*DCOS(XTEMP1) - DSIN(XTEMP1) - * 1.D8 - 2.D0*XTEMP1*Y(2)*Y(3)*XTEMP2 DY(8) = 2.D0*Y(3)*Y(2)/(1.D0+Y(1)**2) - 4.D6 DY(12) = Y(2)*Y(2)/(1.D0+Y(1)**2) + 1.D0 - 6.D4 DY(16) = 1.D1*DEXP(-Y(4)**2)*(1.D0-2.D0*Y(4)**2) - 4.D2 GO TO 980 C C PROBLEM E2 620 DY(1) = 0.D0 DY(2) = -1.D1*Y(1)*Y(2) - 1.D0 DY(3) = 1.D0 DY(4) = 5.D0 - 5.D0*Y(1)*Y(1) GO TO 980 C C PROBLEM E3 640 DY(1) = -55.D0 - Y(3) DY(2) = .785D-1 DY(3) = 0.1D0 DY(4) = 65.D0 DY(5) = -.785D-1 DY(6) = 0.D0 DY(7) = -Y(1) DY(8) = 0.D0 DY(9) = 0.D0 GO TO 980 C C PROBLEM E4 660 SUM = Y(1) + Y(2) + Y(3) + Y(4) DO 680 I = 1, 4 VECT2(I) = -Y(I) + .5D0*SUM 680 CONTINUE DO 700 I = 1, 16 DY(I) = 0.D0 700 CONTINUE DY(1) = VECT2(1) + 1.D1 DY(2) = VECT2(2) - 1.D1 DY(5) = -DY(2) DY(6) = DY(1) DY(11) = 2.D0*VECT2(3) - 1.D3 DY(16) = 2.D0*VECT2(4) - 1.D-2 DO 760 I = 1, 4 SUM = 0.D0 DO 720 J = 1, 4 L = I + (J-1)*4 SUM = SUM + DY(L) 720 CONTINUE DO 740 J = 1, 4 L = I + (J-1)*4 DY(L) = -DY(L) + .5D0*SUM 740 CONTINUE 760 CONTINUE DO 820 J = 1, 4 SUM = 0.D0 DO 780 I = 1, 4 L = I + (J-1)*4 SUM = SUM + DY(L) 780 CONTINUE DO 800 I = 1, 4 L = I + (J-1)*4 DY(L) = -DY(L) + .5D0*SUM 800 CONTINUE 820 CONTINUE GO TO 980 C C PROBLEM E5 840 DY(1) = -7.89D-10 - 1.1D7*Y(3) DY(2) = 7.89D-10 DY(4) = 1.1D7*Y(3) DY(5) = 0.D0 DY(6) = -1.13D9*Y(3) DY(8) = 0.D0 DY(9) = -1.1D7*Y(1) DY(10) = -1.13D9*Y(2) DY(12) = -DY(9) DY(13) = 0.D0 DY(14) = 0.D0 DY(16) = -1.13D3 DO 860 I = 3, 15, 4 DY(I) = DY(I-1) - DY(I+1) 860 CONTINUE GO TO 980 C C PROBLEM CLASS F - CHEMICAL KINETICS EQUATIONS C C C PROBLEM F1 880 TEMP = 90.D0*DEXP(20.7D0-1.5D4/Y(1))/Y(1)**2 DY(1) = -1.3D0 + 1.04D4*TEMP*Y(2) DY(2) = -1.88D3*Y(2)*TEMP DY(3) = 267.D0 DY(4) = 0.D0 TEMP = 6.D-3*DEXP(20.7D0-1.5D4/Y(1)) DY(5) = 1.04D4*TEMP DY(6) = -1.88D3*(1.D0+TEMP) DY(7) = 0.D0 DY(8) = 320.D0 DY(9) = 1.3D0 DY(10) = 0.D0 DY(11) = -269.D0 DY(12) = 0.0D0 DY(13) = 0.0D0 DY(14) = 1.88D3 DY(15) = 0.0D0 DY(16) = -321.0D0 GO TO 980 C C PROBLEM F2 900 DY(1) = -1.D0 - Y(2) DY(2) = (1.D0-Y(2))/98.D0 DY(3) = -Y(1) + 294.D0 DY(4) = -Y(1)/98.D0 - 3.D0 GO TO 980 C C PROBLEM F3 920 DY(1) = -1.D7*Y(2) DY(2) = -1.D7*Y(2) DY(3) = 1.D7*Y(2) DY(4) = 0.0D0 DY(5) = 0.0D0 DY(6) = -1.D7*Y(1) DY(7) = -1.D7*Y(1) - 1.D7*Y(5) DY(8) = 1.D7*Y(1) DY(9) = 1.D7*Y(5) DY(10) = -1.D7*Y(5) DY(11) = 1.D1 DY(12) = 1.D1 DY(13) = -1.001D4 DY(14) = 1.D4 DY(15) = 0.0D0 DY(16) = 0.0D0 DY(17) = 1.D1 DY(18) = 1.D-3 DY(19) = -1.0001D1 DY(20) = 1.D1 DY(21) = 0.0D0 DY(22) = -1.D7*Y(2) DY(23) = 0.0D0 DY(24) = 1.D7*Y(2) DY(25) = -1.0D7*Y(2) GO TO 980 C C PROBLEM F4 940 S = 77.27D0 T = 0.161D0 Q = 8.375D-6 F = 1.D0 DY(1) = S*(-Y(2)+1.D0-2.D0*Q*Y(1)) DY(2) = -Y(2)/S DY(3) = T DY(4) = S*(1.D0-Y(1)) DY(5) = (-1.D0-Y(1))/S DY(6) = 0.D0 DY(7) = 0.D0 DY(8) = F/S DY(9) = -T GO TO 980 C C PROBLEM F5 960 DY(1) = -3.D11*Y(2) - 9.D11*Y(3) DY(2) = -3.D11*Y(2) DY(3) = -9.D11*Y(3) DY(4) = 3.D11*Y(2) + 9.D11*Y(3) DY(5) = -3.D11*Y(1) DY(6) = -3.D11*Y(1) DY(7) = 0.0D0 DY(8) = 3.D11*Y(1) DY(9) = -9.D11*Y(1) DY(10) = 0.0D0 DY(11) = -9.D11*Y(1) DY(12) = 9.D11*Y(1) DY(13) = 1.2D8 DY(14) = 2.D7 DY(15) = 1.D8 DY(16) = -1.2D8 980 CONTINUE IF (IWT.LT.0) GO TO 1040 DO 1020 I = 1, N Y(I) = YTEMP(I) DO 1000 J = 1, N ITMP = I + (J-1)*N DY(ITMP) = DY(ITMP)*W(J)/W(I) 1000 CONTINUE 1020 CONTINUE 1040 CONTINUE RETURN END REAL FUNCTION CONST(I) C C********+*********+*********+*********+*********+*********+*********+** C .. Scalar Arguments .. INTEGER I C .. Local Scalars .. CHARACTER*32 MCNAME C .. Local Arrays .. REAL C(4) C .. Intrinsic Functions .. INTRINSIC ICHAR C .. Data statements .. C C CONST AND CLOCK ENCLOSE (WE HOPE) ALL THE MACHINE-DEPENDENT PARTS C OF THE STIFF AND NONSTIFF DETEST PACKAGES, EXCEPT THE TIMING C DATA IN THE IVALU ROUTINE OF EACH PACKAGE. C C CALLS WITH VALUES I=1 TO 4 RETURN THE FOLLOWING VALUES IN 'CONST': C I=1 UNIT ROUNDOFF APPROXIMATELY, IN THE PRECISION USED BY THE C ODE-SOLVING PART OF THE PACKAGE. C I=2 NUMBER NEAR UNDERFLOW THRESHOLD C I=3 STANDARD OUTPUT UNIT NUMBER C I=4 VALUE OF TSTTIM (USED IN CNTROL) C C CALLS WITH VALUES -1 TO -32 RETURN THE 'ICHAR' VALUE OF SUCCESSIVE C CHARACTERS OF THE NAME OF THE COMPUTER WE ARE RUNNING ON. (CLUMSY BUT C INTENDED TO ISOLATE MACHINE-DEPENDENCIES HERE) C C A CALL WITH I OUTSIDE THESE RANGES (DONE WITH I=0 NEAR THE HEAD OF TH C MAIN NSDTST & STDTST ROUTINES) RETURNS CONST=0 AND C 1. IS TO BE USED FOR MACHINE-DEPENDENT INITIALIZATIONS SUCH AS THE C SUPPRESSION OF UNDERFLOW MESSAGES. C C****** VALUES FOR IBM3033 MODEL N12 ****** CIBM DATA C/2.25E-16,1E-50,6.0,0.5/ C****** VALUES FOR DEC10 MODEL KL10 ****** CDEC DATA C /2.17E-19,1E-38,5.0,0.5/ DATA C/2.5E-16,5.0E-323,6,4.0/, * MCNAME/ '...IBM RISK 6000...'/ C .. Executable Statements .. C IF (I.GE.1 .AND. I.LE.4) THEN CONST = C(I) ELSE IF (I.LT.0) THEN CONST = ICHAR(MCNAME(-I:-I)) ELSE C SUPPRESS UNDERFLOW REPORTING (DEC): CDEC CALL ERRSET(0,6) C SUPPRESS UNDERFLOW REPORTING (IBM): CIBM CALL ERRSET(208,256,-1,0,0,208) C CONST = 0 END IF RETURN END C C********+*********+*********+*********+*********+*********+*********+** C REAL FUNCTION CLOCK(S) C .. Scalar Arguments .. REAL S C .. Executable Statements .. C C********+*********+*********+*********+*********+*********+*********+** C CLOCK IS 'RESET' TO 0 BY A CALL C S = CLOCK(0.0) C AND THEN (WITH S SET AS ABOVE) DELIVERS THE ELAPSED CPU SECONDS C SINCE LAST RESET, BY CALLS OF FORM C TIME = CLOCK(S) C C THIS WORKS ON AN IBM: CIBM CLOCK = UTTIMR(1) - S C THIS WORKS ON A DEC10 UNDER TOPS10 IN CONJUNCTION WITH THE C COMMAND "SET TIME LLL" AT MONITOR LEVEL WHERE LLL IS A C SUITABLE TIME LIMIT. CDEC CLOCK = -TIM2GO(S) -S C WHEN FIRST MOUNTING THE PACKAGE, LET IT RETURN ZERO AS BELOW: T1 = 0.01*MCLOCK() IF (S.EQ.0.D0) THEN CLOCK = T1 ELSE CLOCK = T1 - S ENDIF RETURN END below are the results for the unscaled detest set by Mebdf 0STIFF DETEST PACKAGE OPT= 2, NORMEF= 2, NRMTYP= 3 ON ...IBM RISK 6000... 0GROUP 1 MEBDF 0 A1 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .025 .023 64 1 11 42 .00 .21 0 -3.00 .040 .037 94 2 14 64 .00 .07 0 -4.00 .056 .052 123 2 16 86 .00 .04 0 -5.00 .078 .073 164 1 17 112 .00 .05 0 -6.00 .106 .100 208 3 22 149 .00 .54 0 -7.00 .128 .122 243 1 23 174 .00 .07 0 -8.00 .170 .162 306 2 27 218 .00 .19 0 -9.00 .198 .189 362 2 31 267 .00 .08 0 -10.00 .261 .250 467 2 37 344 .00 .04 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .134 *(TOL** 1.024) APPROX, R.M.S. RESIDUAL= 3.6E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.08 .026 .024 66 1 11 43 0 10** -4 -3.05 .041 .037 95 2 14 65 0 10** -5 -4.03 .057 .053 124 1 16 86 0 10** -6 -5.01 .078 .074 164 1 17 112 0 10** -7 -5.98 .106 .100 207 2 21 148 0 10** -8 -6.96 .127 .121 241 1 22 173 0 10** -9 -7.94 .167 .160 302 1 26 215 0 10**-10 -8.91 .196 .187 357 2 30 262 0 10**-11 -9.89 .254 .243 455 2 36 335 0 A2 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .056 .039 66 1 13 43 .00 .07 0 -3.00 .093 .072 102 1 16 68 .00 .20 0 -4.00 .155 .127 146 2 20 102 .00 .03 0 -5.00 .211 .176 203 2 24 141 .00 .03 0 -6.00 .281 .241 260 2 26 177 .01 .20 0 -7.00 .377 .330 319 2 30 229 .00 .04 0 -8.00 .453 .399 390 1 34 279 .00 .12 0 -9.00 .567 .500 475 1 42 343 .00 .04 0 -10.00 .707 .626 585 1 50 426 .01 .02 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.546E-03 *(TOL** .994) APPROX, R.M.S. RESIDUAL= 2.8E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .116 *(TOL** 1.051) APPROX, R.M.S. RESIDUAL= 3.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -1.96 .055 .038 64 1 12 42 0 10** -4 -2.91 .090 .069 98 1 15 65 0 10** -5 -3.87 .147 .120 140 1 19 97 0 10** -6 -4.82 .201 .167 192 2 23 133 0 10** -7 -5.77 .265 .226 246 2 25 168 0 10** -8 -6.72 .350 .305 302 2 28 214 0 10** -9 -7.67 .428 .376 366 1 32 262 0 10**-10 -8.62 .524 .462 442 1 38 318 0 10**-11 -9.57 .647 .572 538 1 46 390 0 A3 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .032 .025 83 1 13 54 .45 .45 0 -3.00 .053 .043 128 1 17 86 .03 .13 0 -4.00 .078 .065 168 2 21 118 .16 .16 0 -5.00 .107 .090 223 1 23 155 .01 .10 0 -6.00 .148 .127 284 3 28 203 .00 .06 0 -7.00 .179 .154 342 1 32 245 .00 .10 0 -8.00 .225 .194 427 3 40 305 .01 1.55 0 -9.00 .271 .235 503 2 44 369 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.05953E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .353 .307 651 1 50 479 .00 .33 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .244 *(TOL** 1.170) APPROX, R.M.S. RESIDUAL= 3.9E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .119 *(TOL** .960) APPROX, R.M.S. RESIDUAL= 4.2E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.16 .035 .028 90 1 13 59 0 10** -4 -3.20 .058 .047 136 1 17 92 0 10** -5 -4.25 .085 .071 181 1 21 127 0 10** -6 -5.29 .119 .101 240 1 24 168 0 10** -7 -6.33 .158 .136 303 2 29 216 0 10** -8 -7.37 .196 .169 373 1 34 267 0 A4 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .096 .071 98 1 16 65 .18 .18 0 -3.00 .160 .126 147 2 21 102 .04 .06 0 -4.00 .239 .198 205 1 25 145 .00 .03 0 -5.00 .343 .295 273 2 28 192 .03 .05 0 -6.00 .451 .395 343 2 32 243 .03 .48 0 -7.00 .546 .481 405 2 37 295 .00 .03 0 -8.00 .685 .607 509 1 43 368 .00 .02 0 -9.00 .870 .772 636 2 54 463 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.05730E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 1.100 .981 798 1 65 589 .00 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.64439E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .105 *(TOL** 1.120) APPROX, R.M.S. RESIDUAL= 2.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .177 *(TOL** 1.088) APPROX, R.M.S. RESIDUAL= 4.3E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.07 .100 .075 101 1 16 67 0 10** -4 -2.99 .159 .126 146 1 20 101 0 10** -5 -3.91 .232 .191 199 1 24 140 0 10** -6 -4.83 .325 .278 261 1 27 183 0 10** -7 -5.74 .423 .369 325 2 30 229 0 10** -8 -6.66 .514 .452 384 2 35 277 0 10** -9 -7.58 .627 .554 465 1 40 337 0SUMMARY OVER GROUP 1 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .209 .158 311 4 53 204 .45 .45 0 -3.00 .346 .277 471 6 68 320 .04 .20 0 -4.00 .528 .442 642 7 82 451 .16 .16 0 -5.00 .739 .635 863 6 92 600 .03 .10 0 -6.00 .986 .863 1095 10 108 772 .03 .54 0 -7.00 1.230 1.086 1309 6 122 943 .00 .10 0 -8.00 1.533 1.362 1632 7 144 1170 .01 1.55 0 -9.00 1.906 1.696 1976 7 171 1442 .00 .08 0 -10.00 2.421 2.164 2501 5 202 1838 .01 .33 1 0GROUP 2 MEBDF 0 B1 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .112 .096 303 3 23 178 .00 3.77 0 -3.00 .156 .137 356 1 30 233 .00 1.30 0 -4.00 .209 .185 457 4 37 304 .00 1.81 0 -5.00 .332 .298 675 2 45 477 .08 2.72 0 -6.00 .454 .412 866 1 50 631 .04 2.53 0 -7.00 .596 .539 1120 2 76 807 .28 2.55 0 -8.00 .904 .833 1444 2 85 1063 .68 1.94 0 -9.00 1.053 .955 1935 2 128 1414 .23 1.07 0 -10.00 1.350 1.228 2487 2 141 1847 .34 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.98575E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.565E-03 *(TOL** .760) APPROX, R.M.S. RESIDUAL= 3.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 3.02 *(TOL** 1.030) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.41 .130 .113 324 2 25 200 0 10** -3 -3.38 .176 .155 394 2 32 259 0 10** -4 -4.35 .252 .224 532 3 39 364 0 10** -5 -5.32 .371 .334 735 1 46 526 0 10** -6 -6.29 .495 .449 939 1 57 681 0 10** -7 -7.26 .676 .615 1204 2 78 873 0 10** -8 -8.23 .938 .861 1557 2 94 1143 0 B2 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .031 .026 56 1 10 36 .01 .08 0 -3.00 .050 .044 81 1 10 56 .00 .06 0 -4.00 .073 .065 111 1 14 77 .00 .04 0 -5.00 .102 .092 145 2 16 99 .00 .05 0 -6.00 .130 .120 171 2 16 122 .00 .12 0 -7.00 .162 .149 208 2 21 151 .01 .07 0 -8.00 .212 .196 261 2 25 188 .00 .10 0 -9.00 .254 .235 325 1 29 236 .00 .07 0 -10.00 .324 .301 407 2 34 299 .00 .05 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.158E-02 *(TOL** 1.008) APPROX, R.M.S. RESIDUAL= 3.3E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 5.998E-02 *(TOL** .990) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.81 .046 .041 76 1 10 52 0 10** -5 -3.82 .069 .061 105 1 13 73 0 10** -6 -4.83 .097 .087 139 1 15 95 0 10** -7 -5.84 .125 .115 166 2 16 118 0 10** -8 -6.85 .157 .144 202 2 20 146 0 10** -9 -7.86 .205 .189 253 2 24 182 0 10**-10 -8.87 .248 .230 316 1 28 229 0 10**-11 -9.88 .315 .293 396 1 33 291 0 B3 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .033 .027 59 2 11 38 .03 .15 0 -3.00 .053 .046 85 1 12 59 .00 .07 0 -4.00 .081 .072 121 2 15 83 .00 .05 0 -5.00 .111 .101 151 1 17 108 .00 .06 0 -6.00 .141 .129 191 2 20 135 .00 .06 0 -7.00 .177 .163 228 1 22 164 .00 .07 0 -8.00 .231 .214 287 2 26 206 .00 .07 0 -9.00 .278 .258 352 2 30 258 .00 .09 0 -10.00 .362 .338 447 1 34 328 .01 .07 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.728E-02 *(TOL** 1.031) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 8.279E-02 *(TOL** 1.008) APPROX, R.M.S. RESIDUAL= 1.3E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -1.90 .031 .025 56 2 10 35 0 10** -4 -2.89 .051 .044 82 1 11 56 0 10** -5 -3.89 .078 .069 116 1 14 80 0 10** -6 -4.88 .107 .097 147 1 16 104 0 10** -7 -5.87 .137 .125 185 1 19 131 0 10** -8 -6.86 .172 .158 222 1 21 160 0 10** -9 -7.86 .223 .207 278 1 25 199 0 10**-10 -8.85 .271 .251 342 2 29 250 0 10**-11 -9.84 .349 .325 431 1 33 316 0 B4 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .044 .037 78 2 13 51 .02 .18 0 -3.00 .078 .069 119 2 16 82 .00 .12 0 -4.00 .128 .117 167 2 18 116 .00 .08 0 -5.00 .153 .139 219 2 23 155 .00 .06 0 -6.00 .210 .193 276 1 26 198 .00 .07 0 -7.00 .268 .248 345 2 30 253 .00 .07 0 -8.00 .353 .330 437 2 33 323 .00 .08 0 -9.00 .453 .425 577 2 38 426 .00 .07 0 -10.00 .591 .559 716 2 41 539 .01 .03 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.318E-02 *(TOL** 1.016) APPROX, R.M.S. RESIDUAL= 6.2E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .180 *(TOL** 1.060) APPROX, R.M.S. RESIDUAL= 1.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.13 .048 .041 83 2 13 54 0 10** -4 -3.07 .082 .072 122 2 16 84 0 10** -5 -4.01 .128 .117 167 2 18 116 0 10** -6 -4.96 .152 .138 216 2 22 153 0 10** -7 -5.90 .204 .188 270 1 25 193 0 10** -8 -6.84 .259 .240 334 1 29 244 0 10** -9 -7.79 .335 .312 417 2 32 308 0 10**-10 -8.73 .426 .399 539 2 36 398 0 10**-11 -9.67 .546 .515 670 2 40 502 0 B5 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .098 .088 160 2 16 113 .02 .70 0 -3.00 .179 .164 264 1 22 193 .01 .24 0 -4.00 .287 .268 380 2 27 276 .00 .25 0 -5.00 .392 .368 509 1 32 375 .00 .31 0 -6.00 .510 .482 647 1 34 488 .00 .09 0 -7.00 .687 .652 856 2 38 653 .00 .09 0 -8.00 .940 .897 1131 2 43 870 .00 .09 0 -9.00 1.247 1.191 1529 1 56 1176 .00 .18 0 -10.00 1.793 1.704 2216 2 98 1666 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.04691E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.311E-02 *(TOL** 1.015) APPROX, R.M.S. RESIDUAL= 6.1E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .643 *(TOL** 1.095) APPROX, R.M.S. RESIDUAL= 1.9E-01 OVER 8 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.56 .144 .131 218 1 19 158 0 10** -4 -3.48 .230 .213 319 1 24 232 0 10** -5 -4.39 .328 .307 430 1 28 314 0 10** -6 -5.30 .428 .402 550 1 32 409 0 10** -7 -6.22 .548 .518 692 1 34 523 0 10** -8 -7.13 .719 .684 891 2 38 680 0 10** -9 -8.04 .953 .910 1147 1 43 882 0 10**-10 -8.95 1.233 1.177 1510 1 55 1161 0SUMMARY OVER GROUP 2 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .318 .274 656 10 73 416 .03 3.77 0 -3.00 .516 .460 905 6 90 623 .01 1.30 0 -4.00 .778 .706 1236 11 111 856 .00 1.81 0 -5.00 1.090 .997 1699 8 133 1214 .08 2.72 0 -6.00 1.445 1.335 2151 7 146 1574 .04 2.53 0 -7.00 1.889 1.751 2757 9 187 2028 .28 2.55 0 -8.00 2.640 2.470 3560 10 212 2650 .68 1.94 0 -9.00 3.285 3.064 4718 8 281 3510 .23 1.07 0 -10.00 4.421 4.131 6273 9 348 4679 .34 .07 1 0GROUP 3 MEBDF 0 C1 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .029 .023 71 13 13 47 .00 .10 0 -3.00 .046 .038 108 16 16 74 .00 .07 0 -4.00 .069 .059 154 20 20 107 .00 .06 0 -5.00 .096 .083 199 22 22 140 .00 .05 0 -6.00 .127 .112 248 25 25 176 .00 .06 0 -7.00 .161 .143 297 27 27 213 .00 .07 0 -8.00 .201 .179 365 33 33 267 .00 .09 0 -9.00 .252 .225 457 41 41 335 .00 .07 0 -10.00 .322 .288 584 48 48 427 .00 .07 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 7.068E-02 *(TOL** 1.001) APPROX, R.M.S. RESIDUAL= 9.4E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.85 .043 .036 102 15 15 69 0 10** -5 -3.84 .065 .055 146 19 19 101 0 10** -6 -4.84 .092 .079 191 21 21 134 0 10** -7 -5.84 .122 .107 240 24 24 170 0 10** -8 -6.84 .156 .138 289 26 26 207 0 10** -9 -7.84 .195 .174 354 32 32 258 0 10**-10 -8.84 .244 .218 442 39 39 323 0 10**-11 -9.84 .311 .278 563 46 46 411 0 C2 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .025 .019 66 12 12 43 .00 .21 0 -3.00 .042 .035 99 14 14 67 .00 .08 0 -4.00 .063 .053 136 17 17 96 .00 .05 0 -5.00 .091 .079 185 19 19 128 .00 .05 0 -6.00 .123 .107 238 24 24 167 .00 1.37 0 -7.00 .148 .130 273 26 26 198 .01 .07 0 -8.00 .190 .167 353 33 33 252 .00 1.21 0 -9.00 .284 .257 423 37 37 308 .00 .05 0 -10.00 .294 .260 533 44 44 389 .01 .03 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.002E-02 *(TOL** .999) APPROX, R.M.S. RESIDUAL= 2.7E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .162 *(TOL** 1.017) APPROX, R.M.S. RESIDUAL= 5.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.17 .028 .022 71 12 12 47 0 10** -4 -3.16 .045 .037 104 14 14 71 0 10** -5 -4.14 .067 .057 142 17 17 100 0 10** -6 -5.13 .095 .082 191 19 19 132 0 10** -7 -6.11 .126 .110 241 24 24 170 0 10** -8 -7.09 .152 .133 280 26 26 203 0 10** -9 -8.08 .197 .174 358 33 33 256 0 10**-10 -9.06 .285 .257 429 37 37 312 0 10**-11 -10.04 .294 .260 537 44 44 392 0 C3 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .026 .021 64 11 11 42 .00 .11 0 -3.00 .042 .035 99 14 14 67 .00 .08 0 -4.00 .065 .055 136 17 17 97 .00 .04 0 -5.00 .088 .076 181 19 19 126 .01 .05 0 -6.00 .121 .106 232 23 23 163 .00 .53 0 -7.00 .145 .128 266 25 25 195 .00 .07 0 -8.00 .182 .160 342 30 30 242 .01 .23 0 -9.00 .227 .200 416 38 38 304 .01 .09 0 -10.00 .289 .256 528 42 42 387 .00 .04 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.149E-03 *(TOL** .989) APPROX, R.M.S. RESIDUAL= 4.7E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 9.517E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 3.4E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -1.98 .026 .020 63 10 10 41 0 10** -4 -2.98 .042 .034 98 13 13 66 0 10** -5 -3.98 .064 .055 135 16 16 96 0 10** -6 -4.98 .087 .075 179 18 18 125 0 10** -7 -5.98 .120 .105 230 22 22 162 0 10** -8 -6.98 .144 .127 265 24 24 194 0 10** -9 -7.98 .181 .159 340 29 29 240 0 10**-10 -8.98 .226 .199 414 37 37 302 0 10**-11 -9.98 .287 .255 525 41 41 384 0 C4 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .026 .020 67 12 12 45 .02 17.41 0 -3.00 .044 .036 109 15 15 71 .06 71.84 0 -4.00 .063 .053 153 16 16 99 .14 65.42 0 -5.00 .092 .079 183 20 20 131 .08 3.44 0 -6.00 .117 .102 239 20 20 162 .24 20.85 0 -7.00 .149 .131 283 26 26 200 .06 4.30 0 -8.00 .186 .164 352 29 29 250 .06 7.17 0 -9.00 .235 .207 446 36 36 313 .34 5.50 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.70796E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .297 .263 544 44 44 396 .19 1.67 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.09685E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.732E-02 *(TOL** .910) APPROX, R.M.S. RESIDUAL= 2.9E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 81.6 *(TOL** 1.146) APPROX, R.M.S. RESIDUAL= 4.0E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -1 -2.54 .036 .029 89 13 13 59 0 10** -2 -3.41 .052 .043 127 15 15 82 0 10** -3 -4.28 .071 .060 161 17 17 108 0 10** -4 -5.16 .096 .083 191 20 20 135 0 10** -5 -6.03 .118 .103 240 20 20 163 0 10** -6 -6.90 .146 .128 278 25 25 196 0 10** -7 -7.77 .178 .156 336 28 28 238 0 C5 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .026 .020 67 12 12 44 6.47 2353.15 0 -3.00 .044 .035 112 16 16 72 14.36 10257.29 0 -4.00 .066 .055 153 18 18 102 18.64 4101.50 0 -5.00 .095 .082 189 20 20 133 3.14 775.18 0 -6.00 .151 .135 240 23 23 167 36.47 1280.39 0 -7.00 .155 .136 295 27 27 208 2.08 724.14 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.88568E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -8.00 .197 .173 373 33 33 265 15.09 176.08 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.58085E-01, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .241 .213 438 36 36 321 43.09 3.95 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.54843E-01, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .304 .270 553 42 42 404 4.58 .00 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 9.18 *(TOL** .992) APPROX, R.M.S. RESIDUAL= 4.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.200E+06 *(TOL** 1.716) APPROX, R.M.S. RESIDUAL= 8.7E-01 OVER 6 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 2 -2.38 .033 .026 83 13 13 54 0 10** 1 -2.96 .043 .035 110 15 15 70 0 10** 0 -3.54 .056 .046 134 17 17 88 0 10** -1 -4.13 .070 .059 157 18 18 105 0 10** -2 -4.71 .087 .074 178 19 19 123 0 10** -3 -5.29 .111 .098 203 20 20 142 0 10** -4 -5.87 .144 .128 233 22 22 162 0SUMMARY OVER GROUP 3 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .132 .104 335 60 60 221 6.47 2353.15 0 -3.00 .218 .179 527 75 75 351 14.36 10257.29 0 -4.00 .326 .275 732 88 88 501 18.64 4101.50 0 -5.00 .462 .399 937 100 100 658 3.14 775.18 0 -6.00 .639 .561 1197 115 115 835 36.47 1280.39 0 -7.00 .758 .667 1414 131 131 1014 2.08 724.14 0 -8.00 .956 .843 1785 158 158 1276 15.09 176.08 0 -9.00 1.239 1.102 2180 188 188 1581 43.09 5.50 0 -10.00 1.506 1.337 2742 220 220 2003 4.58 1.67 1 0GROUP 4 MEBDF 0 D1 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .015 .012 74 8 8 27 14.71 14.71 0 -3.00 .023 .019 102 11 11 42 24.75 24.74 0 -4.00 .031 .025 138 12 12 57 16.87 16.87 0 -5.00 .043 .037 153 15 15 75 12.35 12.34 0 -6.00 .067 .057 248 16 16 120 8.23 8.22 0 -7.00 .080 .069 271 21 21 138 11.34 11.34 0 -8.00 .112 .099 336 26 26 193 9.55 10.30 0 -9.00 .157 .139 451 33 33 270 6.27 6.27 0 -10.00 .204 .182 537 43 43 345 6.04 5.59 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 27.0 *(TOL** 1.064) APPROX, R.M.S. RESIDUAL= 9.1E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 27.5 *(TOL** 1.066) APPROX, R.M.S. RESIDUAL= 9.5E-02 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -1 -2.29 .017 .014 82 8 8 31 0 10** -2 -3.23 .025 .020 110 11 11 45 0 10** -3 -4.17 .033 .027 140 12 12 59 0 10** -4 -5.10 .045 .039 162 15 15 79 0 10** -5 -6.04 .068 .058 248 16 16 120 0 10** -6 -6.98 .080 .069 270 20 20 137 0 10** -7 -7.92 .109 .096 330 25 25 188 0 10** -8 -8.86 .151 .133 434 32 32 259 0 10** -9 -9.80 .194 .174 519 40 40 329 0 D2 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .022 .017 73 14 14 46 .96 1.15 0 -3.00 .029 .023 98 15 15 61 .65 1.15 0 -4.00 .047 .038 144 19 19 93 .01 .79 0 -5.00 .062 .051 176 21 21 117 .41 .40 0 -6.00 .089 .075 256 25 25 167 5.80 6.50 0 -7.00 .116 .099 300 31 31 205 .69 1.00 0 -8.00 .146 .126 371 35 35 252 .55 .67 0 -9.00 .194 .167 495 43 43 336 .36 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.35774E-05, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .241 .209 588 52 52 405 .20 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.85266E-05, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = .437 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 6.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.05 *(TOL** .997) APPROX, R.M.S. RESIDUAL= 3.5E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.03 .022 .017 73 14 14 46 0 10** -3 -3.03 .030 .023 99 15 15 61 0 10** -4 -4.03 .048 .039 145 19 19 93 0 10** -5 -5.04 .063 .052 179 21 21 118 0 10** -6 -6.04 .090 .076 257 25 25 168 0 10** -7 -7.04 .117 .100 303 31 31 207 0 10** -8 -8.05 .147 .127 374 35 35 254 0 D3 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .029 .023 80 15 15 50 .00 .13 0 -3.00 .049 .040 123 20 20 83 .00 .10 0 -4.00 .080 .069 180 23 23 125 .00 .05 0 -5.00 .116 .102 242 27 27 171 .00 .04 0 -6.00 .159 .142 314 31 31 222 .00 .07 0 -7.00 .196 .175 384 36 36 274 .00 .09 0 -8.00 .262 .236 492 44 44 353 .00 .25 0 -9.00 .341 .309 624 52 52 438 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.06582E-07, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .403 .364 756 61 61 542 .00 .03 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.87816E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 6.042E-02 *(TOL** .969) APPROX, R.M.S. RESIDUAL= 2.5E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.87 .046 .038 117 19 19 78 0 10** -5 -3.90 .077 .066 174 22 22 120 0 10** -6 -4.93 .114 .100 237 26 26 167 0 10** -7 -5.97 .158 .140 311 30 30 220 0 10** -8 -7.00 .196 .175 383 35 35 273 0 10** -9 -8.03 .264 .238 495 44 44 355 0 D4 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .006 .005 21 5 5 13 .09 .08 0 -3.00 .007 .006 26 5 5 15 .03 .03 0 -4.00 .010 .009 33 7 7 19 .05 .04 0 -5.00 .011 .010 36 7 7 22 .01 .05 0 -6.00 .013 .012 47 7 7 26 .03 .15 0 -7.00 .019 .017 68 11 11 39 .37 .45 0 -8.00 .030 .028 87 12 12 57 .38 .39 0 -9.00 .043 .040 119 16 16 82 .00 .02 0 -10.00 .055 .051 145 17 17 100 .03 .06 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 4.647E-02 *(TOL** .997) APPROX, R.M.S. RESIDUAL= 5.5E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 5.532E-02 *(TOL** .968) APPROX, R.M.S. RESIDUAL= 4.2E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.83 .007 .006 25 5 5 14 0 10** -5 -3.87 .010 .009 32 6 6 18 0 10** -6 -4.90 .011 .010 35 7 7 21 0 10** -7 -5.93 .013 .011 46 7 7 25 0 10** -8 -6.96 .019 .017 67 10 10 38 0 10** -9 -8.00 .030 .027 86 11 11 56 0 10**-10 -9.03 .043 .040 119 16 16 82 0 10**-11 -10.06 .056 .052 146 17 17 101 0 D5 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .011 .009 53 12 12 22 .79 .81 0 -3.00 .016 .013 84 19 19 39 1.89 1.92 0 -4.00 .022 .019 116 18 18 53 5.84 7.44 0 -5.00 .030 .027 142 16 16 69 4.89 5.07 0 -6.00 .044 .040 166 19 19 89 10.11 11.53 0 -7.00 .052 .048 220 19 19 117 6.13 11.22 0 -8.00 .075 .070 313 22 22 179 8.51 12.72 0 -9.00 .086 .080 366 28 28 188 4.57 9.91 0 -10.00 .118 .110 501 31 31 257 2.14 4.77 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.83 *(TOL** .945) APPROX, R.M.S. RESIDUAL= 3.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.37 *(TOL** .899) APPROX, R.M.S. RESIDUAL= 2.8E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.38 .013 .011 64 14 14 28 0 10** -3 -3.49 .019 .016 99 18 18 45 0 10** -4 -4.60 .027 .024 131 16 16 62 0 10** -5 -5.71 .040 .036 159 18 18 83 0 10** -6 -6.82 .051 .047 210 19 19 112 0 10** -7 -7.93 .073 .068 306 21 21 174 0 10** -8 -9.05 .087 .081 372 28 28 191 0 D6 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .010 .009 36 7 7 21 .01 .07 0 -3.00 .014 .012 48 7 7 30 .02 .17 0 -4.00 .020 .018 70 8 8 41 .01 .27 0 -5.00 .029 .026 95 11 11 55 .02 .57 0 -6.00 .033 .030 88 12 12 60 .00 .12 0 -7.00 .042 .038 146 14 14 74 .00 2.67 0 -8.00 .053 .048 152 15 15 91 .01 2.12 0 -9.00 .066 .060 188 20 20 117 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.99997E-08, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .087 .080 232 23 23 154 .01 .01 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.65420E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.489E-02 *(TOL** 1.018) APPROX, R.M.S. RESIDUAL= 1.2E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 2.515E-02 *(TOL** .765) APPROX, R.M.S. RESIDUAL= 3.3E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -3.14 .015 .013 51 7 7 31 0 10** -5 -4.45 .024 .021 81 9 9 47 0 10** -6 -5.75 .032 .029 89 11 11 58 0 10** -7 -7.06 .043 .038 146 14 14 75 0SUMMARY OVER GROUP 4 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .093 .075 337 61 61 179 14.71 14.71 0 -3.00 .138 .113 481 77 77 270 24.75 24.74 0 -4.00 .210 .178 681 87 87 388 16.87 16.87 0 -5.00 .291 .253 844 97 97 509 12.35 12.34 0 -6.00 .405 .356 1119 110 110 684 10.11 11.53 0 -7.00 .505 .446 1389 132 132 847 11.34 11.34 0 -8.00 .678 .606 1751 154 154 1125 9.55 12.72 0 -9.00 .887 .794 2243 192 192 1431 6.27 9.91 0 -10.00 1.108 .997 2759 227 227 1803 6.04 5.59 1 0GROUP 5 MEBDF 0 E1 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .004 .003 13 4 4 7 .00 .02 0 -3.00 .009 .008 25 6 6 14 .00 .12 0 -4.00 .020 .018 49 10 10 31 .00 .15 0 -5.00 .027 .025 68 10 10 42 .00 .10 0 -6.00 .044 .041 98 12 12 65 .00 .08 0 -7.00 .075 .071 143 14 14 97 .00 .05 0 -8.00 .088 .084 158 17 17 110 .00 .09 0 -9.00 .103 .098 202 19 19 139 .00 .06 0 -10.00 .135 .129 254 23 23 177 .00 .07 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 6.904E-02 *(TOL** .995) APPROX, R.M.S. RESIDUAL= 2.3E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -4 -2.85 .008 .007 23 5 5 12 0 10** -5 -3.86 .018 .016 45 9 9 28 0 10** -6 -4.86 .026 .024 65 10 10 40 0 10** -7 -5.87 .042 .039 93 11 11 61 0 10** -8 -6.87 .071 .067 137 13 13 92 0 10** -9 -7.88 .086 .082 156 16 16 108 0 10**-10 -8.88 .101 .096 196 18 18 135 0 10**-11 -9.88 .131 .125 248 22 22 172 0 E2 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .034 .028 203 26 26 76 3.16 43.35 0 -3.00 .041 .035 199 23 23 104 17.12 540.81 0 -4.00 .058 .051 245 24 24 140 7.19 463.37 0 -5.00 .086 .078 335 26 26 195 2.91 267.93 0 -6.00 .109 .099 389 29 29 247 2.15 259.02 0 -7.00 .131 .120 461 35 35 290 7.05 207.90 0 -8.00 .164 .150 588 37 37 369 11.63 158.47 0 -9.00 .223 .205 726 54 54 490 4.63 125.02 0 -10.00 .293 .270 927 70 70 647 5.35 172.67 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 5.53 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 2.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 228. *(TOL** 1.009) APPROX, R.M.S. RESIDUAL= 3.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 0 -2.34 .036 .030 201 24 24 85 0 10** -1 -3.33 .047 .040 214 23 23 115 0 10** -2 -4.32 .067 .060 273 24 24 157 0 10** -3 -5.31 .093 .084 351 26 26 211 0 10** -4 -6.30 .116 .105 410 30 30 259 0 10** -5 -7.29 .141 .129 498 35 35 313 0 10** -6 -8.28 .181 .166 626 41 41 403 0 10** -7 -9.27 .242 .223 780 58 58 532 0 E3 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .018 .017 57 10 10 36 1.74 1.77 0 -3.00 .026 .024 80 13 13 54 .44 .67 0 -4.00 .043 .041 135 15 15 84 3.22 3.32 0 -5.00 .060 .057 169 19 19 109 .27 .35 0 -6.00 .092 .088 219 22 22 148 1.01 1.29 0 -7.00 .115 .111 296 26 26 201 .68 .69 0 -8.00 .140 .135 357 28 28 242 .84 1.24 0 -9.00 .162 .156 399 33 33 274 .25 .43 0 -10.00 .204 .197 496 38 38 344 .35 .41 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.84 *(TOL** 1.071) APPROX, R.M.S. RESIDUAL= 3.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 2.01 *(TOL** 1.061) APPROX, R.M.S. RESIDUAL= 2.7E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.17 .019 .018 60 10 10 39 0 10** -3 -3.11 .028 .026 86 13 13 57 0 10** -4 -4.05 .044 .042 136 15 15 85 0 10** -5 -5.00 .060 .057 168 18 18 108 0 10** -6 -5.94 .090 .087 215 21 21 145 0 10** -7 -6.88 .112 .108 286 25 25 194 0 10** -8 -7.82 .136 .131 346 27 27 234 0 10** -9 -8.77 .157 .151 389 31 31 266 0 10**-10 -9.71 .192 .185 467 36 36 323 0 E4 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .058 .046 164 23 23 89 .00 23.75 0 -3.00 .096 .082 228 24 24 148 .00 24.24 0 -4.00 .149 .130 313 31 31 207 .00 27.75 0 -5.00 .207 .184 412 37 37 281 .00 3.90 0 -6.00 .272 .243 523 45 45 359 .00 16.17 0 -7.00 .346 .311 650 54 54 451 .00 10.68 0 -8.00 .441 .399 814 60 60 577 .00 5.09 0 -9.00 .555 .504 1005 72 72 725 .01 4.64 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.98121E-01, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .713 .650 1268 90 90 922 .02 .02 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 9.90407E-03, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.341E-03 *(TOL** .982) APPROX, R.M.S. RESIDUAL= 7.2E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 43.0 *(TOL** 1.105) APPROX, R.M.S. RESIDUAL= 2.4E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -1 -2.38 .073 .060 188 23 23 111 0 10** -2 -3.29 .111 .096 252 26 26 164 0 10** -3 -4.19 .160 .141 331 32 32 221 0 10** -4 -5.10 .213 .189 422 37 37 288 0 10** -5 -6.00 .272 .243 523 45 45 359 0 10** -6 -6.90 .339 .304 637 53 53 442 0 10** -7 -7.81 .423 .382 782 58 58 552 0 E5 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .008 .006 24 6 6 14 .00 .00 0 -3.00 .008 .006 24 6 6 14 .00 .00 0 -4.00 .009 .007 25 6 6 15 .01 .01 0 -5.00 .010 .008 28 6 6 17 .00 .02 0 -6.00 .012 .010 32 7 7 19 .14 .16 0 -7.00 .022 .019 48 6 6 25 1.62 1.69 0 -8.00 .034 .030 61 11 11 36 .62 .64 0 -9.00 .042 .038 67 9 9 44 .01 .10 0 -10.00 .045 .038 112 14 14 69 .95 1.45 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 2.441E-03 *(TOL** .763) APPROX, R.M.S. RESIDUAL= 6.7E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 1.686E-03 *(TOL** .712) APPROX, R.M.S. RESIDUAL= 4.9E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -5 -3.13 .008 .006 24 6 6 14 0 10** -6 -4.53 .010 .008 26 6 6 16 0 10** -7 -5.94 .012 .009 31 6 6 18 0 10** -8 -7.34 .026 .023 52 7 7 28 0 10** -9 -8.75 .040 .036 65 9 9 42 0SUMMARY OVER GROUP 5 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .122 .100 461 69 69 222 3.16 43.35 0 -3.00 .180 .155 556 72 72 334 17.12 540.81 0 -4.00 .279 .247 767 86 86 477 7.19 463.37 0 -5.00 .390 .351 1012 98 98 644 2.91 267.93 0 -6.00 .529 .482 1261 115 115 838 2.15 259.02 0 -7.00 .689 .631 1598 135 135 1064 7.05 207.90 0 -8.00 .867 .798 1978 153 153 1334 11.63 158.47 0 -9.00 1.085 1.002 2399 187 187 1672 4.63 125.02 0 -10.00 1.390 1.284 3057 235 235 2159 5.35 172.67 1 0GROUP 6 MEBDF 0 F1 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .032 .028 95 18 18 53 4.63 97.51 0 -3.00 .062 .055 172 28 28 97 4.64 70.71 0 -4.00 .092 .083 249 33 33 140 14.71 46.65 0 -5.00 .130 .119 338 37 37 191 3.37 106.83 0 -6.00 .179 .165 440 43 43 252 9.96 38.23 0 -7.00 .250 .232 603 49 49 339 8.43 1.42 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.04952E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -8.00 .305 .285 719 54 54 412 9.51 3.20 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 4.05268E-02, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .391 .366 886 66 66 525 2.37 27.10 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 5.62042E+01, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .492 .462 1116 77 77 658 .12 1.19 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 2.65880E+00, ERROR FLAG (GLOBAL) -1, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 21.0 *(TOL** 1.121) APPROX, R.M.S. RESIDUAL= 5.0E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 119. *(TOL** 1.063) APPROX, R.M.S. RESIDUAL= 1.5E-01 OVER 5 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 0 -1.95 .031 .026 91 17 17 50 0 10** -1 -2.89 .059 .052 163 26 26 92 0 10** -2 -3.83 .087 .078 236 32 32 132 0 10** -3 -4.77 .121 .110 317 36 36 179 0 10** -4 -5.71 .165 .152 410 41 41 234 0 F2 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .007 .005 33 6 6 21 .02 .08 0 -3.00 .012 .010 47 9 9 32 .01 .07 0 -4.00 .020 .017 77 11 11 50 .01 .19 0 -5.00 .028 .024 101 14 14 70 .03 .04 0 -6.00 .038 .033 134 14 14 90 .01 .17 0 -7.00 .050 .043 167 17 17 117 .01 .07 0 -8.00 .063 .055 203 20 20 143 .00 .11 0 -9.00 .074 .065 239 23 23 168 .03 .08 0 -10.00 .094 .083 293 25 25 214 .02 .02 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.071E-02 *(TOL** .981) APPROX, R.M.S. RESIDUAL= 1.6E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .124 *(TOL** 1.035) APPROX, R.M.S. RESIDUAL= 2.5E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.02 .007 .006 33 6 6 21 0 10** -4 -2.99 .012 .010 46 8 8 31 0 10** -5 -3.96 .020 .016 75 10 10 49 0 10** -6 -4.92 .027 .023 99 13 13 68 0 10** -7 -5.89 .037 .032 130 14 14 87 0 10** -8 -6.86 .048 .042 162 16 16 113 0 10** -9 -7.82 .061 .053 196 19 19 138 0 10**-10 -8.79 .072 .063 231 22 22 162 0 10**-11 -9.76 .089 .079 279 24 24 202 0 F3 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .015 .011 36 9 9 21 .00 .15 0 -3.00 .017 .013 39 10 10 23 .00 .46 0 -4.00 .014 .010 35 8 8 20 .00 .19 0 -5.00 .013 .010 30 7 7 18 .00 .07 0 -6.00 .016 .012 36 9 9 22 .00 .06 0 -7.00 .023 .018 52 11 11 33 .00 .13 0 -8.00 .038 .030 82 14 14 53 .00 .05 0 -9.00 .059 .048 118 18 18 79 .00 .08 0 -10.00 .093 .079 167 22 22 116 .00 .04 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 1.000E-02 *(TOL** 1.000) APPROX, R.M.S. RESIDUAL= 0.0E+00 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = .361 *(TOL** 1.092) APPROX, R.M.S. RESIDUAL= 2.1E-01 OVER 9 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -3 -2.34 .016 .012 37 9 9 21 0 10** -4 -3.26 .016 .012 37 9 9 22 0 10** -5 -4.17 .014 .010 34 7 7 19 0 10** -6 -5.09 .013 .010 30 7 7 18 0 10** -7 -6.00 .016 .012 36 9 9 22 0 10** -8 -6.92 .022 .017 50 10 10 32 0 10** -9 -7.84 .036 .028 77 13 13 49 0 10**-10 -8.75 .054 .044 109 17 17 72 0 10**-11 -9.67 .082 .069 150 20 20 103 0 F4 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .117 .108 515 59 59 193 25.95 ********* 0 -3.00 .159 .150 612 53 53 280 10.94 ********* 0 -4.00 .220 .208 853 65 65 395 8.15 ********* 0 -5.00 .413 .394 1279 101 101 623 5.85 712404.44 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.16298E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -6.00 .480 .459 1555 104 104 781 5.25 182833.06 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.13468E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -7.00 .624 .596 2043 144 144 1013 7.11 63182.64 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.13193E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -8.00 .812 .775 2485 203 203 1326 8.16 1594.35 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 1.03024E+00, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -9.00 .944 .907 2747 183 183 1579 4.93 99.68 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.59683E-01, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 1.258 1.209 3451 250 250 2073 5.73 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 8.00836E-04, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 17.9 *(TOL** 1.060) APPROX, R.M.S. RESIDUAL= 1.4E-01 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 5.479E+06 *(TOL** 1.156) APPROX, R.M.S. RESIDUAL= 2.3E-02 OVER 3 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** 4 -2.37 .132 .123 550 56 56 225 0 10** 3 -3.23 .173 .163 668 55 55 306 0 F5 (UNSCALED) LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .020 .016 57 13 13 36 .00 3.12 0 -3.00 .020 .016 59 13 13 35 .00 .65 0 -4.00 .023 .019 66 14 14 40 .00 .47 0 -5.00 .033 .029 86 16 16 56 .00 .08 0 -6.00 .045 .040 112 18 18 74 .00 .06 0 -7.00 .069 .062 175 21 21 105 .00 .47 0 -8.00 .096 .088 205 25 25 139 .00 .04 0 -9.00 .127 .117 267 30 30 185 .00 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.59481E-10, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 -10.00 .159 .148 333 34 34 229 .02 .00 TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = 3.12711E-06, ERROR FLAG (GLOBAL) -3, (LOCAL) 2 0 SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL) 0 ENDPOINT GLOBAL ERROR = 8.377E-03 *(TOL** .982) APPROX, R.M.S. RESIDUAL= 7.0E-02 OVER 9 VALUES 0 MAXIMUM GLOBAL ERROR = 4.27 *(TOL** 1.243) APPROX, R.M.S. RESIDUAL= 4.0E-01 OVER 7 VALUES 0 NORMALIZED EFFICIENCY - MAXIMUM GLOBAL ERROR EXPECTED EQUIV TIME OVHD FCN JAC MAT NO OF ACCURACY LOG10 TOL CALLS CALLS FACT STEPS 0 10** -2 -2.12 .020 .016 57 13 13 35 0 10** -3 -2.92 .020 .016 58 13 13 35 0 10** -4 -3.73 .022 .018 64 13 13 38 0 10** -5 -4.53 .028 .024 76 15 15 48 0 10** -6 -5.34 .037 .032 94 16 16 62 0 10** -7 -6.14 .048 .043 120 18 18 78 0 10** -8 -6.95 .068 .061 171 20 20 103 0 10** -9 -7.75 .089 .082 197 24 24 130 0SUMMARY OVER GROUP 6 LOG10 TIME OVHD FCN JAC MAT NO OF END PNT MAXIMUM TOL CALLS CALLS FACT STEPS GLB ERR GLB ERR 0 -2.00 .191 .168 736 105 105 324 25.95 ********* 0 -3.00 .270 .243 929 113 113 467 10.94 ********* 0 -4.00 .369 .336 1280 131 131 645 14.71 ********* 0 -5.00 .617 .575 1834 175 175 958 5.85 712404.44 0 -6.00 .758 .709 2277 188 188 1219 9.96 182833.06 0 -7.00 1.016 .952 3040 242 242 1607 8.43 63182.64 0 -8.00 1.314 1.233 3694 316 316 2073 9.51 1594.35 0 -9.00 1.595 1.504 4257 320 320 2536 4.93 99.68 0 -10.00 2.096 1.981 5360 408 408 3290 5.73 1.19 1SUMMARY OVER ALL GROUPS MEBDF LOG10 TIME OVHD FCN JAC MAT NO OF TOL CALLS CALLS FACT STEPS 0 -2.00 1.065 .878 2836 309 421 1566 0 -3.00 1.668 1.428 3869 349 495 2365 0 -4.00 2.490 2.184 5338 410 585 3318 0 -5.00 3.589 3.209 7189 484 695 4583 0 -6.00 4.763 4.305 9100 545 782 5922 0 -7.00 6.088 5.534 11507 655 949 7503 0 -8.00 7.988 7.312 14400 798 1137 9628 0 -9.00 9.998 9.162 17773 902 1339 12172 0 -10.00 12.941 11.894 22692 1104 1640 15772 0 OVERALL SUMMARY 50.590 45.906 94704 5556 8043 62829 subroutine method(N,X,Y,XEND,TOL,HMAX,HSTART) C C DRIVER FOR THE SECDER CODE WHICH IS PART OF THE PACKAGE. C IT IS SOMEWHAT LENGTHY BECAUSE ITS INTERRUPT MECHANISM DOES C NOT ALLOW INTERRUPT IMMEDIATELY AFTER ACCEPTING A STEP. C DOUBLE PRECISION HMAX, HSTART, HNEXT, H, X, XEND DOUBLE PRECISION TOL,rtol(20),atol(20) DOUBLE PRECISION Y(N) INTEGER NFCN, NJAC, NLUD, MBND(4) DOUBLE PRECISION TEMP, WORK(600), T0, H0, TOUT,w(20) INTEGER I, IND, NDIM INTEGER MF,LWORK,LIWORK,IWORK(600) EXTERNAL STATS,DDCOMP,FCN,PDERV EXTERNAL f, jac COMMON /STCOM6/NFCN, NJAC, NLUD common /stcom5/ w,iwt,ndummy,id COMMON /type/ linear logical linear DATA NDIM/20/ c linear=.false. if(id.lt.20) linear=.true. LWORK = 600 LIWORK = 600 MF = 21 H = HSTART TOUT = XEND INDEX = 1 LOUT = 6 MAXDER = 7 ITOL = 5 do 333 ijh=1,N rtol(IJH)=TOL atol(ijh)=tol 333 continue CALL DRIVER(N,X,H,Y,TOUT,XEND,MF,INDEX,LOUT,LWORK, + WORK,LIWORK,IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) if(index.lt.0) goto 3 2 IF ( X.GE.XEND ) GOTO 3 IF ( X+H.GT.XEND ) THEN INDEX = 2 TOUT = XEND ELSE INDEX = 3 TOUT = XEND ENDIF CALL DRIVER(N,X,H,Y,TOUT,XEND,MF,INDEX,LOUT,LWORK, + WORK,LIWORK,IWORK,MBND,MAXDER,ITOL,RTOL,ATOL) if(index.lt.0) goto 3 TEMP = X CALL STATS( X,Y,TOL ) IF (TEMP.NE.X) GOTO 3 GOTO 2 3 continue return end c SUBROUTINE F(N,T,Y,YDOT) INTEGER N DOUBLE PRECISION T,Y(N),YDOT(N) c CALL FCN(T,Y,YDOT) c RETURN END c SUBROUTINE PDERV(T,Y,DY,N,MBND) INTEGER N, MBND(4) DOUBLE PRECISION T,Y(N),DY(N) c CALL DERV(T,Y,DY) c RETURN END c SUBROUTINE MAXERR(N,T,ERRM,Y) integer n double precision t,errm,y(n) c return end PROGRAM MAIN REAL TOL(10),TTOL(11) INTEGER OPT(10),IDLIST(60) CHARACTER *80 TITLE COMMON /NUMER / NPRB C EXTERNAL STDTST C DATA TOL / 1.0E-01, 1.0E-02, 1.0E-03, 1.0E-04, 1.0E-05, + 1.0E-06, 1.0E-07, 1.0E-08, 1.0E-09, 1.0E-10 / C IOPT = 2 NORMEF = 2 NUMER = 0 C C NUMER = 0 USE THE ANALYTICAL JACOBIAN C TITLE = ' MEBDF ' IDLIST(1) =11 IDLIST(2) =12 IDLIST(3) =13 IDLIST(4) =14 IDLIST(5) =0 IDLIST(6) =21 IDLIST(7) =22 IDLIST(8) =23 IDLIST(9) =24 IDLIST(10)=25 IDLIST(11)=0 IDLIST(12)=31 IDLIST(13)=32 IDLIST(14)=33 IDLIST(15)=34 IDLIST(16)=35 IDLIST(17)=0 IDLIST(18)=41 IDLIST(19)=42 IDLIST(20)=43 IDLIST(21)=44 IDLIST(22)=45 IDLIST(23)=46 IDLIST(24)=0 IDLIST(25)=51 IDLIST(26)=52 IDLIST(27)=53 IDLIST(28)=54 IDLIST(29)=55 IDLIST(30)=0 IDLIST(31)=61 IDLIST(32)=62 IDLIST(33)=63 IDLIST(34)=64 IDLIST(35)=65 IDLIST(36)=0 IDLIST(37)=0 do 83576 iok=1,37 idlist(iok)=-idlist(iok) 83576 continue C NPRB=37 OPT(1) = IOPT OPT(2) = NORMEF OPT(3) = 3 OPT(4) = 0 C TTOL(1) = TOL(2) TTOL(2) = TOL(3) TTOL(3) = TOL(4) TTOL(4) = TOL(5) TTOL(5) = TOL(6) TTOL(6) = TOL(7) TTOL(7) = TOL(8) TTOL(8) = TOL(9) TTOL(9) = TOL(10) CALL STDTST( TITLE, OPT, TTOL, IDLIST, FLAG ) IF (FLAG.GT.0.0) THEN WRITE(6,*)' FLAG=',FLAG ENDIF STOP END C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE STDTST(TITLE,OPTION,TOL,IDLIST,FLAG) C C********+*********+*********+*********+*********+*********+*********+** C G E N E R A L D O C U M E N T A T I O N C--------+---------+---------+---------+---------+---------+---------+-- C C STIFF DETEST 1986 VERSION C ----- ------ ---- ------- C BY W H ENRIGHT, AND J D PRYCE, C DEPT OF COMPUTER SCIENCE, SCHOOL OF MATHEMATICS C UNIVERSITY OF TORONTO, UNIVERSITY WALK C TORONTO M5S 1A4 BRISTOL BS8 1TW C CANADA ENGLAND C TEL (416) 978-6025 TEL (272) 303335 C C PLEASE INFORM THE AUTHORS OF ANY ERRORS IN CODE OR C DOCUMENTATION. C C 1. GENERAL NOTES C ------- ----- C C STIFF DETEST IS A PACKAGE TO TEST THE PERFORMANCE OF INITIAL-VALUE C CODES FOR STIFF DIFFERENTIAL SYSTEMS. THIS CODE IS A REVISION OF THE C 1975 VERSION, USED TO PRODUCE THE RESULTS REPORTED ON IN [3]. C C A SET OF TEST PROBLEMS, DESCRIBED IN DETAIL IN [2,3], IS INCORPORATED C IN THE STIFF PACKAGE. THE CODE BEING TESTED IS RUN ON A SELECTION OF C THESE PROBLEMS AT VARIOUS TOLERANCES. THE USER SELECTS THE PROBLEMS C AND THE TOLERANCES, AND ALSO ORGANIZES THE PROBLEMS INTO C GROUPS FOR STATISTICAL REPORTING PURPOSES, AT HIS DISCRETION. C C TO TEST A CODE A USER MUST WRITE AN INTERFACE ROUTINE CALLED METHOD, C DESCRIBED BELOW, AND THEN CALL STDTST WITH THE DESIRED OPTIONS. NOTE C THAT STDTST COMES IN A 'SINGLE' AND A 'DOUBLE' PRECISION VERSION FOR C USE ACCORDING AS THE SOFTWARE UNDER TEST IS WRITTEN IN SINGLE OR C DOUBLE PRECISION. THE ARGUMENTS OF STDTST ARE SINGLE PRECISION BUT C METHOD MUST BE IMPLEMENTED IN THE APPROPRIATE PRECISION. C C THE PACKAGE DIVIDES NATURALLY INTO FIVE PARTS: C C STDTST,CNTROL AND VARIOUS SERVICE ROUTINES C ORGANIZE THE ASSEMBLING, COMPUTATION AND REPORTING OF C STATISTICS. C C STATS C IS THE ROUTINE WHICH 'INSTRUMENTS' THE CODE BEING TESTED AND C PASSES STATISTICS VIA COMMON TO CNTROL AND STDTST. C C FCN, PDERV, IVALU, EVALU C DESCRIBE THE SET OF TEST PROBLEMS. FCN GIVES THE R.H.S. F(Y) C OF THE ODE SYSTEM AND PDERV GIVES THE JACOBIAN MATRIX DF/DY. C (AT PRESENT ALL THE PROBLEMS ARE POSED IN AUTONOMOUS FORM). C IVALU GIVES THE INITIAL CONDITIONS, SCALING WEIGHTS AND OTHER C DATA ABOUT EACH PROBLEM. EVALU GIVES ACCURATELY COMPUTED C VALUES AT THE ENDPOINT. C C DDCOMP AND DSOLVE C ARE STANDARD (DOUBLE PRECISION) LU DECOMPOSITION AND BACKSOLVE C ROUTINES FOR FULL MATRICES, COMPATIBLE WITH THE LAYOUT OF THE C JACOBIAN PRODUCED BY PDERV. THEY ARE USED BY TRUE BUT ARE C AVAILABLE FOR USE BY THE CODE BEING TESTED IF DESIRED. C C TRUE AND ITS SUBORDINATE ROUTINES C (ALIAS THE ADDISON-ENRIGHT CODE SECDER) FORM A RELIABLE STIFF C SOLVER FOR COMPUTING THE 'TRUE' GLOBAL AND LOCAL SOLUTIONS C WHEN REQUIRED. C C THERE IS ALSO A 'DUMMY' STDTST AND STATS TO HELP THE USER DEBUG HIS C METHOD ROUTINE (DESCRIBED BELOW); A UTILITY STGTIM WHICH MUST BE USED C ON EACH NEW MACHINE TO GENERATE TIMING DATA EMBEDDED IN THE CODE; AND C A UTILITY STGWT WHICH IS NEEDED IF EVER A USER WISHES TO ADD FURTHER C TEST PROBLEMS TO THE SET. C C MAIN LINES OF CALLING HIERARCHY (USER-SUPPLIED ROUTINES ARE IN BOXES) C C +--------+ C | USER'S |---STDTST---CNTROL-----IVALU C |PROGRAM | | +--------+ C +--------+ | +------+ |'SOLVER'| C |---|METHOD|----|(CODE |->-+ C | +------+ | BEING | | C | | | TESTED)| | C | | +--------+ |---FCN,PDERV C | | | C | STATS---TRUE--->--+ C | C +----EVALU C C WE ACKNOWLEDGE VALUABLE RECOMMENDATIONS IN SHAMPINE'S PAPER [5]. IN C PARTICULAR THE PACKAGE WILL, BY DEFAULT, INTEGRATE EACH SYSTEM IN C SCALED FORM, SCALING EACH SOLUTION COMPONENT BY ITS MAXIMUM OBSERVED C VALUE OVER THE RANGE OF INTEGRATION. THAT IS, THE CHANGE OF VARIABLE C -1 C Z = D Y IS DONE WHERE C D = DIAG(W(1), .., W(N)) C C AND W(I) =MAX |I-TH COMPONENT OF Y| OVER THE RANGE. THE PROBLEM C -1 C SOLVED IS THEN Z' = D F(X,DZ). THE WEIGHTS W(I) WERE FOUND BY AN C ACCURATE INTEGRATION OF EACH PROBLEM AND ARE EMBEDDED IN IVALU. C NOTE THAT THIS SCALING AFFECTS THE NORMS WHICH ARE USED IN C MEASURING ALL ERRORS, AND THUS CAN HAVE A CONSIDERABLE EFFECT ON THE C ACCURACY IN SOME OF THE PROBLEMS. C C IF THE PROBLEM CODE IN IDLIST (SEE BELOW) IS GIVEN A NEGATIVE SIGN THE C SYSTEM IS SOLVED IN ITS 'NATURAL' SCALING, AS WAS DONE IN THE 1975 C VERSION OF DETEST. C C C REFERENCES C ----------- C C [1] W H ENRIGHT, 'USING A TESTING PACKAGE FOR THE AUTOMATIC C ASSESSMENT OF NUMERICAL METHODS FOR ODES', IN PERFORMANCE C EVALUATION OF NUMERICAL SOFTWARE, (FOSDICK, ED), IFIP, NORTH C HOLLAND PUBL CO (1979) 199-213. C C C [2] W H ENRIGHT AND T E HULL, 'COMPARING NUMERICAL METHODS FOR THE C SOLUTION OF STIFF SYSTEMS OF ODES ARISING IN CHEMISTRY', IN C NUMERICAL METHODS FOR DIFFERENTIAL SYSTEMS (LAPIDUS AND C SCHIESSER, EDS), ACADEMIC PRESS, NEW YORK (1976) 45-65. C C [3] W H ENRIGHT, T E HULL AND B LINDBERG, 'COMPARING NUMERICAL C METHODS FOR STIFF SYSTEMS OF ORDINARY DIFFERENTIAL EQUATIONS', C BIT 15(1975) 10-48. C C [4] W H ENRIGHT AND J D PRYCE, 'A PAIR OF PACKAGES FOR ASSESSING C INITIAL VALUE METHODS', UNIVERSITY OF TORONTO TECHNICAL REPORT C NO. 167/83. C C [5] L F SHAMPINE 'EVALUATION OF A TEST SET FOR STIFF ODE SOLVERS', C TOMS 7(1981)409-420. C C C C C C C C C 2. ARGUMENTS TO STDTST: C --------- -- ------- C C TITLE (INPUT) CHARACTER OF LENGTH 80, HOLDS NAME OF METHOD BEING C TESTED. C C OPTION (INPUT) INTEGER ARRAY OF LENGTH 10, ONLY ELEMENTS 1 TO 3 ARE C USED AND ARE REFERRED TO HENCEFORTH AS OPT, NORMEF AND NRMTYP. C (OPTION(4) IS ALSO USED WHEN OPT=4) C C OPT ONE OF 1, 2, 3 OR 4. OPT SELECTS LEVEL OF ANALYSIS REQUIRED: C 1 GIVES A REPORT OF THE FOLLOWING AT EACH TOLERANCE USED: C - TOTAL TIME PER INTEGRATION C - OVERHEAD TIME EXCLUDING FUNCTION AND JACOBIAN CALLS AND MATRIX C FACTORIZATIONS. C - NUMBER OF FUNCTION CALLS, JACOBIAN CALLS, MATRIX C FACTORIZATIONS AND SUCCESSFUL STEPS OVER RANGE C - GLOBAL ERROR AT ENDPOINT XEND, DIVIDED BY TOL, IE. C ||(COMPUTED Y) - (TRUE Y)||/TOL AT X=XEND C THE NORM USED THROUGHOUT THE PACKAGE IS THAT CHOSEN BY NRMTYP. C C 2 REPORTS (IN ADDITION TO THE ABOVE STATISTICS): C - MAXIMUM GLOBAL ERROR OVER RANGE. THE 'TRUE' SOLUTION OVER C THE RANGE IS OBTAINED BY A RELIABLE INTEGRATOR AT A MORE C STRINGENT TOLERANCE. C C 3 REPORTS (IN ADDITION TO THE ABOVE): C - MAXIMUM LOCAL ERROR OVER RANGE, IE. MAX OVER ALL MESHPOINTS C OF C LENRM = ||(COMPUTED Y) - YLOC||/ERRBND C WHERE YLOC IS THE TRUE LOCAL SOLUTION THROUGH THE PREVIOUS C MESHPOINT, AND ERRBND, THE ASSUMED ERROR BOUND, IS EXPLAINED C BELOW. C - FRACTION OF STEPS WHERE LENRM EXCEEDED 1. C - FRACTION OF STEPS WHERE LENRM EXCEEDED 5. C C 4 REPORTS (IN ADDITION TO THE ABOVE): C - AN ANALYSIS OF THE LOCAL ERROR ESTIMATES USED BY SOLVER AS THE C BASIS FOR ITS ERROR CONTROL. AT THIS LEVEL THREE ASSUMPTIONS C ARE MADE. FIRST, THAT AT EACH STEP SOLVER FORMS TWO C APPROXIMATIONS, Y AND Y*, TO THE LOCAL SOLUTION YLOC AT THE C NEW MESHPOINT, SUCH THAT ASYMPTOTICALLY AS TOL->0, Y* IS 'MORE C ACCURATE' THAN Y. SECOND, THAT THE APPROXIMATION WHICH IS C TAKEN AS THE COMPUTED SOLUTION AT THE NEW MESHPOINT IS EITHER C ALWAYS Y* (IN WHICH CASE ONE SAYS LOCAL EXTRAPOLATION IS USED) C OR ALWAYS Y (IN WHICH CASE IT IS NOT USED). THE VECTOR C LE = Y - YLOC C IS THE TRUE LOCAL ERROR IN THE 'LESS ACCURATE' SOLUTION Y, C AND C ERREST = Y - Y* C IS AN ESTIMATE OF LE. IT IS ASSUMED FINALLY THAT THE ERROR C CONTROL CONSISTS IN KEEPING ||ERREST||, IN AN APPROPRIATE C NORM, BELOW ERRBND AT EACH STEP. C C NOTE THAT SOME METHODS, SUCH AS (IN THE NONSTIFF CASE) C MERSON'S METHOD, CANNOT BE REGARDED IN THIS WAY. C C AT THIS LEVEL DETEST ANALYSES HOW ACCURATELY ERREST C APPROXIMATES TO LE, BY FORMING A SCATTER PLOT OF THE VALUES OF C R1 = ||ERREST - LE||/ERRBND (VERTICAL AXIS) AGAINST R2 = C ||ERREST||/ERRBND (HORIZONTAL) AT EACH STEP. NOTE ERREST - C LE = -(Y* - YLOC) = -LE*, SAY, SO THAT LENRM DEFINED ABOVE IS C R1 IF LOCAL EXTRAPOLATION IS BEING DONE. FOR AN 'IDEAL' ERROR C CONTROL STRATEGY, WE EXPECT THE PLOTTED POINTS TO CLUSTER NEAR C (1,0) ON THE GRAPH, WHETHER OR NOT LOCAL EXTRAPOLATION IS C USED. C C TO USE THIS LEVEL OF ANALYSIS THE USER MUST: C A) ENSURE THAT THE STATS CALL IN METHOD DELIVERS ERREST AS C DEFINED ABOVE (WITH THE CORRECT SIGN!). C B) SET OPTION(4) AS FOLLOWS. C =0 ARGUMENT Y TO STATS IS Y ABOVE (NO LOCAL EXTRAPOLATION). C =1 Y IS Y* ABOVE (LOCAL EXTRAPOLATION). C C FOR EACH INTEGRATION, A SCATTER PLOT IS PRODUCED. EACH OF THE C RATIOS R1, R2 IS PUT INTO ONE OF 12 CLASS-INTERVALS C -7 -7 -6 2 3 3 C 0<=R<2 , 2 <=R<2 , ..., 2 <=R<2 , 2 <=R= 2, AND HAVE A POSSIBLY MORE EFFICIENT C CODE TO PUT IN ITS PLACE. NSTL IS RELEVANT IF YOU ARE C INTERESTED IN THE ALGORITHMS USED BY THE PACKAGE, SPECIFICALLY THE C STEP-LUMPING PROCESS WHICH TAKES PLACE IN STATS AT STRINGENT C TOLERANCES. C C C C C 9. SUBROUTINES IN THE PACKAGE C ----------- -- --- ------- C C IN ORDER OF APPEARANCE IN THE FILES. THE LIST ALSO SHOWS, FOR EACH C ROUTINE, THE OTHER PACKAGE ROUTINES AND COMMON AREAS WHICH IT USES. A C NAME IN PARENTHESES, LIKE (FCN) DENOTES A ROUTINE WHICH IS CALLED AT C ONE REMOVE (EG. METHOD CALLS SOLVER WHICH MUST CALL FCN) OR WHICH IS C PASSED AS AN ARGUMENT RATHER THAN BEING AN EXTERNAL REFERENCE (EG. C FCN IN TRUE). C C IN CONCLK FILE C CONST CALLS: NONE C CLOCK CALLS: NONE C C IN STDTST FILE C STDTST CALLS: PARCHK LSQFIT RATIO EFSTAT CNTROL CONST ; STCOM1 C STCOM3 C PARCHK CALLS: NONE C LSQFIT CALLS: NONE C RATIO CALLS: NONE C EFSTAT CALLS: NONE C CNTROL CALLS: DIFNRM STATS CONST CLOCK IVALU EVALU METHOD PLOT ; C STCOM1 STCOM2 STCOM3 STCOM5 STCOM6 C DIFNRM CALLS: NONE C STATS CALLS: DIFNRM CONST TRUE FCN PDERV PLOT ; STCOM1 STCOM2 C STCOM3 STCOM4 STCOM6 C PLOT CALLS: NONE C C IN STTRUE FILE C TRUE CALLS: CONST STEP NEWSTP COEFF DDCOMP DSOLVE (FCN C PDERV ) C STEP CALLS: NONE C NEWSTP CALLS: NONE C COEFF CALLS: NONE C DDCOMP CALLS: ; STCOM6 C DSOLVE CALLS: NONE C C IN STPROB FILE C IVALU CALLS: NONE C EVALU CALLS: NONE C FCN CALLS: ; STCOM5 STCOM6 C PDERV CALLS: ; STCOM5 STCOM6 C C USER-SUPPLIED C METHOD CALLS: STATS (FCN PDERV ) C C C 10. DEFINITION OF COMMON AREAS AND DICTIONARY OF DATA-FLOW C ---------- -- ------ ----- --- ---------- -- --------- C C THE FLOW OF INFORMATION BETWEEN THOSE ROUTINES WHICH USE COMMON IS C INDICATED FOR EACH VARIABLE BY THE CODES C S: THE VARIABLE IS ASSIGNED A VALUE (SET) IN THIS ROUTINE, POSSIBLY C BY A CALL TO ANOTHER ROUTINE TO WHICH THE VARIABLE IS PASSED AS C AN ARGUMENT. C A: THE VALUE IS USED (ACCESSED) IN THIS ROUTINE. C C FOR COUNTERS AND SIMILAR VARIABLES, THESE CODES ARE USED INSTEAD OF C CODE S: C I: THE VARIABLE IS INITIALIZED IN THIS ROUTINE. C U: THE VARIABLE IS UPDATED IN THIS ROUTINE. C C C COMMON /STCOM1/ PASSES INFORMATION FROM STDTST TO CNTROL AND STATS. C C STDTST C | CNTROL C | | STATS C | | | DIFNRM C | | | | C S A A - ERRTOL DOUBLE. COPY OF CURRENT ERROR TOLERANCE. C S A A - OPT INTEGER. COPY OF OPTION(1) ARGUMENT OF STDTST. C S - - A NRMTYP INTEGER. COPY OF OPTION(3) ARGUMENT OF STDTST. C S - A - XTRAP INTEGER. COPY OF OPTION(4) ARGUMENT OF STDTST. C S A - - ID INTEGER. INTERNAL CODE OF CURRENT PROBLEM, 1 FOR A1, C ..., 13 FOR B3, ETC. C S A - - IWT INTEGER. FLAG FOR SCALING (+1: SCALED. -1: C UNSCALED) C S - - - IOUT INTEGER. STANDARD OUTPUT UNIT NUMBER. C C C C C COMMON /STCOM2/ COMMUNICATES BETWEEN CNTROL AND STATS. C C CNTROL C | STATS C | | C S A XEND DOUBLE. END OF INTEGRATION RANGE OF CURRENT PROBLEM. C A S HSTART DOUBLE. INITIAL STEPSIZE PASSED TO METHOD FOR C INTEGRATION PROPER. C S A N INTEGER. NO. OF EQUATIONS IN CURRENT PROBLEM. C S A IFLAG INTEGER. SET BY CNTROL TO INFORM STATS WHAT IT IS TO C DO: C =0 METHOD IS BEING TIMED. C =1 INITIALIZING CALL OF STATS FROM CNTROL TO SET UP C STCOM4. C =2 PRELIMINARY INTEGRATION TO DETERMINE HSTART, ABORTED C AFTER 2 STEPS. C =3 INTEGRATION PROPER, COMPILING STATISTICS. C C C A SA INDL,INDG C ERROR FLAGS FOR THE LOCAL AND GLOBAL 'TRUE SOLUTIONS' C OBTAINED BY CALLS TO ROUTINE TRUE. C C C C C C COMMON /STCOM3/ OUTPUTS STATISTICS FROM CNTROL AND STATS. C C STDTST C | CNTROL C | | STATS C | | | C A S - XFIN DOUBLE. POINT OF FAILURE OF METHOD IF IT DOESN'T REACH C XEND. C A - S XTRUE DOUBLE. POINT OF FAILURE OF TRUE IF ANY. IF BOTH C LOCAL AND GLOBAL FAIL, POINT OF GLOBAL FAILURE IS C RETURNED. C A S - TIME REAL. CPU TIME FOR ONE INTEGRATION AS MEASURED BY C CLOCK FUNCTION. C A S - OVHD REAL. EQUALS TIME LESS ESTIMATED COST OF FCN, PDERV C AND MATRIX FACTORIZATION CALLS. C A I U TRUTIM REAL. THE TIME SPENT IN CALLS TO TRUE. NOT RELEVANT C TO PERFORMANCE OF METHOD BUT MEASURES THE OVERHEAD C INCURRED BY THE TESTING PACKAGE WHEN OPT = 2, 3 OR 4. C NOT PRINTED BUT AVAILABLE. C A S - GEND REAL. NORM OF GLOBAL ERROR OF METHOD AT XEND. C C C A I U GEMX REAL. MAXIMUM OF GLOBAL ERROR OVER ALL LUMPED STEP C MESHPOINTS, IE. USUALLY OVER ALL MESHPOINTS OF METHOD, C EXCEPT WHEN ERRTOL IS VERY SMALL. C A I U LEMXSC REAL. MAXIMUM LOCAL ERROR IN UNITS OF ERRBND, OVER ALL C LUMPED STEP MESHPOINTS. C A S - NFCN,NJAC,NLUD C INTEGER. COPIES OF NFCN1,NJAC1,NLUD1, SEE /STCOM5/, C /STCOM6/ C A I U NSTP INTEGER. COUNTS (UNLUMPED) STEPS TAKEN BY METHOD IN C CURRENT INTEGRATION. C - I U NSTL INTEGER. COUNTS LUMPED STEPS FORMED IN CURRENT C INTEGRATION (SEE STATS). NOT PRINTED BUT AVAILABLE. C A I U NDCV,NBAD C INTEGER. COUNT LUMPED STEPS ON WHICH SOLVER'S LOCAL C ERROR CONTROL WAS DECEIVED, RESP. BADLY DECEIVED. C A I U NTRU INTEGER. COUNTS LUMPED STEPS ON WHICH TRUE LOCAL C SOLUTION WAS SUCCESSFULLY COMPUTED, HENCE VALID LOCAL C ERROR STATISTICS OBTAINED. USED IN COMPUTING 'FRACTION C DECEIVED' INFORMATION. REPORTED IF DIFFERENT FROM C NSTP. NOTE NTRU <= NSTL <= NSTP. C - S - NSTART INTEGER. NO. OF FCN CALLS NEEDED BY METHOD TO START, C IE. TO DO PRELIMINARY INTEGRATION (2 STEPS). NOT C PRINTED OUT BUT AVAILABLE. C C C COMMON /STCOM4/ IS USED ONLY BY STATS, TO PRESERVE INFORMATION FROM C ONE CALL OF STATS TO ANOTHER. ALL VARIABLES ARE SET AND/OR UPDATED IN C STATS. C C XOLD1 DOUBLE. SIMILAR TO XOLD BUT USED IN PRELIMINARY C INTEGRATION. C XOLD,YOLD C DOUBLE AND DOUBLE ARRAY. COPY OF METHOD'S COMPUTED C SOLUTION AT END OF PREVIOUS LUMPED STEP. USED AS C ACTUAL ARGUMENTS OF TRUE LOCAL SOLUTION CALL. C XOLDG,YOLDG C DOUBLE AND DOUBLE ARRAY. HOLD 'TRUE' GLOBAL SOLUTION C UPDATED TO END OF PREVIOUS LUMPED STEP. USED AS ACTUAL C ARGUMENTS OF TRUE GLOBAL SOLUTION CALL. C CG,PDG,WKG,WG,YPG,INFG C WORKSPACE FOR 'TRUE' GLOBAL SOLUTION. C XT DOUBLE. HOLDS LAST METHOD MESHPOINT BETWEEN CALLS TO C STATS. C PRECIS DOUBLE. HOLDS 1000 * (UNIT ROUNDOFF) APPROX. C ERLUMP DOUBLE. ACCUMULATES METHOD'S LOCAL ERROR ESTIMATES TO C FORM AN ESTIMATE OVER A LUMPED STEP. C C C COMMON /STCOM5/ PASSES INFORMATION BETWEEN CNTROL AND FCN, PDERV, (OR C ANY REPLACEMENTS A USER MAY PROVIDE FOR FCN, PDERV). C C CNTROL C | FCN C | | PDERV C | | | C C S A A WT DOUBLE. ARRAY OF WEIGHTS USED TO IMPLEMENT THE C 'SCALED' INTEGRATION OPTION. C S A A IWT1,N1,ID1 C INTEGER. COPIES OF IWT,N,ID IN /STCOM1/ OR /STCOM2/. C C C COMMON /STCOM6/ HOLDS COUNTERS. THEY ARE INITIALIZED IN CNTROL, C SAVED-AND-RESTORED IN STATS, AND EVENTUALLY COPIED BY CNTROL TO THE C CORRESPONDING VARIABLES IN /STCOM3/. C C CNTROL C | STATS C | | FCN C | | | PDERV C | | | | DDCOMP,ETC C | | | | | C C IA AS U - - NFCN1 INTEGER. COUNTS CALLS TO FCN. C IA AS - U - NJAC1 INTEGER. COUNTS CALLS TO PDERV. C IA AS - - U NLUD1 INTEGER. COUNTS CALLS TO ANY "O(N CUBED)" C LINEAR ALGEBRA ROUTINES WHICH METHOD MAY EMPLOY. IN C PARTICULAR IT IS INCREMENTED BY THE LU DECOMPOSITION C ROUTINE DDCOMP WHICH IS USED BY TRUE AND IS AVAILABLE C TO THE USER. C C C THERE IS ALSO A COMMON/STCOM7/ USED BY THE DUMMY (DEBUGGING) VERSIONS C OF STDTST AND STATS FOR COMMUNICATION. C C--------+---------+---------+---------+---------+---------+---------+-- C E N D O F G E N E R A L D O C U M E N T A T I O N C********+*********+*********+*********+*********+*********+*********+** C C DESCRIPTION OF STDTST C ----------- -- ------ C C ROUTINE STDTST INTERPRETS THE LIST OF TOLERANCES AND LIST OF C GROUPS OF PROBLEMS SPECIFIED IN THE ARGUMENTS. USING CNTROL C TO GATHER INDIVIDUAL STATISTICS FOR ONE PROBLEM AT ONE C TOLERANCE, IT ORGANIZES THE FORMATION AND OUTPUT OF SUMMARY C STATISTICS. C INDIVIDUAL STATISTICS ARE INDEXED OVER TOLERANCES, PROBLEMS C AND GROUPS. C 'PROBLEMS-SUMMARY' MEANS SUM OF THESE OVER PROBLEMS IN A GROUP. C 'GROUPS-SUMMARY' MEANS SUM OF PROBLEMS-SUMMARY OVER ALL GROUPS. C 'OVERALL-SUMMARY' MEANS SUM OF GROUPS-SUMMARIES OVER ALL C TOLERANCES. C (READ 'MAX' FOR 'SUM' IN CASE OF SOME OF THE STATISTICS.) C C LOCAL VARIABLES: C PSNFCN,PSNJAC,... HOLD THE SUMMARY OVER PROBLEMS IN A GROUP C OF NFCN,NJAC,... (SEE DESCRIPTION OF /STCOM3/) AT ALL THE C TOLERANCES USED. C GSNFCN,... HOLD SUMMARY OVER GROUPS OF PSNFCN,... C OSNFCN,... HOLD OVERALL SUMMARY (OVER TOLERANCES) OF GSNFCN,... C C LGTOL HOLDS LOGARITHMS TO BASE 10 OF ELEMENTS OF ARRAY TOL, C AND LGGEMX,LGGEND HOLD LOGARITHMS OF CORRESPONDING GEMX C AND GEND VALUES, USED IN SMOOTHNESS CALCULATIONS. C NSNFCN,... STORE NFCN,... FOR ONE PROBLEM AT ALL TOLERANCES C USED, FOR USE IN NORMALIZED EFFICIENCY CALCULATIONS. C ERFLGE,ERFLG1 FLAG 'MISSING VALUES' IN SMOOTHNESS AND NORMALIZED C EFFICIENCY CALCULATIONS. C C C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREAS C--------+---------+---------+---------+---------+---------+---------+-- C1 C3 C .. Scalar Arguments .. REAL FLAG CHARACTER*80 TITLE C .. Array Arguments .. REAL TOL(11) INTEGER IDLIST(60), OPTION(10) C .. Scalars in Common .. DOUBLE PRECISION ERRTOL, XFIN, XTRUE REAL GEMX, GEND, LEMXSC, OVHD, TIME, TRUTIM INTEGER ID, IOUT, IWT, NBAD, NDCV, NFCN, NJAC, NLUD, * NRMTYP, NSTART, NSTL, NSTP, NTRU, OPT, XTRAP C .. Local Scalars .. REAL BIG, C, C1, CTEN, CTEN1, DUM, E, E1, FBADEC, * FDECEV, GEMXSC, GENDSC, OSLEMX, OSOVHD, OSTIME, * RES, RES1, TOLK INTEGER CMPLET, I, ICH, IDSUB, IID, INDG1, INDL1, * KCLASS, KGRP, KSYST, KTOL, NGRP, NOK, NOK1, * NORMEF, NSYST, NTOL, OSNBAD, OSNDCV, OSNFCN, * OSNJAC, OSNLUD, OSNSTP, OSNTRU CHARACTER BL CHARACTER*10 IDCLAS CHARACTER*32 MCNAME C .. Local Arrays .. REAL GSLEMX(10), GSOVHD(10), GSTIME(10), LGGEMX(10), * LGGEND(10), LGTOL(10), NSOVHD(10), NSTIME(10), * PSGEMX(10), PSGEND(10), PSLEMX(10), PSOVHD(10), * PSTIME(10) INTEGER GRPLST(2,6), GSNBAD(10), GSNDCV(10), GSNFCN(10), * GSNJAC(10), GSNLUD(10), GSNSTP(10), GSNTRU(10), * NSNFCN(10), NSNJAC(10), NSNLUD(10), NSNSTP(10), * PSNBAD(10), PSNDCV(10), PSNFCN(10), PSNJAC(10), * PSNLUD(10), PSNSTP(10), PSNTRU(10) LOGICAL ERFLG1(10), ERFLGE(10) C .. External Functions .. REAL CONST, RATIO EXTERNAL CONST, RATIO C .. External Subroutines .. EXTERNAL CNTROL, EFSTAT, LSQFIT, PARCHK, PLOT C .. Intrinsic Functions .. INTRINSIC ALOG10, AMAX1, CHAR, DBLE, IABS, ISIGN C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, * IOUT COMMON /STCOM3/XFIN, XTRUE, TIME, OVHD, TRUTIM, GEND, * GEMX, LEMXSC, NFCN, NJAC, NLUD, NSTP, NSTL, * NDCV, NBAD, NTRU, NSTART C .. Data statements .. CE C DATA IDCLAS/'ABCDEFGHIJ'/, BL/' '/, BIG/1.E20/ C .. Executable Statements .. C C--------+---------+---------+---------+---------+---------+---------+-- C COPY THE ENTRIES IN ARRAY 'OPTION'. C DO DUMMY CALL TO CONST TO INVOKE MACHINE-DEPENDENT INITIALIZ- C ATIONS. SET MACHINE NAME. SET OUTPUT UNIT NUMBER. C WRITE OUTPUT-HEADING. CALL ARGUMENT-CHECKING ROUTINE. C--------+---------+---------+---------+---------+---------+---------+-- OPT = OPTION(1) NORMEF = OPTION(2) NRMTYP = OPTION(3) XTRAP = OPTION(4) DUM = CONST(0) DO 20 I = 1, 32 ICH = CONST(-I) MCNAME(I:I) = CHAR(ICH) 20 CONTINUE IOUT = CONST(3) C WRITE (IOUT,FMT=99999) OPT, NORMEF, NRMTYP, MCNAME C CALL PARCHK(OPT,NORMEF,NRMTYP,TOL,IDLIST,NTOL,NGRP,GRPLST,LGTOL, * FLAG) IF (FLAG.EQ.0.) GO TO 40 WRITE (IOUT,FMT=99998) FLAG RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C INITIALIZE OVERALL- AND GROUPS-SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- 40 OSTIME = 0. OSOVHD = 0. OSNFCN = 0 OSNJAC = 0 OSNLUD = 0 OSNSTP = 0 OSNTRU = 0 OSLEMX = 0. OSNDCV = 0 OSNBAD = 0 DO 60 I = 1, NTOL GSTIME(I) = 0. GSOVHD(I) = 0. GSNFCN(I) = 0 GSNJAC(I) = 0 GSNLUD(I) = 0 GSNSTP(I) = 0 GSNTRU(I) = 0 GSLEMX(I) = 0. GSNDCV(I) = 0 GSNBAD(I) = 0 60 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C LOOP OVER GROUPS OF PROBLEMS C--------+---------+---------+---------+---------+---------+---------+-- C DO 300 KGRP = 1, NGRP C C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT HEADING, ON NEW PAGE FOR GROUPS AFTER FIRST. C SELECT GROUP OF DIFFERENTIAL EQUATIONS. C GET NO. OF SYSTEMS IN THIS GROUP, & OFFSET FOR C POSITION OF ITEM IN GROUP WITHIN IDLIST. C INITIALIZE PROBLEM SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- IF (KGRP.GT.1) WRITE (IOUT,FMT=99997) WRITE (IOUT,FMT=99996) KGRP, TITLE C NSYST = GRPLST(1,KGRP) IDSUB = GRPLST(2,KGRP) C DO 80 I = 1, NTOL PSTIME(I) = 0. PSOVHD(I) = 0. PSNFCN(I) = 0 PSNJAC(I) = 0 PSNLUD(I) = 0 PSNSTP(I) = 0 PSNTRU(I) = 0 PSLEMX(I) = 0. PSNDCV(I) = 0 PSNBAD(I) = 0 PSGEMX(I) = 0. PSGEND(I) = 0. 80 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C LOOP OVER PROBLEMS WITHIN A GROUP C--------+---------+---------+---------+---------+---------+---------+-- DO 260 KSYST = 1, NSYST C--------+---------+---------+---------+---------+---------+---------+-- C GET NEXT PROBLEM-ID: C EXTRACT THE WEIGHTING OPTION (IWT=1 OR -1). C UNPACK ID INTO CLASSNAME + INDEX WITHIN CLASS AND TRANSLATE C INTO STDTST INTERNAL ID BY SUBTRACTING 10: C--------+---------+---------+---------+---------+---------+---------+-- IDSUB = IDSUB + 1 ID = IDLIST(IDSUB) IWT = ISIGN(1,ID) ID = IABS(ID) KCLASS = (ID-1)/10 IID = ID - 10*KCLASS ID = ID - 10 IF (IWT.GT.0) WRITE (IOUT,FMT=99995) IDCLAS(KCLASS:KCLASS), * IID IF (IWT.LE.0) WRITE (IOUT,FMT=99994) IDCLAS(KCLASS:KCLASS), * IID WRITE (IOUT,FMT=99993) (BL,I=1,OPT) WRITE (IOUT,FMT=99992) (BL,I=1,OPT) C C--------+---------+---------+---------+---------+---------+---------+-- C LOOP OVER TOLERANCES FOR ONE PROBLEM C--------+---------+---------+---------+---------+---------+---------+-- DO 220 KTOL = 1, NTOL C--------+---------+---------+---------+---------+---------+---------+-- C CALL PLOT TO INITIALIZE LOCAL-ERROR SCATTER DIAGRAM C IF OPT=4. C CALL CNTROL TO ORGANIZE THE COLLECTION OF C STATISTICS. C ON EXIT FROM CNTROL THE VALUE OF CMPLET WILL C INDICATE WHETHER A FAILURE OCCURRED. C C CMPLET = 1 NO FAILURES. C CMPLET = 0 DETEST FAILED TO OBTAIN TRUE C LOCAL OR GLOBAL SOLUTION. C CMPLET = -1 METHOD FAILED TO REACH THE END C OF RANGE. C CMPLET = -2 DETEST FAILED AND SUBSEQUENTLY C METHOD FAILED. C CMPLET = -3 METHOD COULD NOT START THE C INTEGRATION. C CMPLET = -4 METHOD COMPLETED THE STATISTICS C GATHERING BUT FAILED IN TIMING LOOP. C C ON EXIT INDG1,INDL1 HOLD EXIT-FLAGS OF 'TRUE' C GLOBAL AND LOCAL SOLUTIONS RESPECTIVELY. C C ERFLGE(KTOL) IS TRUE IF METHOD FAILED TO REACH XEND. C ERFLG1(KTOL) IS TRUE IF EITHER METHOD OR C TRUE-SOLUTION FAILED TO REACH XEND (THUS INVALIDATING C GEMX AS DATA FOR SMOOTHNESS CALC WHEN NORMEF=2 ). C C IF CMPLET IS -4,-2,-1,0 OR 1 PRINT A LINE OF STATISTICS: C IF CMPLET ISNT 1, PRINT AN ERROR MESSAGE. C CALL PLOT TO PRINT LOCAL-ERROR SCATTER DIAGRAM C IF OPT=4 C NOTE IF METHOD FAILED TO REACH XEND, ANY STATISTICS FOR C THIS PROBLEM ARE PRINTED BUT DO NOT CONTRIBUTE TO THE C SUMMARY STATISTICS. CONVERSELY IF METHOD REACHED XEND, C ALL STATISTICS CONTRIBUTE TO THE SUMMARIES THOUGH GEMX, C LEMXSC,NDCV,NBAD,NTRU ONLY APPLY TO PART OF THE RANGE C IF 'TRUE' FAILED. C--------+---------+---------+---------+---------+---------+---------+-- C TOLK = TOL(KTOL) ERRTOL = DBLE(TOLK) IF (OPT.EQ.4) CALL PLOT(0.,0.,0) C CALL CNTROL(CMPLET,INDG1,INDL1) C ERFLGE(KTOL) = CMPLET .LT. 0 .AND. CMPLET .GT. -4 ERFLG1(KTOL) = CMPLET .LT. 1 .AND. CMPLET .GT. -4 GENDSC = BIG IF (ERFLGE(KTOL)) GO TO 100 GENDSC = GEND/TOLK LGGEND(KTOL) = ALOG10(AMAX1(GEND,.01*TOLK)) 100 CONTINUE GEMXSC = GEMX/TOLK FDECEV = RATIO(NDCV,NTRU) FBADEC = RATIO(NBAD,NTRU) C IF (CMPLET.EQ.-3) GO TO 120 IF (OPT.EQ.1) WRITE (IOUT,FMT=99991) LGTOL(KTOL), TIME, * OVHD, NFCN, NJAC, NLUD, NSTP, GENDSC IF (OPT.EQ.2) WRITE (IOUT,FMT=99991) LGTOL(KTOL), TIME, * OVHD, NFCN, NJAC, NLUD, NSTP, GENDSC, GEMXSC IF (OPT.GE.3) WRITE (IOUT,FMT=99991) LGTOL(KTOL), TIME, * OVHD, NFCN, NJAC, NLUD, NSTP, GENDSC, GEMXSC, LEMXSC, * FDECEV, FBADEC IF (OPT.GE.3 .AND. NSTP.NE.NTRU) WRITE (IOUT,FMT=99990) * NTRU 120 CONTINUE C C IF (CMPLET.EQ.-4) WRITE (IOUT,FMT=99989) IF (CMPLET.EQ.-3) WRITE (IOUT,FMT=99988) LGTOL(KTOL) C IF (CMPLET.EQ.-2) WRITE (IOUT,FMT=99987) XTRUE, INDG1, * INDL1, XFIN C IF (CMPLET.EQ.-1) WRITE (IOUT,FMT=99986) XFIN C IF (CMPLET.EQ.0) WRITE (IOUT,FMT=99985) XTRUE, INDG1, * INDL1 C IF (OPT.EQ.4) THEN C WRITE (IOUT,FMT=99984) XTRAP C CALL PLOT(0.,0.,2) END IF C FOR EVALUATING PERFORMANCE OF 'TRUE': C CALL TRUCHK(4,IDUM) C C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE PROBLEMS-SUMMARY STATS IF METHOD REACHED XEND. C (IF IT DIDN'T, DON'T UPDATE THE LOCAL-ASSESSMENT INFO: C NTRU,LEMXSC,NDCV,NBAD. THIS IS AN ARBITRARY CHOICE, IT C MAKES IT SIMPLER TO EXPLAIN TO THE USER. C STORE NORMEF STATISTICS: C--------+---------+---------+---------+---------+---------+---------+-- C IF (ERFLGE(KTOL)) GO TO 180 PSTIME(KTOL) = PSTIME(KTOL) + TIME PSOVHD(KTOL) = PSOVHD(KTOL) + OVHD PSNFCN(KTOL) = PSNFCN(KTOL) + NFCN PSNSTP(KTOL) = PSNSTP(KTOL) + NSTP PSNJAC(KTOL) = PSNJAC(KTOL) + NJAC PSNLUD(KTOL) = PSNLUD(KTOL) + NLUD PSGEND(KTOL) = AMAX1(PSGEND(KTOL),GENDSC) C IF (OPT.LT.2) GO TO 140 PSGEMX(KTOL) = AMAX1(PSGEMX(KTOL),GEMXSC) LGGEMX(KTOL) = ALOG10(AMAX1(GEMX,.01*TOLK)) C 140 IF (OPT.LT.3) GO TO 160 PSNTRU(KTOL) = PSNTRU(KTOL) + NTRU PSLEMX(KTOL) = AMAX1(PSLEMX(KTOL),LEMXSC) PSNDCV(KTOL) = PSNDCV(KTOL) + NDCV PSNBAD(KTOL) = PSNBAD(KTOL) + NBAD 160 CONTINUE 180 CONTINUE C IF (NORMEF.EQ.0) GO TO 200 NSTIME(KTOL) = TIME NSOVHD(KTOL) = OVHD NSNFCN(KTOL) = NFCN NSNSTP(KTOL) = NSTP NSNJAC(KTOL) = NJAC NSNLUD(KTOL) = NLUD 200 CONTINUE C--------+---------+---------+---------+---------+---------+---------+-- C END OF LOOP OVER TOLERANCES FOR ONE PROBLEM C--------+---------+---------+---------+---------+---------+---------+-- 220 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C SMOOTHNESS AND NORMALIZED EFFICIENCY CALCULATIONS BEGIN C--------+---------+---------+---------+---------+---------+---------+-- WRITE (IOUT,FMT=99983) C WRITE (IOUT,FMT=99982) C CALL LSQFIT(LGTOL,LGGEND,ERFLGE,NTOL,NOK,C,E,RES) C CTEN = 10.**C IF (NOK.LE.2) WRITE (IOUT,FMT=99981) NOK C IF (NOK.GT.2) WRITE (IOUT,FMT=99980) CTEN, E, RES, NOK C IF (OPT.LT.2) GO TO 240 WRITE (IOUT,FMT=99979) C CALL LSQFIT(LGTOL,LGGEMX,ERFLG1,NTOL,NOK1,C1,E1,RES1) C CTEN1 = 10.**C1 IF (NOK1.LE.2) WRITE (IOUT,FMT=99981) NOK1 IF (NOK1.GT.2) WRITE (IOUT,FMT=99980) CTEN1, E1, RES1, NOK1 240 CONTINUE C IF (NORMEF.EQ.1) CALL EFSTAT(C,E,LGTOL,NTOL,NOK,ERFLGE, * 'ENDPOINT',IOUT,NSTIME,NSOVHD, * NSNFCN,NSNJAC,NSNLUD,NSNSTP) C IF (NORMEF.EQ.2) CALL EFSTAT(C1,E1,LGTOL,NTOL,NOK1,ERFLG1, * 'MAXIMUM ',IOUT,NSTIME,NSOVHD, * NSNFCN,NSNJAC,NSNLUD,NSNSTP) C C--------+---------+---------+---------+---------+---------+---------+-- C SMOOTHNESS AND NORMALIZED EFFICIENCY CALCULATIONS END C--------+---------+---------+---------+---------+---------+---------+-- C C--------+---------+---------+---------+---------+---------+---------+-- C END OF LOOP OVER PROBLEMS IN A GROUP. C--------+---------+---------+---------+---------+---------+---------+-- 260 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT PROBLEMS-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- C WRITE (IOUT,FMT=99978) KGRP WRITE (IOUT,FMT=99993) (BL,I=1,OPT) WRITE (IOUT,FMT=99992) (BL,I=1,OPT) DO 280 KTOL = 1, NTOL FDECEV = RATIO(PSNDCV(KTOL),PSNTRU(KTOL)) FBADEC = RATIO(PSNBAD(KTOL),PSNTRU(KTOL)) C IF (OPT.EQ.1) WRITE (IOUT,FMT=99991) LGTOL(KTOL), * PSTIME(KTOL), PSOVHD(KTOL), PSNFCN(KTOL), PSNJAC(KTOL), * PSNLUD(KTOL), PSNSTP(KTOL), PSGEND(KTOL) C IF (OPT.EQ.2) WRITE (IOUT,FMT=99991) LGTOL(KTOL), * PSTIME(KTOL), PSOVHD(KTOL), PSNFCN(KTOL), PSNJAC(KTOL), * PSNLUD(KTOL), PSNSTP(KTOL), PSGEND(KTOL), PSGEMX(KTOL) C IF (OPT.GE.3) WRITE (IOUT,FMT=99991) LGTOL(KTOL), * PSTIME(KTOL), PSOVHD(KTOL), PSNFCN(KTOL), PSNJAC(KTOL), * PSNLUD(KTOL), PSNSTP(KTOL), PSGEND(KTOL), PSGEMX(KTOL), * PSLEMX(KTOL), FDECEV, FBADEC C IF (OPT.GE.3 .AND. PSNSTP(KTOL).NE.PSNTRU(KTOL)) * WRITE (IOUT,FMT=99990) PSNTRU(KTOL) C C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE GROUPS-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- GSTIME(KTOL) = GSTIME(KTOL) + PSTIME(KTOL) GSOVHD(KTOL) = GSOVHD(KTOL) + PSOVHD(KTOL) GSNFCN(KTOL) = GSNFCN(KTOL) + PSNFCN(KTOL) GSNJAC(KTOL) = GSNJAC(KTOL) + PSNJAC(KTOL) GSNLUD(KTOL) = GSNLUD(KTOL) + PSNLUD(KTOL) GSNSTP(KTOL) = GSNSTP(KTOL) + PSNSTP(KTOL) C IF (OPT.LT.3) GO TO 280 GSNTRU(KTOL) = GSNTRU(KTOL) + PSNTRU(KTOL) GSLEMX(KTOL) = AMAX1(GSLEMX(KTOL),PSLEMX(KTOL)) GSNDCV(KTOL) = GSNDCV(KTOL) + PSNDCV(KTOL) GSNBAD(KTOL) = GSNBAD(KTOL) + PSNBAD(KTOL) 280 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C END OF LOOP OVER GROUPS C--------+---------+---------+---------+---------+---------+---------+-- 300 CONTINUE C C C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT HEADINGS FOR GROUPS- AND OVERALL-SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- WRITE (IOUT,FMT=99977) TITLE, (BL,I=1,OPT) WRITE (IOUT,FMT=99976) (BL,I=1,OPT) C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT GROUPS-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.GE.3) GO TO 340 DO 320 I = 1, NTOL WRITE (IOUT,FMT=99975) LGTOL(I), GSTIME(I), GSOVHD(I), * GSNFCN(I), GSNJAC(I), GSNLUD(I), GSNSTP(I) 320 CONTINUE GO TO 380 340 DO 360 I = 1, NTOL FDECEV = RATIO(GSNDCV(I),GSNTRU(I)) FBADEC = RATIO(GSNBAD(I),GSNTRU(I)) WRITE (IOUT,FMT=99975) LGTOL(I), GSTIME(I), GSOVHD(I), * GSNFCN(I), GSNJAC(I), GSNLUD(I), GSNSTP(I), GSLEMX(I), * FDECEV, FBADEC C IF (GSNSTP(I).NE.GSNTRU(I)) WRITE (IOUT,FMT=99990) GSNTRU(I) 360 CONTINUE 380 CONTINUE C C--------+---------+---------+---------+---------+---------+---------+-- C COMPUTE OVERALL-SUMMARY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- DO 400 I = 1, NTOL OSTIME = OSTIME + GSTIME(I) OSOVHD = OSOVHD + GSOVHD(I) OSNFCN = OSNFCN + GSNFCN(I) OSNJAC = OSNJAC + GSNJAC(I) OSNLUD = OSNLUD + GSNLUD(I) OSNSTP = OSNSTP + GSNSTP(I) C IF (OPT.LT.3) GO TO 400 OSNTRU = OSNTRU + GSNTRU(I) OSNDCV = OSNDCV + GSNDCV(I) OSNBAD = OSNBAD + GSNBAD(I) OSLEMX = AMAX1(OSLEMX,GSLEMX(I)) 400 CONTINUE FDECEV = RATIO(OSNDCV,OSNTRU) FBADEC = RATIO(OSNBAD,OSNTRU) C--------+---------+---------+---------+---------+---------+---------+-- C OUTPUT OVERALL-SUMMARY STATISTICS C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.LT.3) WRITE (IOUT,FMT=99974) OSTIME, OSOVHD, OSNFCN, * OSNJAC, OSNLUD, OSNSTP C IF (OPT.GE.3) WRITE (IOUT,FMT=99974) OSTIME, OSOVHD, OSNFCN, * OSNJAC, OSNLUD, OSNSTP, OSLEMX, FDECEV, FBADEC C C RETURN C 99999 FORMAT ('0STIFF DETEST PACKAGE OPT=',I2,', NORMEF=',I2, * ', NRMTYP=',I2,19X,'ON ',A,//) 99998 FORMAT ('0PARAMETER ERRORS AS SHOWN BY FLAG=',E15.8,/' ',49('*') * ,//) 99997 FORMAT ('1') 99996 FORMAT ('0GROUP',I3,18X,A) 99995 FORMAT (/'0',A3,I1,' (SCALED)',/) 99994 FORMAT (/'0',A3,I1,' (UNSCALED)',/) 99993 FORMAT (' ',A1,6X,'LOG10',5X,'TIME',3X,'OVHD',5X,'FCN',5X,'JAC', * 5X,'MAT',4X,'NO OF',3X,'END PNT',A1,2X,'MAXIMUM',A1,2X, * 'MAXIMUM',3X,'FRACTION',3X,'FRACTION',A1) 99992 FORMAT (' ',A1,7X,'TOL',21X,'CALLS',3X,'CALLS',4X,'FACT',3X, * 'STEPS',3X,'GLB ERR',A1,2X,'GLB ERR',A1,2X,'LOC ERR',3X, * 'DECEIVED',3X,'BAD DECV',A1) 99991 FORMAT ('0',6X,F6.2,2X,2F7.3,1X,4I8,2X,F8.2,1X,F9.2,1X,F9.3,1X, * F9.3,1X,F10.3,1X,F10.3) 99990 FORMAT (114X,'(LOC ASSESS ON',I4,')') 99989 FORMAT ('0',20X, * '***** UNEXPECTED FAILURE OF METHOD WHILE BEING TIMED *****' * ,/) 99988 FORMAT ('0',6X,F6.2,' *** METHOD FAILED TO START ***') 99987 FORMAT (15X,'TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = ',1P, * E12.5,', ERROR FLAG (GLOBAL) ',I3,', (LOCAL) ',I3,/21X, * 'AND SUBSEQUENTLY METHOD FAILED AT X = ',1P,E12.5) 99986 FORMAT (21X,'METHOD FAILED AT X = ',1P,E12.5) 99985 FORMAT (21X,'TRUE-SOLUTION OF TEST PACKAGE FAILED AT X = ',1P, * E12.5,', ERROR FLAG (GLOBAL) ',I3,', (LOCAL) ',I3) 99984 FORMAT (/6X,'ERROR ESTIMATE ANALYSIS',10X, * 'EXTRAPOLATION (0=NO 1=YES):',I2,/11X, * 'HORIZONTAL AXIS: R1=||ERREST|| / ERRBND',/11X, * 'VERTICAL AXIS: R2 = ||ERROR IN ERREST|| / ERRBND',/11X, *'PLOT SHOWS % STEPS WHERE (R1,R2) LAY IN INDICATED PIGEONHOLE, A', *1X,'DOT MEANS UNDER 1%',/) 99983 FORMAT (/'0',17X,'SMOOTHNESS FIT OF LOG10(ERROR) VS LOG10(TOL)') 99982 FORMAT ('0',17X,'ENDPOINT GLOBAL ERROR') 99981 FORMAT (39X,I2,' VALUES, TOO FEW TO GET STATISTICS') 99980 FORMAT (39X,'=',1P,G10.3,' *(TOL**',0P,F6.3,') APPROX,',6X, * 'R.M.S. RESIDUAL=',1P,E8.1,' OVER',I3,' VALUES') 99979 FORMAT ('0',17X,'MAXIMUM GLOBAL ERROR') 99978 FORMAT (/'0SUMMARY OVER GROUP',I3) 99977 FORMAT ('1SUMMARY OVER ALL GROUPS',6X,A,//' ',A1,6X,'LOG10',5X, * 'TIME',3X,'OVHD',5X,'FCN',5X,'JAC',5X,'MAT',4X,'NO OF',2A1, * 2X,'MAXIMUM',3X,'FRACTION',3X,'FRACTION',A1) 99976 FORMAT (' ',A1,7X,'TOL',21X,'CALLS',3X,'CALLS',4X,'FACT',3X, * 'STEPS',2A1,2X,'LOC ERR',3X,'DECEIVED',3X,'BAD DECV',A1) 99975 FORMAT ('0',6X,F6.2,2X,2F7.3,1X,4I8,1X,3F11.3) 99974 FORMAT ('0',5X,'OVERALL',/6X,'SUMMARY',2X,2F7.3,1X,4I8,1X,3F11.3) END C C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE PARCHK(OPT,NORMEF,NRMTYP,TOL,IDLIST,NTOL,NGRP,GRPLST, * LGTOL,FLAG) C C********+*********+*********+*********+*********+*********+*********+** C ROUTINE TO DO PARAMETER CHECKS FOR REVISED STDTST INTERFACE. C C INPUT: OPT,NORMEF,NRMTYP,TOL,IDLIST C VALID INPUT IS: C OPTION = 1 2 3 OR 4 C NORMEF = 0 1 OR 2 C NRMTYP = 1 2 OR 3 C TOL = LIST OF UP TO 10 POSITIVE REAL'S FOLLOWED BY A 0., C IN STRICTLY DECREASING ORDER C IDLIST = LIST OF GROUPS OF PROBLEM-IDS SEPARATED BY ZEROS C WITH 2 ZEROS AFTER LAST GROUP, AT MOST 60 ITEMS TOTAL. C EACH ID MAY HAVE A MINUS SIGN TO SELECT THE 'UNSCALED' C ERROR CONTROL OPTION. C VALID PROBLEM-IDS ARE IN RANGES C 11-14 21-25 31-35 41-46 51-55 61-65 C FOR PROBLEM CLASSES A1-A4 B1-B5 ETC. C OUTPUT: NTOL = NO. OF TOLERANCES IN TOL LIST C NGRP = NO. OF GROUPS IN IDLIST LIST C GRPLST(1,I) = SIZE OF I-TH GROUP OF PROBLEMS CC ... (2,I) = POINTER TO (START OF I-TH GROUP)-1 IN IDLIST C LGTOL(I) = LOG10(TOL(I)) C FLAG IS ERROR FLAG, 0.0 IF ALL OK, ELSE ITS DECIMAL DIGITS C INDICATE WHICH PARAMETER ERRORS WERE FOUND: C 1: OPT INVALID C 2: NORMEF INVALID C 3: NORMEF = 2 REQUESTED WITH OPT = 1 C 4: TOL(I) < 0, OR LIST NOT IN DECREASING ORDER C 5: TOL LIST EMPTY OR NOT TERMINATED BY ZERO C 6: INVALID PROBLEM-ID FOUND C 7: LIST OF GROUPS IN IDLIST EMPTY,NOT TERMINATED BY C 2 ZEROS OR HAS MORE THAN MAXGRP GROUPS C 8: NRMTYP INVALID C--------+---------+---------+---------+---------+---------+---------+-- C C .. Scalar Arguments .. REAL FLAG INTEGER NGRP, NORMEF, NRMTYP, NTOL, OPT C .. Array Arguments .. REAL LGTOL(10), TOL(11) INTEGER GRPLST(2,6), IDLIST(60) C .. Local Scalars .. REAL BIG, TOLPRV INTEGER ENDLST, I, ID, IID, ISAV, KCLASS, LENIDS, * LENTOL, MAXGRP, NCLASS C .. Local Arrays .. INTEGER NSYSTM(6) C .. Intrinsic Functions .. INTRINSIC ALOG10, IABS C .. Data statements .. DATA ENDLST/-1/, BIG/1E20/ DATA NCLASS/6/, NSYSTM/4, 5, 5, 6, 5, 5/, MAXGRP/6/, * LENTOL/11/, LENIDS/60/ C .. Executable Statements .. C FLAG = 0. IF (OPT.LT.1 .OR. OPT.GT.4) FLAG = 1. IF (NORMEF.LT.0 .OR. NORMEF.GT.2) FLAG = 10.*FLAG + 2. IF (OPT.EQ.1 .AND. NORMEF.EQ.2) FLAG = 10.*FLAG + 3. IF (NRMTYP.LT.1 .OR. NRMTYP.GT.3) FLAG = 10.*FLAG + 8. C C TOLERANCES: NTOL = 0 TOLPRV = BIG DO 20 I = 1, LENTOL IF (TOL(I).LT.0. .OR. TOL(I).GE.TOLPRV) FLAG = 10.*FLAG + 4. IF (TOL(I).EQ.0.) GO TO 40 NTOL = NTOL + 1 TOLPRV = TOL(I) 20 CONTINUE C C NO TERMINATING 0 IN TOLERANCE LIST: FLAG = 10.*FLAG + 5. C C CHECK FOR EMPTY TOLERANCE LIST: 40 IF (NTOL.EQ.0) FLAG = 10.*FLAG + 5. C C LIST OF GROUPS OF PROBLEMS: NGRP = 0 I = 0 C C WHILE NEXT ID IN LIST ISNT 0 OR END OF LIST: 60 I = I + 1 ID = ENDLST IF (I.LE.LENIDS) ID = IDLIST(I) C IF (ID.EQ.0) GO TO 160 IF (NGRP.GE.MAXGRP) GO TO 180 ISAV = I - 1 C C WHILE ID ISNT 0, GET ONE GROUP: 80 IF (ID.EQ.0) GO TO 140 IF (ID.EQ.ENDLST) GO TO 180 C TRANSLATE ID INTO CLASS & NUMBER WITHIN CLASS, C IGNORING SIGN (WHICH SELECTS SCALED/UNSCALED OPTION): ID = IABS(ID) KCLASS = (ID-1)/10 IID = ID - 10*KCLASS IF ( .NOT. (KCLASS.GE.1 .AND. KCLASS.LE.NCLASS)) GO TO 100 IF (IID.LE.NSYSTM(KCLASS)) GO TO 120 100 FLAG = 10.*FLAG + 6. 120 CONTINUE C GET NEXT ID AS ABOVE: I = I + 1 ID = ENDLST IF (I.LE.LENIDS) ID = IDLIST(I) GO TO 80 C C NEW GROUP FORMED: 140 NGRP = NGRP + 1 GRPLST(1,NGRP) = I - ISAV - 1 GRPLST(2,NGRP) = ISAV GO TO 60 C C CHECK IF NO GROUPS WERE SPECIFIED: 160 IF (NGRP.LE.0) GO TO 180 GO TO 200 C 180 FLAG = 10.*FLAG + 7. C C IF ALL OK, COMPUTE LOGS OF TOLERANCES: C 200 IF (FLAG.NE.0.) GO TO 240 DO 220 I = 1, NTOL LGTOL(I) = ALOG10(TOL(I)) 220 CONTINUE 240 RETURN END SUBROUTINE LSQFIT(X,Y,MISS,N,NN,C0,C1,RES) C .. Scalar Arguments .. REAL C0, C1, RES INTEGER N, NN C .. Array Arguments .. REAL X(N), Y(N) LOGICAL MISS(N) C .. Local Scalars .. REAL SX, SXX, SXY, SY, XNN INTEGER I C .. Intrinsic Functions .. INTRINSIC SQRT C .. Executable Statements .. C C********+*********+*********+*********+*********+*********+*********+** C FITS MODEL Y = C0 + C1*X TO DATA X(I),Y(I),I = 1..N WHERE DATA C FOR WHICH MISS(I) IS .TRUE. IS REGARDED AS MISSING. C C ON EXIT C X,Y,MISS,N ARE UNCHANGED. C NN = NO. OF NONMISSING VALUES C C0,C1 = FITTED COEFFICIENTS C RES = ROOT MEAN SQUARE RESIDUAL C C EXCEPT THAT IF NN.LE.1 NO COMPUTATION OF THE COEFFICIENTS IS DONE. C--------+---------+---------+---------+---------+---------+---------+-- C NN = 0 SX = 0. SY = 0. DO 20 I = 1, N IF (MISS(I)) GO TO 20 NN = NN + 1 SX = SX + X(I) SY = SY + Y(I) 20 CONTINUE IF (NN.LE.1) GO TO 80 XNN = NN SX = SX/XNN SY = SY/XNN SXX = 0. SXY = 0. DO 40 I = 1, N IF (MISS(I)) GO TO 40 SXX = SXX + (X(I)-SX)**2 SXY = SXY + (X(I)-SX)*(Y(I)-SY) 40 CONTINUE C1 = SXY/SXX C0 = SY - C1*SX RES = 0. DO 60 I = 1, N IF ( .NOT. MISS(I)) RES = RES + (Y(I)-SY-C1*(X(I)-SX))**2 60 CONTINUE C RES = SQRT(RES/XNN) C 80 RETURN END C C********+*********+*********+*********+*********+*********+*********+** C REAL FUNCTION RATIO(M,N) C C********+*********+*********+*********+*********+*********+*********+** C .. Scalar Arguments .. INTEGER M, N C .. Intrinsic Functions .. INTRINSIC FLOAT C .. Executable Statements .. RATIO = 1E20 IF (N.NE.0) RATIO = FLOAT(M)/FLOAT(N) RETURN END C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE EFSTAT(C,E,LGTOL,NTOL,NOK,ERFLG,TITLE,IOUT,W1,W2,W3,W4, * W5,W6) C C********+*********+*********+*********+*********+*********+*********+** C ROUTINE TO COMPUTE AND PRINT NORMALIZED EFFICIENCY STATISTICS. C C PARAMETERS (ALL INPUT): C C,E - COEFFICIENTS IN LEAST-SQUARES FIT OF ACHIEVED ACCURACY C (EITHER AT ENDPOINT OR MAX-OVER-RANGE) TO TOLERANCE. C LGTOL - LIST OF LOGS TO BASE 10 OF TOLERANCES C NTOL - NO. OF TOLERANCES. C NOK - NO. OF .FALSE. ENTRIES IN ERFLG (FROM LSQFIT CALL) C ERFLG - LOGICAL VECTOR INDICATING FOR WHICH TOLERANCES DATA C IS TO BE REGARDED AS MISSING. C TITLE C - IDENTIFYING CHARACTER STRING. C IOUT - OUTPUT UNIT NUMBER. C W1,...,W6 C - VECTORS OF STATISTICS, INDEXED OVER TOLERANCES, FOR C WHICH NORMALIZED STATISTICS ARE TO BE PRODUCED. C (NOTE SOME ARE REAL, SOME INTEGER: REFER TO ACTUAL CALL C IN STDTST.) C IT IS ASSUMED THAT NTOL.LE.10, OTHERWISE ARRAY S MUST BE LONGER. C--------+---------+---------+---------+---------+---------+---------+-- C C LOCAL VARIABLES C .. Scalar Arguments .. REAL C, E INTEGER IOUT, NOK, NTOL CHARACTER*8 TITLE C .. Array Arguments .. REAL LGTOL(NTOL), W1(NTOL), W2(NTOL) INTEGER W3(NTOL), W4(NTOL), W5(NTOL), W6(NTOL) LOGICAL ERFLG(NTOL) C .. Local Scalars .. REAL EQVTOL, S0, THETA, W1INT, W2INT, X INTEGER I, MSINT, NHI, NLO, SHI, SINT, SLO, W3INT, * W4INT, W5INT, W6INT C .. Local Arrays .. REAL S(10) C .. Intrinsic Functions .. INTRINSIC FLOAT, INT C .. Statement Functions .. INTEGER FLOOR C .. Statement Function definitions .. C C STATEMENT FUNCTION C FLOOR FUNCTION VALID IF ARGUMENT X.GE.-100 WHICH IS OK HERE. FLOOR(X) = INT(X+100.) - 100 C .. Executable Statements .. C IF (NOK.LE.2) GO TO 200 C C TRANSFORM THE LOG10(TOL)'S TO NORMALIZED-EFFICIENCY VARIABLE: DO 20 I = 1, NTOL S(I) = -(C+E*LGTOL(I)) 20 CONTINUE C C FIND SET OF CONSECUTIVE TOL'S FOR WHICH INTEGRATION SUCCEEDED: DO 40 NLO = 1, NTOL IF ( .NOT. ERFLG(NLO)) GO TO 60 40 CONTINUE C ELSE ALL INTEGRATIONS FOR THIS PROBLEM FAILED: GO TO 200 60 CONTINUE NHI = NLO - 1 DO 80 I = NLO, NTOL IF (ERFLG(I)) GO TO 100 NHI = I 80 CONTINUE 100 CONTINUE C IF (NHI.LE.NLO) GO TO 200 IF (E.LE.0.) GO TO 220 C C FORM RANGE OF INTEGER POWERS OF 10 FOR WHICH NORMALIZED STATISTICS C ARE TO BE PRINTED: SLO = -FLOOR(-S(NLO)+0.1) SHI = FLOOR(S(NHI)+0.1) IF (SHI.LT.SLO) GO TO 240 C WRITE (IOUT,FMT=99999) TITLE C C START OF LOOP TO PRINT A LINE OF STATISTICS FOR EACH POWER OF 10: I = NLO + 1 CC ... WHICH IS KNOWN TO BE .LE. NHI C DO 160 SINT = SLO, SHI S0 = FLOAT(SINT) C C MOVE INTERVAL S(I-1)..S(I) TO RIGHT WHILE S(I).LT.SINT: 120 IF (S(I).GE.S0 .OR. I.GE.NHI) GO TO 140 I = I + 1 GO TO 120 140 CONTINUE C NECESSARILY NOW NLO + 1 .LE. I .LE. NHI C C NOW DO INTERPOLATION (POSSIBLY EXTRAPOLATION A SHORT DISTANCE) C USING DATA FOR I AND I + 1: THETA = (S0-S(I-1))/(S(I)-S(I-1)) W1INT = W1(I-1) + THETA*(W1(I)-W1(I-1)) W2INT = W2(I-1) + THETA*(W2(I)-W2(I-1)) W3INT = W3(I-1) + THETA*(W3(I)-W3(I-1)) W4INT = W4(I-1) + THETA*(W4(I)-W4(I-1)) W5INT = W5(I-1) + THETA*(W5(I)-W5(I-1)) W6INT = W6(I-1) + THETA*(W6(I)-W6(I-1)) C MSINT = -SINT EQVTOL = -(C+S0)/E WRITE (IOUT,FMT=99998) MSINT, EQVTOL, W1INT, W2INT, W3INT, * W4INT, W5INT, W6INT C 160 CONTINUE C 180 RETURN C 200 WRITE (IOUT,FMT=99997) GO TO 180 C 220 WRITE (IOUT,FMT=99996) GO TO 180 C 240 WRITE (IOUT,FMT=99995) GO TO 180 C 99999 FORMAT (/'0',6X,'NORMALIZED EFFICIENCY - ',A8,' GLOBAL ERROR', * //7X,'EXPECTED',3X,'EQUIV',4X,'TIME',3X,'OVHD',5X,'FCN',5X, * 'JAC',5X,'MAT',4X,'NO OF',/7X,'ACCURACY',1X,'LOG10 TOL', * 17X,'CALLS',3X,'CALLS',4X,'FACT',3X,'STEPS') 99998 FORMAT ('0',6X,'10**',I3,F8.2,F9.3,F7.3,1X,4I8) 99997 FORMAT ('0',10X,'NOT ENOUGH SUCCESSFUL INTEGRATIONS TO FORM',1X, * 'NORMALIZED STATISTICS') 99996 FORMAT ('0',10X,'DEPENDENCE OF ACCURACY ON TOLERANCE IS TOO',1X, * 'UNRELIABLE TO FORM NORMALIZED STATISTICS') 99995 FORMAT ('0',10X,'NO POWERS OF TEN WITHIN RANGE OF TOLERANCES',1X, * 'USED: NO NORMALIZED STATISTICS') END C C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE CNTROL(CMPLET,INDG1,INDL1) C C********+*********+*********+*********+*********+*********+*********+** C CNTROL ORGANIZES THE CALLS TO METHOD NEEDED TO GATHER C STATISTICS FOR ONE PROBLEM AND ONE TOLERANCE AT THE LEVEL OF C DETAIL SPECIFIED BY OPT, WITH SCALING TURNED ON OR OFF BY IWT. C C ON EXIT FROM CNTROL C CMPLET INDICATES WHETHER A FAILURE OCCURRED: C CMPLET = 1 NO FAILURES. C CMPLET = 0 DETEST FAILED TO OBTAIN TRUE LOCAL OR GLOBAL C SOLUTION. C CMPLET = -1 METHOD FAILED TO REACH THE END OF RANGE. C CMPLET = -2 DETEST FAILED AND SUBSEQUENTLY METHOD FAILED C CMPLET = -3 METHOD COULD NOT START THE INTEGRATION. C CMPLET = -4 METHOD COMPLETED THE STATISTICS GATHERING CALL C BUT (UNEXPECTEDLY) FAILED IN THE TIMING LOOP. C C INDG1, INDL1 RETURN THE ERROR FLAGS OF THE 'TRUE' GLOBAL C AND LOCAL SOLUTIONS RESPECTIVELY. C C THE MAIN OUTPUT FROM CNTROL CONSISTS OF THE STATISTICS HELD C IN COMMON /STCOM3/ C--------+---------+---------+---------+---------+---------+---------+-- C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREAS C--------+---------+---------+---------+---------+---------+---------+-- C1 C2 C3 C5 C6 C .. Scalar Arguments .. INTEGER CMPLET, INDG1, INDL1 C .. Scalars in Common .. DOUBLE PRECISION ERRTOL, HSTART, XEND, XFIN, XTRUE REAL GEMX, GEND, LEMXSC, OVHD, TIME, TRUTIM INTEGER ID, ID1, IFLAG, INDG, INDL, IOUT, IWT, IWT1, N, * N1, NBAD, NDCV, NFCN, NFCN1, NJAC, NJAC1, NLUD, * NLUD1, NRMTYP, NSTART, NSTL, NSTP, NTRU, OPT, * XTRAP C .. Arrays in Common .. DOUBLE PRECISION WT(20) C .. Local Scalars .. DOUBLE PRECISION DUMMY, HINIT, HMAX, X, XSTART REAL FCNTIM, JACTIM, LUDTIM, S, TIMCUM, TSTTIM INTEGER COUNT, I LOGICAL NOSTRT, OKMETH, TIMERR C .. Local Arrays .. DOUBLE PRECISION Y(20), YEND(20), YSTART(20) C .. External Functions .. REAL CLOCK, CONST, DIFNRM EXTERNAL CLOCK, CONST, DIFNRM C .. External Subroutines .. EXTERNAL EVALU, IVALU, METHOD, STATS C .. Intrinsic Functions .. INTRINSIC FLOAT C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, * IOUT COMMON /STCOM2/XEND, HSTART, N, IFLAG, INDL, INDG COMMON /STCOM3/XFIN, XTRUE, TIME, OVHD, TRUTIM, GEND, * GEMX, LEMXSC, NFCN, NJAC, NLUD, NSTP, NSTL, * NDCV, NBAD, NTRU, NSTART COMMON /STCOM5/WT, IWT1, N1, ID1 COMMON /STCOM6/NFCN1, NJAC1, NLUD1 C .. Executable Statements .. CE C C--------+---------+---------+---------+---------+---------+---------+-- C NOTE ON INDL, INDG IN /STCOM2/: C THESE ARE ERROR INDICATORS FOR THE 'TRUE' LOCAL AND C GLOBAL SOLUTION RESPECTIVELY. THEY ARE SET INSIDE STATS C WHICH IS CALLED BY METHOD. C ON RETURN FROM METHOD, INDL IS: C 2 IF NO CALL TO TRUE TO COMPUTE LOCAL SOLUTION HAS C YET BEEN MADE (SET BY INITIALIZING CALL TO STATS). C .GT.0 IF ALL CALLS TO TRUE FOR CALCULATION OF LOCAL C SOLUTION WERE SUCCESSFUL. C .LT.0 IF AN UNSUCCESSFUL CALL TO TRUE FOR THE LOCAL C SOLUTION WAS MADE. C THE VALUE ON EXIT IF NOT 0 IS THE VALUE RETURNED IN THE C FLAG 'IND' OF SUBROUTINE TRUE. C INDG IS THE SAME, BUT FOR THE GLOBAL SOLUTION. C C INDL,INDG ARE USED ON RE-ENTRY TO STATS TO TEST IF A C FAILURE OF THE TRUE SOLUTIONS OCCURRED ON A PREVIOUS STEP C AND SHOULD THUS BE LEFT ALONE BETWEEN STEPS. C--------+---------+---------+---------+---------+---------+---------+-- C C ACTION OF THE ROUTINE: C CALL IVALU TO SET INTEGRATION PARAMETERS. C COPY N,ID,IWT INTO /STCOM5/ FOR USE BY FCN,PDERV. C SET IFLAG = 1 AND CALL STATS TO INITIALIZE ITS COMMON AREAS. C (THE ARGUMENTS FOR THIS CALL ARE DUMMIES.) C SET X,Y,NSTP,NFCN FOR USE IN STATS. SET IFLAG = 2 SO THAT C THE CALL TO METHOD WILL SET THE FIRST STEP SIZE (HSTART) C AND RETURN. C SET NSTART = NO. OF FCN CALLS NEEDED BY METHOD TO START. C--------+---------+---------+---------+---------+---------+---------+-- C CALL IVALU(N,XSTART,XEND,HINIT,HMAX,YSTART,FCNTIM,JACTIM,LUDTIM, * WT,IWT,ID) C N1 = N ID1 = ID IWT1 = IWT X = XSTART DO 20 I = 1, N Y(I) = YSTART(I) 20 CONTINUE C IFLAG = 1 CALL STATS(X,Y,DUMMY,Y) C NFCN1 = 0 NSTP = 0 IFLAG = 2 C CALL METHOD(N,X,Y,XEND,ERRTOL,HMAX,HINIT) C NOSTRT = X .LT. XEND NSTART = NFCN1 C--------+---------+---------+---------+---------+---------+---------+-- C INITIALIZE THE COUNTERS ETC. IN /STCOM3/,/STCOM6/. C IF METHOD FAILED TO START, SET FLAGS AND EXIT. C SET IFLAG = 3 SO THAT THE CALL TO METHOD WILL DO A COMPLETE C INTEGRATION, COMPILING STATISTICS ON EACH STEP. C START THE CLOCK. C--------+---------+---------+---------+---------+---------+---------+-- NFCN1 = 0 NJAC1 = 0 NLUD1 = 0 NSTP = 0 NSTL = 0 LEMXSC = 0. NDCV = 0 NBAD = 0 GEMX = 0. TRUTIM = 0. NTRU = 0 C IF (NOSTRT) GO TO 180 C X = XSTART DO 40 I = 1, N Y(I) = YSTART(I) 40 CONTINUE IFLAG = 3 S = CLOCK(0.0) C CALL METHOD(N,X,Y,XEND,ERRTOL,HMAX,HSTART) C TIME = CLOCK(S) OKMETH = X .GE. XEND XFIN = X NFCN = NFCN1 NJAC = NJAC1 NLUD = NLUD1 IF ( .NOT. OKMETH) GO TO 160 C--------+---------+---------+---------+---------+---------+---------+-- C IF OPT.GT.1, OR IF OPT = 1 BUT THE TIMING ESTIMATE ALREADY C OBTAINED WAS TOO SMALL TO BE RELIABLE, DO A TIMING COMPUTATION C PROVIDED THAT METHOD REACHED THE ENDPOINT IN THE PREVIOUS CALL. C SET IFLAG = 0, START THE CLOCK, AND CALL C METHOD SUFFICIENTLY MANY TIMES FOR THE SOLUTION TIME TO C BE OBTAINED ACCURATELY. COMPUTE THE OVERHEAD AS THE C TOTAL TIME EXCLUSIVE OF FUNCTION AND JACOBIAN EVALUATIONS C AND MATRIX INVERSIONS. C--------+---------+---------+---------+---------+---------+---------+-- TSTTIM = CONST(4) TIMERR = .FALSE. IF (TSTTIM.LE.0) GO TO 120 IF (OPT.EQ.1 .AND. TIME.GE.0.5*TSTTIM) GO TO 120 COUNT = 0 IFLAG = 0 S = CLOCK(0.0) C--------+---------+---------+---------+---------+---------+---------+-- C LOOP TILL 'TSTTIM' TIME UNITS HAVE ELAPSED: C--------+---------+---------+---------+---------+---------+---------+-- 60 CONTINUE X = XSTART DO 80 I = 1, N Y(I) = YSTART(I) 80 CONTINUE CALL METHOD(N,X,Y,XEND,ERRTOL,HMAX,HSTART) TIMERR = X .LT. XEND IF (TIMERR) GO TO 100 TIMCUM = CLOCK(S) COUNT = COUNT + 1 IF (TIMCUM.LT.TSTTIM .AND. COUNT.LT.10) GO TO 60 C 100 IF (COUNT.GE.1) TIME = TIMCUM/FLOAT(COUNT) 120 CONTINUE C--------+---------+---------+---------+---------+---------+---------+-- C WE NOW HAVE A VALUE FOR TIME: THE ONE OBTAINED BEFORE THE C TIMING LOOP IF WE SKIPPED THE LATTER OR IN THE UNLIKELY C EVENT OF AN ERROR IN THE 1ST TIMING ITERATION; OTHERWISE C THE ONE FROM THE TIMING LOOP. C COMPUTE OVERHEAD AND ENDPOINT GLOBAL ERROR. C--------+---------+---------+---------+---------+---------+---------+-- OVHD = TIME - FLOAT(NFCN)*FCNTIM - FLOAT(NJAC)*JACTIM - * FLOAT(NLUD)*LUDTIM CALL EVALU(YEND,N,WT,IWT,ID) GEND = DIFNRM(YEND,Y,N) C IF (TIMERR) GO TO 200 C C--------+---------+---------+---------+---------+---------+---------+-- C SET THE OUTPUT VALUE OF CMPLET, INDG1 AND INDL1. C--------+---------+---------+---------+---------+---------+---------+-- CMPLET = 1 IF (INDL.LT.0 .OR. INDG.LT.0) CMPLET = 0 140 INDG1 = INDG INDL1 = INDL RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C *********** ERROR EXITS *********** C--------+---------+---------+---------+---------+---------+---------+-- C METHOD FAILED TO REACH XEND C--------+---------+---------+---------+---------+---------+---------+-- 160 CMPLET = -1 IF (INDL.LT.0 .OR. INDG.LT.0) CMPLET = -2 TIME = 1E20 OVHD = 1E20 GEND = 1E20 GO TO 140 C C--------+---------+---------+---------+---------+---------+---------+-- C METHOD FAILED TO START C--------+---------+---------+---------+---------+---------+---------+-- 180 CMPLET = -3 NFCN = 0 NJAC = 0 NLUD = 0 TIME = 1E20 OVHD = 1E20 GEND = 1E20 GO TO 140 C--------+---------+---------+---------+---------+---------+---------+-- C INTEGRATION FAILED IN TIMING LOOP C--------+---------+---------+---------+---------+---------+---------+-- 200 CMPLET = -4 GO TO 140 END C C********+*********+*********+*********+*********+*********+*********+** C REAL FUNCTION DIFNRM(A,B,N) C1 C .. Scalar Arguments .. INTEGER N C .. Array Arguments .. DOUBLE PRECISION A(N), B(N) C .. Scalars in Common .. DOUBLE PRECISION ERRTOL INTEGER ID, IOUT, IWT, NRMTYP, OPT, XTRAP C .. Local Scalars .. INTEGER I C .. Intrinsic Functions .. INTRINSIC AMAX1, DABS, REAL, SQRT C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, * IOUT C .. Executable Statements .. C C********+*********+*********+*********+*********+*********+*********+** C NORM OF DIFFERENCE BETWEEN TWO DOUBLE PRECISION VECTORS, C SINGLE PRECISION RESULT. C NRMTYP=1,2,3 CHOOSES MAX-NORM, 2-NORM, R.M.S.-NORM. C--------+---------+---------+---------+---------+---------+---------+-- IF (NRMTYP.EQ.1) THEN DIFNRM = 0.0 DO 20 I = 1, N DIFNRM = AMAX1(DIFNRM,REAL(DABS(A(I)-B(I)))) 20 CONTINUE ELSE DIFNRM = 0.0 DO 40 I = 1, N DIFNRM = DIFNRM + REAL(DABS(A(I)-B(I)))**2 40 CONTINUE C IF (NRMTYP.EQ.2) DIFNRM = SQRT(DIFNRM) IF (NRMTYP.EQ.3) DIFNRM = SQRT(DIFNRM/N) END IF RETURN END C C********+*********+*********+*********+*********+*********+*********+** C SUBROUTINE STATS(X,Y,ERRBND,ERREST) C C********+*********+*********+*********+*********+*********+*********+** C STATS 'INSTRUMENTS' THE ODE-SOLVER BEING TESTED, BY COMPUTING C THE DEVIATION OF THE SOLUTION COMPUTED IN ROUTINE METHOD FROM C THE 'TRUE' GLOBAL AND LOCAL SOLUTIONS IF REQUESTED, AND BY C ACCUMULATING VARIOUS ASSOCIATED STATISTICS. IT ALSO PERFORMS C VARIOUS INITIALIZATION DUTIES, DEPENDING ON THE VALUE OF IFLAG C ON ENTRY. C C ON ENTRY C X,Y - MUST HOLD 'SOLVER' SOLUTION AT CURRENT STEP C ERREST- MUST HOLD ESTIMATED LOCAL ERROR VECTOR AT THIS STEP C DEFINED AS (COMPUTED Y) - (TRUE LOCAL SOLUTION AT NEW X). C SINCE ABSOLUTE ERROR-CONTROL IS SPECIFIED, THIS IS THE C VECTOR WHOSE NORM IS MAINTAINED BELOW ERRBND BY 'METHOD'. C IT IS ASSUMED THAT 'METHOD' USES ONE OF THE 3 NORMS C OFFERED BY THE PACKAGE, AND NRMTYP MUST BE SET SUITABLY. C ERRBND- MUST HOLD TOLERANCE BELOW WHICH THE NORM OF ERREST IS C BEING HELD AT THIS STEP. USUALLY SAME AS ERRTOL BUT WILL C BE DIFFERENT AND VARY WITH STEPSIZE IF (EG) A PER-UNIT- C STEP ERROR CRITERION IS USED. C C STORAGE FOR VARIOUS SOLUTIONS: C X,Y - CURRENT SOLUTION COMPUTED BY METHOD, PASSED IN C VIA ARGUMENT LIST. C XOLD,YOLD- VALUES OF X,Y AT AN OLD MESHPOINT OF METHOD, C USUALLY THE LAST ONE BUT OLDER IF A LUMPED C STEP IS BEING FORMED (SEE BELOW). C IF IFLAG = 0, NEITHER XOLD NOR YOLD IS USED. C YOLD IS NOT USED UNLESS STATISTICS ON LOCAL ERROR C ARE BEING COMPILED (IFLAG=3 AND OPT=3). C THE 'TRUE' LOCAL SOLUTION IS OBTAINED BY INTEG- C RATING FROM XOLD,YOLD TO THE CURRENT X. C XOLD,YOLD ARE USED AS THE ACTUAL ARGUMENTS IN THIS C INTEGRATION, AND ARE THEN UPDATED TO HOLD X,Y IN C PREPARATION FOR NEXT CALL TO STATS. C XT - LAST MESHPOINT OF METHOD. C XOLDG - INDEP VAR FOR 'TRUE' GLOBAL SOLUTION, IN COMMON. C YOLDG - 'TRUE' GLOBAL SOLUTION AT XOLDG, HELD IN COMMON. C UPDATED BY CALLING TRUE AT EACH CALL TO STATS IF C DETAILED STATISTICS ARE BEING COMPILED (IFLAG = 3) C AND IF OPT.GE.2 C YSTAR - ONLY USED IF OPT.EQ.4. IF SOLVER DOES NOT DO LOCAL C EXTRAPOLATION, WE FORM THE LOCALLY EXTRAPOLATED C SOLUTION IN YSTAR. C--------+---------+---------+---------+---------+---------+---------+-- C C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREAS C--------+---------+---------+---------+---------+---------+---------+-- C1 C2 C3 C4 C6 C .. Scalar Arguments .. DOUBLE PRECISION ERRBND, X C .. Array Arguments .. DOUBLE PRECISION ERREST(20), Y(20) C .. Scalars in Common .. DOUBLE PRECISION ERLUMP, ERRTOL, HSTART, PRECIS, XEND, XFIN, XOLD, * XOLD1, XOLDG, XT, XTRUE REAL GEMX, GEND, LEMXSC, OVHD, TIME, TRUTIM INTEGER ID, IFLAG, INDG, INDL, IOUT, IWT, N, NBAD, NDCV, * NFCN, NFCN1, NJAC, NJAC1, NLUD, NLUD1, NRMTYP, * NSTART, NSTL, NSTP, NTRU, OPT, XTRAP C .. Arrays in Common .. DOUBLE PRECISION CG(20), PDG(400), WG(400), WKG(20,12), YOLD(20), * YOLDG(20), YPG(20,11) INTEGER INFG(40) C .. Local Scalars .. DOUBLE PRECISION HLUMP, YNORM REAL ESTSC, LEERSC, LESC, THETA, TRUT0 INTEGER I, NDIM, NNFCN, NNJAC, NNLUD C .. Local Arrays .. DOUBLE PRECISION CL(20), PDL(400), WKL(20,12), WL(400), * YPL(20,11), YSTAR(20), ZERO(20) INTEGER INFL(40) C .. External Functions .. REAL CLOCK, CONST, DIFNRM EXTERNAL CLOCK, CONST, DIFNRM C .. External Subroutines .. EXTERNAL FCN, DERV, PLOT, TRUE C .. Intrinsic Functions .. INTRINSIC AMAX1, DABS, DMAX1 C .. Common blocks .. COMMON /STCOM1/ERRTOL, OPT, NRMTYP, XTRAP, ID, IWT, IOUT COMMON /STCOM2/XEND, HSTART, N, IFLAG, INDL, INDG COMMON /STCOM3/XFIN, XTRUE, TIME, OVHD, TRUTIM, GEND, * GEMX, LEMXSC, NFCN, NJAC, NLUD, NSTP, NSTL, NDCV, * NBAD, NTRU, NSTART COMMON /STCOM4/XOLD1, XOLD, YOLD, XOLDG, YOLDG, CG, PDG, * WKG, WG, YPG, XT, PRECIS, ERLUMP, INFG COMMON /STCOM6/NFCN1, NJAC1, NLUD1 C .. Data statements .. CE C DATA NDIM/20/ C .. Executable Statements .. C C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 0 METHOD IS BEING TIMED. C--------+---------+---------+---------+---------+---------+---------+-- IF (IFLAG.EQ.0) RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 1 INITIALIZE VARIABLES TO DO WITH FINDING FIRST STEP- C SIZE, ASSESSING LUMPED STEPS AND COMPUTING TRUE GLOBAL SOLUTION. C RESET INDL, OTHERWISE A LOCAL FAILURE (INDL<0) ON A PREVIOUS C INTEGRATION WILL BE DEEMED A FAILURE ON THIS ONE. C 1ST 5 ELEMENTS OF INFG,CG MUST BE INITIALIZED; WE INITIALIZE C MORE TO AID DIAGNOSTICS. C--------+---------+---------+---------+---------+---------+---------+-- IF (IFLAG.NE.1) GO TO 60 C C FOR EVALUATING PERFORMANCE OF 'TRUE': C CALL TRUCHK(1,IDUM) PRECIS = 1000.D0*CONST(1) ERLUMP = 0.D0 XOLD1 = X XOLD = X XOLDG = X XT = X DO 20 I = 1, N YOLD(I) = Y(I) YOLDG(I) = Y(I) 20 CONTINUE DO 40 I = 1, 20 INFG(I) = 0 CG(I) = 0.D0 40 CONTINUE INFG(1) = 1 INFG(3) = 1000 INDG = 2 INDL = 2 RETURN C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 2 DETERMINE THE INITIAL STEPSIZE FOR C THE INTEGRATION PROPER. WE CHOOSE THE SECOND STEP C TAKEN AND TERMINATE THE INTEGRATION BY SETTING X C EQUAL TO XEND. HSTART THEN HOLDS THE CURRENT STEPSIZE. C--------+---------+---------+---------+---------+---------+---------+-- 60 IF (IFLAG.NE.2) GO TO 80 NSTP = NSTP + 1 HSTART = X - XOLD1 XOLD1 = X IF (NSTP.GE.2) X = XEND RETURN C C C--------+---------+---------+---------+---------+---------+---------+-- C IF IFLAG = 3 COMPILE STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- C C IF THE STEPSIZE AND, HENCE, THE ERROR REQUIREMENT WAS C TOO SMALL TO PERMIT AN EFFECTIVE ASSESSMENT AT THIS C PRECISION, CONTINUE THE INTEGRATION. A LUMPED ERROR C ESTIMATE IS FORMED IN ERLUMP AND SEVERAL SMALL STEPS C ASSESSED AS ONE. C THE TEST FOR THE SIZE OF A LUMPED STEP IS MATCHED TO THE C MINIMUM STEPSIZE TEST IN 'TRUE' AND IS INTENDED TO ENSURE C (VERY CONSERVATIVELY) THAT ROUNDOFF EFFECTS ARE NEGLIGIBLE. C MAX-NORM IS USED IRRESPECTIVE OF THE VALUE OF NRMTYP IN /STCOM1/. C IT IS ASSUMED THAT LUMPING OCCURS ONLY WHEN FAST TRANSIENTS ARE C BEING DAMPED OUT AND CONSEQUENTLY THE STEPSIZE WILL BE RAPIDLY C INCREASING. IN THIS SITUATION EARLIER LOCAL ERRORS HAVE LESS C EFFECT ON THE LUMPED ERROR THAN RECENT ONES AND THE C FORMULA FOR ERLUMP IS A CRUDE WAY TO ENSURE THIS. C--------+---------+---------+---------+---------+---------+---------+-- 80 CONTINUE NSTP = NSTP + 1 HLUMP = X - XOLD THETA = (X-XT)/HLUMP ERLUMP = ERLUMP + THETA*(ERRBND-ERLUMP) XT = X YNORM = 0.D0 DO 100 I = 1, N YNORM = DMAX1(YNORM,DABS(YOLDG(I)),DABS(Y(I))) 100 CONTINUE IF (HLUMP*ERRTOL.GE.YNORM*PRECIS) GO TO 120 C WRITE(6,998)XOLD,X,THETA,HLUMP,ERREST,ERRBND,NSTL,NSTP C998 FORMAT(1H0,'XOLD X THETA HLUMP ERREST ERRBND NSTL NSTP=', C * 1P6D12.4,2I4) RETURN C C--------+---------+---------+---------+---------+---------+---------+-- C A SUFFICIENTLY LARGE LUMPED STEP HAS BEEN FORMED. C INCREMENT THE LUMPED STEP COUNT. C--------+---------+---------+---------+---------+---------+---------+-- 120 CONTINUE NSTL = NSTL + 1 C--------+---------+---------+---------+---------+---------+---------+-- C GLOBAL ASSESSMENT C SAVE COUNTERS THAT WILL BE AFFECTED BY 'TRUE' CALLS. SET MAX C STEPSIZE FOR GLOBAL SOLUTION TO X-XOLDG (DEFAULT VALUE IN TRUE IS C 1/5TH OF THIS.) C CONTINUE TRUE GLOBAL SOLUTION TO CURRENT MESHPOINT AND C UPDATE MAX GLOBAL ERROR GEMX. C IF FAILURE OCCURS, RECORD POSITION IN XTRUE AND SKIP LOCAL C ASSESSMENT ALSO. C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.LT.2 .OR. INDG.LT.0) GO TO 240 NNFCN = NFCN1 NNJAC = NJAC1 NNLUD = NLUD1 CG(4) = 1.1D0*(X-XOLDG) TRUT0 = CLOCK(0.) C CALL TRUE(FCN,DERV,NDIM,N,XOLDG,YOLDG,X,1.D-2*ERRTOL,INDG,CG, * INFG,YPG,WG,PDG,WKG) C TRUTIM = TRUTIM + CLOCK(TRUT0) INFG(3) = INFG(13) + 100 IF (INDG.GE.0) GO TO 140 XTRUE = XOLDG C WRITE(6,999)(INFG(I),I=1,20),CG C999 FORMAT(1H0,'TRUE FAILURE, INF & C ='/1H0,20I6/ C * (1H0,1P10D12.4)) GO TO 220 140 GEMX = AMAX1(GEMX,DIFNRM(Y,YOLDG,N)) C--------+---------+---------+---------+---------+---------+---------+-- C LOCAL ASSESSMENT C OBTAIN THE LOCAL SOLUTION THROUGH THE PREVIOUS COMPUTED C MESH VALUE TO HIGHER ACCURACY THAN METHOD, PROVIDED NO C FAILURES HAVE OCCURRED IN PREVIOUS CALLS TO TRUE C (INDL.GE.0). CHECK FOR A FAILURE THIS TIME AFTER THE C CALL TO TRUE. COMPILE THE RELIABILITY STATISTICS. C--------+---------+---------+---------+---------+---------+---------+-- IF (OPT.LT.3 .OR. INDL.LT.0) GO TO 220 DO 160 I = 1, 5 INFL(I) = 0 CL(I) = 0.D0 160 CONTINUE INFL(1) = 1 INFL(3) = 500 INDL = 2 CL(4) = 1.1D0*(X-XOLD) TRUT0 = CLOCK(0.) C CALL TRUE(FCN,DERV,NDIM,N,XOLD,YOLD,X,1.D-2*ERLUMP,INDL,CL,INFL, * YPL,WL,PDL,WKL) C TRUTIM = TRUTIM + CLOCK(TRUT0) XTRUE = XOLD C IF(INDL.LT.0)WRITE(6,999)(INFL(I),I=1,20),CL IF (INDL.LT.0) GO TO 220 C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE STATISTICS C LESC RECORDS THE RATIO OF THE MAGNITUDE OF THE TRUE C LOCAL ERROR TO THE ASSUMED LOCAL ERROR BOUND. C LEMXSC RECORDS ITS MAXIMUM OVER THE RANGE. C NTRU COUNTS THE NO. OF LUMPED STEPS OF METHOD ON WHICH C LOCAL ASSESSMENT SUCCEEDED, SO AS TO ALLOW SUMMARY OF PARTIAL C RESULTS IF TRUE FAILS AT SOME POINT. C C IF OPT=4, DO THE ANALYSIS OF THE LOCAL ERROR ESTIMATE VECTOR, C ERREST, BY FORMING THE SCALED ||ERROR|| IN ERREST. IF LOCAL C EXTRAPOLATION IS DONE THIS IS LESC=||ERREST||/ERLUMP. IF NOT, C FORM YSTAR=LOCALLY EXTRAPOLATED SOLUTION AND IT IS THEN C ||YSTAR-YOLD||/ERLUMP. FORM A POINT ON THE SCATTER DIAGRAM C OF ERROR IN ERREST (VERT AXIS) VS. ERREST (HORIZ AXIS) C AND ENTER IT BY A CALL TO 'PLOT'. C--------+---------+---------+---------+---------+---------+---------+-- C C FOR EVALUATING PERFORMANCE OF 'TRUE': C CALL TRUCHK(3,INFL) LESC = DIFNRM(Y,YOLD,N)/ERLUMP LEMXSC = AMAX1(LEMXSC,LESC) IF (LESC.GT.1.0) NDCV = NDCV + 1 IF (LESC.GT.5.0) NBAD = NBAD + 1 IF (OPT.EQ.4) THEN C XTRAP=1 OR 0 ACCORDING AS THE USER HAS TOLD THE PACKAGE THAT C LOCAL EXTRAPOLATION IS OR IS NOT BEING DONE BY SOLVER: IF (XTRAP.EQ.0) THEN DO 180 I = 1, N YSTAR(I) = Y(I) - ERREST(I) 180 CONTINUE LEERSC = DIFNRM(YSTAR,YOLD,N)/ERLUMP ELSE LEERSC = LESC END IF ESTSC = DIFNRM(ERREST,ZERO,N)/ERLUMP CALL PLOT(ESTSC,LEERSC,1) C WRITE(IOUT,'('' I TRUE LE EST LE'')') C DO 95 I=1,N C95 WRITE(IOUT,''(' ',I3,2F14.10)'') I,LERR(I),ERREST(I) END IF C NTRU = NTRU + 1 C--------+---------+---------+---------+---------+---------+---------+-- C UPDATE MEMORY OF LAST COMPUTED VALUES. C--------+---------+---------+---------+---------+---------+---------+-- DO 200 I = 1, N YOLD(I) = Y(I) 200 CONTINUE C--------+---------+---------+---------+---------+---------+---------+-- C RESTORE THE COUNTS AFFECTED BY 'TRUE' CALLS. C--------+---------+---------+---------+---------+---------+---------+-- 220 NFCN1 = NNFCN NJAC1 = NNJAC NLUD1 = NNLUD C--------+---------+---------+---------+---------+---------+---------+-- C RE-INITIALIZE THE DATA PERTAINING TO A LUMPED STEP. C--------+---------+---------+---------+---------+---------+---------+-- 240 ERLUMP = 0.D0 XOLD = X C--------+---------+---------+---------+---------+---------+---------+-- C RETURN TO METHOD TO CONTINUE THE INTEGRATION. C--------+---------+---------+---------+---------+---------+---------+-- RETURN END * SUBROUTINE PLOT(X,Y,IFLAG) C ROUTINE TO FORM PLOTS OF LOCAL ERROR INFORMATION FOR DETEST, USING C AN ARRAY K WHICH IS IN 'SAVE' STORAGE. C C IF IFLAG<=0, IT RESETS ARRAY K TO ZERO. C C IF IFLAG=1, THE ROUTINE ENTERS (X,Y) ON THE SCATTER-DIAGRAM C REPRESENTED BY K. HERE X,Y ARE >= 0, AND THE RANGE 0 TO INFINITY IS C SPLIT INTO CLASS-INTERVALS NUMBERED I = NLO .. NHI, THE I-TH INTERVAL C BEING 2**(I-1) <= X < 2**I EXCEPT THAT THE NLO-TH ONE INCLUDES ALL C X BELOW 2**NLO AND THE NHI-TH INCLUDES ALL X >=2**(NHI-1). C C IF IFLAG=2, THE SCATTER DIAGRAM IS PRINTED OUT. C C NOTE: IF IMPLEMENTER WISHES TO ALTER NLO, NHI THEN THE DATA C STATEMENTS MUST BE ALTERED CORRESPONDINGLY. C CERR CHARACTER STR3*3, LINE*LINLEN, LINE1*LINLEN, LINE2*LINLEN, CERR * LINE3*LINLEN, LINE4*LINLEN C .. Parameters .. INTEGER NLO, NHI REAL ALOG2 INTEGER NMIN, LINLEN REAL XYMIN PARAMETER (NLO=-7,NHI=4,ALOG2=.69314718,NMIN=NLO-1, * LINLEN=3*(NHI-NLO+1)+1,XYMIN=2.**NMIN) C .. Scalar Arguments .. REAL X, Y INTEGER IFLAG C .. Local Scalars .. REAL C, P, T INTEGER I, IOUT, J, JL, KMAX, KTOT CHARACTER*(LINLEN) LINE CHARACTER*(LINLEN) LINE1 CHARACTER*(LINLEN) LINE2 CHARACTER*(LINLEN) LINE3 CHARACTER*(LINLEN) LINE4 C .. Local Arrays .. INTEGER K(NLO:NHI,NLO:NHI) C .. External Functions .. REAL CONST CHARACTER*3 STR3 EXTERNAL CONST, STR3 C .. Intrinsic Functions .. INTRINSIC ALOG, MAX, MIN, NINT C .. Statement Functions .. INTEGER ICLAS, ICLAS0 C .. Save statement .. SAVE K, KTOT, KMAX, IOUT C .. Data statements .. DATA LINE1/'+--+--+--+--+--+--+--+--+--+--+--+--+'/, * LINE2/'+ +'/, * LINE3/'| |'/, * LINE4/' 2 2 2 2 2 2 2 2 2 2 2 '/ C .. Executable Statements .. C C C .. Statement Function definitions .. ICLAS0(T) = NMIN + NINT(ALOG(MAX(1.,T/XYMIN))/ALOG2) ICLAS(T) = MIN(MAX(ICLAS0(T),NLO),NHI) IF (IFLAG.LE.0) THEN IOUT = CONST(3) KTOT = 0 KMAX = 0 DO 40 I = NLO, NHI DO 20 J = NLO, NHI K(I,J) = 0 20 CONTINUE 40 CONTINUE ELSE IF (IFLAG.EQ.1) THEN IF (X.LT.0. .OR. Y.LT.0.) THEN WRITE (IOUT,FMT=*) * ' ERROR IN ARGUMENTS TO DETEST PLOT ROUTINE', X, Y STOP END IF I = ICLAS(X) J = ICLAS(Y) K(I,J) = K(I,J) + 1 KTOT = KTOT + 1 KMAX = MAX(KMAX,K(I,J)) ELSE C = KTOT DO 80 I = NHI, NLO, -1 LINE = LINE3 DO 60 J = NLO, NHI JL = J - NLO P = K(J,I)/C LINE(3*JL+1:3*JL+3) = STR3(P) 60 CONTINUE CERR8 LINE(3*JL+1:3*JL+3) = STR3(K(J,I)/C) IF (LINE(1:1).EQ.' ') LINE(1:1) = '|' IF (I.EQ.NHI) THEN WRITE (IOUT,FMT='(1X,15X,''INFINITY '',A)') LINE1 WRITE (IOUT,FMT='(1X,20X,'' '',A)') LINE ELSE WRITE (IOUT,FMT='(1X,15X,I8,1X,A)') I, LINE2 WRITE (IOUT,FMT='(1X,20X,''2 '',A)') LINE END IF 80 CONTINUE WRITE (IOUT,FMT='(1X,24X,A)') LINE1 WRITE (IOUT,FMT='(/1X,25X,30I3)') (J,J=NLO,NHI-1) WRITE (IOUT,FMT='(1X,24X,A)') LINE4 END IF RETURN END CHARACTER*3 FUNCTION STR3(P) C CONVERTS P (MEANT TO BE IN RANGE 0 TO 1) TO A 3 CHARACTER C INTEGER PERCENTAGE. P=0 BECOMES ' ', 0 HMAX. C IF (C(9).LE.C(11)) GO TO 560 IND = -2 RETURN 560 CONTINUE C C CASES - INITIAL STEP, LAST STEP ACCEPTED, LAST STEP REJECTED. C IER = INF(8) GO TO (580,720,980,980) IER C C CASE 1 - INITIAL STEP (INF(8) .EQ. 1) C 580 CONTINUE CALL FCN(X,Y,YP(1,8)) CALL DERV(X,Y,PDERIV) INF(13) = INF(13) + 1 INF(14) = INF(14) + 1 INF(6) = 3 K = 1 INF(17) = 0 INF(16) = 0 INF(20) = 1 INF(18) = -1 INF(19) = 1 CALL COEFF(K,POEF,COEF,PIE,PII) DO 620 I = 1, N YDP = 0.D0 DO 600 J = 1, N YDP = YDP + PDERIV(I+(J-1)*N)*YP(J,8) 600 CONTINUE YP(I,9) = YDP 620 CONTINUE HSTART = C(5) IF (HSTART.EQ.0.D0) GO TO 640 C(12) = DMIN1(DABS(HSTART),C(11)) GO TO 700 640 CONTINUE HABS = DSQRT(C(6)) HTMP = DSIGN(HABS,XEND-X) DO 660 I = 1, N WORK(I,1) = Y(I) + HTMP*(YP(I,8)+.5D0*HTMP*YP(I,9)) 660 CONTINUE CALL FCN(X+HTMP,WORK(1,1),YP(1,10)) YP3NRM = C(7) DO 680 I = 1, N YDP = (WORK(I,1)-Y(I)-HTMP*(COEF(2)*YP(I,10)+COEF(1)*YP(I,8))) * /(HTMP*HTMP*COEF(3)) YP3NRM = DMAX1(YP3NRM,DABS(YP(I,9)-YDP)) 680 CONTINUE C(12) = DMIN1(C(11),.95D0*(6.D0*TOL*HABS/YP3NRM)**(1.D0/3.D0)) 700 CONTINUE C(14) = DSIGN(C(12),XEND-X) C(13) = X + C(14) GO TO 1220 720 CONTINUE IF (INF(16).LE.0 .OR. C(12).GE.C(11)) GO TO 920 HABS = DABS(C(14)) IF (INF(16).GE.K+1) GO TO 740 C(12) = STEP(C(15),C(12),TOL,INF(6)) HK = C(12) GO TO 900 740 CONTINUE HPAST = C(16) KM1 = K - 1 NQM1 = INF(6) - 1 KP1 = K + 1 NQP1 = INF(6) + 1 HKM1 = 0.D0 IF (K.EQ.1) GO TO 800 CALL COEFF(KM1,PTMP,CTMP,PEKM1,PIKM1) ESTKM1 = 0.D0 JSHFT = 8 - K DO 780 I = 1, N SUM = C(14)*PTMP(NQM1)*YP(I,9) DO 760 J = 1, K SUM = SUM + PTMP(J)*YP(I,J+JSHFT) 760 CONTINUE YKM1 = C(14)*SUM + WORK(I,4) ESTKM1 = DMAX1(ESTKM1,DABS(YKM1-Y(I))*WORK(I,9)) 780 CONTINUE ESTKM1 = PIKM1*ESTKM1/PEKM1 HKM1 = STEP(ESTKM1,C(12),TOL,NQM1) 800 CONTINUE HKP1 = 0.D0 IF (INF(6).EQ.INF(7)) GO TO 840 CALL COEFF(KP1,PTMP,CTMP,PEKP1,PIKP1) HP = (C(14)/HPAST)**NQP1 ESTKP1 = 0.D0 DO 820 I = 1, N ESTKP1 = DMAX1(ESTKP1,DABS(WORK(I,7)-WORK(I,8)*HP)*WORK(I,9)) 820 CONTINUE ESTKP1 = PIKP1*ESTKP1/(PIE-PII) HKP1 = STEP(ESTKP1,C(12),TOL,NQP1) 840 CONTINUE IF (HKP1.GT.HKM1) GO TO 860 HTMP = HKM1 KTMP = KM1 GO TO 880 860 CONTINUE HTMP = HKP1 KTMP = KP1 880 CONTINUE HK = STEP(C(15),C(12),TOL,INF(6)) C(12) = HK IF (HK.GE.DMIN1(HTMP,C(11)) .OR. HTMP.LT.1.3D0*HABS .AND. .NOT. * (HK.LE.HABS .AND. HTMP.GT.1.1D0*HABS)) GO TO 900 C(12) = HTMP K = KTMP INF(6) = K + 2 CALL COEFF(K,POEF,COEF,PIE,PII) INF(16) = 0 INF(20) = 1 900 CONTINUE C(12) = DMIN1(C(12),C(11)) IF (C(12).EQ.HK .AND. C(12).LE.1.3D0*HABS) C(12) = HABS 920 CONTINUE JSHFT = 8 - K DO 960 I = 1, N DO 940 J = JSHFT, 7 YP(I,J) = YP(I,J+1) 940 CONTINUE YP(I,8) = YP(I,10) YP(I,9) = YP(I,11) 960 CONTINUE C(16) = C(14) GO TO 1100 980 CONTINUE IF (INF(8).EQ.4) GO TO 1000 INF(8) = 4 INF(16) = -1 C(12) = C(12)*.5D0 IF (INF(6).EQ.3) GO TO 1060 IF (INF(12).GE.4) GO TO 1040 GO TO 1020 1000 CONTINUE C(12) = STEP(C(15),C(12),TOL,INF(6)-1) IF (INF(6).EQ.3) GO TO 1060 IF (INF(12).GE.4) GO TO 1040 INF(18) = -1*INF(18) IF (INF(18).EQ.-1) GO TO 1080 1020 CONTINUE INF(16) = MIN0(INF(16),0) INF(6) = INF(6) - 1 K = K - 1 CALL COEFF(K,POEF,COEF,PIE,PII) GO TO 1080 1040 CONTINUE INF(6) = 3 K = 1 CALL COEFF(K,POEF,COEF,PIE,PII) 1060 CONTINUE INF(17) = INF(17) + 1 IF (INF(17).GE.2) INF(19) = 1 1080 CONTINUE 1100 CONTINUE C>>>>>>>>INTERRUPT NO. 1 (IND .EQ. 4) IF REQUESTED IF (INF(4).EQ.0) GO TO 1120 IND = 4 RETURN C C RESUME HERE ON RE-ENTRY WITH IND .EQ. 4 - ...RE-ENTRY........... C 1120 CONTINUE C C OBTAIN FINAL HMAG, XTRIAL AND HTRIAL C DIFF = XEND - X K = INF(6) - 2 IF (IND.EQ.4) CALL COEFF(K,POEF,COEF,PIE,PII) IF (C(12).GE.DABS(DIFF)) GO TO 1140 C DO NOT STEP MORE THAN HALF WAY TO XEND C(12) = DMIN1(C(12),.5D0*DABS(DIFF)) IF (C(4).EQ.0.D0) C(11) = C(12) GO TO 1160 1140 CONTINUE C HIT XEND EXACTLY C(12) = DABS(DIFF) 1160 CONTINUE C CALCULATE HTRIAL HTMP = C(14) C(14) = DSIGN(C(12),DIFF) C(13) = X + C(14) IF (HTMP.NE.C(14)) GO TO 1180 GO TO 1200 1180 CONTINUE C C IF HTRIAL IS BEING CHANGED RESET UPDATE, INF(20), AND C CALL NEWSTP TO OBTAIN THE APPROXIMATION TO F AT C K EQUALLY SPACED POINTS C INF(20) = 1 IF (INF(19).EQ.0) CALL NEWSTP(NDIM,N,K,X,HTMP,C(14),YP) 1200 CONTINUE 1220 CONTINUE 1240 CONTINUE NQ = INF(6) RREB = C(6) HMAG = C(12) XTRIAL = C(13) HTRIAL = C(14) HPAST = C(16) IF (INF(19).EQ.1) GO TO 1260 GO TO 1300 1260 CONTINUE DO 1280 I = 1, N WORK(I,2) = Y(I) + HTRIAL*(YP(I,8)+HTRIAL*YP(I,9)*.5D0) WORK(I,1) = WORK(I,2) IF (INF(10).EQ.0) GO TO 1280 WORK(I,1) = Y(I) + (Y(I)-WORK(I,4))*HTRIAL/HPAST YP(I,1) = WORK(I,1) 1280 CONTINUE GO TO 1400 1300 CONTINUE RATIO = HTRIAL/HPAST JSHFT = 7 - K KP1 = K + 1 DO 1340 I = 1, N SUM = HTRIAL*POEF(NQ)*YP(I,9) DO 1320 J = 1, KP1 SUM = SUM + POEF(J)*YP(I,JSHFT+J) 1320 CONTINUE WORK(I,2) = HTRIAL*SUM + Y(I) WORK(I,1) = WORK(I,2) IF (NQ.GT.3) GO TO 1340 WORK(I,1) = Y(I) + (Y(I)-WORK(I,4))*RATIO YP(I,1) = WORK(I,1) 1340 CONTINUE IF (INF(8).NE.2) GO TO 1380 DO 1360 I = 1, N WORK(I,8) = WORK(I,7) 1360 CONTINUE 1380 CONTINUE 1400 CONTINUE NN = N*N NP1 = N + 1 CALL FCN(XTRIAL,WORK(1,1),YP(1,10)) INF(13) = INF(13) + 1 CALL DERV(XTRIAL,WORK(1,1),PDERIV) INF(14) = INF(14) + 1 ERRCO = PII/(PIE-PII) DMAX = 1.D0 DPRED = 1.D-16 JSHFT = 8 - K DO 1440 I = 1, N DPRED = DMAX1(DPRED,DABS(YP(I,10)-YP(I,8)) * /DMAX1(1.D0,DABS(YP(I,8)))) WORK(I,6) = YP(I,10) CNST = 0.D0 DO 1420 J = 1, K CNST = CNST + COEF(J)*YP(I,JSHFT+J) 1420 CONTINUE WORK(I,5) = HTRIAL*CNST + Y(I) 1440 CONTINUE DPRED = HMAG*DPRED DPAST = DPRED DSTRT = DPRED ICONV = 1 IF (INF(8).EQ.2 .AND. INF(20).EQ.0) ICONV = 2 RESTRT = .FALSE. ERRLIM = .25D0*(1.9D0**NQ)*TOL KOUNT = 1 C C ITERATE UNTIL CONVERGENCE, DIVERGENCE DETECTED, OR KOUNT .GE. 5 C 1460 IF (ICONV.EQ.1) GO TO 1480 GO TO 1600 C C IF ICONV = 1 THEN RE-EVALUATE W, THE ITERATION MATRIX. C OTHERWISE, PROCEED TO THE NEXT STAGE C 1480 CONTINUE IF (KOUNT.EQ.1) GO TO 1500 CALL DERV(XTRIAL,WORK(1,1),PDERIV) INF(14) = INF(14) + 1 1500 CONTINUE RESTRT = .TRUE. R = -HTRIAL*HTRIAL*COEF(NQ) HTMP = -HTRIAL*COEF(K+1) DO 1560 I = 1, N DO 1540 J = 1, N JM1TN = (J-1)*N IJ = I + JM1TN W(IJ) = PDERIV(IJ)*HTMP IF (I.EQ.J) W(IJ) = W(IJ) + 1.D0 SUM = 0.D0 DO 1520 M = 1, N SUM = SUM + PDERIV(I+(M-1)*N)*PDERIV(M+JM1TN) 1520 CONTINUE SUM = R*SUM IF (I.EQ.J .AND. SUM.EQ.SUM+1.D0) * SUM = SUM*(1.D0-10.D0*RREB) W(IJ) = W(IJ) + SUM 1540 CONTINUE 1560 CONTINUE INF(15) = INF(15) + 1 CALL DDCOMP(N,N,W,INF(21),ISING) IF (ISING.EQ.0) GO TO 1580 C MATRIX APPEARS SINGULAR, SET INF(8) TO 3 AND BRANCH TO C THE END OF YCALC. INF(8) = 3 GO TO 1980 1580 CONTINUE 1600 CONTINUE C C CALCULATE THE RIGHT HAND SIDE OF THE SYSTEM, WORK(*,10) C THEN BACK-SUBSTITUTE TO SOLVE FOR THE CORRECTION C VECTOR, WORK(*,11). C DO 1640 I = 1, N R = 0.D0 DO 1620 J = 1, N R = R + PDERIV(I+(J-1)*N)*YP(J,10) 1620 CONTINUE YP(I,11) = R WORK(I,10) = -WORK(I,1) + HTRIAL*COEF(K+1)*YP(I,10) + * HTRIAL*HTRIAL*COEF(NQ)*R + WORK(I,5) 1640 CONTINUE CALL DSOLVE(N,N,W,INF(21),WORK(1,10),WORK(1,11)) DELMAX = 0.D0 CMAX = 0.D0 DO 1660 I = 1, N DELTA = WORK(I,11) WEIGHT = WORK(I,3) WORK(I,1) = WORK(I,1) + DELTA WORK(I,7) = WORK(I,2) - WORK(I,1) WORK(I,12) = ERRCO*WORK(I,7) DELMAX = DMAX1(DELMAX,DABS(DELTA)*WEIGHT) CMAX = DMAX1(CMAX,DABS(WORK(I,7))*WEIGHT) WORK(I,10) = YP(I,10) 1660 CONTINUE C(15) = ERRCO*CMAX CONVGD = .FALSE. DIFF = DMAX1(1.D-2*TOL,RREB*C(8)) IF (DELMAX.LE.DMAX1(DIFF,RREB)) CONVGD = .TRUE. DBND = DMIN1(RREB,.1D0*TOL) IF ((DMAX.LE.DBND .AND. CONVGD) .OR. * (KOUNT.EQ.2 .AND. DELMAX.LE.DBND)) GO TO 1700 C C IF IT APPEARS THAT THE SYSTEM IS LINEAR, DON'T DO THE C LAST FUNCTION EVALUATION. C INF(13) = INF(13) + 1 CALL FCN(XTRIAL,WORK(1,1),YP(1,10)) FMAX = 0.D0 DO 1680 I = 1, N FMAX = DMAX1(FMAX,DABS(WORK(I,10)-YP(I,10)) * /DMAX1(DABS(WORK(I,10)),1.D0)) 1680 CONTINUE DMAX = DMAX1(HMAG*FMAX,DBND) 1700 CONTINUE C C CHECK FOR CONVERGENCE (DMAX <=MIN(1.D-3,TOL) AND C DELMAX <= 1.D-2*TOL) C IF ((DMAX.LE.DMIN1(TOL,1.D-3) .AND. CONVGD) * .OR. (KOUNT.EQ.2 .AND. DELMAX.LE.DBND)) GO TO 1720 GO TO 1760 1720 CONTINUE DO 1740 I = 1, N YP(I,11) = (WORK(I,1)-WORK(I,5)-COEF(K+1)*HTRIAL*YP(I,10)) * /(HTRIAL*HTRIAL*COEF(NQ)) 1740 CONTINUE GO TO 1980 1760 CONTINUE C C IF CONVERGENCE CRITERIA HAVE NOT BEEN SATISFIED, PREPARE FOR C THE NEXT ITERATION. C CHECK TO SEE THAT ANOTHER ITERATION IS ALLOWED (KOUNT < 5) C IF (KOUNT.GE.5) GO TO 1780 GO TO 1800 1780 INF(8) = 3 GO TO 1980 1800 CONTINUE KOUNT = KOUNT + 1 IF (C(15).GT.TOL) GO TO 1820 GO TO 1900 1820 CONTINUE IF (RESTRT) GO TO 1840 GO TO 1860 1840 CONTINUE IF (C(15).GT.ERRLIM) INF(8) = 3 GO TO 1980 1860 CONTINUE ICONV = 1 DO 1880 I = 1, N WORK(I,1) = WORK(I,2) IF (NQ.EQ.3) WORK(I,1) = YP(I,1) YP(I,10) = WORK(I,6) 1880 CONTINUE DPRED = DSTRT DPAST = DSTRT GO TO 1460 1900 CONTINUE C C ANOTHER ITERATION WILL BE DONE, CHECK TO SEE IF AN UPDATE OF C W IS NECESSARY. C IF ((DMAX.LE.DPRED .OR. (KOUNT.EQ.2 .AND. RESTRT)) .OR. CONVGD) * GO TO 1920 GO TO 1940 1920 ICONV = 2 GO TO 1960 1940 IF (DMAX.GT.(N/6)*DPRED) ICONV = 1 1960 CONTINUE C ALLOW AT MOST 2 UPDATES PER TRIAL STEP. IF (ICONV.EQ.1) INF(20) = INF(20) + 1 IF (INF(20).GT.2) ICONV = 2 RATE = DMAX1(.2D0,DMIN1(.5D0,DMAX/DPAST)) DPAST = DMAX IF (KOUNT.EQ.2 .OR. DPRED.GT.RATE*DMAX) * DPRED = DMAX1(TOL,RATE*DMAX) GO TO 1460 1980 CONTINUE C C SET INF(8) AND IND TO THEIR CORRECT VALUES. C IF (INF(8).EQ.3) GO TO 2000 INF(8) = 2 IF (C(15).GT.TOL) INF(8) = 4 2000 CONTINUE IND = 5 + INF(8)/3 C>>>>>>>>INTERRUPT NO. 2 (IND .EQ. 5) IF REQUESTED IF (INF(5).EQ.0) GO TO 2020 RETURN C C RESUME HERE ON RE-ENTRY WITH IND .EQ. 5 - ...RE-ENTRY........... C 2020 CONTINUE K = INF(6) - 2 IF (INF(5).NE.0) CALL COEFF(K,POEF,COEF,PIE,PII) IF (INF(8).NE.2 .OR. IND.EQ.6) GO TO 2080 C C LAST STEP IS ACCEPTED, RESET STATUS VARIABLES TO INDICATE C THIS, UPDATE X AND Y AND FINALLY SEE IF X = XEND. C INF(8) = 2 X = C(13) DO 2040 I = 1, N WORK(I,9) = WORK(I,3) WORK(I,4) = Y(I) Y(I) = WORK(I,1) 2040 CONTINUE INF(10) = INF(10) + 1 INF(12) = 0 INF(16) = INF(16) + 1 INF(17) = 0 INF(18) = 1 INF(19) = 0 INF(20) = 0 IF (XEND+DABS(XEND-X)*.1D0.NE.XEND) GO TO 2060 IND = 3 C(17) = XEND X = XEND INF(9) = 1 RETURN 2060 CONTINUE GO TO 2120 C C ELSE STEP IS REJECTED C ADD 1 TO COUNTER FOR NUMBER OF FAILURES C ADD 1 TO NUMBER OF SUCCESSIVE FAILURES C 2080 CONTINUE INF(11) = INF(11) + 1 INF(12) = INF(12) + 1 IF (DABS(C(14)).GT.C(9)) GO TO 2100 C C*************** ERROR RETURN IF |HTRIAL| <= HMIN C IND = -3 RETURN 2100 CONTINUE 2120 CONTINUE GO TO 240 C C*********************************************************************** C*********************************************************************** C C BEGIN ABORT ACTION: 2140 CONTINUE IOUT = CONST(3) WRITE (IOUT,FMT=99999) IND, TOL, X, N, C(9), XEND, NDIM, C(11), * C(17), INF(10), INF(12), INF(13), (Y(J),J=1,N) STOP C 99999 FORMAT (/// * '0COMPUTATION STOPPED IN SECDER WITH THE FOLLOWING VALUES', * /'0IND =',I4,5X,'TOL =',1P,D13.6,5X,'X =',1P, * D22.15,/' N =',I4,5X,'HMIN =',1P,D13.6,5X,'XEND =', * 1P,D22.15,/' NDIM=',I4,5X,'HMAX =',1P,D13.6,5X, * 'PREV XEND =',1P,D22.15,/'0',14X, * 'NO OF SUCCESSFUL STEPS =',I8,/15X, * 'NO OF SUCCESSIVE FAILURES =',I8,/15X, * 'NO OF FUNCTION EVALS =',I8, * /'0THE COMPONENTS OF Y ARE',//(' ',1P,D24.15)) END DOUBLE PRECISION FUNCTION STEP(ERR,HMAG,TOL,NQ) C .. Scalar Arguments .. DOUBLE PRECISION ERR, HMAG, TOL INTEGER NQ C .. Local Scalars .. DOUBLE PRECISION STPMAX C .. Executable Statements .. STPMAX = 1.D1 IF (NQ.GE.5) STPMAX = 2.D0 IF (TOL.GE.(STPMAX/.95D0)**(NQ+1)*4.D0*ERR) GO TO 20 GO TO 40 20 STEP = STPMAX*HMAG RETURN 40 STEP = .95*HMAG*(TOL/(4.D0*ERR))**(1.D0/(NQ+1)) RETURN END SUBROUTINE NEWSTP(NDIM,N,K,X,H,HNEW,YP) C .. Scalar Arguments .. DOUBLE PRECISION H, HNEW, X INTEGER K, N, NDIM C .. Array Arguments .. DOUBLE PRECISION YP(NDIM,11) C .. Local Scalars .. DOUBLE PRECISION FCT, RATIO, SP1, TMP, VALUE INTEGER I, IMAX, J, KOUNT, KP1, L, LIM, LM1, M, NQ C .. Local Arrays .. DOUBLE PRECISION C(9), DIV(8), FACT(7,7), FKP1(7), S(7) C .. Intrinsic Functions .. INTRINSIC DBLE C .. Executable Statements .. KP1 = K + 1 NQ = K + 2 DIV(1) = 1.D0 DO 20 I = 2, KP1 DIV(I) = 1.D0/DBLE(I) 20 CONTINUE RATIO = HNEW/H C CALCULATE THE COEFFICIENTS FOR THE BACKWARD DIFFERENCES C DO 60 M = 1, K S(M) = M*RATIO SP1 = S(M) + 1.D0 FCT = 1.D0 DO 40 J = 1, K FCT = -FCT*(SP1-J)*DIV(J) FACT(M,J) = FCT 40 CONTINUE FKP1(M) = -FCT*(S(M)-K) 60 CONTINUE DO 200 KOUNT = 1, N C C CALCULATE THE BACKWARD DIFFERENCE FORM OF THE OLD POINT C SET, STORING THE RESULTS IN C. C LIM = 8 - K LM1 = LIM - 1 DO 80 I = LIM, 9 C(I-LM1) = YP(KOUNT,I) 80 CONTINUE DO 120 L = 1, K IMAX = KP1 - L DO 100 I = 1, IMAX C(I) = C(I+1) - C(I) 100 CONTINUE 120 CONTINUE TMP = H*C(NQ) DO 140 I = 1, K TMP = TMP - DIV(I)*C(KP1-I) 140 CONTINUE C C EVALUATE THE INTERPOLATING POLYNOMIAL AT THE NEW POINT SET C DO 180 M = 1, K VALUE = C(KP1) + FKP1(M)*TMP DO 160 J = 1, K VALUE = VALUE + FACT(M,J)*C(KP1-J) 160 CONTINUE YP(KOUNT,8-M) = VALUE 180 CONTINUE 200 CONTINUE RETURN END SUBROUTINE COEFF(K,POEF,COEF,PIE,PII) C .. Scalar Arguments .. DOUBLE PRECISION PIE, PII INTEGER K C .. Array Arguments .. DOUBLE PRECISION COEF(9), POEF(9) C .. Executable Statements .. GO TO (20,40,60,80,100,120,140) K C ****************************************************** C 1: ORDER = 3 C ****************************************************** 20 COEF(1) = 1.D0/3.D0 COEF(2) = 2.D0/3.D0 COEF(3) = -1.D0/6.D0 POEF(1) = COEF(1) POEF(2) = COEF(2) POEF(3) = 5.D0/6.D0 PII = 1.D0/72.D0 PIE = 7.D0/72.D0 GO TO 160 C ****************************************************** C 2: ORDER = 4 C ****************************************************** 40 COEF(1) = -1.0D0/48.0D0 COEF(2) = 5.0D0/12.0D0 COEF(3) = 29.0D0/48.0D0 COEF(4) = -1.0D0/8.0D0 POEF(1) = -7.D0/48.D0 POEF(2) = 11.D0/12.D0 POEF(3) = 11.D0/48.D0 POEF(4) = 9.D0/8.D0 PII = 7.D0/1440.D0 PIE = 97.D0/1440.D0 GO TO 160 C ****************************************************** C 3: ORDER = 5 C ****************************************************** 60 COEF(1) = 7.0D0/1080.0D0 COEF(2) = -1.0D0/20.0D0 COEF(3) = 19.0D0/40.0D0 COEF(4) = 307.0D0/540.0D0 COEF(5) = -19.0D0/180.0D0 POEF(1) = 97.D0/1080.D0 POEF(2) = -11.D0/20.D0 POEF(3) = 69.D0/40.D0 POEF(4) = -143.D0/540.D0 POEF(5) = 251.D0/180.D0 PII = 17.D0/7200.D0 PIE = 367.D0/7200.D0 GO TO 160 C ****************************************************** C 4: ORDER = 6 C ****************************************************** 80 COEF(1) = -17.0D0/5760.0D0 COEF(2) = 1.0D0/45.0D0 COEF(3) = -41.0D0/480.0D0 COEF(4) = 47.0D0/90.0D0 COEF(5) = 3133.0D0/5760.0D0 COEF(6) = -3.0D0/32.0D0 POEF(1) = -367.D0/5760.D0 POEF(2) = 58.D0/135.D0 POEF(3) = -631.D0/480.D0 POEF(4) = 247.D0/90.D0 POEF(5) = -13751.D0/17280.D0 POEF(6) = 475.D0/288.D0 PII = 41.D0/30240.D0 PIE = 1231.D0/30240.D0 GO TO 160 C ****************************************************** C 5: ORDER = 7 C ****************************************************** 100 COEF(1) = 41.0D0/25200.0D0 COEF(2) = -529.0D0/40320.0D0 COEF(3) = 373.0D0/7560.0D0 COEF(4) = -1271.0D0/10080.0D0 COEF(5) = 2837.0D0/5040.0D0 COEF(6) = 317731.0D0/604800.0D0 COEF(7) = -863.0D0/10080.0D0 POEF(1) = 1231.D0/25200.D0 POEF(2) = -14879.D0/40320.D0 POEF(3) = 9403.D0/7560.D0 POEF(4) = -25561.D0/10080.D0 POEF(5) = 19987.D0/5040.D0 POEF(6) = -818579.D0/604800.D0 POEF(7) = 19087.D0/10080.D0 PII = 731.D0/846720.D0 PIE = 28549.D0/846720.D0 GO TO 160 C ****************************************************** C 6: ORDER = 8 C ****************************************************** 120 COEF(1) = -731.0D0/725760.0D0 COEF(2) = 179.0D0/20160.0D0 COEF(3) = -5771.0D0/161280.0D0 COEF(4) = 8131.0D0/90720.0D0 COEF(5) = -13823.0D0/80640.0D0 COEF(6) = 12079.0D0/20160.0D0 COEF(7) = 247021.0D0/483840.0D0 COEF(8) = -275.0D0/3456.0D0 POEF(1) = -28549.D0/725760.D0 POEF(2) = 33473.D0/100800.D0 POEF(3) = -202261.D0/161280.D0 POEF(4) = 255581.D0/90720.D0 POEF(5) = -347233.D0/80640.D0 POEF(6) = 108497.D0/20160.D0 POEF(7) = -1557739.D0/806400.D0 POEF(8) = 36799.D0/17280.D0 PII = 8563.D0/14515200.D0 PIE = 416173.D0/14515200.D0 GO TO 160 C ****************************************************** C 7: ORDER = 9 C ****************************************************** 140 COEF(1) = 8563.0D0/12700800.0D0 COEF(2) = -35453.0D0/5443200.0D0 COEF(3) = 86791.0D0/3024000.0D0 COEF(4) = -2797.0D0/36288.0D0 COEF(5) = 157513.0D0/1088640.0D0 COEF(6) = -133643.0D0/604800.0D0 COEF(7) = 1147051.0D0/1814400.0D0 COEF(8) = 1758023.0D0/3528000.0D0 COEF(9) = -33953/453600.0D0 POEF(1) = 416173.D0/12700800.D0 POEF(2) = -1670723.D0/5443200.D0 POEF(3) = 3917401.D0/3024000.D0 POEF(4) = -118339.D0/36288.D0 POEF(5) = 5980183.D0/1088640.D0 POEF(6) = -4060853.D0/604800.D0 POEF(7) = 12677941.D0/1814400.D0 POEF(8) = -26739941.D0/10584000.D0 POEF(9) = 1070017.D0/453600.D0 PII = 27719.D0/65318400.D0 PIE = 324901.D0/13063680.D0 160 RETURN END SUBROUTINE DDCOMP(NDIM,N,A,NPIV,IND) C C--------+---------+---------+---------+---------+---------+---------+-- C COMMON AREA USED FOR STATISTICS GATHERING BY STDTST PACKAGE C .. Scalar Arguments .. INTEGER IND, N, NDIM C .. Array Arguments .. DOUBLE PRECISION A(NDIM,N) INTEGER NPIV(N) C .. Scalars in Common .. INTEGER NFCN, NJAC, NLUD C .. Local Scalars .. DOUBLE PRECISION AMULT, COLMAX, HOLD INTEGER I, IP1, IPIVOT, J, JPIVOT, K, NM1, NROW C .. Intrinsic Functions .. INTRINSIC DABS C .. Common blocks .. COMMON /STCOM6/NFCN, NJAC, NLUD C .. Executable Statements .. C--------+---------+---------+---------+---------+---------+---------+-- C NLUD = NLUD + 1 C IND = 0 C C *************** C * C * CHECK FOR A SYSTEM OF ONLY ONE UNKNOWN C * C *************** C IF (N.EQ.1) RETURN C C *************** C * C * INITIALIZE PIVOT VECTOR C * C *************** C DO 20 I = 1, N NPIV(I) = I 20 CONTINUE C C *************** C * C * MAIN LOOP FOR GAUSS ELIMINATION C * C *************** C NM1 = N - 1 DO 140 I = 1, NM1 C C *************** C * C * SEARCH COLUMN FOR LARGEST PIVOT,I.E., C * MAX |A(J,I)|, I <= J <= N. C * C *************** C COLMAX = 0.D0 DO 40 J = I, N HOLD = DABS(A(NPIV(J),I)) IF (HOLD.LE.COLMAX) GO TO 40 COLMAX = HOLD NROW = J 40 CONTINUE C C *************** C * C * TEST FOR SINGULARITY. THE MATRIX IS ASSUMED TO BE SINGULAR C * IF COLMAX (THE ABS. VALUE OF THE PIVOT) IS EQUIVALENT C * TO ZERO, I.E., C * 1.0 + COLMAX = 1.0 . C * IF THIS IS TRUE THEN THE ROUTINE PROCEEDS ON TO THE (I+1)-TH C * STAGE OF THE ELIMINATION. C * C *************** C IF (1.D0+COLMAX.NE.1.D0) GO TO 60 IND = -1 GO TO 140 C C *************** C * C * IF AN INTERCHANGE IS NECESSARY, ALTER THE PIVOT VECTOR NPIV. C * C *************** C 60 IPIVOT = NPIV(NROW) IF (NROW.EQ.I) GO TO 80 NPIV(NROW) = NPIV(I) NPIV(I) = IPIVOT C C *************** C * C * THE MULTIPLIERS FOR THE COMPUTATION OF THE REMAINING ROWS ARE C * DETERMINED AND ELIMINATION IS PERFORMED. THE VALUE OF EACH C * MULTIPLIER IS STORED IN THE POSITION OF THE ELIMINATED C * ELEMENT. C * C *************** C 80 IP1 = I + 1 DO 120 J = IP1, N JPIVOT = NPIV(J) AMULT = A(JPIVOT,I)/A(IPIVOT,I) A(JPIVOT,I) = AMULT DO 100 K = IP1, N A(JPIVOT,K) = A(JPIVOT,K) - AMULT*A(IPIVOT,K) 100 CONTINUE 120 CONTINUE 140 CONTINUE IF (1.D0+DABS(A(NPIV(N),N)).EQ.1.D0) IND = -1 RETURN END SUBROUTINE DSOLVE(NDIM,N,LU,NPIV,B,X) C .. Scalar Arguments .. INTEGER N, NDIM C .. Array Arguments .. DOUBLE PRECISION B(N), LU(NDIM,N), X(N) INTEGER NPIV(N) C .. Local Scalars .. DOUBLE PRECISION SUM INTEGER I, J, K, KM1, KP1, KPIVOT C .. Executable Statements .. C C *************** C * C * CHECK FOR SYSTEM OF ONLY ONE UNKNOWN C * C *************** C IF (N.GT.1) GO TO 20 X(1) = B(1)/LU(1,1) RETURN C C *************** C * C * FORWARD ELIMINATION ON B. THE RESULT IS PLACED IN X. C * C *************** C 20 KPIVOT = NPIV(1) X(1) = B(KPIVOT) DO 60 K = 2, N KPIVOT = NPIV(K) KM1 = K - 1 SUM = B(KPIVOT) DO 40 J = 1, KM1 SUM = SUM - LU(KPIVOT,J)*X(J) 40 CONTINUE X(K) = SUM 60 CONTINUE C C *************** C * C * BACK SUBSTITUTION BEGINS. C * C *************** C X(N) = X(N)/LU(KPIVOT,N) K = N DO 100 I = 2, N KP1 = K K = K - 1 KPIVOT = NPIV(K) SUM = X(K) DO 80 J = KP1, N SUM = SUM - LU(KPIVOT,J)*X(J) 80 CONTINUE X(K) = SUM/LU(KPIVOT,K) 100 CONTINUE RETURN END SUBROUTINE IVALU(N,XSTART,XEND,HBEGIN,HMAX,Y,FCNTIM,JACTIM,LUDTIM, * W,IWT,ID) C C**************************************************************** C C ROUTINE TO PROVIDE THE INITIAL VALUES REQUIRED TO SPECIFY C THE MATHEMATICAL PROBLEM AS WELL AS VARIOUS PROBLEM C PARAMETERS REQUIRED BY THE TESTING PACKAGE. THE APPROPRIATE C SCALING VECTOR IS ALSO INITIALISED IN CASE THIS OPTION IS C SELECTED. C C PARAMETERS (OUTPUT) C N - DIMENSION OF THE PROBLEM C XSTART - INITIAL VALUE OF THE INDEPENDENT VARIABLE C XEND - FINAL VALUE OF THE INDEPENDENT VARIABLE C HBEGIN - APPROPRIATE STARTING STEPSIZE C Y - VECTOR OF INITIAL CONDITIONS FOR THE DEPENDENT C VARIABLES C FCNTIM - AVERAGE COMPUTER TIME REQUIRED FOR A DERIVATIVE C EVALUATION C JACTIM - AVERAGE COMPUTER TIME REQUIRED FOR A JACOBIAN C EVALUATION C LUDTIM - AVERAGE COMPUTER TIME REQUIRED FOR AN L/U C FACTORIZATION C WT - VECTOR OF WEIGHTS USED TO SCALE THE PROBLEM IF C THIS OPTION IS SELECTED. C C PARAMETER (INPUT) C IWT - FLAG TO INDICATE IF SCALED OPTION IS SELESTED C ID - FLAG IDENTIFYING WHICH EQUATION IS BEING SOLVED C C***************************************************************** C .. Scalar Arguments .. DOUBLE PRECISION HBEGIN, HMAX, XEND, XSTART REAL FCNTIM, JACTIM, LUDTIM INTEGER ID, IWT, N C .. Array Arguments .. DOUBLE PRECISION W(20), Y(20) C .. Local Scalars .. DOUBLE PRECISION XS INTEGER I, IID, IOUT, ITMP C .. External Functions .. REAL CONST EXTERNAL CONST C .. Intrinsic Functions .. INTRINSIC MOD C .. Data statements .. DATA XS/0.D0/ C .. Executable Statements .. XSTART = XS IID = MOD(ID,10) GO TO (40,80,120,160,20,20,20,20,20, * 20,200,220,220,220,220,20,20,20, * 20,20,360,400,400,400,400,20,20, * 20,20,20,540,580,600,640,660,680, * 20,20,20,20,700,740,760,780,800, * 20,20,20,20,20,840,860,880,900, * 920) ID 20 IOUT = CONST(3) WRITE (IOUT,FMT=99999) ID STOP C C C PROBLEM CLASS A - LINEAR WITH REAL EIGENVALUES C C 40 CONTINUE CP PROBLEM A1 FCNTIM = 1.0423E-05 JACTIM = 5.2437E-05 LUDTIM = 1.6114E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 60 I = 1, N Y(I) = 1.D0 60 CONTINUE GO TO 940 C 80 CONTINUE CP PROBLEM A2 FCNTIM = 5.2697E-05 JACTIM = 1.1333E-04 LUDTIM = 1.0000E-03 N = 9 W(1) = 0.100D+00 W(2) = 0.200D+00 W(3) = 0.300D+00 W(4) = 0.400D+00 W(5) = 0.500D+00 W(6) = 0.600D+00 W(7) = 0.700D+00 W(8) = 0.800D+00 W(9) = 0.900D+00 XEND = 120.D0 HBEGIN = 5.D-4 HMAX = 120.D0 DO 100 I = 1, N Y(I) = 0.D0 100 CONTINUE GO TO 940 C 120 CONTINUE CP PROBLEM A3 FCNTIM = 5.7981E-05 JACTIM = 2.7828E-05 LUDTIM = 1.6068E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.782D+01 W(4) = 0.100D+01 HBEGIN = 1.D-5 XEND = 20.D0 HMAX = 20.D0 DO 140 I = 1, N Y(I) = 1.D0 140 CONTINUE GO TO 940 C 160 CONTINUE CP PROBLEM A4 FCNTIM = 4.3962E-05 JACTIM = 1.1557E-04 LUDTIM = 1.2879E-03 N = 10 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 W(7) = 0.100D+01 W(8) = 0.100D+01 W(9) = 0.100D+01 W(10) = 0.100D+01 XEND = 1.D0 HBEGIN = 1.D-5 HMAX = 1.D0 DO 180 I = 1, N Y(I) = 1.D0 180 CONTINUE GO TO 940 C C PROBLEM CLASS B - LINEAR WITH NON-REAL EIGENVALUES C C 200 CONTINUE CP PROBLEM B1 FCNTIM = 4.0495E-05 JACTIM = 3.5095E-05 LUDTIM = 1.4886E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.859D+01 W(3) = 0.100D+01 W(4) = 0.322D+02 XEND = 20.D0 HBEGIN = 7.D-3 HMAX = 20.D0 Y(1) = 1.D0 Y(2) = 0.D0 Y(3) = 1.D0 Y(4) = 0.D0 GO TO 940 C 220 CONTINUE CP PROBLEM B2, B3, B4, B5 FCNTIM = 2.2066E-05 JACTIM = 3.6836E-05 LUDTIM = 4.0865E-04 N = 6 ITMP = IID - 1 GO TO (240,260,280,300) ITMP 240 CONTINUE W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 GO TO 320 260 CONTINUE W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 GO TO 320 280 CONTINUE W(1) = 0.112D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 GO TO 320 300 CONTINUE W(1) = 0.131D+01 W(2) = 0.112D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 W(5) = 0.100D+01 W(6) = 0.100D+01 320 CONTINUE XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 340 I = 1, N Y(I) = 1.D0 340 CONTINUE GO TO 940 C C PROBLEM CLASS C - NON-LINEAR COUPLING FROM C STEADY STATE TO TRANSIENT C C 360 CONTINUE CP PROBLEM C1 FCNTIM = 4.0836E-05 JACTIM = 6.3958E-05 LUDTIM = 1.4155E-04 N = 4 W(1) = 0.102D+01 W(2) = 0.103D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 380 I = 1, N Y(I) = 1.D0 380 CONTINUE GO TO 940 C 400 CONTINUE CP PROBLEM C2, C3, C4, C5 FCNTIM = 4.5958E-05 JACTIM = 4.0047E-05 LUDTIM = 1.6966E-04 N = 4 ITMP = IID - 1 GO TO (420,440,460,480) ITMP 420 CONTINUE W(1) = 0.200D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 GO TO 500 440 CONTINUE W(1) = 0.200D+01 W(2) = 0.100D+01 W(3) = 0.100D+01 W(4) = 0.100D+01 GO TO 500 460 CONTINUE W(1) = 0.200D+01 W(2) = 0.400D+01 W(3) = 0.200D+02 W(4) = 0.420D+03 GO TO 500 480 CONTINUE W(1) = 0.200D+01 W(2) = 0.800D+01 W(3) = 0.136D+03 W(4) = 0.371D+05 500 CONTINUE XEND = 20.D0 HBEGIN = 1.D-2 HMAX = 20.D0 DO 520 I = 1, N Y(I) = 1.D0 520 CONTINUE GO TO 940 C C PROBLEM CLASS D - NON-LINEAR WITH REAL EIGENVALUES C C 540 CONTINUE CP PROBLEM D1 FCNTIM = 3.5759E-05 JACTIM = 8.0439E-06 LUDTIM = 4.8023E-05 N = 3 W(1) = 0.223D+02 W(2) = 0.271D+02 W(3) = 0.400D+03 XEND = 400.D0 HBEGIN = 1.7D-2 HMAX = 400.D0 DO 560 I = 1, N Y(I) = 0.D0 560 CONTINUE GO TO 940 C 580 CONTINUE CP PROBLEM D2 FCNTIM = 3.7511E-05 JACTIM = 4.8655E-05 LUDTIM = 1.3732E-04 N = 3 W(1) = 0.100D+01 W(2) = 0.365D+00 W(3) = 0.285D+02 XEND = 40.D0 HBEGIN = 1.D-5 HMAX = 40.D0 Y(1) = 1.D0 Y(2) = 0.D0 Y(3) = 0.D0 GO TO 940 C 600 CONTINUE CP PROBLEM D3 FCNTIM = 3.3307E-05 JACTIM = 4.6448E-05 LUDTIM = 1.7745E-04 N = 4 W(1) = 0.100D+01 W(2) = 0.100D+01 W(3) = 0.360D+00 W(4) = 0.485D+00 XEND = 20.D0 HBEGIN = 2.5D-5 HMAX = 20.D0 DO 620 I = 1, 2 Y(I) = 1.D0 Y(I+2) = 0.D0 620 CONTINUE GO TO 940 C 640 CONTINUE CP PROBLEM D4 FCNTIM = 2.0236E-05 JACTIM = 2.2098E-05 LUDTIM = 3.9107E-05 N = 3 W(1) = 0.100D+01 W(2) = 0.142D+01 W(3) = 0.371D-05 XEND = 50.D0 HBEGIN = 2.9D-4 HMAX = 50.D0 Y(1) = 1.D0 Y(2) = 1.D0 Y(3) = 0.D0 GO TO 940 C 660 CONTINUE CP PROBLEM D5 FCNTIM = 8.2472E-06 JACTIM = 4.2521E-05 LUDTIM = 7.7238E-05 N = 2 W(1) = 0.992D+00 W(2) = 0.984D+00 XEND = 1.D2 HBEGIN = 1.D-4 HMAX = 1.D2 Y(1) = 0.D0 Y(2) = 0.D0 GO TO 940 C 680 CONTINUE CP PROBLEM D6 FCNTIM = 2.0696E-05 JACTIM = 4.2854E-05 LUDTIM = 5.1625E-05 N = 3 W(1) = 0.100D+01 W(2) = 0.148D+00 W(3) = 0.577D-07 XEND = 1.D0 HBEGIN = 3.3D-8 HMAX = 1.D0 Y(1) = 1.D0 Y(2) = 0.D0 Y(3) = 0.D0 GO TO 940 C C PROBLEM CLASS E - NON-LINEAR WITH NON-REAL EIGENVALUES C C 700 CONTINUE CP PROBLEM E1 FCNTIM = 6.2417E-06 JACTIM = 1.1033E-05 LUDTIM = 1.8910E-04 N = 4 W(1) = 0.100D-07 W(2) = 0.223D-06 W(3) = 0.132D-04 W(4) = 0.171D-02 XEND = 1.D0 HBEGIN = 6.8D-3 HMAX = 1.D0 DO 720 I = 1, N Y(I) = 0.D0 720 CONTINUE GO TO 940 C 740 CONTINUE CP PROBLEM E2 FCNTIM = 1.5438E-05 JACTIM = 5.2993E-05 LUDTIM = 6.9787E-05 N = 2 W(1) = 0.202D+01 W(2) = 0.764D+01 XEND = 1.D1 HBEGIN = 1.D-3 HMAX = 1.D1 Y(1) = 2.D0 Y(2) = 0.D0 GO TO 940 C 760 CONTINUE CP PROBLEM E3 FCNTIM = 5.5635E-06 JACTIM = 3.7980E-05 LUDTIM = 6.7837E-05 N = 3 W(1) = 0.163D+01 W(2) = 0.160D+01 W(3) = 0.263D+02 XEND = 5.D2 HBEGIN = .2D-1 HMAX = 5.D2 Y(1) = 1.D0 Y(2) = 1.D0 Y(3) = 0.D0 GO TO 940 C 780 CONTINUE CP PROBLEM E4 FCNTIM = 2.7696E-05 JACTIM = 1.4108E-04 LUDTIM = 1.7745E-04 N = 4 W(1) = 0.288D+02 W(2) = 0.295D+02 W(3) = 0.155D+02 W(4) = 0.163D+02 XEND = 1.D3 HBEGIN = 1.D-3 HMAX = 1.D3 Y(1) = 0.D0 Y(2) = -2.D0 Y(3) = -1.D0 Y(4) = -1.D0 GO TO 940 C 800 CONTINUE CP PROBLEM E5 FCNTIM = 3.6063E-05 JACTIM = 1.0640E-05 LUDTIM = 1.6848E-04 N = 4 W(1) = 0.176D-02 W(2) = 0.146D-09 W(3) = 0.827D-11 W(4) = 0.138D-09 XEND = 1.D3 HBEGIN = 5.D-5 HMAX = 1.D3 Y(1) = 1.76D-3 DO 820 I = 2, N Y(I) = 0.D0 820 CONTINUE GO TO 940 C C PROBLEM CLASS F - CHEMICAL KINETICS EQUATIONS C C 840 CONTINUE CP PROBLEM F1 FCNTIM = 1.5420E-05 JACTIM = 3.5365E-05 LUDTIM = 1.3219E-04 N = 4 W(1) = 0.121D+04 W(2) = 0.835D-01 W(3) = 0.121D+04 W(4) = 0.100D+00 HMAX = 1.D3 HBEGIN = 1.D-4 XEND = 1.D3 Y(1) = 761.D0 Y(2) = 0.D0 Y(3) = 600.D0 Y(4) = .1D0 GO TO 940 C 860 CONTINUE CP PROBLEM F2 FCNTIM = 2.8234E-05 JACTIM = 3.6186E-05 LUDTIM = 7.0103E-05 N = 2 W(1) = 0.100D+01 W(2) = 0.253D-02 HMAX = 240.D0 HBEGIN = 1.D-2 XEND = 240.D0 Y(1) = 1.0D0 Y(2) = 0.D0 GO TO 940 C 880 CONTINUE CP PROBLEM F3 FCNTIM = 5.7725E-05 JACTIM = 4.3581E-06 LUDTIM = 2.0384E-04 N = 5 W(1) = 0.400D-05 W(2) = 0.100D-05 W(3) = 0.374D-08 W(4) = 0.765D-06 W(5) = 0.324D-05 HBEGIN = 1.D-6 HMAX = 100.D0 XEND = 100.D0 Y(1) = 4.D-6 Y(2) = 1.D-6 Y(3) = 0.0D0 Y(4) = 0.0D0 Y(5) = 0.0D0 GO TO 940 C 900 CONTINUE CP PROBLEM F4 FCNTIM = 6.7891E-06 JACTIM = 4.0797E-05 LUDTIM = 5.9069E-05 N = 3 W(1) = 0.118D+06 W(2) = 0.177D+04 W(3) = 0.313D+05 HBEGIN = 1.D-3 HMAX = 50.D0 XEND = 300.D0 Y(1) = 4.D0 Y(2) = 1.1D0 Y(3) = 4.D0 GO TO 940 C 920 CONTINUE CP PROBLEM F5 FCNTIM = 1.1586E-05 JACTIM = 4.0856E-05 LUDTIM = 1.7764E-04 N = 4 W(1) = 0.336D-06 W(2) = 0.826D-02 W(3) = 0.619D-02 W(4) = 0.955D-05 HBEGIN = 1.D-7 HMAX = 100.D0 XEND = 100.D0 Y(1) = 3.365D-7 Y(2) = 8.261D-3 Y(3) = 1.642D-3 Y(4) = 9.380D-6 940 CONTINUE IF (IWT.LT.0) GO TO 980 DO 960 I = 1, N Y(I) = Y(I)/W(I) 960 CONTINUE 980 CONTINUE RETURN C 99999 FORMAT ('0AN INVALID INTERNAL PROBLEM ID OF ',I4, * ' WAS FOUND BY THE IVALU ROUTINE', * /' RUN TERMINATED. CHECK THE DATA AND THE PARCHK ROUTINE!') END SUBROUTINE EVALU(Y,N,W,IWT,ID) C C********************************************************************** C C ROUTINE TO PROVIDE THE 'TRUE' SOLUTION OF THE DIFFERENTIAL C EQUATION EVALUATED AT THE ENDPOINT OF THE INTEGRATION. C C 1986 REVISION: SOME VERY SMALL CONSTANTS HAVE BEEN RECAST IN THE C (NOT SO SMALL CONST)/(1.E38) TO AVOID COMPILE-TIME UNDERFLOW ERROR C IT IS ASSUMED 1E+38 WON'T OVERFLOW. C PARAMETER (OUTPUT) C Y - THE TRUE SOLUTION VECTOR EVALUATED AT THE ENDPOINT C C PARAMETERS (INPUT) C N - DIMENSION OF THE PROBLEM C W - VECTOR OF WEIGHTS USED TO SCALE THE PROBLEM C IF THIS OPTION IS SELECTED C IWT - FLAG USED TO SIGNAL WHEN THE SCALED PROBLEM IS C BEING SOLVED C ID - FLAG USED TO INDICATE WHICH EQUATION IS BEING C SOLVED C C********************************************************************** C .. Parameters .. REAL TENE38 PARAMETER (TENE38=1.D38) C .. Scalar Arguments .. INTEGER ID, IWT, N C .. Array Arguments .. DOUBLE PRECISION W(20), Y(20) C .. Local Scalars .. INTEGER I C .. Executable Statements .. GO TO (20,40,60,80,620,620,620,620,620, * 620,100,120,140,160,180,620,620,620, * 620,620,200,220,240,260,280,620,620, * 620,620,620,300,320,340,360,380,400, * 620,620,620,620,420,440,460,480,500, * 620,620,620,620,620,520,540,560,580, * 600,620,620,620,620,620) ID GO TO 620 C PROBLEM CLASS A C C PROBLEM A1 20 Y(1) = 4.539992969929191D-05 Y(2) = 2.061153036149920D-09 Y(3) = 2.823006338263857D-18/TENE38 Y(4) = 5.235792540515384D-14/TENE38 GO TO 620 C C PROBLEM A2 40 Y(1) = 9.999912552999704D-02 Y(2) = 1.999982511586291D-01 Y(3) = 2.999975543202422D-01 Y(4) = 3.999971057541257D-01 Y(5) = 4.999969509963023D-01 Y(6) = 5.999971057569546D-01 Y(7) = 6.999975543256127D-01 Y(8) = 7.999982511659962D-01 Y(9) = 8.999991255386128D-01 GO TO 620 C C PROBLEM A3 60 Y(1) = -1.353352661867235D-03 Y(2) = 1.368526917891521D-02 Y(3) = 1.503725348455117D+00 Y(4) = 1.353352832366099D-01 GO TO 620 C C PROBLEM A4 80 Y(1) = 3.678794411714325D-01 Y(2) = 1.265870722340194D-14 Y(3) = 1.911533219339204D-04/TENE38 Y(4) = 2.277441666729596D-17/TENE38 Y(5) = 0.0D0 Y(6) = 0.0D0 Y(7) = 0.0D0 Y(8) = 0.0D0 Y(9) = 0.0D0 Y(10) = 0.0D0 GO TO 620 C PROBLEM CLASS B C C PROBLEM B1 100 Y(1) = 1.004166730990124D-09 Y(2) = 1.800023280346500D-08 Y(3) = 0.0D0 Y(4) = -6.042962877027475D-03/TENE38/TENE38 GO TO 620 C C PROBLEM B2 120 Y(1) = 6.181330838820067D-31 Y(2) = 8.963657877626303D-31 Y(3) = 2.738406773453261D-27 Y(4) = 2.061153063164016D-09 Y(5) = 4.539992973654118D-05 Y(6) = 1.353352832365270D-01 GO TO 620 C C PROBLEM B3 140 Y(1) = -1.076790816984970D-28 Y(2) = 5.455007683862160D-28 Y(3) = 2.738539964946867D-27 Y(4) = 2.061153071123456D-09 Y(5) = 4.539992974611305D-05 Y(6) = 1.353352832365675D-01 GO TO 620 C C PROBLEM B4 160 Y(1) = 1.331242472678293D-22 Y(2) = -2.325916064237926D-22 Y(3) = 1.517853928534857D-35 Y(4) = 2.061152428936651D-09 Y(5) = 4.539992963392291D-05 Y(6) = 1.353352832363442D-01 GO TO 620 C C PROBLEM B5 180 Y(1) = -3.100634584292190D-14 Y(2) = 3.862788998076547D-14 Y(3) = 1.804851385304217D-35 Y(4) = 2.061153622425655D-09 Y(5) = 4.539992976246673D-05 Y(6) = 1.353352832366126D-01 GO TO 620 C PROBLEM CLASS C C C PROBLEM C1 200 Y(1) = 4.003223925456179D-04 Y(2) = 4.001600000000000D-04 Y(3) = 4.000000000000000D-04 Y(4) = 2.000000000000000D-02 GO TO 620 C C PROBLEM C2 220 Y(1) = 1.999999997938994D+00 Y(2) = 3.999999990839974D-02 Y(3) = 4.001599991537078D-02 Y(4) = 4.003201271914461D-02 GO TO 620 C C PROBLEM C3 240 Y(1) = 1.999999997939167D+00 Y(2) = 3.999999990840744D-01 Y(3) = 4.159999990793773D-01 Y(4) = 4.333055990159567D-01 GO TO 620 C C PROBLEM C4 260 Y(1) = 1.999999997938846D+00 Y(2) = 3.999999990839318D+00 Y(3) = 1.999999991637941D+01 Y(4) = 4.199999965390368D+02 GO TO 620 C C PROBLEM C5 280 Y(1) = 1.999999997938846D+00 Y(2) = 7.999999981678634D+00 Y(3) = 1.359999993817714D+02 Y(4) = 3.712799965967762D+04 GO TO 620 C PROBLEM CLASS D C C PROBLEM D1 300 Y(1) = 2.224222010616901D+01 Y(2) = 2.711071334484136D+01 Y(3) = 3.999999999999999D+02 GO TO 620 C C PROBLEM D2 320 Y(1) = 7.158270687193941D-01 Y(2) = 9.185534764557338D-02 Y(3) = 2.841637457458413D+01 GO TO 620 C C PROBLEM D3 340 Y(1) = 6.397604446889910D-01 Y(2) = 5.630850708287990D-03 Y(3) = 3.602395553110090D-01 Y(4) = 3.170647969903515D-01 GO TO 620 C C PROBLEM D4 360 Y(1) = 5.976546980673215D-01 Y(2) = 1.402343408546138D+00 Y(3) = -1.893386540441913D-06 GO TO 620 C C PROBLEM D5 380 Y(1) = -9.916420698713913D-01 Y(2) = 9.833363588544478D-01 GO TO 620 C C PROBLEM D6 400 Y(1) = 8.523995440749948D-01 Y(2) = 1.476003981941319D-01 Y(3) = 5.773087333950041D-08 GO TO 620 C PROBLEM CLASS E C C PROBLEM E1 420 Y(1) = 1.000000000000012D-08 Y(2) = -1.625323873316817D-19 Y(3) = 2.025953375595861D-17 Y(4) = -1.853149807630002D-15 GO TO 620 C C PROBLEM E2 440 Y(1) = -1.158701266031984D+00 Y(2) = 4.304698089780476D-01 GO TO 620 C C PROBLEM E3 460 Y(1) = 4.253052197643089D-03 Y(2) = 5.317019548450387D-03 Y(3) = 2.627647748753926D+01 GO TO 620 C C PROBLEM E4 480 Y(1) = 1.999999977523654D+01 Y(2) = -2.000000022476345D+01 Y(3) = -2.247634567084293D-07 Y(4) = 2.247634567084293D-07 GO TO 620 C C PROBLEM E5 500 Y(1) = 1.618076919919600D-03 Y(2) = 1.382236955418478D-10 Y(3) = 8.251573436034144D-12 Y(4) = 1.299721221058136D-10 GO TO 620 C PROBLEM CLASS F C C PROBLEM F1 520 Y(1) = 1.211129474696585D+03 Y(2) = 1.271123619113051D-05 Y(3) = 1.208637804660361D+03 Y(4) = 3.241981171933418D-04 GO TO 620 C C PROBLEM F2 540 Y(1) = 3.912699122292088D-01 Y(2) = 1.329964166084866D-03 GO TO 620 C C PROBLEM F3 560 Y(1) = 3.235910070806680D-13 Y(2) = 2.360679774997897D-07 Y(3) = 7.639319089351045D-14 Y(4) = 7.639319461070194D-07 Y(5) = 3.236067653908783D-06 GO TO 620 C C PROBLEM F4 580 Y(1) = 4.418303324022590D+00 Y(2) = 1.290244712916425D+00 Y(3) = 3.019282584050490D+00 GO TO 620 C C PROBLEM F5 600 Y(1) = 1.713564284690712D-07 Y(2) = 3.713563071160676D-03 Y(3) = 6.189271785267793D-03 Y(4) = 9.545143571530929D-06 620 CONTINUE IF (IWT.LT.0) GO TO 660 DO 640 I = 1, N Y(I) = Y(I)/W(I) 640 CONTINUE 660 CONTINUE RETURN END SUBROUTINE FCN(X,Y,YP) C C********************************************************************** C ROUTINE TO EVALUATE THE DERIVATIVE F(X,Y) CORRESPONDING TO THE C DIFFERENTIAL EQUATION: C DY/DX = F(X,Y) . C THE ROUTINE STORES THE VECTOR OF DERIVATIVES IN YP(*). THE C PARTICULAR EQUATION BEING INTEGRATED IS INDICATED BY THE C VALUE OF THE FLAG ID WHICH IS PASSED THROUGH COMMON. THE C DIFFERENTIAL EQUATION IS SCALED BY THE WEIGHT VECTOR W(*) C IF THIS OPTION HAS BEEN SELECTED (IF SO IT IS SIGNALLED C BY THE FLAG IWT). C C********************************************************************* C CC*******+*********+*********+*********+*********+*********+*********+** C COMMON AREAS C********+*********+*********+*********+*********+*********+*********+** C5 C6 C .. Scalar Arguments .. DOUBLE PRECISION X C .. Array Arguments .. DOUBLE PRECISION Y(20), YP(20) C .. Scalars in Common .. INTEGER ID, IWT, N, NFCN, NJAC, NLUD C .. Arrays in Common .. DOUBLE PRECISION W(20) C .. Local Scalars .. DOUBLE PRECISION F, Q, S, SUM, T, TEMP, XTEMP INTEGER I, IID C .. Local Arrays .. DOUBLE PRECISION BPARM(4), CPARM(4), VECT1(4), VECT2(4), YTEMP(20) C .. Intrinsic Functions .. INTRINSIC DBLE, DEXP, DSIN, MOD C .. Common blocks .. COMMON /STCOM5/W, IWT, N, ID COMMON /STCOM6/NFCN, NJAC, NLUD C .. Data statements .. CE DATA BPARM/3.D0, 8.D0, 25.D0, 1.D2/ DATA CPARM/1.D-1, 1.D0, 1.D1, 2.D1/ C .. Executable Statements .. NFCN = NFCN + 1 IF (IWT.LT.0) GO TO 40 DO 20 I = 1, N YTEMP(I) = Y(I) Y(I) = Y(I)*W(I) 20 CONTINUE 40 CONTINUE IID = MOD(ID,10) GO TO (60,80,120,140,640,640,640,640,640, * 640,180,200,200,200,200,640,640,640, * 640,640,220,240,240,240,240,640,640, * 640,640,640,260,280,300,320,340,360, * 640,640,640,640,380,400,420,440,520, * 640,640,640,640,640,540,560,580,600, * 620) ID GO TO 640 C C PROBLEM CLASS A - LINEAR WITH REAL EIGENVALUES C C C PROBLEM A1 60 YP(1) = -.5D0*Y(1) YP(2) = -1.D0*Y(2) YP(3) = -1.D2*Y(3) YP(4) = -9.D1*Y(4) GO TO 640 C C PROBLEM A2 80 YP(1) = -1.8D3*Y(1) + 9.D2*Y(2) DO 100 I = 2, 8 YP(I) = Y(I-1) - 2.D0*Y(I) + Y(I+1) 100 CONTINUE YP(9) = 1.D3*Y(8) - 2.D3*Y(9) + 1.D3 GO TO 640 C C PROBLEM A3 120 YP(1) = -1.D4*Y(1) + 1.D2*Y(2) - 1.D1*Y(3) + 1.D0*Y(4) YP(2) = -1.D3*Y(2) + 1.D1*Y(3) - 1.D1*Y(4) YP(3) = -1.D0*Y(3) + 1.D1*Y(4) YP(4) = -1.D-1*Y(4) GO TO 640 C C PROBLEM A4 140 DO 160 I = 1, 10 YP(I) = -DBLE(I)**5*Y(I) 160 CONTINUE GO TO 640 C C PROBLEM CLASS B - LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM B1 180 YP(1) = -Y(1) + Y(2) YP(2) = -1.D2*Y(1) - Y(2) YP(3) = -1.D2*Y(3) + Y(4) YP(4) = -1.D4*Y(3) - 1.D2*Y(4) GO TO 640 C C PROBLEMS B2, B3, B4, B5 200 YP(1) = -1.D1*Y(1) + BPARM(IID-1)*Y(2) YP(2) = -BPARM(IID-1)*Y(1) - 1.D1*Y(2) YP(3) = -4.D0*Y(3) YP(4) = -1.D0*Y(4) YP(5) = -.5D0*Y(5) YP(6) = -.1D0*Y(6) GO TO 640 C C PROBLEM CLASS C - NON-LINEAR COUPLING FROM C STEADY STATE TO TRANSIENT C C C PROBLEM C1 220 YP(1) = -Y(1) + (Y(2)*Y(2)+Y(3)*Y(3)+Y(4)*Y(4)) YP(2) = -1.D1*Y(2) + 1.D1*(Y(3)*Y(3)+Y(4)*Y(4)) YP(3) = -4.D1*Y(3) + 4.D1*Y(4)*Y(4) YP(4) = -1.D2*Y(4) + 2.D0 GO TO 640 C C PROBLEMS C2, C3, C4, C5 240 YP(1) = -Y(1) + 2.D0 YP(2) = -1.D1*Y(2) + CPARM(IID-1)*Y(1)*Y(1) YP(3) = -4.D1*Y(3) + (Y(1)*Y(1)+Y(2)*Y(2))*CPARM(IID-1)*4.D0 YP(4) = (Y(1)*Y(1)+Y(2)*Y(2)+Y(3)*Y(3))*CPARM(IID-1)*1.D1 - * 1.D2*Y(4) GO TO 640 C C PROBLEM CLASS D - NON-LINEAR WITH REAL EIGENVALUES C C C PROBLEM D1 260 YP(1) = .2D0*Y(2) - .2D0*Y(1) YP(2) = 1.D1*Y(1) - (6.D1-.125D0*Y(3))*Y(2) + .125D0*Y(3) YP(3) = 1.D0 GO TO 640 C C PROBLEM D2 280 YP(1) = -.04D0*Y(1) + .01D0*Y(2)*Y(3) YP(2) = 4.D2*Y(1) - 1.D2*Y(2)*Y(3) - 3.D3*Y(2)**2 YP(3) = 3.D1*Y(2)**2 GO TO 640 C C PROBLEM D3 300 YP(1) = Y(3) - 1.D2*Y(1)*Y(2) YP(3) = -YP(1) YP(4) = -Y(4) + 1.D4*Y(2)**2 YP(2) = YP(1) - YP(4) + Y(4) - 1.D4*Y(2)**2 GO TO 640 C C PROBLEM D4 320 YP(1) = -.013D0*Y(1) - 1.D3*Y(1)*Y(3) YP(2) = -2.5D3*Y(2)*Y(3) YP(3) = YP(1) + YP(2) GO TO 640 C C PROBLEM D5 340 XTEMP = .01D0 + Y(1) + Y(2) YP(1) = .01D0 - XTEMP*(1.D0+(Y(1)+1.D3)*(Y(1)+1.D0)) YP(2) = .01D0 - XTEMP*(1.D0+Y(2)**2) GO TO 640 C C PROBLEM D6 360 YP(1) = -Y(1) + 1.D8*Y(3)*(1.D0-Y(1)) YP(2) = -1.D1*Y(2) + 3.D7*Y(3)*(1.D0-Y(2)) YP(3) = -YP(1) - YP(2) GO TO 640 C C PROBLEM CLASS E - NON-LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM E1 380 YP(1) = Y(2) YP(2) = Y(3) YP(3) = Y(4) YP(4) = (Y(1)**2-DSIN(Y(1))-1.D8)*Y(1) + (Y(2)*Y(3)/(Y(1)**2+1.D0) * -4.D6)*Y(2) + (1.D0-6.D4)*Y(3) + (1.D1*DEXP(-Y(4)**2) * -4.D2)*Y(4) + 1.D0 GO TO 640 C C PROBLEM E2 400 YP(1) = Y(2) YP(2) = 5.D0*Y(2) - 5.D0*Y(1)*Y(1)*Y(2) - Y(1) GO TO 640 C C PROBLEM E3 420 YP(1) = -55.D0*Y(1) - Y(3)*Y(1) + 65.D0*Y(2) YP(2) = .785D-1*Y(1) - .785D-1*Y(2) YP(3) = .1D0*Y(1) GO TO 640 C C PROBLEM E4 440 SUM = Y(1) + Y(2) + Y(3) + Y(4) DO 460 I = 1, 4 VECT2(I) = -Y(I) + .5D0*SUM 460 CONTINUE VECT1(1) = .5D0*(VECT2(1)**2-VECT2(2)**2) VECT1(2) = VECT2(1)*VECT2(2) VECT1(3) = VECT2(3)**2 VECT1(4) = VECT2(4)**2 TEMP = -1.D1*VECT2(1) - 1.D1*VECT2(2) VECT2(2) = 1.D1*VECT2(1) - 1.D1*VECT2(2) VECT2(1) = TEMP VECT2(3) = 1.D3*VECT2(3) VECT2(4) = 1.D-2*VECT2(4) SUM = 0.D0 DO 480 I = 1, 4 SUM = SUM + VECT1(I) - VECT2(I) 480 CONTINUE DO 500 I = 1, 4 YP(I) = VECT2(I) - VECT1(I) + .5D0*SUM 500 CONTINUE GO TO 640 C C PROBLEM E5 520 XTEMP = -7.89D-10*Y(1) YP(1) = XTEMP - 1.1D7*Y(1)*Y(3) YP(2) = -XTEMP - 1.13D9*Y(2)*Y(3) YP(4) = 1.1D7*Y(1)*Y(3) - 1.13D3*Y(4) YP(3) = YP(2) - YP(4) GO TO 640 C C PROBLEM CLASS F - CHEMICAL KINETICS EQUATIONS C C C PROBLEM F1 540 TEMP = 6.D-3*DEXP(20.7D0-1.5D4/Y(1)) YP(1) = 1.3D0*(Y(3)-Y(1)) + 1.04D4*TEMP*Y(2) YP(2) = 1.88D3*(Y(4)-Y(2)*(1.D0+TEMP)) YP(3) = 1752.D0 - 269.D0*Y(3) + 267.D0*Y(1) YP(4) = .1D0 + 320.D0*Y(2) - 321.D0*Y(4) GO TO 640 C C PROBLEM F2 560 YP(1) = -Y(1) - Y(1)*Y(2) + 294.D0*Y(2) YP(2) = Y(1)*(1.D0-Y(2))/98.D0 - 3.D0*Y(2) GO TO 640 C C PROBLEM F3 580 YP(1) = -1.0D7*Y(2)*Y(1) + 1.D1*Y(3) YP(2) = -1.0D7*Y(2)*Y(1) - 1.D7*Y(2)*Y(5) + 1.D1*Y(3) + 1.D1*Y(4) YP(3) = 1.0D7*Y(2)*Y(1) - 1.001D4*Y(3) + 1.D-3*Y(4) YP(4) = 1.D4*Y(3) - 1.0001D1*Y(4) + 1.D7*Y(2)*Y(5) YP(5) = 1.D1*Y(4) - 1.D7*Y(2)*Y(5) GO TO 640 C C PROBLEM F4 600 S = 77.27D0 T = 0.161D0 Q = 8.375D-6 F = 1.D0 YP(1) = S*(Y(2)-Y(1)*Y(2)+Y(1)-Q*Y(1)*Y(1)) YP(2) = (-Y(2)-Y(1)*Y(2)+F*Y(3))/S YP(3) = T*(Y(1)-Y(3)) GO TO 640 C C PROBLEM F5 620 YP(1) = -3.D11*Y(1)*Y(2) + 1.2D8*Y(4) - 9.D11*Y(1)*Y(3) YP(2) = -3.D11*Y(1)*Y(2) + 2.D7*Y(4) YP(3) = -9.D11*Y(1)*Y(3) + 1.D8*Y(4) YP(4) = 3.D11*Y(1)*Y(2) - 1.2D8*Y(4) + 9.D11*Y(1)*Y(3) 640 CONTINUE IF (IWT.LT.0) GO TO 680 DO 660 I = 1, N YP(I) = YP(I)/W(I) Y(I) = YTEMP(I) 660 CONTINUE 680 CONTINUE RETURN END SUBROUTINE DERV(X,Y,DY) C********************************************************************** C C ROUTINE TO EVALUATE THE JACOBIAN MATRIX OF PARTIAL DERIVATIVES C CORRESPONDING TO THE DIFFERENTIAL EQUATION: C DY/DX = F(X,Y). C THE N**2 ELEMENTS OF THE ARRAY DY(*) ARE ASSIGNED THE VALUE OF C THE JACOBIAN MATRIX WITH ELEMENT I+(J-1)*N BEING ASSIGNED THE C VALUE OF DF(I)/DY(J). THE PARTICULAR EQUATION BEING INTEGRATED C IS INDICATED BY THE VALUE OF THE FLAG ID WHICH IS PASSED THROUGH C COMMON. IF A SCALED DIFFERENTIAL EQUATION IS BEING SOLVED (AS C SIGNALLED IWT) THE ELEMENTS OF THE JACOBIAN ARE SCALED ACCORDING- C LY BY THE WEIGHT VECTOR W(*). C C********************************************************************** CC*******+*********+*********+*********+*********+*********+*********+** C COMMON AREAS C********+*********+*********+*********+*********+*********+*********+** C5 C6 C .. Scalar Arguments .. DOUBLE PRECISION X C .. Array Arguments .. DOUBLE PRECISION DY(400), Y(20) C .. Scalars in Common .. INTEGER ID, IWT, N, NFCN, NJAC, NLUD C .. Arrays in Common .. DOUBLE PRECISION W(20) C .. Local Scalars .. DOUBLE PRECISION F, Q, S, SUM, T, TEMP, XTEMP1, XTEMP2, XTEMP3 INTEGER I, IID, ITMP, J, L C .. Local Arrays .. DOUBLE PRECISION BPARM(4), CPARM(4), VECT2(4), YTEMP(20) C .. Intrinsic Functions .. INTRINSIC DBLE, DCOS, DEXP, DSIN, MOD C .. Common blocks .. COMMON /STCOM5/W, IWT, N, ID COMMON /STCOM6/NFCN, NJAC, NLUD C .. Data statements .. CE DATA BPARM/3.D0, 8.D0, 25.D0, 1.D2/ DATA CPARM/1.D-1, 1.D0, 1.D1, 2.D1/ C .. Executable Statements .. NJAC = NJAC + 1 IF (IWT.LT.0) GO TO 40 DO 20 I = 1, N YTEMP(I) = Y(I) Y(I) = Y(I)*W(I) 20 CONTINUE 40 CONTINUE IID = MOD(ID,10) GO TO (60,100,160,200,980,980,980,980,980, * 980,260,300,300,300,300,980,980,980, * 980,980,340,380,380,380,380,980,980, * 980,980,980,420,440,460,480,520,540, * 980,980,980,980,580,620,640,660,840, * 980,980,980,980,980,880,900,920,940, * 960) ID GO TO 980 C C PROBLEM CLASS A - LINEAR WITH REAL EIGENVALUES C C C PROBLEM A1 60 DO 80 I = 1, 16 DY(I) = 0.D0 80 CONTINUE DY(1) = -.5D0 DY(6) = -1.D0 DY(11) = -1.D2 DY(16) = -9.D1 GO TO 980 C C PROBLEM A2 100 DO 120 I = 1, 81 DY(I) = 0.D0 120 CONTINUE DO 140 I = 2, 62, 10 DY(I) = 1.D0 DY(I+9) = -2.D0 DY(I+18) = 1.D0 140 CONTINUE DY(1) = -1.8D3 DY(10) = 9.D2 DY(72) = 1.D3 DY(81) = -2.D3 GO TO 980 C C PROBLEM A3 160 DO 180 I = 1, 16 DY(I) = 0.D0 180 CONTINUE DY(1) = -1.D4 DY(5) = 1.D2 DY(6) = -1.D3 DY(9) = -1.D1 DY(10) = 1.D1 DY(11) = -1.D0 DY(13) = 1.D0 DY(14) = -1.D1 DY(15) = 1.D1 DY(16) = -1.D-1 GO TO 980 C C PROBLEM A4 200 DO 220 I = 1, 100 DY(I) = 0.D0 220 CONTINUE DO 240 I = 1, 10 DY((I-1)*10+I) = -DBLE(I)**5 240 CONTINUE GO TO 980 C C PROBLEM CLASS B - LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM B1 260 DO 280 I = 1, 16 DY(I) = 0.D0 280 CONTINUE DY(1) = -1.D0 DY(2) = -1.D2 DY(5) = 1.D0 DY(6) = -1.D0 DY(11) = -1.D2 DY(12) = -1.D4 DY(15) = 1.D0 DY(16) = -1.D2 GO TO 980 C C PROBLEMS B2, B3, B4, B5 300 DO 320 I = 1, 36 DY(I) = 0.D0 320 CONTINUE DY(1) = -1.D1 DY(2) = -BPARM(IID-1) DY(7) = BPARM(IID-1) DY(8) = -1.D1 DY(15) = -4.D0 DY(22) = -1.D0 DY(29) = -.5D0 DY(36) = -.1D0 GO TO 980 C C PROBLEM CLASS C - NON-LINEAR COUPLING FROM C STEADY STATE TO TRANSIENT C C C PROBLEM C1 340 DO 360 I = 1, 16 DY(I) = 0.D0 360 CONTINUE DY(1) = -1.D0 DY(5) = 2.D0*Y(2) DY(6) = -1.D1 DY(9) = 2.D0*Y(3) DY(10) = 2.D1*Y(3) DY(11) = -4.D1 DY(13) = 2.D0*Y(4) DY(14) = 2.D1*Y(4) DY(15) = 8.D1*Y(4) DY(16) = -1.D2 GO TO 980 C C PROBLEMS C2, C3, C4, C5 380 DO 400 I = 1, 16 DY(I) = 0.D0 400 CONTINUE DY(1) = -1.D0 DY(2) = 2.D0*Y(1)*CPARM(IID-1) DY(3) = 8.D0*Y(1)*CPARM(IID-1) DY(4) = 2.D1*Y(1)*CPARM(IID-1) DY(6) = -1.D1 DY(7) = 8.D0*Y(2)*CPARM(IID-1) DY(8) = 2.D1*Y(2)*CPARM(IID-1) DY(11) = -4.D1 DY(12) = 2.D1*Y(3)*CPARM(IID-1) DY(16) = -1.D2 GO TO 980 C C PROBLEM CLASS D - NON-LINEAR WITH REAL EIGENVALUES C C C PROBLEM D1 420 DY(1) = -.2D0 DY(2) = 1.D1 DY(3) = 0.D0 DY(4) = .2D0 DY(5) = -6.D1 + .125D0*Y(3) DY(6) = 0.D0 DY(7) = 0.D0 DY(8) = .125D0*Y(2) + .125D0 DY(9) = 0.D0 GO TO 980 C C PROBLEM D2 440 DY(1) = -4.D-2 DY(2) = 4.D2 DY(3) = 0.D0 DY(4) = 1.D-2*Y(3) DY(5) = -1.D2*Y(3) - 6.D3*Y(2) DY(6) = 6.D1*Y(2) DY(7) = .1D-1*Y(2) DY(8) = -1.D2*Y(2) DY(9) = 0.D0 GO TO 980 C C PROBLEM D3 460 DY(1) = -1.D2*Y(2) DY(2) = DY(1) DY(3) = -DY(1) DY(4) = 0.D0 DY(5) = -1.D2*Y(1) DY(7) = -DY(5) DY(8) = 2.D4*Y(2) DY(6) = DY(5) - DY(8) DY(6) = DY(6) - 2.D4*Y(2) DY(9) = 1.D0 DY(10) = 1.D0 DY(11) = -1.D0 DY(12) = 0.D0 DY(13) = 0.D0 DY(14) = 2.D0 DY(15) = 0.D0 DY(16) = -1.D0 GO TO 980 C C PROBLEM D4 480 DY(1) = -.013D0 - 1.D3*Y(3) DY(2) = 0.D0 DY(4) = 0.D0 DY(5) = -2.5D3*Y(3) DY(7) = -1.D3*Y(1) DY(8) = -2.5D3*Y(2) DO 500 I = 3, 9, 3 DY(I) = DY(I-1) + DY(I-2) 500 CONTINUE GO TO 980 C C PROBLEM D5 520 XTEMP1 = Y(1) + 1.D3 XTEMP2 = Y(1) + 1.D0 XTEMP3 = .01D0 + Y(1) + Y(2) DY(2) = -(1.D0+Y(2)**2) DY(3) = -(1.D0+XTEMP1*XTEMP2) DY(1) = -(-DY(3)+XTEMP3*(XTEMP1+XTEMP2)) DY(4) = -(2.D0*XTEMP3*Y(2)-DY(2)) GO TO 980 C C PROBLEM D6 540 DY(1) = -1.D0 - 1.D8*Y(3) DY(2) = 0.D0 DY(4) = 0.D0 DY(5) = -1.D1 - 3.D7*Y(3) DY(7) = 1.D8*(1.D0-Y(1)) DY(8) = 3.D7*(1.D0-Y(2)) DO 560 I = 3, 9, 3 DY(I) = -DY(I-2) - DY(I-1) 560 CONTINUE GO TO 980 C C PROBLEM CLASS E - NON-LINEAR WITH NON-REAL EIGENVALUES C C C PROBLEM E1 580 DO 600 I = 1, 16 DY(I) = 0.D0 600 CONTINUE DY(5) = 1.D0 DY(10) = 1.D0 DY(15) = 1.D0 XTEMP1 = Y(1) XTEMP2 = Y(2)/(XTEMP1**2+1.D0)**2 DY(4) = 3.D0*XTEMP1**2 - XTEMP1*DCOS(XTEMP1) - DSIN(XTEMP1) - * 1.D8 - 2.D0*XTEMP1*Y(2)*Y(3)*XTEMP2 DY(8) = 2.D0*Y(3)*Y(2)/(1.D0+Y(1)**2) - 4.D6 DY(12) = Y(2)*Y(2)/(1.D0+Y(1)**2) + 1.D0 - 6.D4 DY(16) = 1.D1*DEXP(-Y(4)**2)*(1.D0-2.D0*Y(4)**2) - 4.D2 GO TO 980 C C PROBLEM E2 620 DY(1) = 0.D0 DY(2) = -1.D1*Y(1)*Y(2) - 1.D0 DY(3) = 1.D0 DY(4) = 5.D0 - 5.D0*Y(1)*Y(1) GO TO 980 C C PROBLEM E3 640 DY(1) = -55.D0 - Y(3) DY(2) = .785D-1 DY(3) = 0.1D0 DY(4) = 65.D0 DY(5) = -.785D-1 DY(6) = 0.D0 DY(7) = -Y(1) DY(8) = 0.D0 DY(9) = 0.D0 GO TO 980 C C PROBLEM E4 660 SUM = Y(1) + Y(2) + Y(3) + Y(4) DO 680 I = 1, 4 VECT2(I) = -Y(I) + .5D0*SUM 680 CONTINUE DO 700 I = 1, 16 DY(I) = 0.D0 700 CONTINUE DY(1) = VECT2(1) + 1.D1 DY(2) = VECT2(2) - 1.D1 DY(5) = -DY(2) DY(6) = DY(1) DY(11) = 2.D0*VECT2(3) - 1.D3 DY(16) = 2.D0*VECT2(4) - 1.D-2 DO 760 I = 1, 4 SUM = 0.D0 DO 720 J = 1, 4 L = I + (J-1)*4 SUM = SUM + DY(L) 720 CONTINUE DO 740 J = 1, 4 L = I + (J-1)*4 DY(L) = -DY(L) + .5D0*SUM 740 CONTINUE 760 CONTINUE DO 820 J = 1, 4 SUM = 0.D0 DO 780 I = 1, 4 L = I + (J-1)*4 SUM = SUM + DY(L) 780 CONTINUE DO 800 I = 1, 4 L = I + (J-1)*4 DY(L) = -DY(L) + .5D0*SUM 800 CONTINUE 820 CONTINUE GO TO 980 C C PROBLEM E5 840 DY(1) = -7.89D-10 - 1.1D7*Y(3) DY(2) = 7.89D-10 DY(4) = 1.1D7*Y(3) DY(5) = 0.D0 DY(6) = -1.13D9*Y(3) DY(8) = 0.D0 DY(9) = -1.1D7*Y(1) DY(10) = -1.13D9*Y(2) DY(12) = -DY(9) DY(13) = 0.D0 DY(14) = 0.D0 DY(16) = -1.13D3 DO 860 I = 3, 15, 4 DY(I) = DY(I-1) - DY(I+1) 860 CONTINUE GO TO 980 C C PROBLEM CLASS F - CHEMICAL KINETICS EQUATIONS C C C PROBLEM F1 880 TEMP = 90.D0*DEXP(20.7D0-1.5D4/Y(1))/Y(1)**2 DY(1) = -1.3D0 + 1.04D4*TEMP*Y(2) DY(2) = -1.88D3*Y(2)*TEMP DY(3) = 267.D0 DY(4) = 0.D0 TEMP = 6.D-3*DEXP(20.7D0-1.5D4/Y(1)) DY(5) = 1.04D4*TEMP DY(6) = -1.88D3*(1.D0+TEMP) DY(7) = 0.D0 DY(8) = 320.D0 DY(9) = 1.3D0 DY(10) = 0.D0 DY(11) = -269.D0 DY(12) = 0.0D0 DY(13) = 0.0D0 DY(14) = 1.88D3 DY(15) = 0.0D0 DY(16) = -321.0D0 GO TO 980 C C PROBLEM F2 900 DY(1) = -1.D0 - Y(2) DY(2) = (1.D0-Y(2))/98.D0 DY(3) = -Y(1) + 294.D0 DY(4) = -Y(1)/98.D0 - 3.D0 GO TO 980 C C PROBLEM F3 920 DY(1) = -1.D7*Y(2) DY(2) = -1.D7*Y(2) DY(3) = 1.D7*Y(2) DY(4) = 0.0D0 DY(5) = 0.0D0 DY(6) = -1.D7*Y(1) DY(7) = -1.D7*Y(1) - 1.D7*Y(5) DY(8) = 1.D7*Y(1) DY(9) = 1.D7*Y(5) DY(10) = -1.D7*Y(5) DY(11) = 1.D1 DY(12) = 1.D1 DY(13) = -1.001D4 DY(14) = 1.D4 DY(15) = 0.0D0 DY(16) = 0.0D0 DY(17) = 1.D1 DY(18) = 1.D-3 DY(19) = -1.0001D1 DY(20) = 1.D1 DY(21) = 0.0D0 DY(22) = -1.D7*Y(2) DY(23) = 0.0D0 DY(24) = 1.D7*Y(2) DY(25) = -1.0D7*Y(2) GO TO 980 C C PROBLEM F4 940 S = 77.27D0 T = 0.161D0 Q = 8.375D-6 F = 1.D0 DY(1) = S*(-Y(2)+1.D0-2.D0*Q*Y(1)) DY(2) = -Y(2)/S DY(3) = T DY(4) = S*(1.D0-Y(1)) DY(5) = (-1.D0-Y(1))/S DY(6) = 0.D0 DY(7) = 0.D0 DY(8) = F/S DY(9) = -T GO TO 980 C C PROBLEM F5 960 DY(1) = -3.D11*Y(2) - 9.D11*Y(3) DY(2) = -3.D11*Y(2) DY(3) = -9.D11*Y(3) DY(4) = 3.D11*Y(2) + 9.D11*Y(3) DY(5) = -3.D11*Y(1) DY(6) = -3.D11*Y(1) DY(7) = 0.0D0 DY(8) = 3.D11*Y(1) DY(9) = -9.D11*Y(1) DY(10) = 0.0D0 DY(11) = -9.D11*Y(1) DY(12) = 9.D11*Y(1) DY(13) = 1.2D8 DY(14) = 2.D7 DY(15) = 1.D8 DY(16) = -1.2D8 980 CONTINUE IF (IWT.LT.0) GO TO 1040 DO 1020 I = 1, N Y(I) = YTEMP(I) DO 1000 J = 1, N ITMP = I + (J-1)*N DY(ITMP) = DY(ITMP)*W(J)/W(I) 1000 CONTINUE 1020 CONTINUE 1040 CONTINUE RETURN END REAL FUNCTION CONST(I) C C********+*********+*********+*********+*********+*********+*********+** C .. Scalar Arguments .. INTEGER I C .. Local Scalars .. CHARACTER*32 MCNAME C .. Local Arrays .. REAL C(4) C .. Intrinsic Functions .. INTRINSIC ICHAR C .. Data statements .. C C CONST AND CLOCK ENCLOSE (WE HOPE) ALL THE MACHINE-DEPENDENT PARTS C OF THE STIFF AND NONSTIFF DETEST PACKAGES, EXCEPT THE TIMING C DATA IN THE IVALU ROUTINE OF EACH PACKAGE. C C CALLS WITH VALUES I=1 TO 4 RETURN THE FOLLOWING VALUES IN 'CONST': C I=1 UNIT ROUNDOFF APPROXIMATELY, IN THE PRECISION USED BY THE C ODE-SOLVING PART OF THE PACKAGE. C I=2 NUMBER NEAR UNDERFLOW THRESHOLD C I=3 STANDARD OUTPUT UNIT NUMBER C I=4 VALUE OF TSTTIM (USED IN CNTROL) C C CALLS WITH VALUES -1 TO -32 RETURN THE 'ICHAR' VALUE OF SUCCESSIVE C CHARACTERS OF THE NAME OF THE COMPUTER WE ARE RUNNING ON. (CLUMSY BUT C INTENDED TO ISOLATE MACHINE-DEPENDENCIES HERE) C C A CALL WITH I OUTSIDE THESE RANGES (DONE WITH I=0 NEAR THE HEAD OF TH C MAIN NSDTST & STDTST ROUTINES) RETURNS CONST=0 AND C 1. IS TO BE USED FOR MACHINE-DEPENDENT INITIALIZATIONS SUCH AS THE C SUPPRESSION OF UNDERFLOW MESSAGES. C C****** VALUES FOR IBM3033 MODEL N12 ****** CIBM DATA C/2.25E-16,1E-50,6.0,0.5/ C****** VALUES FOR DEC10 MODEL KL10 ****** CDEC DATA C /2.17E-19,1E-38,5.0,0.5/ DATA C/2.5E-16,5.0E-323,6,4.0/, * MCNAME/ '...IBM RISK 6000...'/ C .. Executable Statements .. C IF (I.GE.1 .AND. I.LE.4) THEN CONST = C(I) ELSE IF (I.LT.0) THEN CONST = ICHAR(MCNAME(-I:-I)) ELSE C SUPPRESS UNDERFLOW REPORTING (DEC): CDEC CALL ERRSET(0,6) C SUPPRESS UNDERFLOW REPORTING (IBM): CIBM CALL ERRSET(208,256,-1,0,0,208) C CONST = 0 END IF RETURN END C C********+*********+*********+*********+*********+*********+*********+** C REAL FUNCTION CLOCK(S) C .. Scalar Arguments .. REAL S C .. Executable Statements .. C C********+*********+*********+*********+*********+*********+*********+** C CLOCK IS 'RESET' TO 0 BY A CALL C S = CLOCK(0.0) C AND THEN (WITH S SET AS ABOVE) DELIVERS THE ELAPSED CPU SECONDS C SINCE LAST RESET, BY CALLS OF FORM C TIME = CLOCK(S) C C THIS WORKS ON AN IBM: CIBM CLOCK = UTTIMR(1) - S C THIS WORKS ON A DEC10 UNDER TOPS10 IN CONJUNCTION WITH THE C COMMAND "SET TIME LLL" AT MONITOR LEVEL WHERE LLL IS A C SUITABLE TIME LIMIT. CDEC CLOCK = -TIM2GO(S) -S C WHEN FIRST MOUNTING THE PACKAGE, LET IT RETURN ZERO AS BELOW: T1 = 0.01*MCLOCK() IF (S.EQ.0.D0) THEN CLOCK = T1 ELSE CLOCK = T1 - S ENDIF RETURN END