Optical 투과반사 실험에서 phase정보가 맞는지 궁금합니다

fdtd
phase
angle

#1

위에 보이는 그림과 같이 sample의 밖에서 펄스를 주고 투과율과 반사율을 계산해봤습니다.
아래 script 처럼 unwrap로 phase를 피고,
0 frequency에서 0으로 갈수있게 2pi를 추가했습니다. 이렇게 phase를 찾았는데
이것은 normalization이 안된 것같아 보이는데, normalization이 된 것인가요? 아닌것인가요?

그래서 일단 저는 normalization이 안 된 것으로 판단하여 normalization을 하기 위해
sample이 없는 vacuum 상태에서 같은 투과와 반사의 phase를 찾아서
기존의 phase에서 빼서 넣었습니다.
이렇게 하니 투과에 의한 phase는 맞는것처럼 보입니다.
반사의 phase도 비슷하게 구해봤습니다.
“pulse의 시작점부터 sample에 부딪히는 거리 + sample의 부딪힌곳부터 R monitor까지의 거리”
로 vacuum상태에서 phase를 얻었습니다.
그런데 반사의 phase는 모양은 비슷한데, level이 달라보여서
아래 그림을 참고하시면 될것 같습니다.
이 물질의 n,k특성과 두께를 같은 값으로 matlab으로 구했습니다.
이것에 어떤 문제가 있을지 궁금합니다.


#2

안녕하세요.

angle 스크립트를 이용해 얻어지는 phase 값은 해당지점에서 complex number 로 주어지는 field 의 phase(angle) 을 radian 단위로 계산한 것이며, 여기에는 어떤 normalization 등을 해주지 않은 것입니다.
이를 어떻게 normalization 을 하는가는 사용자의 필요에 따라 다르게 해줄 수 있는 것이며, 언급하신 바와 같이 vacuum 상태의 phase 와의 차이가 관심이 있다면 그 차이를 계산해주면 될 것 같습니다. 하지만, 통상적인 normalization 은 얻어진 값을 어떤 값에 대한 비율로 나타내는 것으로, 두 phase 의 차이값을 계산하는 과정을 normalization 이라고 하는 것은 혼동을 주는 표현이 아닌가 생각됩니다.

이 질문의 요지는 FDTD 시뮬레이션의 결과가 MATLAB 을 통해 구한 결과와 일치하지 않는데, 그 원인이 무엇인가 하는 것으로 파악됩니다. 이에 대한 답을 드리기 위해서는

  • FDTD 시뮬레이션의 결과는 다양한 설정값들의 영향을 받으므로, 이 설정이 어떻게 되어 있는지를 파악할 수 있어야 합니다.

  • MATLAB 에서 무엇을 가정하고 어떤 방식으로 계산을 했는지 code 를 살펴볼 수 있어야 합니다.

따라서, 위의 결과를 얻을 때 사용한 시뮬레이션 파일과 MATLAB 파일을 올려주시면 문제의 원인을 파악하는데 도움이 되리라 생각합니다.