Enums
Constants
The transofrmation matrix from Cartesian to spheric for L=2
let a1 = 0.866025403784438647; //sqrt(3)/2
let a2 = -0.866025403784438647; //-sqrt(3)/2
let rel_max = [
// 0 1 2 3 4 5
// x^2, xy, xz, y^2, yz, z^2
0.0, 1.0, 0.0, 0.0, 0.0, 0.0, //(2,-2) 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, //(2,-1) -0.5, 0.0, 0.0,-0.5, 0.0, 1.0, //(2, 0) 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, //(2, 1) a1, 0.0, 0.0, a2, 0.0, 0.0, //(2, 2) ].to_vec();
0.0, 1.0, 0.0, 0.0, 0.0, 0.0, //(2,-2) 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, //(2,-1) -0.5, 0.0, 0.0,-0.5, 0.0, 1.0, //(2, 0) 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, //(2, 1) a1, 0.0, 0.0, a2, 0.0, 0.0, //(2, 2) ].to_vec();
The transofrmation matrix from Cartesian to spheric for L=3
let b1 = 1.060660171779821287; // 3/4sqrt(2); a4
let b2 = -0.790569415042094833; // -sqrt(10)/4; -a5
let b3 = 0.790569415042094833; // sqrt(10)/4; a5
let b4 = -1.060660171779821287; // -3/4sqrt(2); -a4
let b5 = 0.866025403784438647; // sqrt(3)/2; a6
let b6 = -0.866025403784438647; // -sqrt(3)/2; -a6
let b7 = -0.273861278752583057; // -sqrt(6/5)/4; -0.25a7
let b8 = -0.612372435695794525; // -sqrt(6)/4; -0.25s6
let b9 = 1.095445115010332227; // sqrt(6/5); a7
let b10 = -0.670820393249936909; // -3/sqrt(5)/2
let rel_max = [
// 0 1 2 3 4 5 6 7 8 9
// xxx, xxy, xxz, xyy, xyz, xzz, yyy, yyz, yzz, zzz
0.0, b1, 0.0, 0.0, 0.0, 0.0, b2, 0.0, 0.0, 0.0, //(3,-3) 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, //(3,-2) 0.0, b7, 0.0, 0.0, 0.0, 0.0, b8, 0.0, b9, 0.0, //(3,-1) 0.0, 0.0, b10, 0.0, 0.0, 0.0, 0.0, b10, 0.0, 1.0, //(3, 0) b8, 0.0, 0.0, b7, 0.0, b9, 0.0, 0.0, 0.0, 0.0, //(3, 1) 0.0, 0.0, b5, 0.0, 0.0, 0.0, 0.0, b6, 0.0, 0.0, //(3, 2) b3, 0.0, 0.0, b4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //(3, 3) ].to_vec();
0.0, b1, 0.0, 0.0, 0.0, 0.0, b2, 0.0, 0.0, 0.0, //(3,-3) 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, //(3,-2) 0.0, b7, 0.0, 0.0, 0.0, 0.0, b8, 0.0, b9, 0.0, //(3,-1) 0.0, 0.0, b10, 0.0, 0.0, 0.0, 0.0, b10, 0.0, 1.0, //(3, 0) b8, 0.0, 0.0, b7, 0.0, b9, 0.0, 0.0, 0.0, 0.0, //(3, 1) 0.0, 0.0, b5, 0.0, 0.0, 0.0, 0.0, b6, 0.0, 0.0, //(3, 2) b3, 0.0, 0.0, b4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //(3, 3) ].to_vec();
The transofrmation matrix from Cartesian to spheric for L=3
let c1 = -0.878310065653679861; // 3\sqrt(3)/\sqrt(35)
let c2 = 0.219577516413419965; // -a1/4
let c3 = 1.195228609334393640; // sqrt(10/7)
let c4 = -0.896421457000795230; // -3/4sqrt(10/7)
let c5 = -0.400891862868636577; // -3/4sqrt(2/7)
let c6 = 0.981980506061965716; //3/2sqrt(3/7)
let c7 = -0.981980506061965716; //-3/2sqrt(3/7)
let c8 = -0.559016994374947424; //-sqrt(5)/4
let c9 = 0.559016994374947424; // sqrt(5)/4
let c10 = 1.133893419027681682; // 3/sqrt(7)
let c11 = -0.422577127364258289; // -sqrt(5/7)/2
let c12 = 0.790569415042094833; // sqrt(10)/4
let c13 = -1.060660171779821287; // -3sqrt(2)/4
let c14 = -0.790569415042094833; // -sqrt(10)/4
let c15 = 1.060660171779821287; // 3sqrt(2)/4
let c16 = 0.739509972887452005; // sqrt(35)/8
let c17 = -1.299038105676657970; // -3sqrt(3)/4
let c18 = 1.118033988749894848; // sqrt(5)/2
let c19 = -1.118033988749894848; // -sqrt(5)/2
let rel_max = [
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
// xxxx, xxxy, xxxz, xxyy, xxyz, xxzz, xyyy, xyyz, xyzz, xzzz yyyy yyyz yyzz yzzz zzzz
0.0, c18, 0.0, 0.0, 0.0, 0.0, c19, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //(4,-4)
0.0, 0.0, 0.0, 0.0, c15, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, c14, 0.0, 0.0, 0.0, //(4,-3)
0.0, c11, 0.0, 0.0, 0.0, 0.0, c11, 0.0, c10, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //(4,-2)
0.0, 0.0, 0.0, 0.0, c5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, c4, 0.0, c3, 0.0, //(4,-1)
0.375, 0.0, 0.0, c2, 0.0, c1, 0.0, 0.0, 0.0, 0.0,0.375, 0.0, c1, 0.0, 1.0, //(4, 0)
0.0, 0.0, c4, 0.0, 0.0, 0.0, 0.0, c5, 0.0, c3, 0.0, 0.0, 0.0, 0.0, 0.0, //(4, 1)
c8, 0.0, 0.0, 0.0, 0.0, c6, 0.0, 0.0, 0.0, 0.0, c9, 0.0, c7, 0.0, 0.0, //(4, 2)
0.0, 0.0, c12, 0.0, 0.0, 0.0, 0.0, c13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //(4, 3)
c16, 0.0, 0.0, c17, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, c16, 0.0, 0.0, 0.0, 0.0, //(4, 4)
].to_vec();