홈 예제 스크린샷 사용자 매뉴얼 Bluesky 로고 YouTube ☰
OghmaNano 유기/페로브스카이트 태양전지, OFET 및 OLED 시뮬레이션 다운로드 Quick Start guide

무반사 코팅 시뮬레이션(FDTD): 1차원 박막 튜토리얼

1. 서론

Conceptual diagram showing how an anti-reflective coating suppresses reflection using destructive interference
단층 반사 방지 코팅은 두 개의 반사파가 서로 상쇄되도록 함으로써 반사를 줄여준다.
Photographic comparison showing untreated glass and glass with an anti-reflective coating
실제로 반사 방지 코팅은 표면의 눈부심을 줄임으로써 유리를 보다 투명하게 보이게 합니다.

빛이 굴절률이 서로 다른 두 물질의 경계면에 도달할 때 일부는 투과되고 일부는 반사된다. 이러한 이유로 유리 자체가 투명함에도 불구하고 그 표면은 종종 반짝여 보인다. 반사 방지(AR) 코팅은 이러한 원치 않는 반사를 최소화하여 투과광의 양을 증가시키도록 설계된 얇은 광학 박막이다.

기본 원리는 ??에 설명되어 있습니다. 단일 계면에서의 반사를 완전히 제거하려는 대신 공기와 기판 사이에 얇은 중간층을 추가합니다. 이제 빛은 공기-박막 계면과 박막-기판 계면 두 곳에서 반사됩니다. 박막의 두께와 굴절률을 적절히 선택하면 이 두 반사파는 진폭은 비슷하지만 위상이 서로 반대가 되어 상쇄 간섭을 일으킵니다. 그 결과 순수 반사장의 세기는 현저히 감소하게 됩니다.

위상 정합: 반사를 억제하려면 두 반사파가 파장의 절반만큼 위상 차이를 갖도록 조정해야 합니다(\(\pi\)). 일반적으로 표면에 수직으로 입사하는 광선을 기준으로 설계하지만, ??에서는 설명의 명확성을 위해 경사각 입사 상황을 나타내고 있습니다.

첫 번째 반사는 공기와 박막 사이의 경계면에서 발생합니다. 두 번째 반사는 박막과 기판 사이의 경계면에서 일어나는데, 이 파동은 박막을 관통하여 다시 돌아온 것입니다. 박막의 두께가 \(d\)일 경우, 이 추가된 광학 경로 길이는 \(2d\)가 됩니다.

박막 내부에서는 빛의 속도가 느려지므로 파장은 굴절률에 의해 감소하게 된다 \(n_f\). 이로 인해 추가되는 광학 경로 길이는 \(2n_f d\)가 된다. 소멸 간섭이 발생하려면 이 값이 반드시 파장의 절반과 같아야 한다.

\(2n_f d = \dfrac{\lambda_0}{2}\)

이는 다음과 같은 결과를 낳는다

\(d = \dfrac{\lambda_0}{4n_f}\)

따라서 코팅층의 두께 \(d\)는 파장의 4분의 1(박막 내부 기준)으로 설정되며, 이를 통해 하단에서 반사된 파동이 상단에서 반사된 파동과 위상차가 파장의 절반만큼 발생하여 서로 상쇄되게 된다.

진폭 정합: 위상 상쇄만으로는 충분하지 않으며, 두 반사파는 서로 유사한 진폭을 가져야 합니다. 입사각이 수직일 때 흡수가 없는 단일층 코팅의 경우, 코팅층의 굴절률이 대략 다음과 같은 값일 때 이 조건이 만족됩니다

\(n_f \approx \sqrt{n_0 n_s}\)

여기서 \(n_0\)은 입사 매질의 굴절률이며 \(n_s\)는 기판의 굴절률입니다. 공기와 유리의 경우 이상적인 굴절률은 약 1.2~1.3 수준이 되는데, 이 값은 대부분의 실제 재료의 굴절률보다 낮습니다. 따라서 실제 반사 방지 코팅층은 대개 근사적인 형태이거나 성능 향상을 위해 다층 구조를 채택하게 됩니다.

실제 효과는 ??에서 확인할 수 있습니다. 반사되는 눈부심이 줄어들고 기판이 보다 투명하게 보입니다. 이 원리는 태양전지, 렌즈 및 광학 코팅 분야에서 널리 활용되고 있습니다.

이 튜토리얼에서는 유한차분 시간영역법(FDTD)을 활용하여 간단한 1차원 반사 방지 코팅층의 거동을 시뮬레이션합니다. 해당 모델을 실행하면 코팅층이 반사 및 투과 현상에 어떤 영향을 미치는지, 그리고 박막의 두께가 반사가 최소화되는 파장을 어떻게 결정하는지 확인할 수 있습니다.

2. 새로운 시뮬레이션 생성하기

‘새 시뮬레이션’ 창을 열고 FDTD 예제 카테고리(??)를 선택합니다. 그 다음 ‘반사 방지 코팅(박막 간섭 현상)’ 예제(??)를 고르면 ??에 나타난 메인 인터페이스가 로드됩니다.

OghmaNano New simulation window showing categories including an FDTD examples option.
새 시뮬레이션 창입니다. 유한차분 시간영역법(FDTD) 예제들을 열어주세요.
FDTD example list including the anti-reflective coating example.
FDTD 예제 목록입니다. ‘반사 방지 코팅’을 선택하십시오.
Main OghmaNano window showing a one-dimensional anti-reflective coating geometry with source, thin film, substrate, detectors, and absorbing boundaries.
반사 방지 코팅 예제를 불러온 후 나타나는 OghmaNano의 메인 인터페이스입니다.

해당 구조는 Device structure 탭 내의 3D 뷰에 표시됩니다. 이 뷰에서는 반사 방지 코팅 시뮬레이션에 사용되는 모든 주요 구성 요소들을 확인할 수 있습니다. 왼쪽에 위치한 녹색 화살표들은 광펄스가 주입되는 FDTD 광원을 나타냅니다. 구조물을 관통하는 얇은 보라색 선은 FDTD 격자입니다. 본 예시에서는 시뮬레이션이 사실상 1차원적이므로 격자는 코팅층과 기판을 통과하는 단일 선 형태로 나타납니다.

광원 바로 오른쪽에 위치한 보라색 평면은 검출기를 나타내며, 이 검출기는 입사 및 반사된 전자기장을 기록합니다. 이 검출기는 시뮬레이션에 영향을 주지 않고 단지 그리드 상의 전자기장을 샘플링할 뿐입니다. 그보다 더 오른쪽에는 기판 위에 증착된 얇은 반사 방지 코팅층이 존재합니다. 하늘색 영역이 바로 이 코팅층에 해당하며, 훨씬 두꺼운 영역은 갈륨비소(GaAs) 기판을 나타냅니다. 본 예제에서는 이러한 코팅층이 광검출기와 같은 소자들의 광결합 효율을 향상시키기 위해 흔히 사용되므로 유리 대신 GaAs 기판을 활용하였습니다.

Terminal tab showing the anti-reflective coating FDTD simulation starting, including timestep, wavelength information, and backend selection.
FDTD 시뮬레이션 실행 중인 터미널 탭입니다.
Output tab listing files produced by the anti-reflective coating simulation including detector outputs and snapshots directory.
시뮬레이션 실행 후 출력 탭.

3. 시뮬레이션 실행하기

시뮬레이션을 저장하고 구조물을 살펴본 뒤, 계산을 시작하려면 실행(▶) 버튼을 클릭하십시오. 시뮬레이션이 진행되는 동안 ??에 표시된 터미널 탭에서 진행 상황을 모니터링할 수 있습니다. 여기에는 시간 단계, 파장 범위 및 사용 중인 백엔드에 관한 정보가 나타납니다. 시뮬레이션 초기 단계에서는 Searching for OpenCL devices이라는 문구가 표시됩니다. 이는 시뮬레이션 속도 향상을 위해 활용 가능한 하드웨어 가속 장치들을 의미합니다. 예시 그림에서처럼 적합한 OpenCL 장치가 발견될 경우 OghmaNano는 이를 자동으로 인식하여 CPU 대신 GPU에서 시뮬레이션을 수행합니다.

시뮬레이션이 완료되면 ??에 표시된 출력 탭으로 전환하십시오. 이곳에서 시뮬레이션 실행 중 생성된 데이터를 확인할 수 있습니다. 본 튜토리얼에서 주요 출력 결과물은 두 검출기에 의해 기록된 신호를 담고 있는 detector_0 및 detector_1입니다. 또한 device을 열어 3차원 기하학적 구조를 살펴보거나 snapshots/ 디렉터리에서 전자기장이 시간에 따라 어떻게 변화하는지 확인할 수도 있습니다. 이 시뮬레이션은 매우 빠르게 실행되는 점에 주목하시기 바랍니다. 1차원 문제이므로 일반적으로 실행 시간은 단 몇 초에 불과합니다. 만약 예상보다 훨씬 오랜 시간이 소요된다면 앞서 언급된 내용, 즉 시뮬레이션 데이터를 빠른 속도의 로컬 드라이브에 저장해야 한다는 점을 참고하시기 바랍니다.

5. 전기장 스냅샷 확인하기

[출력] 탭에서 snapshots/ 출력 디렉터리를 열고 더블클릭하여 스냅샷 뷰어를 실행하십시오. 이를 통해 시간에 따른 시뮬레이션 결과를 확인할 수 있습니다. ‘+’ 버튼을 한 번 클릭하여 데이터 세트를 추가한 뒤 Ey를 선택하십시오. 본 시뮬레이션에서는 전기장이 y 방향으로 발생하므로 이 성분을 통해 파동 전파 현상을 가장 직관적으로 관찰할 수 있습니다. 이후 슬라이더 바를 이용해 시간을 조절함으로써 전기장의 변화 양상을 살펴볼 수 있습니다. 대표적인 스냅샷 세 개가 ??부터 ??까지에 제시되어 있습니다.

초기 시점에서는 (왼쪽 패널, ??) 초기 광대역 펄스가 코팅된 표면 방향으로 전파되는 모습을 확인할 수 있습니다. 전기장은 여전히 공간적으로 국소화된 상태이며, 주입된 여기에 대응하여 선명한 전면부가 형성되어 있습니다.

시간이 경과함에 따라 (중간 패널, ??) 광펄스가 박막 및 기판에 도달합니다. 파동의 일부는 반사되고 일부는 투과됩니다. 경계면 근처의 전자기장은 단일 주파수 간섭 패턴이 아닌, 부분적 반사 현상과 광펄스의 광대역 특성으로 인해 미세한 진동을 나타냅니다.

시간이 경과한 후(오른쪽 패널, ??)에는 기판 내부에서는 전방으로 전파되는 투과파가 지배적이 되며, 상대적으로 약한 반사파는 광원 방향으로 되돌아갑니다. 설계가 적절히 이루어진 무반사 구조에서는 이러한 반사파의 세기가 코팅층이 없는 인터페이스에서의 반사량보다 작게 나타납니다. 이러한 감소 현상은 각 인터페이스에서 반사가 완전히 사라지기 때문이 아니라, 각 인터페이스에서 발생한 반사파들이 서로 상쇄적으로 결합하기 때문입니다.

Early-time electric field showing the injected pulse approaching the anti-reflective coating.
초기 시점에서는 주입된 광펄스가 코팅층이 형성된 표면으로 전파되고 있습니다.
Intermediate electric field showing partial reflection and transmission at the coated interface.
중간 시점: 코팅층 표면에서 부분적인 반사와 투과가 발생함.
Late-time electric field showing reduced reflection and dominant transmission into the substrate.
시간이 경과하면 반사가 감소하고 기판으로의 투과가 주된 현상으로 나타납니다.

6. 검출기 출력값 확인하기

Output 탭으로 돌아가면(?? 참조) Detector0이라는 폴더가 보일 것입니다. 본 예제에서는 구조물의 광원 측면에 입사광 및 반사광을 측정하기 위해 단 하나의 검출기만 사용되었습니다. Detector0 폴더를 열고 lam_E.csv 파일을 찾아보세요. 이 파일에는 검출기 위치에서 측정된 전기장의 주파수 영역 응답값이 기록되어 있습니다. 해당 파일을 더블클릭하면 ??에 나타난 것과 같은 스펙트럼 그래프가 생성됩니다.

400nm 부근의 주요 광원 파장에서 강한 피크가 나타나는 것을 확인할 수 있습니다. 이 피크의 크기는 비교적 작으며 \(10^{-3}\)에서 \(10^{-2}\) 수준에 불과한데, 이는 반사 방지 코팅층이 있어도 여전히 일부 광선만이 검출기 쪽으로 반사된다는 것을 의미합니다. 이 현상이 바로 반사 방지 코팅의 효과입니다. 이를 확인하려면 디바이스 구조 탭으로 돌아가 코팅층을 광학 경로에서 제거해보십시오. ??에 나와 있듯이 마우스 왼쪽 버튼으로 코팅층을 클릭한 뒤 주 광전파 방향에서 멀리 끌어내면 됩니다. 만약 객체가 다른 물체와 겹쳐져 이동이 어려워진다면 Shift 키를 누른 상태에서 화살표 키를 사용해 위치를 약간 조정하여 자유롭게 움직일 수 있도록 하십시오.

코팅층을 광학 경로에서 제거한 뒤 시뮬레이션을 다시 실행하십시오. 그 후 Detector0로 돌아가서 lam_E.csv을 다시 열면 ??에 결과가 나타납니다. 이제 광원 파장에서 훨씬 더 큰 피크가 관측될 것입니다. 이는 코팅층이 없을 경우 해당 인터페이스에서 반사되는 빛의 양이 현저히 증가했음을 의미합니다.

이 검출기는 주로 광원 방향에서 통과해오는 빛을 측정한다는 점에 유의해야 한다. 코팅층이 존재할 경우 파괴적 간섭 현상으로 인해 반사 성분이 감소하므로 검출되는 신호도 비교적 작다. 반면 코팅층을 제거하면 반사량이 증가하여 더 많은 빛이 검출기 방향으로 다시 돌아가게 되며, 그 결과 더 큰 피크가 나타나게 된다.

이 비교 결과는 반사 방지 코팅층의 기능을 명확히 보여줍니다. 즉, 설계된 파장에서 반사광을 감소시켜 입사광의 상당 부분이 기판 내부로 들어갈 수 있도록 하는 것입니다.

Detector spectrum with anti-reflective coating showing reduced reflected signal.
코팅층이 있을 경우: 검출기에서 측정되는 반사 신호가 감소함.
Device structure showing the anti-reflective coating being moved out of the optical path.
코팅층을 광학 경로에서 제외시켜야 합니다.
Detector spectrum without coating showing increased reflected signal.
코팅층이 없을 경우 반사 신호가 증가함.

7. 무반사 코팅층이 적용된 경우와 적용되지 않은 경우의 스펙트럼 비교 (선택 사항)

유한차분 시간영역법(FDTD) 시뮬레이션에서는 구조에 변경을 가한 전후의 결과를 비교하는 것이 매우 유용합니다. 본 예제에서는 반사 방지 코팅이 적용된 경우와 그렇지 않은 경우의 소자 응답을 비교합니다. 이 단계는 튜토리얼을 완료하는 데 필수적인 사항은 아니나, MATLAB 또는 Octave와 같은 도구를 활용할 수 있다면 코팅층의 성능을 훨씬 명확하게 파악할 수 있습니다.

이러한 비교를 수행하는 이유는 원본 검출기 신호가 광원의 스펙트럼 형태에 크게 영향을 받기 때문입니다. 동일한 광원을 사용한 두 시뮬레이션을 비교함으로써 이러한 영향이 상당 부분 상쇄되어 코팅 자체의 효과만을 분리해낼 수 있습니다. 먼저 이전 절에서 설명한 대로 코팅 없이 시뮬레이션을 실행합니다. 그 후 Detector0 폴더를 열어 lam_E.csv 파일을 새로운 파일로 복사하는데, 예를 들어 without.csv와 같이 명명하면 됩니다.

이제 장치 구조로 돌아가서 코팅층을 다시 광학 경로에 배치한 뒤 시뮬레이션을 재실행합니다. 실행이 완료되면 다시 한 번 lam_E.csv 파일을 복사하여 with.csv라는 이름으로 저장합니다. 이제 코팅되지 않은 구조와 코팅된 구조에 대한 두 개의 데이터 세트가 확보되었습니다. 이 두 데이터 세트는 MATLAB 또는 Octave를 이용해 다음 스크립트로 직접 비교할 수 있습니다.


with_data    = load('with.csv');
without_data = load('without.csv');

lam_m = without_data(:,1);          % wavelength in meters
lam   = lam_m * 1e9;               % convert to nanometers

ref0 = without_data(:,2);
ref1 = interp1(with_data(:,1), with_data(:,2), lam_m, 'linear');

ratio = ref1 ./ ref0;

plot(lam, ratio, 'k', 'linewidth', 2);
xlabel('Wavelength (nm)');
ylabel('Relative reflection');
title('Anti-reflective coating response');
grid on;
ylim([0 1.2]);
Relative reflection spectrum showing a dip around 400 nm due to the anti-reflective coating.
코팅층이 적용된 구조와 적용되지 않은 구조의 상대적 반사 스펙트럼을 비교한 결과이다. 400 nm 부근에서 뚜렷한 반사도 최소값이 나타나는데, 이는 반사 방지 코팅의 설계 파장에 해당한다.

??에 나타난 그래프를 보면 400 nm 부근에서 상대 반사율이 뚜렷하게 감소하는 것을 확인할 수 있습니다. 이 감소 구간은 반사 방지 코팅의 설계 파장에 해당합니다. 해당 파장에서는 두 표면에서 반사된 파동들이 서로 상쇄되어 최종적으로 반사되는 빛의 양이 줄어듭니다. 그러나 이 파장에서 벗어나면 위상 정합 조건이 만족되지 않아 반사율이 다시 점차 증가하게 됩니다. 이러한 비교 결과는 코팅층이 광학적 특성에 미치는 영향을 정량적으로 보여주며, 실제 박막 설계를 평가하는 데 가장 간편한 방법으로 활용됩니다.

8. 직접 시도해보기

Object editor showing thickness and material settings for the anti-reflective coating.
반사 방지 코팅층의 객체 편집기입니다.

코팅층의 작동 원리를 더 잘 이해하기 위해 두께를 변경해보시기 바랍니다. 코팅층을 마우스 오른쪽 버튼으로 클릭한 뒤 ‘객체 편집’을 선택하세요(?? 참조). 이후 Dz 값을 50 nm에서 60 nm 및 70 nm로 각각 변경해보세요.

변경 사항을 적용한 후에는 시뮬레이션을 다시 실행하여 검출기 출력값을 확인하십시오. 원본 데이터상에서는 그 효과가 미미하게 나타날 수 있으므로, 앞서 설명한 MATLAB/Octave 기법을 활용해 스펙트럼들을 비교해보는 것이 유용합니다.