Normalize terms in computeYmlOnGrid

This commit is contained in:
Vincent Lejeune 2014-10-21 23:32:45 +02:00
parent d9ea756b15
commit 82610cc048

View File

@ -17,16 +17,19 @@ c22 = 0.546274
def computeYmlOnGrid(Xgrid, Ygrid, Zgrid):
"compute Yml from Y00 to Y22 on Xgrid/Ygrid/Zgrid"
"Xgrid/Ygrid/Zgrid must be normalised"
norm = np.sqrt(Xgrid * Xgrid + Ygrid * Ygrid + Zgrid * Zgrid)
Xg = Xgrid / norm
Yg = Ygrid / norm
Zg = Zgrid / norm
Y00 = c00
Y1minus1 = c1minus1 * Ygrid
Y10 = c10 * Zgrid
Y11 = c11 * Xgrid
Y2minus2 = c2minus2 * Xgrid * Ygrid
Y2minus1 = c2minus1 * Ygrid * Zgrid
Y21= c21 * Xgrid * Zgrid
Y20 = c20 * (3 * Zgrid * Zgrid - 1)
Y22 = c22 * (Xgrid * Xgrid - Ygrid * Ygrid)
Y1minus1 = c1minus1 * Yg
Y10 = c10 * Zg
Y11 = c11 * Xg
Y2minus2 = c2minus2 * Xg * Yg
Y2minus1 = c2minus1 * Yg * Zg
Y21= c21 * Xg * Zg
Y20 = c20 * (3 * Zg * Zg - 1)
Y22 = c22 * (Xg * Xg - Yg * Yg)
return (Y00, Y1minus1, Y10, Y11, Y2minus2, Y2minus1, Y20, Y21, Y22)