일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Jackson Electrodynamics
- metasurface
- TDDFT
- 전자기학
- 플라즈몬
- 논문
- 과학
- 학술지
- 메타물질
- nature photonics
- 광자학
- 자연
- impact factor
- 3분논문
- 자연 나노기술
- 물리학
- 겨울떨개
- 우분투
- 자연 광자학
- 초록빛논문
- 양자 플라즈몬
- Photolithography
- octopus
- 그래프
- 나노포토닉스
- Linux
- 리눅스
- 토막잭슨
- 메타표면
- gnuplot
- Today
- Total
과꾸로
[MNPBEM] bemstateig.m 으로 얻은 eigenvalues의 차원과 단위는? 본문
0. 소개
MNPBEM은 오스트리아의 Graz 대학교에서 만든 Matlab 코드로 금속나노입자의 전자기적 특성을 시뮬레이션 하는 도구이다.
"MNPBEM is a toolbox for the simulation of metallic nanoparticles (MNP), using a boundary element method (BEM) approach developed by F. J. Garcia de Abajo and A. Howie, Phys. Rev. B 65, 115418 (2002)."
나노입자에 여기되는 Localized Surface Plasmon (LSP) Modes를 보는 데 유용하게 사용된다.
1. bemstateig.m
이전 글에서 MNPBEM을 이용해서 eigenvalues를 구하는 걸 했었다.
그때 구한 eigenvalues의 차원과 단위에 대해 나름 설명을 했었는데, 확실하지 않은 부분이 있어서 좀 더 알아보았다.
확인을 위해서 코드 제작자에게 직접 이메일로 물어보았다.
Dear Professor Ulrich Hohenester,
When I run a demo file (Demo/dipole/stat/demodipstat1.m) to create a nanoparticle and I additionally run the following lines, I get a list of negative values.
>> bem=bemstateig(p,'nev',10);
>> diag(bem.ene)
ans =
-6.2832
-2.0948
-2.0946
-2.0943
-1.2582
-1.2580
-1.2579
-1.2576
-1.2574
-0.9024
Would you let me know what are the dimension and the unit of these values? Thank you.
이렇게 물어봤다.
그랬더니 한 시간쯤 지나서 답이 왔다.
Dear Yongsop,
these are the eigenvalues of the surface derivative of the Green function which are dimensionless. For a detailed discussion see e.g. Phys. Rev. B, 2012, 85, 245447, ENE corresponds to lambdak there.
Best regards
Ulrich
역시 모를 때는 직접 물어보는 게 최고다.
2. 논문을 찾아보자
호헤네스터 교수가 보낸 답메일에 2012년 PRB 논문을 찾아보라고 일러주었다. 찾아보자.
2012년에 프랑스에서 발표한 논문이다.
이 논문의 lambda가 eigenvalues라고 하니까 일단 식 (6)의 lambda를 말하는 것이라고 보면 된다.
이메일에서 lambdak라고 했는데, lambda_k는 논문 어디에도 없으니 lambda_i를 말하는 것 같다. 식 (8)에 보면 lambda_i가 나온다.
3. 음수?
근데 여전히 음수가 나올 이유는 없어보인다.
Demo/dipole/stat/demodipstat1.m
>> bem=bemstateig(p,'nev',10);
>> diag(bem.ene)
ans =
-6.2832
-2.0948
-2.0946
-2.0943
-1.2582
-1.2580
-1.2579
-1.2576
-1.2574
-0.9024
매트랩에서 demo 파일을 열고 bemstateig를 해 보면 위 표처럼 음수로 된 값이 잔뜩 나온다. eigenvalues인 lambda가 음수가 나올 이유는 없어보인다.
아무래도 구한 값을 -2pi에서 나눠야 하는 게 아닌가 싶다. 아래 논문 참고.
Davis, T. J., and D. E. Gómez. "Colloquium: An algebraic model of localized surface plasmons and their interactions." Reviews of Modern Physics 89.1 (2017): 011003. [link]
매트랩에서는 다음과 같이 하면 된다.
bem=bemstateig(p,'nev',10);
lda = diag(bem.ene);
gmm = -2*pi./lda
gmm =
1.0000
2.9994
2.9997
3.0002
4.9938
4.9946
4.9951
4.9962
4.9969
6.9624
이렇게 하면 양수로 된 eigenvalues가 쭉 나온다. 이걸 앞으로 gamma라고 부르자. 2012년 PRB 논문과 2017년 Rev. Mod. Phys. 논문의 notation이 좀 다른데, 나는 2017년 논문을 따라가기로 한다. TJ Davis의 논문의 그림 2번을 보면 이렇게 구한 eigenvalues gamma에 해당하는 eigenmodes인 surface dipole distributions를 그려두었다.
Davis, T. J., and D. E. Gómez. "Colloquium: An algebraic model of localized surface plasmons and their interactions." Reviews of Modern Physics 89.1 (2017): 011003. [link]
4. 결론
오늘의 교훈은, 모르면 제작자에게 직접 물어보자. ㅎㅎㅎㅎㅎ
2018년 4월 16일
과꾸로
'연구자료' 카테고리의 다른 글
[gnuplot] 변수가 3개 이상인 함수에 data fitting하기. set dummy (0) | 2018.04.30 |
---|---|
[Matlab] spline: 매트랩으로 데이터 interpolation 하기. ppval (0) | 2018.04.27 |
[MNPBEM] Eigenvalues 구하기. Boundary-Element Method. Matlab code. (2) | 2018.04.12 |
[Octopus] Tutorial 따라하기. Time-dependent run. TDDFT (0) | 2018.04.06 |
[latexdiff] LaTeX 문서 수정내용 비교해서 보여주는 도구 (0) | 2018.01.09 |