02 March 2022 12:45:14 PM TRIANGLE_NCC_RULE_TEST: C version Test the TRIANGLE_NCC_RULE library. TEST01 TRIANGLE_NCC_RULE_NUM returns the number of rules; TRIANGLE_NCC_DEGREE returns the degree of a rule; TRIANGLE_NCC_ORDER_NUM returns the order of a rule. Number of available rules = 9 Rule Degree Order 1 0 1 2 1 3 3 2 3 4 3 10 5 4 12 6 5 21 7 6 25 8 7 36 9 8 42 TEST02 TRIANGLE_NCC_RULE returns the points and weights of an NCC rule for the triangle. In this test, we simply check that the weights sum to 1. Number of available rules = 9 Rule Order Sum of weights 1 1 1 2 3 1 3 3 1 4 10 1 5 12 1 6 21 1 7 25 1 8 36 1 9 42 1 TEST03 TRIANGLE_NCC_RULE returns the points and weights of an NCC rule for the triangle. In this test, we simply check that, for each quadrature point, the barycentric coordinates add up to 1. Rule Suborder Sum of coordinates 1 1 1 2 1 1 3 1 1 4 3 1 1 1 5 3 1 1 1 6 5 1 1 1 1 1 7 6 1 1 0.9999999999999999 1 0.9999999999999999 1 8 8 1 1 1 1 1 1 1 0.9999999999999999 9 9 1 1 1 1 1 1 1 1 1 TEST04 TRIANGLE_NCC_RULE returns the points and weights of an NCC rule for the unit triangle. This routine uses those rules to estimate the integral of monomomials in the unit triangle. Integrate 2 * X^0 * Y^0 Rule QUAD ERROR 1 1 0 2 1 0 3 1 0 4 1 0 5 1 0 6 1 0 7 1 2.22045e-16 8 1 3.33067e-16 9 1 2.22045e-16 Integrate 6 * X^0 * Y^1 Rule QUAD ERROR 1 1 0 2 1 0 3 1 0 4 1 0 5 1 0 6 1 0 7 1 2.22045e-16 8 1 0 9 1 4.44089e-16 Integrate 12 * X^0 * Y^2 Rule QUAD ERROR 1 0.666667 0.333333 2 2 1 3 1 0 4 1 0 5 1 0 6 1 0 7 1 0 8 1 2.22045e-16 9 1 0 Integrate 20 * X^0 * Y^3 Rule QUAD ERROR 1 0.37037 0.62963 2 3.33333 2.33333 3 0.833333 0.166667 4 1 1.11022e-16 5 1 1.11022e-16 6 1 0 7 1 1.11022e-16 8 1 1.11022e-16 9 1 1.11022e-16 Integrate 30 * X^0 * Y^4 Rule QUAD ERROR 1 0.185185 0.814815 2 5 4 3 0.625 0.375 4 1.05556 0.0555556 5 1 2.22045e-16 6 1 2.22045e-16 7 1 0 8 1 1.11022e-16 9 1 2.22045e-16 Integrate 42 * X^0 * Y^5 Rule QUAD ERROR 1 0.0864198 0.91358 2 7 6 3 0.4375 0.5625 4 1.16667 0.166667 5 0.984375 0.015625 6 1 2.22045e-16 7 1 2.22045e-16 8 1 1.11022e-16 9 1 4.44089e-16 Integrate 56 * X^0 * Y^6 Rule QUAD ERROR 1 0.0384088 0.961591 2 9.33333 8.33333 3 0.291667 0.708333 4 1.3251 0.325103 5 0.947917 0.0520833 6 1.00587 0.00586667 7 1 0 8 1 4.44089e-16 9 1 5.55112e-16 Integrate 72 * X^0 * Y^7 Rule QUAD ERROR 1 0.0164609 0.983539 2 12 11 3 0.1875 0.8125 4 1.52593 0.525926 5 0.892969 0.107031 6 1.02336 0.02336 7 0.998148 0.00185185 8 1 2.22045e-16 9 1 2.22045e-16 Integrate 90 * X^0 * Y^8 Rule QUAD ERROR 1 0.00685871 0.993141 2 15 14 3 0.117188 0.882812 4 1.76749 0.76749 5 0.824707 0.175293 6 1.056 0.056 7 0.991898 0.00810185 8 1.00071 0.000709738 9 1 3.33067e-16 Integrate 110 * X^0 * Y^9 Rule QUAD ERROR 1 0.00279429 0.997206 2 18.3333 17.3333 3 0.0716146 0.928385 4 2.04961 1.04961 5 0.748596 0.251404 6 1.10528 0.10528 7 0.979224 0.0207762 8 1.00353 0.00353453 9 0.999765 0.00023524 Integrate 132 * X^0 * Y^10 Rule QUAD ERROR 1 0.00111772 0.998882 2 22 21 3 0.0429688 0.957031 4 2.37235 1.37235 5 0.669373 0.330627 6 1.17143 0.171428 7 0.959105 0.0408951 8 1.01016 0.010164 9 0.99873 0.00127029 Integrate 6 * X^1 * Y^0 Rule QUAD ERROR 1 1 0 2 1 0 3 1 0 4 1 0 5 1 0 6 1 0 7 1 2.22045e-16 8 1 0 9 1 2.22045e-16 Integrate 24 * X^1 * Y^1 Rule QUAD ERROR 1 1.33333 0.333333 2 0 1 3 1 0 4 1 0 5 1 0 6 1 2.22045e-16 7 1 1.11022e-16 8 1 2.22045e-16 9 1 0 Integrate 60 * X^1 * Y^2 Rule QUAD ERROR 1 1.11111 0.111111 2 0 1 3 1.25 0.25 4 1 0 5 1 0 6 1 0 7 1 2.22045e-16 8 1 2.22045e-16 9 1 2.22045e-16 Integrate 120 * X^1 * Y^3 Rule QUAD ERROR 1 0.740741 0.259259 2 0 1 3 1.25 0.25 4 0.888889 0.111111 5 1 0 6 1 0 7 1 1.11022e-16 8 1 0 9 1 0 Integrate 210 * X^1 * Y^4 Rule QUAD ERROR 1 0.432099 0.567901 2 0 1 3 1.09375 0.09375 4 0.777778 0.222222 5 1.03906 0.0390625 6 1 1.11022e-16 7 1 4.44089e-16 8 1 1.11022e-16 9 1 2.22045e-16 Integrate 336 * X^1 * Y^5 Rule QUAD ERROR 1 0.230453 0.769547 2 0 1 3 0.875 0.125 4 0.691358 0.308642 5 1.09375 0.09375 6 0.9824 0.0176 7 1 2.22045e-16 8 1 0 9 1 3.33067e-16 Integrate 504 * X^1 * Y^6 Rule QUAD ERROR 1 0.115226 0.884774 2 0 1 3 0.65625 0.34375 4 0.622222 0.377778 5 1.14023 0.140234 6 0.94464 0.05536 7 1.00648 0.00648148 8 1 1.11022e-16 9 1 0 Integrate 720 * X^1 * Y^7 Rule QUAD ERROR 1 0.0548697 0.94513 2 0 1 3 0.46875 0.53125 4 0.559671 0.440329 5 1.16602 0.166016 6 0.8928 0.1072 7 1.02315 0.0231481 8 0.997161 0.00283895 9 1 3.33067e-16 Integrate 990 * X^1 * Y^8 Rule QUAD ERROR 1 0.0251486 0.974851 2 0 1 3 0.322266 0.677734 4 0.497942 0.502058 5 1.16721 0.167206 6 0.83424 0.16576 7 1.04893 0.0489326 8 0.987998 0.0120018 9 1.00106 0.00105858 Integrate 1320 * X^1 * Y^9 Rule QUAD ERROR 1 0.0111772 0.988823 2 0 1 3 0.214844 0.785156 4 0.435909 0.564091 5 1.14471 0.144714 6 0.774541 0.225459 7 1.07982 0.0798182 8 0.970387 0.0296129 9 1.00494 0.00494003 Integrate 12 * X^2 * Y^0 Rule QUAD ERROR 1 0.666667 0.333333 2 2 1 3 1 0 4 1 0 5 1 0 6 1 2.22045e-16 7 1 0 8 1 0 9 1 2.22045e-16 Integrate 60 * X^2 * Y^1 Rule QUAD ERROR 1 1.11111 0.111111 2 0 1 3 1.25 0.25 4 1 2.22045e-16 5 1 0 6 1 0 7 1 0 8 1 1.11022e-16 9 1 2.22045e-16 Integrate 180 * X^2 * Y^2 Rule QUAD ERROR 1 1.11111 0.111111 2 0 1 3 1.875 0.875 4 1.16667 0.166667 5 1 0 6 1 1.11022e-16 7 1 2.22045e-16 8 1 2.22045e-16 9 1 0 Integrate 420 * X^2 * Y^3 Rule QUAD ERROR 1 0.864198 0.135802 2 0 1 3 2.1875 1.1875 4 1.16667 0.166667 5 0.984375 0.015625 6 1 2.22045e-16 7 1 0 8 1 1.11022e-16 9 1 1.11022e-16 Integrate 840 * X^2 * Y^4 Rule QUAD ERROR 1 0.576132 0.423868 2 0 1 3 2.1875 1.1875 4 1.12346 0.123457 5 1.05729 0.0572917 6 1.03467 0.0346667 7 1 0 8 1 1.11022e-16 9 1 0 Integrate 1512 * X^2 * Y^5 Rule QUAD ERROR 1 0.345679 0.654321 2 0 1 3 1.96875 0.96875 4 1.08889 0.0888889 5 1.20586 0.205859 6 1.07712 0.07712 7 0.991667 0.00833333 8 1 3.33067e-16 9 1 4.44089e-16 Integrate 2520 * X^2 * Y^6 Rule QUAD ERROR 1 0.192044 0.807956 2 0 1 3 1.64062 0.640625 4 1.06584 0.0658436 5 1.3877 0.387695 6 1.1072 0.1072 7 0.986883 0.0131173 8 1.00723 0.00722913 9 1 0 Integrate 3960 * X^2 * Y^7 Rule QUAD ERROR 1 0.100594 0.899406 2 0 1 3 1.28906 0.289062 4 1.04115 0.0411523 5 1.56702 0.567017 6 1.11936 0.11936 7 1.00154 0.00154321 8 1.02445 0.024447 9 0.997821 0.00217946 Integrate 5940 * X^2 * Y^8 Rule QUAD ERROR 1 0.0502972 0.949703 2 0 1 3 0.966797 0.0332031 4 1.00343 0.00342936 5 1.7211 0.7211 6 1.11598 0.115981 7 1.04469 0.0446888 8 1.04857 0.0485718 9 0.992792 0.00720787 Integrate 20 * X^3 * Y^0 Rule QUAD ERROR 1 0.37037 0.62963 2 3.33333 2.33333 3 0.833333 0.166667 4 1 1.11022e-16 5 1 0 6 1 2.22045e-16 7 1 2.22045e-16 8 1 1.11022e-16 9 1 3.33067e-16 Integrate 120 * X^3 * Y^1 Rule QUAD ERROR 1 0.740741 0.259259 2 0 1 3 1.25 0.25 4 0.888889 0.111111 5 1 0 6 1 2.22045e-16 7 1 0 8 1 2.22045e-16 9 1 2.22045e-16 Integrate 420 * X^3 * Y^2 Rule QUAD ERROR 1 0.864198 0.135802 2 0 1 3 2.1875 1.1875 4 1.16667 0.166667 5 0.984375 0.015625 6 1 0 7 1 2.22045e-16 8 1 2.22045e-16 9 1 1.11022e-16 Integrate 1120 * X^3 * Y^3 Rule QUAD ERROR 1 0.768176 0.231824 2 0 1 3 2.91667 1.91667 4 1.26749 0.26749 5 0.875 0.125 6 0.96 0.04 7 1 0 8 1 1.11022e-16 9 1 2.22045e-16 Integrate 2520 * X^3 * Y^4 Rule QUAD ERROR 1 0.576132 0.423868 2 0 1 3 3.28125 2.28125 4 1.2963 0.296296 5 0.861328 0.138672 6 0.9696 0.0304 7 1.00463 0.00462963 8 1 2.22045e-16 9 1 2.22045e-16 Integrate 5040 * X^3 * Y^5 Rule QUAD ERROR 1 0.384088 0.615912 2 0 1 3 3.28125 2.28125 4 1.3251 0.325103 5 0.984375 0.015625 6 1.0176 0.0176 7 0.981481 0.0185185 8 0.988249 0.0117511 9 1 3.33067e-16 Integrate 9240 * X^3 * Y^6 Rule QUAD ERROR 1 0.23472 0.76528 2 0 1 3 3.00781 2.00781 4 1.37311 0.373114 5 1.21252 0.212524 6 1.07712 0.07712 7 0.931756 0.0682442 8 0.973771 0.0262292 9 1.00269 0.00268809 Integrate 15840 * X^3 * Y^7 Rule QUAD ERROR 1 0.134126 0.865874 2 0 1 3 2.57812 1.57812 4 1.42844 0.428441 5 1.49854 0.498535 6 1.13203 0.132032 7 0.879887 0.120113 8 0.969272 0.0307282 9 1.00305 0.00305176 Integrate 30 * X^4 * Y^0 Rule QUAD ERROR 1 0.185185 0.814815 2 5 4 3 0.625 0.375 4 1.05556 0.0555556 5 1 2.22045e-16 6 1 2.22045e-16 7 1 0 8 1 1.11022e-16 9 1 0 Integrate 210 * X^4 * Y^1 Rule QUAD ERROR 1 0.432099 0.567901 2 0 1 3 1.09375 0.09375 4 0.777778 0.222222 5 1.03906 0.0390625 6 1 0 7 1 1.11022e-16 8 1 1.11022e-16 9 1 2.22045e-16 Integrate 840 * X^4 * Y^2 Rule QUAD ERROR 1 0.576132 0.423868 2 0 1 3 2.1875 1.1875 4 1.12346 0.123457 5 1.05729 0.0572917 6 1.03467 0.0346667 7 1 0 8 1 1.11022e-16 9 1 2.22045e-16 Integrate 2520 * X^4 * Y^3 Rule QUAD ERROR 1 0.576132 0.423868 2 0 1 3 3.28125 2.28125 4 1.2963 0.296296 5 0.861328 0.138672 6 0.9696 0.0304 7 1.00463 0.00462963 8 1 2.22045e-16 9 1 3.33067e-16 Integrate 6300 * X^4 * Y^4 Rule QUAD ERROR 1 0.48011 0.51989 2 0 1 3 4.10156 3.10156 4 1.36831 0.368313 5 0.700684 0.299316 6 0.9392 0.0608 7 1.0436 0.0435957 8 1.01401 0.014012 9 1 4.44089e-16 Integrate 13860 * X^4 * Y^5 Rule QUAD ERROR 1 0.35208 0.64792 2 0 1 3 4.51172 3.51172 4 1.42593 0.425926 5 0.690857 0.309143 6 0.96096 0.03904 7 1.0553 0.0552984 8 1.01239 0.0123857 9 0.998786 0.00121435 Integrate 27720 * X^4 * Y^6 Rule QUAD ERROR 1 0.23472 0.76528 2 0 1 3 4.51172 3.51172 4 1.51395 0.513946 5 0.841248 0.158752 6 1.01348 0.0134784 7 1.00626 0.00625857 8 0.991878 0.00812162 9 1.0088 0.00880051 Integrate 42 * X^5 * Y^0 Rule QUAD ERROR 1 0.0864198 0.91358 2 7 6 3 0.4375 0.5625 4 1.16667 0.166667 5 0.984375 0.015625 6 1 2.22045e-16 7 1 2.22045e-16 8 1 1.11022e-16 9 1 0 Integrate 336 * X^5 * Y^1 Rule QUAD ERROR 1 0.230453 0.769547 2 0 1 3 0.875 0.125 4 0.691358 0.308642 5 1.09375 0.09375 6 0.9824 0.0176 7 1 2.22045e-16 8 1 0 9 1 2.22045e-16 Integrate 1512 * X^5 * Y^2 Rule QUAD ERROR 1 0.345679 0.654321 2 0 1 3 1.96875 0.96875 4 1.08889 0.0888889 5 1.20586 0.205859 6 1.07712 0.07712 7 0.991667 0.00833333 8 1 1.11022e-16 9 1 2.22045e-16 Integrate 5040 * X^5 * Y^3 Rule QUAD ERROR 1 0.384088 0.615912 2 0 1 3 3.28125 2.28125 4 1.3251 0.325103 5 0.984375 0.015625 6 1.0176 0.0176 7 0.981481 0.0185185 8 0.988249 0.0117511 9 1 1.11022e-16 Integrate 13860 * X^5 * Y^4 Rule QUAD ERROR 1 0.35208 0.64792 2 0 1 3 4.51172 3.51172 4 1.42593 0.425926 5 0.690857 0.309143 6 0.96096 0.03904 7 1.0553 0.0552984 8 1.01239 0.0123857 9 0.998786 0.00121435 Integrate 33264 * X^5 * Y^5 Rule QUAD ERROR 1 0.281664 0.718336 2 0 1 3 5.41406 4.41406 4 1.47874 0.478738 5 0.507568 0.492432 6 0.953948 0.0460518 7 1.14159 0.14159 8 1.03405 0.0340462 9 0.984924 0.0150757 Integrate 56 * X^6 * Y^0 Rule QUAD ERROR 1 0.0384088 0.961591 2 9.33333 8.33333 3 0.291667 0.708333 4 1.3251 0.325103 5 0.947917 0.0520833 6 1.00587 0.00586667 7 1 4.44089e-16 8 1 4.44089e-16 9 1 1.11022e-16 Integrate 504 * X^6 * Y^1 Rule QUAD ERROR 1 0.115226 0.884774 2 0 1 3 0.65625 0.34375 4 0.622222 0.377778 5 1.14023 0.140234 6 0.94464 0.05536 7 1.00648 0.00648148 8 1 2.22045e-16 9 1 2.22045e-16 Integrate 2520 * X^6 * Y^2 Rule QUAD ERROR 1 0.192044 0.807956 2 0 1 3 1.64062 0.640625 4 1.06584 0.0658436 5 1.3877 0.387695 6 1.1072 0.1072 7 0.986883 0.0131173 8 1.00723 0.00722913 9 1 2.22045e-16 Integrate 9240 * X^6 * Y^3 Rule QUAD ERROR 1 0.23472 0.76528 2 0 1 3 3.00781 2.00781 4 1.37311 0.373114 5 1.21252 0.212524 6 1.07712 0.07712 7 0.931756 0.0682442 8 0.973771 0.0262292 9 1.00269 0.00268809 Integrate 27720 * X^6 * Y^4 Rule QUAD ERROR 1 0.23472 0.76528 2 0 1 3 4.51172 3.51172 4 1.51395 0.513946 5 0.841248 0.158752 6 1.01348 0.0134784 7 1.00626 0.00625857 8 0.991878 0.00812162 9 1.0088 0.00880051 Integrate 72 * X^7 * Y^0 Rule QUAD ERROR 1 0.0164609 0.983539 2 12 11 3 0.1875 0.8125 4 1.52593 0.525926 5 0.892969 0.107031 6 1.02336 0.02336 7 0.998148 0.00185185 8 1 4.44089e-16 9 1 4.44089e-16 Integrate 720 * X^7 * Y^1 Rule QUAD ERROR 1 0.0548697 0.94513 2 0 1 3 0.46875 0.53125 4 0.559671 0.440329 5 1.16602 0.166016 6 0.8928 0.1072 7 1.02315 0.0231481 8 0.997161 0.00283895 9 1 2.22045e-16 Integrate 3960 * X^7 * Y^2 Rule QUAD ERROR 1 0.100594 0.899406 2 0 1 3 1.28906 0.289062 4 1.04115 0.0411523 5 1.56702 0.567017 6 1.11936 0.11936 7 1.00154 0.00154321 8 1.02445 0.024447 9 0.997821 0.00217946 Integrate 15840 * X^7 * Y^3 Rule QUAD ERROR 1 0.134126 0.865874 2 0 1 3 2.57812 1.57812 4 1.42844 0.428441 5 1.49854 0.498535 6 1.13203 0.132032 7 0.879887 0.120113 8 0.969272 0.0307282 9 1.00305 0.00305176 Integrate 90 * X^8 * Y^0 Rule QUAD ERROR 1 0.00685871 0.993141 2 15 14 3 0.117188 0.882812 4 1.76749 0.76749 5 0.824707 0.175293 6 1.056 0.056 7 0.991898 0.00810185 8 1.00071 0.000709738 9 1 1.11022e-16 Integrate 990 * X^8 * Y^1 Rule QUAD ERROR 1 0.0251486 0.974851 2 0 1 3 0.322266 0.677734 4 0.497942 0.502058 5 1.16721 0.167206 6 0.83424 0.16576 7 1.04893 0.0489326 8 0.987998 0.0120018 9 1.00106 0.00105858 Integrate 5940 * X^8 * Y^2 Rule QUAD ERROR 1 0.0502972 0.949703 2 0 1 3 0.966797 0.0332031 4 1.00343 0.00342936 5 1.7211 0.7211 6 1.11598 0.115981 7 1.04469 0.0446888 8 1.04857 0.0485718 9 0.992792 0.00720787 Integrate 110 * X^9 * Y^0 Rule QUAD ERROR 1 0.00279429 0.997206 2 18.3333 17.3333 3 0.0716146 0.928385 4 2.04961 1.04961 5 0.748596 0.251404 6 1.10528 0.10528 7 0.979224 0.0207762 8 1.00353 0.00353453 9 0.999765 0.00023524 Integrate 1320 * X^9 * Y^1 Rule QUAD ERROR 1 0.0111772 0.988823 2 0 1 3 0.214844 0.785156 4 0.435909 0.564091 5 1.14471 0.144714 6 0.774541 0.225459 7 1.07982 0.0798182 8 0.970387 0.0296129 9 1.00494 0.00494003 Integrate 132 * X^10 * Y^0 Rule QUAD ERROR 1 0.00111772 0.998882 2 22 21 3 0.0429688 0.957031 4 2.37235 1.37235 5 0.669373 0.330627 6 1.17143 0.171428 7 0.959105 0.0408951 8 1.01016 0.010164 9 0.99873 0.00127029 TEST05 REFERENCE_TO_PHYSICAL_T3 transforms a rule on the unit (reference) triangle to a rule on an arbitrary (physical) triangle. The reference triangle: 1 0 0 2 1 0 3 0 1 Rule 3 for reference triangle with area = 0.5 X Y W 0 0.5 0.5 0.333333 1 0.5 0 0.333333 2 0 0.5 0.333333 The physical triangle: 1 1 2 2 1 1 3 3 2 Rule 3 for physical triangle with area = 1 X Y W 0 2 1.5 0.333333 1 1 1.5 0.333333 2 2 2 0.333333 TRIANGLE_NCC_RULE_TEST: Normal end of execution. 02 March 2022 12:45:14 PM