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

대면적 페로브스카이트 모듈 튜토리얼 파트 B: 시뮬레이션 실행 및 출력 확인

대면적 모듈 시뮬레이션은 단일 장치 drift–diffusion 실행보다 더 복잡하므로, 솔버가 무엇을 하고 있는지 지켜보는 것이 중요합니다. 이 예제에서 OghmaNano는 시뮬레이션을 두 개의 주요 단계로 실행합니다: (i) 광학 솔버 (3D 광학 계산), 그 다음 (ii) 전기 회로 솔버 (회로 메쉬 상의 Kirchhoff 전류/전압 방정식). 터미널 출력은 문제를 조기에 발견하는 가장 빠른 방법입니다 (예: 연결되지 않은 회로 또는 누락된 접촉).

1단계: 시뮬레이션 실행

??에 표시된 Run simulation 버튼(파란 삼각형)을 클릭합니다. 이 시뮬레이션은 실행에 시간이 걸립니다 (3D 광학 단계 후 대규모 회로 해를 수행하기 때문입니다). 실행되는 동안 Terminal 탭을 계속 확인하십시오. 이 탭은 수렴과 전류에 대한 실시간 정보를 제공합니다.

파란색 Run simulation 버튼과 생성된 결과 파일이 들어 있는 Output 탭을 보여주는 OghmaNano 메인 창.
Run simulation (파란 삼각형)을 클릭하여 모듈 시뮬레이션을 시작합니다.
많은 파장 슬라이스에서 광학 솔버가 실행된 뒤 전기 단계와 'Finished with multidimensional autoramp' 메시지가 이어지는 터미널 출력.
초기 단계 터미널 출력: 솔버는 먼저 광학 단계를 실행하고(많은 파장 슬라이스), 그 다음 전기 단계로 이동합니다.
Voc 부근에서 접촉 전류의 부호가 바뀌고 수렴 지표 f() 값이 표시되는 JV 스윕 후반의 터미널 출력.
스윕 중간 터미널 출력: 스윕이 VOC를 지나가면서 접촉 전류의 부호가 뒤집힙니다. 종종 로그에서 직접 JV 곡선이 형성되는 것을 볼 수 있습니다.

2단계: 터미널 출력이 무엇을 말해주는지 이해하기

이러한 복잡한 시뮬레이션에서 터미널 출력은 “잡음”이 아니라 진단 정보입니다. ??에서 솔버가 처음에 광학 단계를 실행하는 것을 볼 수 있습니다. 이 단계는 3D에서 해를 구하기 때문에 시간이 걸릴 수 있습니다. 광학 생성이 준비되면, 솔버는 전기 단계를 시작하고 각 바이어스 점에 대해 줄을 출력합니다.

핵심 줄은 다음과 같이 보입니다 (형식은 설정에 따라 약간 달라질 수 있습니다):

스윕 시작 근처(특히 0 V 근처)에서는 더 높은 오차가 자주 나타나며, 솔버가 այդ 점에서 멀어질수록 오차가 감소할 수 있습니다. 경험적으로, 솔버가 10-4 이하와 같은 오차에 도달할 때 결과를 훨씬 더 신뢰하며, 이상적으로는 “깨끗한” 수렴을 위해 10-9까지 내려가는 것이 좋습니다. (여기에 표시된 예제 로그에서도 스윕이 진행될수록 오차가 감소하는 것을 볼 수 있습니다.)

??에서는 매우 유용한 것을 볼 수 있습니다: 스윕 중간쯤에서 접지 접촉의 전류가 부호를 바꾸고, change 접촉의 전류는 반대 방향으로 부호가 바뀝니다. 이 부호 반전은 스윕이 VOC를 지나갈 때 정확히 기대되는 현상입니다: VOC 아래에서는 조명된 장치가 전력을 공급하고; VOC 위에서는 순방향 바이어스가 걸려 다이오드처럼 전력을 소비합니다. 다시 말해, 접촉 전류 열에서 직접 JV 곡선이 형성되는 것을 종종 “볼” 수 있습니다.

💡 왜 터미널을 봐야 하나요? 무엇인가 잘못되었다면 (예: 회로가 연결되지 않았거나, 접촉 마스크가 메쉬를 놓쳤거나, 영역이 떠 있는 경우), 일반적으로 즉시 알 수 있습니다: 전류가 0으로 붕괴하거나, 전류가 비정상적이 되거나, 솔버가 f()를 줄이지 못합니다. 이를 일찍 발견하면 긴 대기 시간을 절약할 수 있습니다.

3단계: 출력 파일 확인

시뮬레이션이 끝나면 Output 탭에 ??에 표시된 것과 같은 파일 세트가 들어 있습니다. 이 튜토리얼 파트의 핵심 결과는 접촉 JV 곡선입니다: jv_contact0.csvjv_contact1.csv. 이 파일들에는 인가 전압의 함수로서 각 접촉에서의 전류 밀도가 들어 있습니다.

jv_contact0.csvjv_contact1.csv를 더블클릭하여 플로팅합니다. 예제 플롯은 ????에 나와 있습니다. 확대된 보기(VOC를 읽고 knee 근처의 곡률을 보는 데 유용함)는 ??에 나와 있습니다.

전압이 증가함에 따라 전류 밀도가 감소하는 ground 접촉의 전압–전류 밀도 곡선을 보여주는 플롯 창.
ground 접촉에서의 JV (jv_contact0.csv).
순방향 바이어스에서 전류 밀도가 강하게 증가하는 change 접촉의 전압–전류 밀도 곡선을 보여주는 플롯 창.
change 접촉에서의 JV (jv_contact1.csv).
knee 영역과 개방 회로 전압 부근의 전이를 강조한 확대 JV 플롯.
JV 거동의 확대 보기 (knee를 확인하고 VOC를 더 명확히 읽는 데 유용).
✅ 예상 결과

조명 하에서 0 V에서는 접촉에서 0이 아닌 전류 크기(모듈의 JSC)가 관찰되어야 합니다. 전압이 증가함에 따라 전류는 VOC 근처에서 0에 접근한 뒤, 순방향 바이어스에서 부호가 바뀝니다. JV 곡선이 평평해 보이면(전체적으로 거의 0), 이는 보통 연결되지 않은 회로, 누락된 접촉, 또는 기하/접촉 마스크 불일치를 의미합니다.

4단계: 솔버 메쉬와 회로 표현 확인

대면적 시뮬레이션은 기하학적 이유(잘못 배치된 접촉, 누락된 영역, 의도치 않은 간격)로 실패할 수 있으므로, 어디를 봐야 하는지 아는 것이 유용합니다. 특히:

이러한 파일의 예제 뷰는 ??, ??, 및 ??에 나와 있습니다. 개념적으로 이는 표준 회로를 푸는 것과 같습니다: 노드 + 링크 + Kirchhoff 법칙 - 단지 훨씬 더 큰 규모일 뿐입니다.

단순화된 삼각형 표현과 경계 형상을 보여주는 솔버 기하의 3D 메쉬 뷰.
device.csv: 솔버가 사용하는 단순화된 메쉬 표현. 기하학적으로 무언가 잘못되면 여기서 분명하게 보이는 경우가 많습니다.
electrical-nodes.csv에서 추출한 회로 내 전기 노드를 나타내는 표 또는 플롯.
electrical_nodes.csv: 계산에 사용되는 Kirchhoff 전류 노드.

5단계: 광학 설정 찾기 (Transfer Matrix)

이 모듈 시뮬레이션에는 광학 생성이 포함되어 있으며, 광학 도구는 Optical 리본에서 찾을 수 있습니다 (??). Transfer Matrix를 클릭하여 Transfer Matrix 창을 엽니다.

중요: 이 튜토리얼에서는 여기에서 Transfer Matrix 도구를 실행하지 마십시오. Transfer Matrix 창은 본질적으로 스택을 관통하는 1D 보기인 반면, 이 시뮬레이션은 3D입니다. 이는 재료/스택 설정을 구성하고 sanity-check하는 데는 유용하지만, 방금 실행한 전체 3D 광학 단계를 대체하는 것은 아닙니다. 지금은 이를 열고 Configure를 클릭하기만 하십시오 - 파트 C에서 제어된 변경을 시작할 때 이 진입점을 사용합니다.

Light sources, Transfer Matrix, Optical outcoupling, Ray tracing editor, Optical detectors, FDTD simulation, Mode calculator 및 관련 도구가 표시된 OghmaNano 광학 리본 도구 모음.
Optical 리본. Transfer Matrix를 클릭한 다음 Configure를 엽니다 (이 3D 튜토리얼에서는 여기서 1D 계산을 실행하지 마십시오).

5단계: 광학 설정 찾기 (Transfer Matrix)

이 모듈 시뮬레이션에는 광학 생성이 포함되어 있으며, 광학 도구는 Optical 리본에서 찾을 수 있습니다 (??). Transfer Matrix를 클릭하여 Transfer Matrix 창을 엽니다.

중요: 이 튜토리얼에서는 여기에서 Transfer Matrix 도구를 실행하지 마십시오. Transfer Matrix 창은 본질적으로 스택을 관통하는 1D 보기인 반면, 이 시뮬레이션은 3D입니다. 이는 재료/스택 설정을 구성하고 sanity-check하는 데는 유용하지만, 방금 실행한 전체 3D 광학 단계를 대체하는 것은 아닙니다.

대신 Configure (톱니바퀴) 옵션을 클릭하여 ??에 표시된 광학 구성 패널을 엽니다.

Photon efficiency가 0.6으로 설정된 상태와 기타 솔버 설정이 표시된 OghmaNano Transfer Matrix 구성 패널.
Transfer Matrix 구성 패널. 이 튜토리얼의 핵심 매개변수는 Photon efficiency (여기서는 0.6으로 설정)이며, 이는 얼마나 많은 광학 흡수가 유효한 광전류가 되는지를 스케일링합니다.

Photon efficiency와 태양전지 다이오드 방정식

photon efficiency (이 단순화된 맥락에서 때때로 internal quantum efficiency factor라고도 부름)는 흡수된 광자 중 실제로 추출 가능한 전하 캐리어(전자와 정공)를 생성하는 비율을 모델에 알려주는 스칼라 배수입니다. photon efficiency가 0이면 광전류가 없습니다. 1이면 (이 단순화된 그림에서는) 모든 흡수 광자가 광전류에 기여합니다. 대부분의 실제 장치에서는 0.6 정도의 값이 합리적인 자릿수 수준입니다.

다이오드 언어로 보면, 이는 조명된 다이오드 방정식의 광전류 항을 스케일링하는 것으로 생각할 수 있습니다:

$$ J(V) = J_0\left[\exp\!\left(\frac{qV}{nk_\mathrm{B}T}\right)-1\right] - \eta_{\mathrm{ph}}\,J_{\mathrm{ph}} $$

여기서 \(J_0\)는 다이오드 포화 전류 밀도, \(n\)은 이상 계수, \(J_{\mathrm{ph}}\)는 광학 모델에서 예측된 광전류 밀도 (즉, 흡수 광자/생성 계산에서 나온 값)입니다. 매개변수 \(\eta_{\mathrm{ph}}\)는 ??photon efficiency이며, 단순히 광전류 항의 기여를 스케일링합니다. \(\eta_{\mathrm{ph}}=0.6\)으로 설정하는 것은 이 유효 모델에서 “흡수된 광자의 60%가 추출 가능한 캐리어가 된다”는 의미입니다.

실질적으로: 시뮬레이션된 \(J_\mathrm{SC}\)가 실험과 크게 맞지 않고, 회로 모델의 전기적 부분이 타당하다고 확신한다면, \(\eta_{\mathrm{ph}}\)는 절대 전류 수준을 맞추기 위해 사용할 수 있는 가장 빠른 조정 손잡이 중 하나입니다. 이 값이 1을 넘는 경우는 매우 드뭅니다; 만약 \(\eta_{\mathrm{ph}} > 1\)이 필요하다면, 보통 다른 무언가가 잘못되었다는 뜻입니다 (예: 광학 상수 / 흡수 계수가 일관되지 않음).

🧪 과제: photon efficiency 탐색

  1. Optical 리본을 열고 Transfer Matrix → Configure로 이동합니다 (??).
  2. Photon efficiency0.6에서 더 낮은 값(예: 0.3)으로 변경하고, 시뮬레이션을 다시 실행한 뒤 접촉 JV 곡선이 어떻게 변하는지 관찰합니다.
  3. 더 높은 값(예: 0.9)도 시도하고 다시 실행합니다. \(J_\mathrm{SC}\)와 전체 JV 곡선 형상은 어떻게 됩니까?
  4. 끝난 뒤에는 Photon efficiency를 다시 0.6으로 되돌리십시오.

👉 다음 단계: 파트 C로 계속 진행하십시오. वहाँ에서 모듈 규모 손실(직렬 저항, 접촉 제한, 광학 생성 효과)을 해석하기 위해 매개변수를 바꾸기 시작합니다.