spr 실험을 하고 있어서 금속의 파장별 유전율을 계산하고 있는데,


어제 집에서 혼자 해보니, 솔직히 말해 어렵지는 않은데, 계산기 결과와 코드 돌려서 나온값, 손으로 풀은 값이 제각각이라 쉽사리 복소수 계산이 맞다는 걸 확신하는데 문제가 생김.


손풀이가 제일 확실하긴 한데, 너무 느리고,


코드로 풀자하니,실제 실험하면 1도 차이나도 계산에 문제가 있는건데, 그보다 더한 각도로 차이가 나니 이젠 스스로에게 계산을 정확하게 하고 있는가란 의구심까지 들음.


&&혹시 파이썬 코드 중에 계산에 특화된 라이브러리 소스나, 해당 소스로 복소수 계산에 맞게 짠 코드 쓰는 분들 있으면 조언좀.&&


본인은 다음과 같은 방식으로 손계산함(사실 이게 정석이긴 한데 일단 본인 과정에서 틀릴 수도 있으니 적어둠)


1. 드루드 모델에 기반해 계산함.


epsilon(omega) = epsilon_infinity - ((omega_p)^2/(omega(omega+ i gamma)))


epsilon_infinity : 고주파대에서의 주파수(편의상 1로 두고 계산)


omega_p = 플라즈마 진동수(벌크 플라스몬)


gamma : 감쇠상수


2. 저기에 넣고 금속의 유전율 구한 뒤


k_x = k_sp 에 근거해서 


k_x = k_0 sin(theta_spr)

k_sp = k_0 sqrt(epsilon_m epsilon_d/(epsilon_m+epsilon_d))


이걸로 theta_spr 계산들어감


계산수식은 이론적으로 문제가 없는데 단순 계산에서 문제가 나오는 중