파장을 설정할때, frequency point를 높게하여 전달 특성을 분석할 때 좁은 파장 간격을 얻고 싶습니다

frequency-points
wavelength-spacing

#1

파장 frofile을 설정할때 frequency point를 높게 설정하여 pm 단위의 파장을 분석하고 싶습니다. 하지만 아무리 frequency point를 높게 하더라도 0.01 nm 사이의 값은 나오지가 않습니다. 그리고 정해진 frequenc를 통해 균일한 파장 간격을 얻고 싶습니다. 어떻게 해야 되는지 여쭤보고 싶습니다.


#2

안녕하세요 @yoosing87,

좋은 질문을 해 주셔서 감사합니다. FDTD Solutions에서는 유효숫자를 소수점 아래 3자리까지만 표시해 주기 때문에 이런 문제점이 발생된 것 같습니다. 동일한 파장 간격 옵션을 이용하고 원하는 파장 개수와 범위를 선택하시면 정확하게 원하시는 파장 간격을 얻으실 수 있습니다. 자세한 방법은 아래 설명된 내용을 읽어보시면 됩니다.

우선 plane-wave source 등의 입사광원을 선택하고 마우스 우클릭후 Edit object를 선택합니다. 예를 들어, 시작 파장은 300 nm, 마지막 파장은 300.01 nm로 아래 그림 처럼 설정합니다.

그 다음 상단 메뉴바의 Monitors - Global properties를 선택하시면, Edit global monitor options 윈도우가 나타납니다.

동일한 파장 간격을 얻기 위해서, Frequency Power/Profile 탭에서 “use linear wavelength spacing” 옵션을 선택하고, 파장의 갯수는 101개를 선택합니다. 이렇게 되면, 파장간 간격이 0.01 nm / (101-1) = 0.0001 nm = 10e-4 nm 이 됩니다.

시뮬레이션을 수행한 후, 아래 스크립트 명령어를 이용하여 산출된 파장을 확인해 보면, FDTD에서 표현할 수 있는 유효숫자의 개수의 한계가 소숫점 3자리까지 임을 유추해 볼 수 있습니다.

f = getdata('monitor','f'); lambda = 1e9*c/f; ?lambda

표현되는 값이 아닌 실제 파장 간의 간격도 동일하게 소숫점 3자리 까지만 표시되는 확인해 보기 위해서 아래 명령어를 이용하면, 인접한 파장 간의 간격이 정확히 0.0001 nm 임을 확인할 수 있습니다.

?lambda(101)-lambda(100);
result:
0.0001

매틀랩에서 이 값들이 어떻게 표시 되는지 matlabput이라는 명령어를 이용해서 확인해 보겠습니다.

matlabput(lambda);

아래와 같은 MATLAB Command Window 팝업 창이 나오며, 여기서 lambda를 입력하면 아래와 같이 파장의 정보가 표시됩니다. 예측한 것 처럼 실제 파장 간격은 정확히 0.0001 nm 임을 재확인 할 수 있습니다.

감사합니다.