Spherical harmonics. This function calculates R_l^n(r)Y_l^m(xr,yr,zr) where R_l^n is the Zernike polynomial, l is the degree and n goes over odd or even values depending on the value of l. For instance, l=0 (n=0), l=1 (n=1), l=2 (n=0,2), l=3 (n=1,3), l=4 (n=0,2,4), ... The Y_l^m is the real spherical harmonic. l is the degree, and m=-l,...,l. For the specific formulas see https://en.wikipedia.org/wiki/Zernike_polynomials#Radial_polynomials and https://en.wikipedia.org/wiki/Table_of_spherical_harmonics#Real_spherical_harmonics. The cartesian coordinates xr, yr and zr are supposed to be normalized between -1 and 1, that is, xr=x/r, yr=y/r, and zr=z/r. r is supposed to be between 0 and 1.
1709 case 0:
return ZernikeSphericalHarmonics<0, 0>(
n,
m, xr, yr, zr, r);
1710 case 1:
return ZernikeSphericalHarmonics<0, 1>(
n,
m, xr, yr, zr, r);
1711 case 2:
return ZernikeSphericalHarmonics<0, 2>(
n,
m, xr, yr, zr, r);
1712 case 3:
return ZernikeSphericalHarmonics<0, 3>(
n,
m, xr, yr, zr, r);
1713 case 4:
return ZernikeSphericalHarmonics<0, 4>(
n,
m, xr, yr, zr, r);
1714 case 5:
return ZernikeSphericalHarmonics<0, 5>(
n,
m, xr, yr, zr, r);
1715 case 6:
return ZernikeSphericalHarmonics<0, 6>(
n,
m, xr, yr, zr, r);
1716 case 7:
return ZernikeSphericalHarmonics<0, 7>(
n,
m, xr, yr, zr, r);
1717 case 8:
return ZernikeSphericalHarmonics<0, 8>(
n,
m, xr, yr, zr, r);
1718 case 9:
return ZernikeSphericalHarmonics<0, 9>(
n,
m, xr, yr, zr, r);
1724 case 0:
return ZernikeSphericalHarmonics<1, 0>(
n,
m, xr, yr, zr, r);
1725 case 1:
return ZernikeSphericalHarmonics<1, 1>(
n,
m, xr, yr, zr, r);
1726 case 2:
return ZernikeSphericalHarmonics<1, 2>(
n,
m, xr, yr, zr, r);
1727 case 3:
return ZernikeSphericalHarmonics<1, 3>(
n,
m, xr, yr, zr, r);
1728 case 4:
return ZernikeSphericalHarmonics<1, 4>(
n,
m, xr, yr, zr, r);
1729 case 5:
return ZernikeSphericalHarmonics<1, 5>(
n,
m, xr, yr, zr, r);
1730 case 6:
return ZernikeSphericalHarmonics<1, 6>(
n,
m, xr, yr, zr, r);
1731 case 7:
return ZernikeSphericalHarmonics<1, 7>(
n,
m, xr, yr, zr, r);
1732 case 8:
return ZernikeSphericalHarmonics<1, 8>(
n,
m, xr, yr, zr, r);
1733 case 9:
return ZernikeSphericalHarmonics<1, 9>(
n,
m, xr, yr, zr, r);
1739 case 0:
return ZernikeSphericalHarmonics<2, 0>(
n,
m, xr, yr, zr, r);
1740 case 1:
return ZernikeSphericalHarmonics<2, 1>(
n,
m, xr, yr, zr, r);
1741 case 2:
return ZernikeSphericalHarmonics<2, 2>(
n,
m, xr, yr, zr, r);
1742 case 3:
return ZernikeSphericalHarmonics<2, 3>(
n,
m, xr, yr, zr, r);
1743 case 4:
return ZernikeSphericalHarmonics<2, 4>(
n,
m, xr, yr, zr, r);
1744 case 5:
return ZernikeSphericalHarmonics<2, 5>(
n,
m, xr, yr, zr, r);
1745 case 6:
return ZernikeSphericalHarmonics<2, 6>(
n,
m, xr, yr, zr, r);
1746 case 7:
return ZernikeSphericalHarmonics<2, 7>(
n,
m, xr, yr, zr, r);
1747 case 8:
return ZernikeSphericalHarmonics<2, 8>(
n,
m, xr, yr, zr, r);
1748 case 9:
return ZernikeSphericalHarmonics<2, 9>(
n,
m, xr, yr, zr, r);
1754 case 0:
return ZernikeSphericalHarmonics<3, 0>(
n,
m, xr, yr, zr, r);
1755 case 1:
return ZernikeSphericalHarmonics<3, 1>(
n,
m, xr, yr, zr, r);
1756 case 2:
return ZernikeSphericalHarmonics<3, 2>(
n,
m, xr, yr, zr, r);
1757 case 3:
return ZernikeSphericalHarmonics<3, 3>(
n,
m, xr, yr, zr, r);
1758 case 4:
return ZernikeSphericalHarmonics<3, 4>(
n,
m, xr, yr, zr, r);
1759 case 5:
return ZernikeSphericalHarmonics<3, 5>(
n,
m, xr, yr, zr, r);
1760 case 6:
return ZernikeSphericalHarmonics<3, 6>(
n,
m, xr, yr, zr, r);
1761 case 7:
return ZernikeSphericalHarmonics<3, 7>(
n,
m, xr, yr, zr, r);
1762 case 8:
return ZernikeSphericalHarmonics<3, 8>(
n,
m, xr, yr, zr, r);
1763 case 9:
return ZernikeSphericalHarmonics<3, 9>(
n,
m, xr, yr, zr, r);
1769 case 0:
return ZernikeSphericalHarmonics<4, 0>(
n,
m, xr, yr, zr, r);
1770 case 1:
return ZernikeSphericalHarmonics<4, 1>(
n,
m, xr, yr, zr, r);
1771 case 2:
return ZernikeSphericalHarmonics<4, 2>(
n,
m, xr, yr, zr, r);
1772 case 3:
return ZernikeSphericalHarmonics<4, 3>(
n,
m, xr, yr, zr, r);
1773 case 4:
return ZernikeSphericalHarmonics<4, 4>(
n,
m, xr, yr, zr, r);
1774 case 5:
return ZernikeSphericalHarmonics<4, 5>(
n,
m, xr, yr, zr, r);
1775 case 6:
return ZernikeSphericalHarmonics<4, 6>(
n,
m, xr, yr, zr, r);
1776 case 7:
return ZernikeSphericalHarmonics<4, 7>(
n,
m, xr, yr, zr, r);
1777 case 8:
return ZernikeSphericalHarmonics<4, 8>(
n,
m, xr, yr, zr, r);
1778 case 9:
return ZernikeSphericalHarmonics<4, 9>(
n,
m, xr, yr, zr, r);
1784 case 0:
return ZernikeSphericalHarmonics<5, 0>(
n,
m, xr, yr, zr, r);
1785 case 1:
return ZernikeSphericalHarmonics<5, 1>(
n,
m, xr, yr, zr, r);
1786 case 2:
return ZernikeSphericalHarmonics<5, 2>(
n,
m, xr, yr, zr, r);
1787 case 3:
return ZernikeSphericalHarmonics<5, 3>(
n,
m, xr, yr, zr, r);
1788 case 4:
return ZernikeSphericalHarmonics<5, 4>(
n,
m, xr, yr, zr, r);
1789 case 5:
return ZernikeSphericalHarmonics<5, 5>(
n,
m, xr, yr, zr, r);
1790 case 6:
return ZernikeSphericalHarmonics<5, 6>(
n,
m, xr, yr, zr, r);
1791 case 7:
return ZernikeSphericalHarmonics<5, 7>(
n,
m, xr, yr, zr, r);
1792 case 8:
return ZernikeSphericalHarmonics<5, 8>(
n,
m, xr, yr, zr, r);
1793 case 9:
return ZernikeSphericalHarmonics<5, 9>(
n,
m, xr, yr, zr, r);
1799 case 0:
return ZernikeSphericalHarmonics<6, 0>(
n,
m, xr, yr, zr, r);
1800 case 1:
return ZernikeSphericalHarmonics<6, 1>(
n,
m, xr, yr, zr, r);
1801 case 2:
return ZernikeSphericalHarmonics<6, 2>(
n,
m, xr, yr, zr, r);
1802 case 3:
return ZernikeSphericalHarmonics<6, 3>(
n,
m, xr, yr, zr, r);
1803 case 4:
return ZernikeSphericalHarmonics<6, 4>(
n,
m, xr, yr, zr, r);
1804 case 5:
return ZernikeSphericalHarmonics<6, 5>(
n,
m, xr, yr, zr, r);
1805 case 6:
return ZernikeSphericalHarmonics<6, 6>(
n,
m, xr, yr, zr, r);
1806 case 7:
return ZernikeSphericalHarmonics<6, 7>(
n,
m, xr, yr, zr, r);
1807 case 8:
return ZernikeSphericalHarmonics<6, 8>(
n,
m, xr, yr, zr, r);
1808 case 9:
return ZernikeSphericalHarmonics<6, 9>(
n,
m, xr, yr, zr, r);
1814 case 0:
return ZernikeSphericalHarmonics<7, 0>(
n,
m, xr, yr, zr, r);
1815 case 1:
return ZernikeSphericalHarmonics<7, 1>(
n,
m, xr, yr, zr, r);
1816 case 2:
return ZernikeSphericalHarmonics<7, 2>(
n,
m, xr, yr, zr, r);
1817 case 3:
return ZernikeSphericalHarmonics<7, 3>(
n,
m, xr, yr, zr, r);
1818 case 4:
return ZernikeSphericalHarmonics<7, 4>(
n,
m, xr, yr, zr, r);
1819 case 5:
return ZernikeSphericalHarmonics<7, 5>(
n,
m, xr, yr, zr, r);
1820 case 6:
return ZernikeSphericalHarmonics<7, 6>(
n,
m, xr, yr, zr, r);
1821 case 7:
return ZernikeSphericalHarmonics<7, 7>(
n,
m, xr, yr, zr, r);
1822 case 8:
return ZernikeSphericalHarmonics<7, 8>(
n,
m, xr, yr, zr, r);
1823 case 9:
return ZernikeSphericalHarmonics<7, 9>(
n,
m, xr, yr, zr, r);
1829 case 0:
return ZernikeSphericalHarmonics<8, 0>(
n,
m, xr, yr, zr, r);
1830 case 1:
return ZernikeSphericalHarmonics<8, 1>(
n,
m, xr, yr, zr, r);
1831 case 2:
return ZernikeSphericalHarmonics<8, 2>(
n,
m, xr, yr, zr, r);
1832 case 3:
return ZernikeSphericalHarmonics<8, 3>(
n,
m, xr, yr, zr, r);
1833 case 4:
return ZernikeSphericalHarmonics<8, 4>(
n,
m, xr, yr, zr, r);
1834 case 5:
return ZernikeSphericalHarmonics<8, 5>(
n,
m, xr, yr, zr, r);
1835 case 6:
return ZernikeSphericalHarmonics<8, 6>(
n,
m, xr, yr, zr, r);
1836 case 7:
return ZernikeSphericalHarmonics<8, 7>(
n,
m, xr, yr, zr, r);
1837 case 8:
return ZernikeSphericalHarmonics<8, 8>(
n,
m, xr, yr, zr, r);
1838 case 9:
return ZernikeSphericalHarmonics<8, 9>(
n,
m, xr, yr, zr, r);
1844 case 0:
return ZernikeSphericalHarmonics<9, 0>(
n,
m, xr, yr, zr, r);
1845 case 1:
return ZernikeSphericalHarmonics<9, 1>(
n,
m, xr, yr, zr, r);
1846 case 2:
return ZernikeSphericalHarmonics<9, 2>(
n,
m, xr, yr, zr, r);
1847 case 3:
return ZernikeSphericalHarmonics<9, 3>(
n,
m, xr, yr, zr, r);
1848 case 4:
return ZernikeSphericalHarmonics<9, 4>(
n,
m, xr, yr, zr, r);
1849 case 5:
return ZernikeSphericalHarmonics<9, 5>(
n,
m, xr, yr, zr, r);
1850 case 6:
return ZernikeSphericalHarmonics<9, 6>(
n,
m, xr, yr, zr, r);
1851 case 7:
return ZernikeSphericalHarmonics<9, 7>(
n,
m, xr, yr, zr, r);
1852 case 8:
return ZernikeSphericalHarmonics<9, 8>(
n,
m, xr, yr, zr, r);
1853 case 9:
return ZernikeSphericalHarmonics<9, 9>(
n,
m, xr, yr, zr, r);
1859 case 0:
return ZernikeSphericalHarmonics<10, 0>(
n,
m, xr, yr, zr, r);
1860 case 1:
return ZernikeSphericalHarmonics<10, 1>(
n,
m, xr, yr, zr, r);
1861 case 2:
return ZernikeSphericalHarmonics<10, 2>(
n,
m, xr, yr, zr, r);
1862 case 3:
return ZernikeSphericalHarmonics<10, 3>(
n,
m, xr, yr, zr, r);
1863 case 4:
return ZernikeSphericalHarmonics<10, 4>(
n,
m, xr, yr, zr, r);
1864 case 5:
return ZernikeSphericalHarmonics<10, 5>(
n,
m, xr, yr, zr, r);
1865 case 6:
return ZernikeSphericalHarmonics<10, 6>(
n,
m, xr, yr, zr, r);
1866 case 7:
return ZernikeSphericalHarmonics<10, 7>(
n,
m, xr, yr, zr, r);
1867 case 8:
return ZernikeSphericalHarmonics<10, 8>(
n,
m, xr, yr, zr, r);
1868 case 9:
return ZernikeSphericalHarmonics<10, 9>(
n,
m, xr, yr, zr, r);
1874 case 0:
return ZernikeSphericalHarmonics<11, 0>(
n,
m, xr, yr, zr, r);
1875 case 1:
return ZernikeSphericalHarmonics<11, 1>(
n,
m, xr, yr, zr, r);
1876 case 2:
return ZernikeSphericalHarmonics<11, 2>(
n,
m, xr, yr, zr, r);
1877 case 3:
return ZernikeSphericalHarmonics<11, 3>(
n,
m, xr, yr, zr, r);
1878 case 4:
return ZernikeSphericalHarmonics<11, 4>(
n,
m, xr, yr, zr, r);
1879 case 5:
return ZernikeSphericalHarmonics<11, 5>(
n,
m, xr, yr, zr, r);
1880 case 6:
return ZernikeSphericalHarmonics<11, 6>(
n,
m, xr, yr, zr, r);
1881 case 7:
return ZernikeSphericalHarmonics<11, 7>(
n,
m, xr, yr, zr, r);
1882 case 8:
return ZernikeSphericalHarmonics<11, 8>(
n,
m, xr, yr, zr, r);
1883 case 9:
return ZernikeSphericalHarmonics<11, 9>(
n,
m, xr, yr, zr, r);
1889 case 0:
return ZernikeSphericalHarmonics<12, 0>(
n,
m, xr, yr, zr, r);
1890 case 1:
return ZernikeSphericalHarmonics<12, 1>(
n,
m, xr, yr, zr, r);
1891 case 2:
return ZernikeSphericalHarmonics<12, 2>(
n,
m, xr, yr, zr, r);
1892 case 3:
return ZernikeSphericalHarmonics<12, 3>(
n,
m, xr, yr, zr, r);
1893 case 4:
return ZernikeSphericalHarmonics<12, 4>(
n,
m, xr, yr, zr, r);
1894 case 5:
return ZernikeSphericalHarmonics<12, 5>(
n,
m, xr, yr, zr, r);
1895 case 6:
return ZernikeSphericalHarmonics<12, 6>(
n,
m, xr, yr, zr, r);
1896 case 7:
return ZernikeSphericalHarmonics<12, 7>(
n,
m, xr, yr, zr, r);
1897 case 8:
return ZernikeSphericalHarmonics<12, 8>(
n,
m, xr, yr, zr, r);
1898 case 9:
return ZernikeSphericalHarmonics<12, 9>(
n,
m, xr, yr, zr, r);
1904 case 0:
return ZernikeSphericalHarmonics<13, 0>(
n,
m, xr, yr, zr, r);
1905 case 1:
return ZernikeSphericalHarmonics<13, 1>(
n,
m, xr, yr, zr, r);
1906 case 2:
return ZernikeSphericalHarmonics<13, 2>(
n,
m, xr, yr, zr, r);
1907 case 3:
return ZernikeSphericalHarmonics<13, 3>(
n,
m, xr, yr, zr, r);
1908 case 4:
return ZernikeSphericalHarmonics<13, 4>(
n,
m, xr, yr, zr, r);
1909 case 5:
return ZernikeSphericalHarmonics<13, 5>(
n,
m, xr, yr, zr, r);
1910 case 6:
return ZernikeSphericalHarmonics<13, 6>(
n,
m, xr, yr, zr, r);
1911 case 7:
return ZernikeSphericalHarmonics<13, 7>(
n,
m, xr, yr, zr, r);
1912 case 8:
return ZernikeSphericalHarmonics<13, 8>(
n,
m, xr, yr, zr, r);
1913 case 9:
return ZernikeSphericalHarmonics<13, 9>(
n,
m, xr, yr, zr, r);
1919 case 0:
return ZernikeSphericalHarmonics<14, 0>(
n,
m, xr, yr, zr, r);
1920 case 1:
return ZernikeSphericalHarmonics<14, 1>(
n,
m, xr, yr, zr, r);
1921 case 2:
return ZernikeSphericalHarmonics<14, 2>(
n,
m, xr, yr, zr, r);
1922 case 3:
return ZernikeSphericalHarmonics<14, 3>(
n,
m, xr, yr, zr, r);
1923 case 4:
return ZernikeSphericalHarmonics<14, 4>(
n,
m, xr, yr, zr, r);
1924 case 5:
return ZernikeSphericalHarmonics<14, 5>(
n,
m, xr, yr, zr, r);
1925 case 6:
return ZernikeSphericalHarmonics<14, 6>(
n,
m, xr, yr, zr, r);
1926 case 7:
return ZernikeSphericalHarmonics<14, 7>(
n,
m, xr, yr, zr, r);
1927 case 8:
return ZernikeSphericalHarmonics<14, 8>(
n,
m, xr, yr, zr, r);
1928 case 9:
return ZernikeSphericalHarmonics<14, 9>(
n,
m, xr, yr, zr, r);
1934 case 0:
return ZernikeSphericalHarmonics<15, 0>(
n,
m, xr, yr, zr, r);
1935 case 1:
return ZernikeSphericalHarmonics<15, 1>(
n,
m, xr, yr, zr, r);
1936 case 2:
return ZernikeSphericalHarmonics<15, 2>(
n,
m, xr, yr, zr, r);
1937 case 3:
return ZernikeSphericalHarmonics<15, 3>(
n,
m, xr, yr, zr, r);
1938 case 4:
return ZernikeSphericalHarmonics<15, 4>(
n,
m, xr, yr, zr, r);
1939 case 5:
return ZernikeSphericalHarmonics<15, 5>(
n,
m, xr, yr, zr, r);
1940 case 6:
return ZernikeSphericalHarmonics<15, 6>(
n,
m, xr, yr, zr, r);
1941 case 7:
return ZernikeSphericalHarmonics<15, 7>(
n,
m, xr, yr, zr, r);
1942 case 8:
return ZernikeSphericalHarmonics<15, 8>(
n,
m, xr, yr, zr, r);
1943 case 9:
return ZernikeSphericalHarmonics<15, 9>(
n,
m, xr, yr, zr, r);
#define REPORT_ERROR(nerr, ErrormMsg)
Incorrect argument received.
std::string to_string(bond_type bondType)