@@ -13,42 +13,40 @@ def test_calc_salcs_projection():
1313 # ammonia hydrogens
1414 a , b , c = sympy .symbols ('a b c' )
1515 assert (calc_salcs_projection ([a , b , c , a , b , c ], 'c3v' ) ==
16- [2 * a + 2 * b + 2 * c , 0 , 2 * a - b - c ])
16+ [a + b + c , 0 , a - b / 2 - c / 2 ])
1717
1818 # trigonal bipyramidal
1919 a1 , a2 , e1 , e2 , e3 = sympy .symbols ('a1, a2, e1, e2, e3' )
2020 assert (calc_salcs_projection ([e1 , e2 , e3 , - e1 , - e2 , - e3 , - e1 ,
2121 - e2 , - e3 , e1 , e2 , e3 ], 'd3h' ) ==
22- [0 , 0 , 0 , 0 , 4 * e1 + 4 * e2 + 4 * e3 , 4 * e1 - 2 * e2 - 2 * e3 ])
22+ [0 , 0 , 0 , 0 , e1 + e2 + e3 , e1 - e2 / 2 - e3 / 2 ])
2323 assert (calc_salcs_projection ([a1 , a1 , a1 , - a2 , - a2 , - a2 , - a2 ,
2424 - a2 , - a2 , a1 , a1 , a1 ], 'd3h' ) ==
25- [6 * a1 - 6 * a2 , 0 , 0 , 0 , 6 * a1 + 6 * a2 , 0 ])
25+ [a1 - a2 , 0 , 0 , 0 , a1 + a2 , 0 ])
2626
2727 # square planar s-orbitals
2828 a , b , c , d = sympy .symbols ('a b c d' )
2929 after_trans = [a , b , d , c , c , a , d , b , c , b , d , a , c , a , d , b ]
3030 assert (calc_salcs_projection (after_trans , 'd4h' ) ==
31- [4 * a + 4 * b + 4 * c + 4 * d , 0 , 4 * a - 4 * b + 4 * c - 4 * d ,
32- 0 , 0 , 0 , 0 , 0 , 0 , 4 * a - 4 * c ])
31+ [a + b + c + d , 0 , a - b + c - d , 0 , 0 , 0 , 0 , 0 , 0 , a - c ])
3332
3433 # benzene p-orbitals
3534 a , b , c , d , e , f = sympy .symbols ('a b c d e f' )
3635 after_trans = [a , b , f , c , e , d , - a , - c , - e , - b , - d , - f , - d , - c , - e , - b ,
3736 - f , - a , b , d , f , a , c , e ]
3837 assert (calc_salcs_projection (after_trans , 'd6h' ) ==
39- [0 , 0 , 0 , 4 * a - 4 * b + 4 * c - 4 * d + 4 * e - 4 * f ,
40- 4 * a + 2 * b - 2 * c - 4 * d - 2 * e + 2 * f , 0 , 0 ,
41- 4 * a + 4 * b + 4 * c + 4 * d + 4 * e + 4 * f , 0 , 0 , 0 ,
42- 4 * a - 2 * b - 2 * c + 4 * d - 2 * e - 2 * f ])
38+ [0 , 0 , 0 , a - b + c - d + e - f , a + b / 2 - c / 2 - d - e / 2 + f / 2 ,
39+ 0 , 0 , a + b + c + d + e + f , 0 , 0 , 0 ,
40+ a - b / 2 - c / 2 + d - e / 2 - f / 2 ])
4341
4442 # butadiene p-orbitals - inequivalent p-orbitals are treated separately
4543 a , b , c , d = sympy .symbols ('a b c d' )
4644 after_trans_outer = [a , - d , - a , d ]
4745 after_trans_inner = [b , - c , - b , c ]
4846 assert (calc_salcs_projection (after_trans_outer , 'c2v' ) ==
49- [0 , 2 * a - 2 * d , 0 , 2 * a + 2 * d ])
47+ [0 , a - d , 0 , a + d ])
5048 assert (calc_salcs_projection (after_trans_inner , 'c2v' ) ==
51- [0 , 2 * b - 2 * c , 0 , 2 * b + 2 * c ])
49+ [0 , b - c , 0 , b + c ])
5250
5351
5452def test_calc_salcs_func ():
0 commit comments