# Dunavant, D. A. (1985), High degree efficient symmetrical Gaussian quadrature
# rules for the triangle. Int. J. Numer. Meth. Engng., 21: 1129–1148. doi:
# 10.1002/nme.1620210612
function _get_gauss_tridata(n::Int)
    if (n == 1)
    xw=[0.33333333333333 0.33333333333333 1.00000000000000 / 2.0];
    elseif (n == 2)
    xw=[0.16666666666667 0.16666666666667 0.33333333333333 / 2.0
    0.16666666666667 0.66666666666667 0.33333333333333 / 2.0
    0.66666666666667 0.16666666666667 0.33333333333333 / 2.0];
    elseif (n == 3)
    xw=[0.33333333333333 0.33333333333333 -0.56250000000000 / 2.0
    0.20000000000000 0.20000000000000 0.52083333333333 / 2.0
    0.20000000000000 0.60000000000000 0.52083333333333 / 2.0
    0.60000000000000 0.20000000000000 0.52083333333333 / 2.0];
    elseif (n == 4)
    xw=[0.44594849091597 0.44594849091597 0.22338158967801 / 2.0
    0.44594849091597 0.10810301816807 0.22338158967801 / 2.0
    0.10810301816807 0.44594849091597 0.22338158967801 / 2.0
    0.09157621350977 0.09157621350977 0.10995174365532 / 2.0
    0.09157621350977 0.81684757298046 0.10995174365532 / 2.0
    0.81684757298046 0.09157621350977 0.10995174365532 / 2.0];
    elseif (n == 5)
    xw=[0.33333333333333 0.33333333333333 0.22500000000000 / 2.0
    0.47014206410511 0.47014206410511 0.13239415278851 / 2.0
    0.47014206410511 0.05971587178977 0.13239415278851 / 2.0
    0.05971587178977 0.47014206410511 0.13239415278851 / 2.0
    0.10128650732346 0.10128650732346 0.12593918054483 / 2.0
    0.10128650732346 0.79742698535309 0.12593918054483 / 2.0
    0.79742698535309 0.10128650732346 0.12593918054483 / 2.0];
    elseif (n == 6)
    xw=[0.24928674517091 0.24928674517091 0.11678627572638 / 2.0
    0.24928674517091 0.50142650965818 0.11678627572638 / 2.0
    0.50142650965818 0.24928674517091 0.11678627572638 / 2.0
    0.06308901449150 0.06308901449150 0.05084490637021 / 2.0
    0.06308901449150 0.87382197101700 0.05084490637021 / 2.0
    0.87382197101700 0.06308901449150 0.05084490637021 / 2.0
    0.31035245103378 0.63650249912140 0.08285107561837 / 2.0
    0.63650249912140 0.05314504984482 0.08285107561837 / 2.0
    0.05314504984482 0.31035245103378 0.08285107561837 / 2.0
    0.63650249912140 0.31035245103378 0.08285107561837 / 2.0
    0.31035245103378 0.05314504984482 0.08285107561837 / 2.0
    0.05314504984482 0.63650249912140 0.08285107561837 / 2.0];
    elseif (n == 7)
    xw=[0.33333333333333 0.33333333333333 -0.14957004446768 / 2.0
    0.26034596607904 0.26034596607904 0.17561525743321 / 2.0
    0.26034596607904 0.47930806784192 0.17561525743321 / 2.0
    0.47930806784192 0.26034596607904 0.17561525743321 / 2.0
    0.06513010290222 0.06513010290222 0.05334723560884 / 2.0
    0.06513010290222 0.86973979419557 0.05334723560884 / 2.0
    0.86973979419557 0.06513010290222 0.05334723560884 / 2.0
    0.31286549600487 0.63844418856981 0.07711376089026 / 2.0
    0.63844418856981 0.04869031542532 0.07711376089026 / 2.0
    0.04869031542532 0.31286549600487 0.07711376089026 / 2.0
    0.63844418856981 0.31286549600487 0.07711376089026 / 2.0
    0.31286549600487 0.04869031542532 0.07711376089026 / 2.0
    0.04869031542532 0.63844418856981 0.07711376089026 / 2.0];
    elseif (n == 8)
    xw=[0.33333333333333 0.33333333333333 0.14431560767779 / 2.0
    0.45929258829272 0.45929258829272 0.09509163426728 / 2.0
    0.45929258829272 0.08141482341455 0.09509163426728 / 2.0
    0.08141482341455 0.45929258829272 0.09509163426728 / 2.0
    0.17056930775176 0.17056930775176 0.10321737053472 / 2.0
    0.17056930775176 0.65886138449648 0.10321737053472 / 2.0
    0.65886138449648 0.17056930775176 0.10321737053472 / 2.0
    0.05054722831703 0.05054722831703 0.03245849762320 / 2.0
    0.05054722831703 0.89890554336594 0.03245849762320 / 2.0
    0.89890554336594 0.05054722831703 0.03245849762320 / 2.0
    0.26311282963464 0.72849239295540 0.02723031417443 / 2.0
    0.72849239295540 0.00839477740996 0.02723031417443 / 2.0
    0.00839477740996 0.26311282963464 0.02723031417443 / 2.0
    0.72849239295540 0.26311282963464 0.02723031417443 / 2.0
    0.26311282963464 0.00839477740996 0.02723031417443 / 2.0
    0.00839477740996 0.72849239295540 0.02723031417443 / 2.0];
    else
        throw(ArgumentError("unsupported order for triangle gauss-legendre integration"))
    end
    return xw
end
