02 March 2022 12:47:41 PM TRIANGLE_NCO_RULE_TEST: C version Test the TRIANGLE_NCO_RULE library. TEST01 TRIANGLE_NCO_RULE_NUM returns the number of rules; TRIANGLE_NCO_DEGREE returns the degree of a rule; TRIANGLE_NCO_ORDER_NUM returns the order of a rule. Number of available rules = 9 Rule Degree Order 1 0 1 2 1 3 3 2 6 4 3 10 5 4 15 6 5 21 7 6 28 8 7 36 9 8 45 TEST02 TRIANGLE_NCO_RULE returns the points and weights of an NCO 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 6 1 4 10 1 5 15 1 6 21 1 7 28 1 8 36 1 9 45 1 TEST03 TRIANGLE_NCO_RULE returns the points and weights of an NCO 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 2 1 1 4 3 0.9999999999999999 0.9999999999999999 1 5 4 1 1 1 0.9999999999999999 6 5 1 1 1 1 1 7 7 1 1 1 1 1 0.9999999999999999 1 8 8 1 0.9999999999999999 0.9999999999999999 1 1 1 1 1 9 10 1 1 1 1 1 1 1 1 1 1 TEST04 TRIANGLE_NCO_RULE returns the points and weights of an NCO 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 4.44089e-16 5 1 2.22045e-16 6 1 2.22045e-16 7 1 1.55431e-15 8 1 2.22045e-16 9 1 1.11022e-15 Integrate 6 * X^0 * Y^1 Rule QUAD ERROR 1 1 0 2 1 0 3 1 2.22045e-16 4 1 0 5 1 0 6 1 5.55112e-16 7 1 1.55431e-15 8 1 6.66134e-16 9 1 3.55271e-15 Integrate 12 * X^0 * Y^2 Rule QUAD ERROR 1 0.666667 0.333333 2 0.75 0.25 3 1 2.22045e-16 4 1 2.22045e-16 5 1 0 6 1 2.22045e-16 7 1 2.44249e-15 8 1 0 9 1 1.11022e-15 Integrate 20 * X^0 * Y^3 Rule QUAD ERROR 1 0.37037 0.62963 2 0.520833 0.479167 3 1.01333 0.0133333 4 1 2.22045e-16 5 1 2.22045e-16 6 1 2.22045e-16 7 1 2.22045e-15 8 1 5.55112e-16 9 1 8.88178e-16 Integrate 30 * X^0 * Y^4 Rule QUAD ERROR 1 0.185185 0.814815 2 0.351562 0.648438 3 0.964 0.036 4 0.949074 0.0509259 5 1 0 6 1 1.11022e-16 7 1 2.22045e-15 8 1 0 9 1 4.44089e-16 Integrate 42 * X^0 * Y^5 Rule QUAD ERROR 1 0.0864198 0.91358 2 0.232422 0.767578 3 0.8512 0.1488 4 0.853395 0.146605 5 1.00416 0.00416493 6 1 2.22045e-16 7 1 2.66454e-15 8 1 0 9 1 3.10862e-15 Integrate 56 * X^0 * Y^6 Rule QUAD ERROR 1 0.0384088 0.961591 2 0.150391 0.849609 3 0.706347 0.293653 4 0.735768 0.264232 5 1.00177 0.00176514 6 0.990641 0.00935872 7 1 2.22045e-15 8 1 1.11022e-15 9 1 1.77636e-15 Integrate 72 * X^0 * Y^7 Rule QUAD ERROR 1 0.0164609 0.983539 2 0.0952148 0.904785 3 0.558797 0.441203 4 0.614918 0.385082 5 0.980173 0.0198268 6 0.963922 0.0360779 7 1.00094 0.000938204 8 1 8.88178e-16 9 1 4.44089e-16 Integrate 90 * X^0 * Y^8 Rule QUAD ERROR 1 0.00685871 0.993141 2 0.0590515 0.940948 3 0.426259 0.573741 4 0.502025 0.497975 5 0.933933 0.066067 6 0.917833 0.0821667 7 1.002 0.00200304 8 0.998382 0.001618 9 1 1.77636e-15 Integrate 110 * X^0 * Y^9 Rule QUAD ERROR 1 0.00279429 0.997206 2 0.0359472 0.964053 3 0.316143 0.683857 4 0.402443 0.597557 5 0.865185 0.134815 6 0.855218 0.144782 7 0.99998 2.00015e-05 8 0.992172 0.00782787 9 1.00018 0.000183768 Integrate 132 * X^0 * Y^10 Rule QUAD ERROR 1 0.00111772 0.998882 2 0.0215263 0.978474 3 0.229341 0.770659 4 0.317879 0.682121 5 0.780476 0.219524 6 0.781209 0.218791 7 0.990713 0.0092869 8 0.978375 0.0216248 9 1.00064 0.000642152 Integrate 6 * X^1 * Y^0 Rule QUAD ERROR 1 1 0 2 1 0 3 1 0 4 1 4.44089e-16 5 1 0 6 1 4.44089e-16 7 1 8.88178e-16 8 1 7.77156e-16 9 1 1.9984e-15 Integrate 24 * X^1 * Y^1 Rule QUAD ERROR 1 1.33333 0.333333 2 1.25 0.25 3 1 4.44089e-16 4 1 0 5 1 2.22045e-16 6 1 0 7 1 4.44089e-16 8 1 9.99201e-16 9 1 4.88498e-15 Integrate 60 * X^1 * Y^2 Rule QUAD ERROR 1 1.11111 0.111111 2 1.09375 0.09375 3 0.98 0.02 4 1 0 5 1 8.88178e-16 6 1 1.11022e-16 7 1 3.33067e-15 8 1 8.88178e-16 9 1 6.66134e-16 Integrate 120 * X^1 * Y^3 Rule QUAD ERROR 1 0.740741 0.259259 2 0.859375 0.140625 3 1.112 0.112 4 1.10185 0.101852 5 1 3.33067e-16 6 1 1.11022e-16 7 1 2.66454e-15 8 1 6.66134e-16 9 1 4.44089e-16 Integrate 210 * X^1 * Y^4 Rule QUAD ERROR 1 0.432099 0.567901 2 0.649414 0.350586 3 1.246 0.246 4 1.18827 0.188272 5 0.989588 0.0104123 6 1 1.11022e-16 7 1 3.33067e-15 8 1 2.22045e-16 9 1 5.32907e-15 Integrate 336 * X^1 * Y^5 Rule QUAD ERROR 1 0.230453 0.769547 2 0.478516 0.521484 3 1.28576 0.28576 4 1.20628 0.206276 5 1.01136 0.0113643 6 1.02808 0.0280762 7 1 5.77316e-15 8 1 0 9 1 1.77636e-15 Integrate 504 * X^1 * Y^6 Rule QUAD ERROR 1 0.115226 0.884774 2 0.343506 0.656494 3 1.22277 0.222771 4 1.15874 0.158745 5 1.07734 0.0773368 6 1.08416 0.0841583 7 0.996716 0.00328371 8 1 4.44089e-16 9 1 1.33227e-15 Integrate 720 * X^1 * Y^7 Rule QUAD ERROR 1 0.0548697 0.94513 2 0.239868 0.760132 3 1.08895 0.0889472 4 1.06649 0.0664866 5 1.16513 0.165134 6 1.14828 0.148277 7 0.996679 0.00332116 8 1.00647 0.006472 9 1 1.77636e-15 Integrate 990 * X^1 * Y^8 Rule QUAD ERROR 1 0.0251486 0.974851 2 0.163021 0.836979 3 0.921782 0.0782176 4 0.950146 0.0498543 5 1.2433 0.243299 6 1.1996 0.199602 7 1.01111 0.0111068 8 1.02633 0.0263264 9 0.999173 0.000826957 Integrate 1320 * X^1 * Y^9 Rule QUAD ERROR 1 0.0111772 0.988823 2 0.108051 0.891949 3 0.750154 0.249846 4 0.825265 0.174735 5 1.28873 0.288732 6 1.22527 0.225266 7 1.04631 0.0463145 8 1.06116 0.0611568 9 0.997892 0.00210815 Integrate 12 * X^2 * Y^0 Rule QUAD ERROR 1 0.666667 0.333333 2 0.75 0.25 3 1 4.44089e-16 4 1 0 5 1 4.44089e-16 6 1 0 7 1 3.55271e-15 8 1 4.44089e-16 9 1 2.77556e-15 Integrate 60 * X^2 * Y^1 Rule QUAD ERROR 1 1.11111 0.111111 2 1.09375 0.09375 3 0.98 0.02 4 1 0 5 1 0 6 1 0 7 1 3.55271e-15 8 1 8.88178e-16 9 1 8.88178e-16 Integrate 180 * X^2 * Y^2 Rule QUAD ERROR 1 1.11111 0.111111 2 1.05469 0.0546875 3 0.732 0.268 4 0.847222 0.152778 5 1 2.22045e-16 6 1 3.33067e-16 7 1 1.55431e-15 8 1 8.88178e-16 9 1 5.32907e-15 Integrate 420 * X^2 * Y^3 Rule QUAD ERROR 1 0.864198 0.135802 2 0.888672 0.111328 3 0.7112 0.2888 4 0.853395 0.146605 5 1.00416 0.00416493 6 1 2.22045e-16 7 1 3.9968e-15 8 1 2.9976e-15 9 1 4.21885e-15 Integrate 840 * X^2 * Y^4 Rule QUAD ERROR 1 0.576132 0.423868 2 0.717773 0.282227 3 0.8624 0.1376 4 0.945216 0.054784 5 0.91335 0.0866504 6 0.940348 0.0596517 7 1 2.66454e-15 8 1 2.10942e-15 9 1 2.22045e-15 Integrate 1512 * X^2 * Y^5 Rule QUAD ERROR 1 0.345679 0.654321 2 0.569092 0.430908 3 1.03139 0.0313856 4 1.02948 0.0294753 5 0.78604 0.21396 6 0.869266 0.130734 7 1.00422 0.00422192 8 1 1.44329e-15 9 1 4.44089e-16 Integrate 2520 * X^2 * Y^6 Rule QUAD ERROR 1 0.192044 0.807956 2 0.4422 0.5578 3 1.12923 0.129229 4 1.06839 0.0683942 5 0.708599 0.291401 6 0.835947 0.164053 7 0.985277 0.0147232 8 0.982032 0.017968 9 1 6.21725e-15 Integrate 3960 * X^2 * Y^7 Rule QUAD ERROR 1 0.100594 0.899406 2 0.334854 0.665146 3 1.136 0.136003 4 1.05931 0.0593064 5 0.716042 0.283958 6 0.851722 0.148278 7 0.926271 0.0737287 8 0.940255 0.0597449 9 1.0017 0.00169539 Integrate 5940 * X^2 * Y^8 Rule QUAD ERROR 1 0.0502972 0.949703 2 0.24642 0.75358 3 1.06812 0.0681229 4 1.01228 0.0122805 5 0.79416 0.20584 6 0.90232 0.0976799 7 0.839699 0.160301 8 0.887061 0.112939 9 1.00007 6.79084e-05 Integrate 20 * X^3 * Y^0 Rule QUAD ERROR 1 0.37037 0.62963 2 0.520833 0.479167 3 1.01333 0.0133333 4 1 4.44089e-16 5 1 0 6 1 2.22045e-16 7 1 2.22045e-15 8 1 4.44089e-16 9 1 4.44089e-16 Integrate 120 * X^3 * Y^1 Rule QUAD ERROR 1 0.740741 0.259259 2 0.859375 0.140625 3 1.112 0.112 4 1.10185 0.101852 5 1 0 6 1 2.22045e-16 7 1 3.77476e-15 8 1 1.44329e-15 9 1 3.33067e-16 Integrate 420 * X^3 * Y^2 Rule QUAD ERROR 1 0.864198 0.135802 2 0.888672 0.111328 3 0.7112 0.2888 4 0.853395 0.146605 5 1.00416 0.00416493 6 1 2.22045e-16 7 1 6.21725e-15 8 1 1.33227e-15 9 1 8.88178e-16 Integrate 1120 * X^3 * Y^3 Rule QUAD ERROR 1 0.768176 0.231824 2 0.77474 0.22526 3 0.433067 0.566933 4 0.708162 0.291838 5 1.11549 0.115488 6 1.07251 0.0725098 7 1 4.88498e-15 8 1 2.66454e-15 9 1 5.88418e-15 Integrate 2520 * X^3 * Y^4 Rule QUAD ERROR 1 0.576132 0.423868 2 0.640869 0.359131 3 0.412608 0.587392 4 0.70036 0.29964 5 1.09934 0.0993379 6 1.05858 0.0585785 7 0.997654 0.00234551 8 1 1.9984e-15 9 1 6.43929e-15 Integrate 5040 * X^3 * Y^5 Rule QUAD ERROR 1 0.384088 0.615912 2 0.525513 0.474487 3 0.542438 0.457562 4 0.749871 0.250129 5 0.914568 0.0854321 6 0.950529 0.0494709 7 1.04407 0.044066 8 1.03125 0.031252 9 1 2.22045e-15 Integrate 9240 * X^3 * Y^6 Rule QUAD ERROR 1 0.23472 0.76528 2 0.428848 0.571152 3 0.699185 0.300815 4 0.799333 0.200667 5 0.666056 0.333944 6 0.816648 0.183352 7 1.11272 0.112721 8 1.07048 0.0704841 9 0.997925 0.00207472 Integrate 15840 * X^3 * Y^7 Rule QUAD ERROR 1 0.134126 0.865874 2 0.344925 0.655075 3 0.812698 0.187302 4 0.826105 0.173895 5 0.463522 0.536478 6 0.712031 0.287969 7 1.13519 0.135186 8 1.07638 0.0763755 9 1.00932 0.00931829 Integrate 30 * X^4 * Y^0 Rule QUAD ERROR 1 0.185185 0.814815 2 0.351562 0.648438 3 0.964 0.036 4 0.949074 0.0509259 5 1 2.22045e-16 6 1 1.11022e-16 7 1 1.77636e-15 8 1 2.22045e-16 9 1 1.33227e-15 Integrate 210 * X^4 * Y^1 Rule QUAD ERROR 1 0.432099 0.567901 2 0.649414 0.350586 3 1.246 0.246 4 1.18827 0.188272 5 0.989588 0.0104123 6 1 0 7 1 1.33227e-15 8 1 4.44089e-16 9 1 6.66134e-16 Integrate 840 * X^4 * Y^2 Rule QUAD ERROR 1 0.576132 0.423868 2 0.717773 0.282227 3 0.8624 0.1376 4 0.945216 0.054784 5 0.91335 0.0866504 6 0.940348 0.0596517 7 1 3.77476e-15 8 1 2.10942e-15 9 1 4.44089e-16 Integrate 2520 * X^4 * Y^3 Rule QUAD ERROR 1 0.576132 0.423868 2 0.640869 0.359131 3 0.412608 0.587392 4 0.70036 0.29964 5 1.09934 0.0993379 6 1.05858 0.0585785 7 0.997654 0.00234551 8 1 1.44329e-15 9 1 4.55191e-15 Integrate 6300 * X^4 * Y^4 Rule QUAD ERROR 1 0.48011 0.51989 2 0.528717 0.471283 3 0.186144 0.813856 4 0.587009 0.412991 5 1.26737 0.267372 6 1.1523 0.152296 7 0.936572 0.0634285 8 0.962106 0.037894 9 1 3.66374e-15 Integrate 13860 * X^4 * Y^5 Rule QUAD ERROR 1 0.35208 0.64792 2 0.431786 0.568214 3 0.17593 0.82407 4 0.565254 0.434746 5 1.2171 0.217104 6 1.11733 0.117332 7 0.935147 0.0648525 8 0.965777 0.0342227 9 1.00093 0.00093064 Integrate 27720 * X^4 * Y^6 Rule QUAD ERROR 1 0.23472 0.76528 2 0.356884 0.643116 3 0.279713 0.720287 4 0.578778 0.421222 5 0.968331 0.0316689 6 0.983072 0.0169282 7 1.04951 0.0495056 8 1.03596 0.0359554 9 0.975146 0.0248538 Integrate 42 * X^5 * Y^0 Rule QUAD ERROR 1 0.0864198 0.91358 2 0.232422 0.767578 3 0.8512 0.1488 4 0.853395 0.146605 5 1.00416 0.00416493 6 1 0 7 1 2.66454e-15 8 1 2.22045e-16 9 1 2.44249e-15 Integrate 336 * X^5 * Y^1 Rule QUAD ERROR 1 0.230453 0.769547 2 0.478516 0.521484 3 1.28576 0.28576 4 1.20628 0.206276 5 1.01136 0.0113643 6 1.02808 0.0280762 7 1 4.88498e-15 8 1 0 9 1 8.88178e-16 Integrate 1512 * X^5 * Y^2 Rule QUAD ERROR 1 0.345679 0.654321 2 0.569092 0.430908 3 1.03139 0.0313856 4 1.02948 0.0294753 5 0.78604 0.21396 6 0.869266 0.130734 7 1.00422 0.00422192 8 1 1.44329e-15 9 1 1.55431e-15 Integrate 5040 * X^5 * Y^3 Rule QUAD ERROR 1 0.384088 0.615912 2 0.525513 0.474487 3 0.542438 0.457562 4 0.749871 0.250129 5 0.914568 0.0854321 6 0.950529 0.0494709 7 1.04407 0.044066 8 1.03125 0.031252 9 1 8.43769e-15 Integrate 13860 * X^5 * Y^4 Rule QUAD ERROR 1 0.35208 0.64792 2 0.431786 0.568214 3 0.17593 0.82407 4 0.565254 0.434746 5 1.2171 0.217104 6 1.11733 0.117332 7 0.935147 0.0648525 8 0.965777 0.0342227 9 1.00093 0.00093064 Integrate 33264 * X^5 * Y^5 Rule QUAD ERROR 1 0.281664 0.718336 2 0.343666 0.656334 3 0.0205793 0.979421 4 0.480535 0.519465 5 1.3844 0.384399 6 1.19236 0.19236 7 0.793913 0.206087 8 0.887674 0.112326 9 1.0323 0.0323041 Integrate 56 * X^6 * Y^0 Rule QUAD ERROR 1 0.0384088 0.961591 2 0.150391 0.849609 3 0.706347 0.293653 4 0.735768 0.264232 5 1.00177 0.00176514 6 0.990641 0.00935872 7 1 1.77636e-15 8 1 6.66134e-16 9 1 1.33227e-15 Integrate 504 * X^6 * Y^1 Rule QUAD ERROR 1 0.115226 0.884774 2 0.343506 0.656494 3 1.22277 0.222771 4 1.15874 0.158745 5 1.07734 0.0773368 6 1.08416 0.0841583 7 0.996716 0.00328371 8 1 4.44089e-16 9 1 8.88178e-16 Integrate 2520 * X^6 * Y^2 Rule QUAD ERROR 1 0.192044 0.807956 2 0.4422 0.5578 3 1.12923 0.129229 4 1.06839 0.0683942 5 0.708599 0.291401 6 0.835947 0.164053 7 0.985277 0.0147232 8 0.982032 0.017968 9 1 7.77156e-16 Integrate 9240 * X^6 * Y^3 Rule QUAD ERROR 1 0.23472 0.76528 2 0.428848 0.571152 3 0.699185 0.300815 4 0.799333 0.200667 5 0.666056 0.333944 6 0.816648 0.183352 7 1.11272 0.112721 8 1.07048 0.0704841 9 0.997925 0.00207472 Integrate 27720 * X^6 * Y^4 Rule QUAD ERROR 1 0.23472 0.76528 2 0.356884 0.643116 3 0.279713 0.720287 4 0.578778 0.421222 5 0.968331 0.0316689 6 0.983072 0.0169282 7 1.04951 0.0495056 8 1.03596 0.0359554 9 0.975146 0.0248538 Integrate 72 * X^7 * Y^0 Rule QUAD ERROR 1 0.0164609 0.983539 2 0.0952148 0.904785 3 0.558797 0.441203 4 0.614918 0.385082 5 0.980173 0.0198268 6 0.963922 0.0360779 7 1.00094 0.000938204 8 1 8.88178e-16 9 1 2.22045e-16 Integrate 720 * X^7 * Y^1 Rule QUAD ERROR 1 0.0548697 0.94513 2 0.239868 0.760132 3 1.08895 0.0889472 4 1.06649 0.0664866 5 1.16513 0.165134 6 1.14828 0.148277 7 0.996679 0.00332116 8 1.00647 0.006472 9 1 3.33067e-15 Integrate 3960 * X^7 * Y^2 Rule QUAD ERROR 1 0.100594 0.899406 2 0.334854 0.665146 3 1.136 0.136003 4 1.05931 0.0593064 5 0.716042 0.283958 6 0.851722 0.148278 7 0.926271 0.0737287 8 0.940255 0.0597449 9 1.0017 0.00169539 Integrate 15840 * X^7 * Y^3 Rule QUAD ERROR 1 0.134126 0.865874 2 0.344925 0.655075 3 0.812698 0.187302 4 0.826105 0.173895 5 0.463522 0.536478 6 0.712031 0.287969 7 1.13519 0.135186 8 1.07638 0.0763755 9 1.00932 0.00931829 Integrate 90 * X^8 * Y^0 Rule QUAD ERROR 1 0.00685871 0.993141 2 0.0590515 0.940948 3 0.426259 0.573741 4 0.502025 0.497975 5 0.933933 0.066067 6 0.917833 0.0821667 7 1.002 0.00200304 8 0.998382 0.001618 9 1 3.10862e-15 Integrate 990 * X^8 * Y^1 Rule QUAD ERROR 1 0.0251486 0.974851 2 0.163021 0.836979 3 0.921782 0.0782176 4 0.950146 0.0498543 5 1.2433 0.243299 6 1.1996 0.199602 7 1.01111 0.0111068 8 1.02633 0.0263264 9 0.999173 0.000826957 Integrate 5940 * X^8 * Y^2 Rule QUAD ERROR 1 0.0502972 0.949703 2 0.24642 0.75358 3 1.06812 0.0681229 4 1.01228 0.0122805 5 0.79416 0.20584 6 0.90232 0.0976799 7 0.839699 0.160301 8 0.887061 0.112939 9 1.00007 6.79084e-05 Integrate 110 * X^9 * Y^0 Rule QUAD ERROR 1 0.00279429 0.997206 2 0.0359472 0.964053 3 0.316143 0.683857 4 0.402443 0.597557 5 0.865185 0.134815 6 0.855218 0.144782 7 0.99998 2.00015e-05 8 0.992172 0.00782787 9 1.00018 0.000183768 Integrate 1320 * X^9 * Y^1 Rule QUAD ERROR 1 0.0111772 0.988823 2 0.108051 0.891949 3 0.750154 0.249846 4 0.825265 0.174735 5 1.28873 0.288732 6 1.22527 0.225266 7 1.04631 0.0463145 8 1.06116 0.0611568 9 0.997892 0.00210815 Integrate 132 * X^10 * Y^0 Rule QUAD ERROR 1 0.00111772 0.998882 2 0.0215263 0.978474 3 0.229341 0.770659 4 0.317879 0.682121 5 0.780476 0.219524 6 0.781209 0.218791 7 0.990713 0.0092869 8 0.978375 0.0216248 9 1.00064 0.000642152 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.6 0.2 0.583333 1 0.2 0.2 0.583333 2 0.2 0.6 0.583333 3 0.4 0.4 -0.25 4 0.4 0.2 -0.25 5 0.2 0.4 -0.25 The physical triangle: 1 1 2 2 1 1 3 3 2 Rule 3 for physical triangle with area = 1 X Y W 0 1.4 1.4 0.583333 1 1.4 1.8 0.583333 2 2.2 1.8 0.583333 3 1.8 1.6 -0.25 4 1.4 1.6 -0.25 5 1.8 1.8 -0.25 TRIANGLE_NCO_RULE_TEST: Normal end of execution. 02 March 2022 12:47:41 PM