4 July 2007 6:23:06.420 AM KEAST_PRB: FORTRAN90 version Test routines in the KEAST library. TEST01 KEAST_RULE_NUM returns the number of rules; KEAST_DEGREE returns the degree of a rule; KEAST_ORDER_NUM returns the order of a rule. Number of available rules = 10 Rule Degree Order 1 0 1 2 1 4 3 2 5 4 3 10 5 4 11 6 4 14 7 5 15 8 6 24 9 7 31 10 8 45 TEST02 KEAST_RULE returns the points and weights of a Keast rule for the tetrahedron. In this test, we simply check that the weights sum to 1. Number of available rules = 10 Rule Sum of weights 1 1.000000000000000 2 1.000000000000000 3 .9999999999999998 4 1.000000000000000 5 .9999999999999999 6 1.000000000000000 7 .9999999999999999 8 .9999999999999996 9 1.000000000000000 10 .9999999999999990 TEST03 KEAST_RULE returns the points and weights of a Keast rule for the tetrahedron. In this test, we simply check that, for each quadrature point, the barycentric coordinates sum to 1. Rule Suborder Sum of coordinates 1 1 1.000000000000000 2 1 1.000000000000000 3 2 1.000000000000000 .9999999999999999 4 2 1.000000000000000 1.000000000000000 5 3 1.000000000000000 .9999999999999999 1.000000000000000 6 3 1.000000000000000 .9999999999999999 1.000000000000000 7 4 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 8 4 1.000000000000000 .9999999999999999 1.000000000000000 1.000000000000000 9 6 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 10 7 1.000000000000000 1.000000000000000 .9999999999999999 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 TEST04 TETRAHEDRON_REFERENCE_TO_PHYSICAL transforms a rule on the unit (reference) tetrahedron to a rule on an arbitrary (physical) tetrahedron. The reference tetrahedron: 1 .000000 .000000 .000000 2 1.00000 .000000 .000000 3 .000000 1.00000 .000000 4 .000000 .000000 1.00000 Rule 2 for reference tetrahedron with volume = .166667 X Y Z W 1 .585410 .138197 .138197 .250000 2 .138197 .138197 .138197 .250000 3 .138197 .138197 .585410 .250000 4 .138197 .585410 .138197 .250000 The physical tetrahedron: 1 1.00000 2.00000 3.00000 2 2.00000 2.00000 3.00000 3 1.00000 3.00000 3.00000 4 1.00000 2.00000 9.00000 Rule 2 for physical tetrahedron with volume = 1.00000 X Y Z W 1 1.58541 2.13820 3.82918 .250000 2 1.13820 2.13820 3.82918 .250000 3 1.13820 2.13820 6.51246 .250000 4 1.13820 2.58541 3.82918 .250000 TEST05 Demonstrate the KEAST rules on a sequence of monomial integrands X^A Y^B Z^C on the unit tetrahedron. Rule Order Quad F(X,Y,Z) = X^0 * Y^0 * Z^0 1 1 1.00000 2 4 1.00000 3 5 1.00000 4 10 1.00000 5 11 1.00000 6 14 1.00000 7 15 1.00000 8 24 1.00000 9 31 1.00000 10 45 1.00000 F(X,Y,Z) = X^1 * Y^0 * Z^0 1 1 .250000 2 4 .250000 3 5 .250000 4 10 .250000 5 11 .250000 6 14 .250000 7 15 .250000 8 24 .250000 9 31 .250000 10 45 .250000 F(X,Y,Z) = X^0 * Y^1 * Z^0 1 1 .250000 2 4 .250000 3 5 .250000 4 10 .250000 5 11 .250000 6 14 .250000 7 15 .250000 8 24 .250000 9 31 .250000 10 45 .250000 F(X,Y,Z) = X^0 * Y^0 * Z^1 1 1 .250000 2 4 .250000 3 5 .250000 4 10 .250000 5 11 .250000 6 14 .250000 7 15 .250000 8 24 .250000 9 31 .250000 10 45 .250000 F(X,Y,Z) = X^2 * Y^0 * Z^0 1 1 0.625000E-01 2 4 .100000 3 5 .100000 4 10 .100000 5 11 .100000 6 14 .100000 7 15 .100000 8 24 .100000 9 31 .100000 10 45 .100000 F(X,Y,Z) = X^1 * Y^1 * Z^0 1 1 0.625000E-01 2 4 0.500000E-01 3 5 0.500000E-01 4 10 0.500000E-01 5 11 0.500000E-01 6 14 0.500000E-01 7 15 0.500000E-01 8 24 0.500000E-01 9 31 0.500000E-01 10 45 0.500000E-01 F(X,Y,Z) = X^0 * Y^2 * Z^0 1 1 0.625000E-01 2 4 .100000 3 5 .100000 4 10 .100000 5 11 .100000 6 14 .100000 7 15 .100000 8 24 .100000 9 31 .100000 10 45 .100000 F(X,Y,Z) = X^1 * Y^0 * Z^1 1 1 0.625000E-01 2 4 0.500000E-01 3 5 0.500000E-01 4 10 0.500000E-01 5 11 0.500000E-01 6 14 0.500000E-01 7 15 0.500000E-01 8 24 0.500000E-01 9 31 0.500000E-01 10 45 0.500000E-01 F(X,Y,Z) = X^0 * Y^1 * Z^1 1 1 0.625000E-01 2 4 0.500000E-01 3 5 0.500000E-01 4 10 0.500000E-01 5 11 0.500000E-01 6 14 0.500000E-01 7 15 0.500000E-01 8 24 0.500000E-01 9 31 0.500000E-01 10 45 0.500000E-01 F(X,Y,Z) = X^0 * Y^0 * Z^2 1 1 0.625000E-01 2 4 .100000 3 5 .100000 4 10 .100000 5 11 .100000 6 14 .100000 7 15 .100000 8 24 .100000 9 31 .100000 10 45 .100000 F(X,Y,Z) = X^3 * Y^0 * Z^0 1 1 0.156250E-01 2 4 0.521353E-01 3 5 0.500000E-01 4 10 0.500000E-01 5 11 0.500000E-01 6 14 0.500000E-01 7 15 0.500000E-01 8 24 0.500000E-01 9 31 0.500000E-01 10 45 0.500000E-01 F(X,Y,Z) = X^2 * Y^1 * Z^0 1 1 0.156250E-01 2 4 0.159549E-01 3 5 0.166667E-01 4 10 0.166667E-01 5 11 0.166667E-01 6 14 0.166667E-01 7 15 0.166667E-01 8 24 0.166667E-01 9 31 0.166667E-01 10 45 0.166667E-01 F(X,Y,Z) = X^1 * Y^2 * Z^0 1 1 0.156250E-01 2 4 0.159549E-01 3 5 0.166667E-01 4 10 0.166667E-01 5 11 0.166667E-01 6 14 0.166667E-01 7 15 0.166667E-01 8 24 0.166667E-01 9 31 0.166667E-01 10 45 0.166667E-01 F(X,Y,Z) = X^0 * Y^3 * Z^0 1 1 0.156250E-01 2 4 0.521353E-01 3 5 0.500000E-01 4 10 0.500000E-01 5 11 0.500000E-01 6 14 0.500000E-01 7 15 0.500000E-01 8 24 0.500000E-01 9 31 0.500000E-01 10 45 0.500000E-01 F(X,Y,Z) = X^2 * Y^0 * Z^1 1 1 0.156250E-01 2 4 0.159549E-01 3 5 0.166667E-01 4 10 0.166667E-01 5 11 0.166667E-01 6 14 0.166667E-01 7 15 0.166667E-01 8 24 0.166667E-01 9 31 0.166667E-01 10 45 0.166667E-01 F(X,Y,Z) = X^1 * Y^1 * Z^1 1 1 0.156250E-01 2 4 0.904508E-02 3 5 0.833333E-02 4 10 0.833333E-02 5 11 0.833333E-02 6 14 0.833333E-02 7 15 0.833333E-02 8 24 0.833333E-02 9 31 0.833333E-02 10 45 0.833333E-02 F(X,Y,Z) = X^0 * Y^2 * Z^1 1 1 0.156250E-01 2 4 0.159549E-01 3 5 0.166667E-01 4 10 0.166667E-01 5 11 0.166667E-01 6 14 0.166667E-01 7 15 0.166667E-01 8 24 0.166667E-01 9 31 0.166667E-01 10 45 0.166667E-01 F(X,Y,Z) = X^1 * Y^0 * Z^2 1 1 0.156250E-01 2 4 0.159549E-01 3 5 0.166667E-01 4 10 0.166667E-01 5 11 0.166667E-01 6 14 0.166667E-01 7 15 0.166667E-01 8 24 0.166667E-01 9 31 0.166667E-01 10 45 0.166667E-01 F(X,Y,Z) = X^0 * Y^1 * Z^2 1 1 0.156250E-01 2 4 0.159549E-01 3 5 0.166667E-01 4 10 0.166667E-01 5 11 0.166667E-01 6 14 0.166667E-01 7 15 0.166667E-01 8 24 0.166667E-01 9 31 0.166667E-01 10 45 0.166667E-01 F(X,Y,Z) = X^0 * Y^0 * Z^3 1 1 0.156250E-01 2 4 0.521353E-01 3 5 0.500000E-01 4 10 0.500000E-01 5 11 0.500000E-01 6 14 0.500000E-01 7 15 0.500000E-01 8 24 0.500000E-01 9 31 0.500000E-01 10 45 0.500000E-01 TEST06 KEAST_RULE returns the points and weights of a Keast rule for the tetrahedron. In this test, we simply print a rule. Rule = 10 Degree = 8 Order = 0 I W X Y Z 1 -.235962 .250000 .250000 .250000 2 0.244879E-01 .617587 .127471 .127471 3 0.244879E-01 .127471 .127471 .127471 4 0.244879E-01 .127471 .127471 .617587 5 0.244879E-01 .127471 .617587 .127471 6 0.394852E-02 .903764 0.320788E-01 0.320788E-01 7 0.394852E-02 0.320788E-01 0.320788E-01 0.320788E-01 8 0.394852E-02 0.320788E-01 0.320788E-01 .903764 9 0.394852E-02 0.320788E-01 .903764 0.320788E-01 10 0.263056E-01 .450223 0.497771E-01 0.497771E-01 11 0.263056E-01 0.497771E-01 .450223 0.497771E-01 12 0.263056E-01 0.497771E-01 0.497771E-01 .450223 13 0.263056E-01 0.497771E-01 .450223 .450223 14 0.263056E-01 .450223 0.497771E-01 .450223 15 0.263056E-01 .450223 .450223 0.497771E-01 16 0.829804E-01 .316270 .183730 .183730 17 0.829804E-01 .183730 .316270 .183730 18 0.829804E-01 .183730 .183730 .316270 19 0.829804E-01 .183730 .316270 .316270 20 0.829804E-01 .316270 .183730 .316270 21 0.829804E-01 .316270 .316270 .183730 22 0.254426E-01 0.229178E-01 .231901 .231901 23 0.254426E-01 .231901 0.229178E-01 .231901 24 0.254426E-01 .231901 .231901 0.229178E-01 25 0.254426E-01 .513280 .231901 .231901 26 0.254426E-01 .231901 .513280 .231901 27 0.254426E-01 .231901 .231901 .513280 28 0.254426E-01 .231901 0.229178E-01 .513280 29 0.254426E-01 0.229178E-01 .513280 .231901 30 0.254426E-01 .513280 .231901 0.229178E-01 31 0.254426E-01 .231901 .513280 0.229178E-01 32 0.254426E-01 0.229178E-01 .231901 .513280 33 0.254426E-01 .513280 0.229178E-01 .231901 34 0.134324E-01 .730313 0.379700E-01 0.379700E-01 35 0.134324E-01 0.379700E-01 .730313 0.379700E-01 36 0.134324E-01 0.379700E-01 0.379700E-01 .730313 37 0.134324E-01 .193746 0.379700E-01 0.379700E-01 38 0.134324E-01 0.379700E-01 .193746 0.379700E-01 39 0.134324E-01 0.379700E-01 0.379700E-01 .193746 40 0.134324E-01 0.379700E-01 .730313 .193746 41 0.134324E-01 .730313 .193746 0.379700E-01 42 0.134324E-01 .193746 0.379700E-01 .730313 43 0.134324E-01 0.379700E-01 .193746 .730313 44 0.134324E-01 .730313 0.379700E-01 .193746 45 0.134324E-01 .193746 .730313 0.379700E-01 TEST07 KEAST_RULE returns the points and weights of a Keast rule for the tetrahedron. In this test, we write each rule to a file. Wrote rule 1 to "keast0_w.txt" and "keast0_x.txt". Wrote rule 2 to "keast1_w.txt" and "keast1_x.txt". Wrote rule 3 to "keast2_w.txt" and "keast2_x.txt". Wrote rule 4 to "keast3_w.txt" and "keast3_x.txt". Wrote rule 5 to "keast4_w.txt" and "keast4_x.txt". Wrote rule 6 to "keast5_w.txt" and "keast5_x.txt". Wrote rule 7 to "keast6_w.txt" and "keast6_x.txt". Wrote rule 8 to "keast7_w.txt" and "keast7_x.txt". Wrote rule 9 to "keast8_w.txt" and "keast8_x.txt". Wrote rule 10 to "keast9_w.txt" and "keast9_x.txt". KEAST_PRB: Normal end of execution. 4 July 2007 6:23:06.622 AM