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

1.Meshing

1. Meshing이란 무엇인가?

메싱은 연속적인 물리 영역을 컴퓨터가 처리할 수 있는 이산 점들의 집합으로 나누는 과정입니다. 예를 들어 한쪽 끝에는 촛불이 있고 다른 쪽 끝에는 얼음 덩어리가 있는 금속 막대를 따라 열이 흐르는 상황을 상상해 보십시오. 실제로는 막대를 따라 온도가 연속적으로 변하지만 시뮬레이션에서는 무한히 많은 값을 저장할 수 없습니다. 대신 막대는 유한한 수의 샘플 포인트(메시)로 표현되며 계산은 그 위치에서만 수행됩니다 (?? 참조). 메시를 사용하면 연속적인 문제를 수치 방법으로 해결할 수 있는 이산 문제로 변환할 수 있습니다. 이 원리는 물리학과 공학에서 널리 사용되는 유한차분, 유한요소 및 기타 계산 방법의 기초가 됩니다.

촛불에서 얼음 결정까지의 열전도를 보여주는 연속 문제의 예로, 막대를 따라 일련의 이산 점으로 나누어진(메시된) 모습.
연속적인 문제가 일련의 이산 점으로 나누어진(meshed) 예. 이 그림에서는 촛불에서 얼음까지 막대를 따라 열이 흐르며 온도 프로파일이 이산 메시 포인트로 표현됩니다.

2. 서로 다른 문제를 위한 서로 다른 메시

OghmaNano의 Thermal ribbon으로, 모델 및 온도 설정과 함께 Thermal mesh 버튼이 표시됨. OghmaNano의 Optical ribbon으로, 광원 및 시뮬레이션 도구와 함께 Optical mesh 버튼이 표시됨. OghmaNano의 Electrical ribbon으로, 솔버 및 인터페이스 도구와 함께 Electrical mesh 버튼이 표시됨.
OghmaNano의 세 가지 ribbon: thermal (위), optical (가운데), electrical (아래). 각 ribbon에는 해당 물리 모델의 메시를 정의하는 전용 mesh 버튼이 있습니다.

OghmaNano에서는 세 가지 핵심 물리 모델이 해결됩니다: 광학 모델 (빛 흡수와 전파), 열 모델 (열 생성과 흐름), 그리고 전기 모델 (전하 수송과 재결합). 이러한 과정은 보통 매우 다른 길이 스케일에서 발생하므로 각각 자체 메시가 필요합니다. 예를 들어:

실제로 이는 서로 다른 물리 효과가 서로 다른 길이 스케일에서 시뮬레이션되어야 함을 의미합니다. 또한 소자 구조에는 몇 나노미터 두께의 매우 얇은 접촉 또는 인터페이스 층이 포함되는 경우가 많습니다. 광학적으로 이러한 층은 빛의 파장보다 훨씬 작아 종종 무시할 수 있지만 전기적으로는 소자의 전류–전압 특성을 결정하기 때문에 매우 중요합니다. 이러한 효과를 포착하려면 해당 영역에 매우 세밀한 전기 메시를 사용하고 광학 메시를 더 거칠게 하여 그 위를 가로질러 정의할 수 있습니다.

OghmaNano는 모델을 결합할 때 자동으로 메시 간 보간을 수행합니다. 예를 들어 열 메시에서 열 프로파일을 정의했지만 전기 솔버가 국소 온도 값을 필요로 하는 경우 보간을 통해 값이 전달됩니다. 광학량(예: 캐리어 생성률)도 동일하게 필요할 때 광학 메시에서 전기 메시로 보간됩니다. 사용자가 이러한 전달을 직접 관리할 필요는 없습니다.

3. OghmaNano의 세 가지 메시

OghmaNano는 문제에 따라 별도로 정의할 수 있는 세 가지 독립 메시 - thermal, optical, electrical - 를 제공합니다. 각 메시에는 해당 ribbon 탭에서 접근할 수 있습니다 (Figure ?? 참조).

3.1 Electrical mesh

2D OFET 시뮬레이션을 위해 X와 Y 차원이 활성화된 OghmaNano electrical mesh editor로, 두께, 메시 포인트, 간격을 정의하는 표와 결과 메시를 시각화하는 그래프가 표시됨.
2D OFET 시뮬레이션을 위해 XY 차원이 활성화된 electrical mesh editor. 표는 두께, 메시 포인트 수, 성장 계수를 정의하고 그래프는 메시 분포를 시각화합니다.
소자 경계에서 반 스텝 내부에 배치된 균일 간격의 격자점을 보여주는 1D electrical mesh 다이어그램.
electrical mesh의 1D 개략도. 격자점은 소자 경계에서 반 스텝만큼 오프셋되어 안정적인 미분 계산과 일관된 경계 조건 적용을 보장합니다.

Electrical ribbon에서 Electrical mesh 버튼을 클릭하면 mesh editor 창이 열립니다 (??). 창 상단에는 X, Y, Z 버튼이 있습니다. 이 버튼은 시뮬레이션에서 활성화되는 공간 차원을 전환합니다. 예를 들어 Y만 활성화하면 1D 시뮬레이션이 되고, XY를 함께 활성화하면 2D 시뮬레이션이 설정됩니다. 표시된 예에서는 XY가 모두 활성화되어 있으므로 메시가 2D OFET 시뮬레이션을 위해 구성됩니다. 중앙의 표는 스프레드시트처럼 작동하며 각 활성 차원에 대한 메시 구조를 정의합니다. 주요 열은 다음과 같습니다:

결과 메시 분포는 창 하단의 그래프에 표시되어 포인트 간격과 분포를 즉시 확인할 수 있습니다. Import from layer editor 버튼은 복잡한 소자를 위한 바로 가기 기능을 제공합니다. 이 버튼은 Y-메시를 초기화하고 Layer Editor의 모든 층을 자동으로 가져와 각 층에 네 개의 메시 포인트를 할당합니다. 이는 레이저 다이오드와 같이 많은 층을 가진 구조에서 특히 유용합니다.

Electrical mesh의 상세: ?? 는 electrical mesh가 어떻게 구성되는지를 보여줍니다. 메시의 시작점은 정확히 소자 경계가 아니라 소자 내부로 반 메시 간격만큼 이동한 위치입니다. 이렇게 하면 첫 계산 노드가 활성 시뮬레이션 영역 내부에 위치하게 되어 경계 조건(예: 전기 접촉)을 메시 외부의 명확한 위치에 적용할 수 있습니다. 동일한 규칙이 소자의 반대쪽 끝에도 적용되어 메시가 마지막 물리 지점보다 반 스텝 더 확장됩니다.

Automatic meshing: Layer thickness는 layer editor에서 정의됩니다. 소자의 물리적 구조를 정의한 후 사용자는 electrical mesh를 업데이트하여 메시 기하 구조가 소자의 실제 치수와 일치하도록 해야 합니다. 실제로 새로운 사용자들은 electrical mesh도 다른 CAD 표현과 마찬가지로 물리적 객체 크기와 일치해야 한다는 점을 종종 인식하지 못합니다.

설정 오류를 줄이기 위해 OghmaNano는 실행 시 자동 meshing 가정을 적용합니다. 시뮬레이션은 layer editor에서 지정된 층의 너비와 높이가 올바르다고 가정하고 이러한 치수를 electrical mesh에 자동으로 매핑하려고 시도합니다. 예를 들어 소자가 단일 층으로 구성되어 있고 해당 메시 높이가 잘못된 경우 시뮬레이션은 내부적으로 메시를 구성할 때 layer editor의 층 두께를 사용합니다.

소자 층의 수가 수직 메시 층의 수와 일치하면 각 메시 층은 자동으로 해당 소자 층 두께와 연결됩니다. 이러한 조정은 시뮬레이션 중 내부적으로 적용되며 editor에서 보이는 메시 매개변수는 수정되지 않습니다. 메시 층 수가 활성 소자 층 수와 일치하지 않거나 매핑이 모호한 경우 자동 meshing은 적용되지 않으며 메시 정의가 소자 구조와 일치하지 않는다는 오류와 함께 시뮬레이션이 종료됩니다.

3.2 Optical mesh

X, Y, Z 차원 토글과 파장 패널을 포함한 OghmaNano optical mesh editor. 왼쪽 패널은 공간 메시 두께, 포인트, 성장 계수를 정의하고 오른쪽 패널은 시작/종료 파장, 스텝 배수, 포인트 수를 정의하며 아래 그래프는 메시 분포와 스펙트럼 샘플링을 보여줌.
Optical mesh editor. 왼쪽 패널은 소자 두께 방향의 공간 메시 포인트를 정의하고 오른쪽 패널은 파장 범위와 해상도를 설정하여 스펙트럼 메시를 구성합니다. 아래 그래프는 공간 메시 분포와 파장 샘플링을 시각화합니다.

Optical mesh editor (??)는 electrical mesh editor와 레이아웃이 유사하지만 wavelength mesh를 정의하는 추가 패널이 포함되어 있습니다. 창 상단의 X, Y, Z 버튼은 공간 차원을 활성화하고 λ (Wavelength) 버튼은 스펙트럼 격자를 활성화합니다.

왼쪽 패널은 electrical mesh와 동일한 열 (Thickness, Mesh points, Step multiply, Left/Right)을 사용하여 나노미터 단위의 공간 이산화를 지정합니다. 오른쪽 패널은 StartStop 파장, points 수, 스텝 배수를 설정하여 스펙트럼 범위를 정의합니다. 이러한 파장 포인트는 ray tracing, FDTD, transfer matrix 시뮬레이션을 포함한 모든 광학 솔버에서 일관되게 사용됩니다.

Automatic meshing: 광학 시뮬레이션의 경우 소프트웨어는 광학 문제가 일관되도록 optical mesh를 자동으로 조정하려고 시도합니다. 보다 복잡한 2차원 또는 3차원 시뮬레이션에서 optical과 electrical mesh가 일치하지 않으면 솔버가 이를 자동으로 업데이트하려고 시도합니다. 이것이 불가능하거나 의도된 메시 구성이 명확하지 않으면 메시 정의가 일관되지 않다는 오류와 함께 시뮬레이션이 종료됩니다.

3.3 Thermal mesh

왼쪽에는 공간 메시 설정, 오른쪽에는 온도 메시 설정을 보여주는 OghmaNano thermal mesh editor. 오른쪽 표는 시작/종료 온도, 포인트 수, 스텝 배수를 정의하며 아래 그래프는 분포를 시각화함.
Thermal mesh editor. 왼쪽 패널은 공간 이산화를 정의하고 오른쪽 패널은 시작/종료 값, 해상도, 스텝 증가를 설정하여 온도 메시를 구성합니다. 그래프는 위치와 온도 공간에서 메시 분포를 시각화합니다.

Thermal mesh editor (??)는 electrical 및 optical mesh editor와 동일한 방식으로 작동하며 공간 차원을 활성화하기 위한 X, Y, Z 버튼을 제공합니다. 또한 전용 T (Temperature) 메시가 포함됩니다.

온도 메시는 예를 들어 self-heating을 활성화하거나 온도 범위에 따른 전기 특성을 평가할 때처럼 시뮬레이션이 온도 의존성을 고려해야 할 때 사용됩니다. 시뮬레이션이 실행되기 전에 OghmaNano는 페르미 준위와 온도에 따른 캐리어 밀도 또는 Fermi–Dirac 적분과 같은 양을 미리 계산하여 테이블로 저장합니다. 이러한 테이블을 사용하면 실행 중 반복 계산 대신 값을 빠르게 조회할 수 있습니다.

대부분의 경우 thermal mesh는 자동으로 처리되지만 고급 사용자는 강한 온도 의존 문제가 있을 때 충분한 정확도를 보장하기 위해 범위와 해상도를 조정할 수 있습니다.

4. OghmaNano에서 언제 meshing을 신경 써야 하는가?

Electrical mesh: Layer Editor는 소자를 서로 다른 재료의 층으로 나눕니다 (Section 3.1.3 참조). active로 표시된 층은 electrical 모델이 적용되는 층입니다. 이러한 층에는 finite-difference 메시가 정의되어야 합니다. 메시 길이는 active layer 길이와 정확히 일치해야 하며 그렇지 않으면 오류가 발생합니다. OghmaNano는 일반적으로 적절한 메시를 자동으로 생성하므로 대부분의 단순한 소자에서는 수동 설정이 필요하지 않습니다. 그러나 여러 active layer가 존재하거나 시뮬레이션 속도를 높이기 위해 메시 포인트 수를 줄이거나 정확도를 높이기 위해 늘려야 할 경우 electrical mesh를 수동으로 구성해야 할 수 있습니다.

Optical mesh: optical mesh는 공간 및 파장 샘플링을 모두 제어합니다. 시뮬레이션 파장 범위를 변경하거나 빛이 소자의 서로 다른 층과 상호작용하는 방식을 더 세밀하게 표현하기 위해 조정이 필요할 수 있습니다. 메시 포인트 수를 늘리면 광학 정확도는 향상되지만 시뮬레이션 시간도 증가합니다.

Thermal mesh: thermal mesh는 self-heating이 활성화된 경우에만 관련됩니다. 이 경우 소자 전체의 온도 변화를 모델링하고 열 효과가 트랩 및 재결합 과정과 결합되는 것을 표현하기 위한 해상도를 제공합니다. 그렇지 않은 경우 OghmaNano가 자동으로 처리합니다.

5. Meshing 팁

1D, 2D, 3D 중 어느 차원으로 시뮬레이션해야 할까?

올바른 차원을 선택하는 것은 시뮬레이션 설정에서 가장 중요한 결정 중 하나입니다. 관심 있는 물리를 포착하는 데 필요한 최소 차원을 항상 사용해야 하며 이는 시간과 계산 자원을 절약합니다.

속도 대 정확도

메시 포인트를 많이 추가할수록 항상 정확도가 증가한다고 생각하기 쉽습니다. 실제로는 어느 정도까지는 도움이 되지만 너무 많은 포인트는 시뮬레이션을 정확하거나 불안정하게 만들 수도 있습니다. 제한 요소는 종종 계산 성능이 아니라 수치 조건수입니다. 많은 소자 시뮬레이션에서는 매우 작은 값(예: 밀도 또는 재결합률)과 매우 큰 값(전기장, 전류, 도핑)이 동시에 존재합니다. 컴퓨터는 유한 정밀도 연산을 사용하므로 매우 큰 수와 매우 작은 수가 함께 포함된 계산에서는 유효 숫자가 손실될 수 있습니다. 이러한 정밀도 손실은 오차의 주요 원인이 되며 가짜 진동, 노이즈 전류 또는 수렴 문제를 유발할 수 있습니다.

메시 밀도를 증가시키면 이 문제가 오히려 더 심해질 수 있습니다. 더 촘촘한 메시에서는 국소 기울기가 더 커지고 미분 항이 증가하며 이웃 노드 간 결합이 강해집니다. 이는 선형 시스템에서 최소값과 최대값 사이의 범위를 더 크게 만들 수 있습니다. 결과적으로 솔버가 실제 물리와 수치 노이즈를 구분하기 어려운 조건수가 나쁜 문제가 될 수 있습니다. 이러한 경우에는 약간 더 거친 메시가 더 매끄러운 필드와 더 나은 조건수를 제공하여 더 신뢰할 수 있는 결과를 줄 수 있습니다.

좋은 작업 흐름은 먼저 거친 메시로 시작하여 설정이 올바른지 확인하고 정성적 동작이 맞는지 확인한 후 필요한 만큼만 메시를 정밀화하는 것입니다. 메시 정밀화는 근거에 기반해야 합니다. 핵심 출력(JV 곡선, 캐리어 프로파일, 광학 생성 등)이 메시 포인트를 추가해도 더 이상 의미 있게 변하지 않는다면 추가 정밀화는 정확도를 개선하지 않을 가능성이 큽니다.

OghmaNano에서 소자를 설정할 때 다음 지침을 고려하십시오: