OghmaNano의 출력 프로브
프로브란 무엇인가?
시뮬레이션 과정에서 특정 메쉬 포인트에서의 물리량 변화를 시뮬레이션 단계별로 모니터링하고자 하는 경우가 많습니다. 예를 들어, 특정 메쉬 포인트에서 전압이나 시간에 따른 전도대, 캐리어 밀도, 전기장의 변화를 추적하고자 할 수 있습니다.
이를 구현하는 한 가지 방법은 스냅샷 시스템을 활용해 모든 시뮬레이션 스냅샷을 디스크에 저장한 뒤 외부 MATLAB 또는 Python 스크립트를 이용해 각 출력 파일에서 필요한 데이터를 추출하는 것입니다. 이 방법은 시뮬레이션의 전체 상태에 완전히 접근할 수 있다는 장점 때문에 매우 효과적인 접근법이 되기도 합니다.
하지만 훨씬 더 빠른 방법은 출력 프로브를 활용하는 것입니다.
출력 프로브는 시뮬레이션 출력 파일이 디스크에 기록되기 전에 이를 가로채어 데이터 세트에서 특정 값을 추출한 뒤, 시뮬레이션 단계에 따른 새로운 그래프를 자동으로 생성합니다.
예를 들어, 시뮬레이션 결과로 다음과 같은 파일이 생성된다고 가정해보겠습니다:
Ec.csv
시뮬레이션 결과 파일에 장치 내부의 전도대 에너지 분포 정보가 포함되어 있을 경우, 출력 프로브는 해당 데이터 세트를 가로채어 특정 메쉬 포인트에서의 값을 추출한 뒤 전압 또는 시간에 따른 변화 양상을 나타내는 새로운 데이터 세트를 자동으로 생성할 수 있다.
실제로 이 기능을 통해 디바이스 내부의 물리량들을 수동으로 대량의 시뮬레이션 스냅샷 데이터를 처리할 필요 없이 지속적으로 모니터링할 수 있습니다.
프로브 설정 방법
프로브 편집기는 ??에 표시된 자동화 리본 메뉴를 통해 열 수 있습니다.
이 예시에서는 프로브가 다음 파일을 모니터링하고 있습니다:
Ec.csv
이는 소자의 전도대 에너지 분포에 해당합니다.
해당 프로브는 활성화된 상태이며 y축 방향으로 다섯 번째 메쉬 포인트의 값을 추출하도록 설정되어 있습니다. 이 예시에서 소자는 1차원 구조이며 총 10개의 메쉬 포인트를 가지고 있으므로, 프로브는 소자 중앙 부분에 해당하는 값을 추출하는 것입니다.
프로브는 단일 메쉬 포인트의 값만 추출하는 데 국한되지 않습니다. 필요한 분석 유형에 따라 평균값, 최솟값, 최댓값 및 기타 통계량을 계산하도록 설정할 수도 있습니다.
개념적으로 프로브는 시뮬레이션 과정에서 작성되는 파일들을 모니터링하여 그 안에서 필요한 물리량들을 자동으로 추출한 뒤 연속적인 그래프를 생성하는 방식으로 작동합니다.
프로브 출력값
시뮬레이션이 완료되면 ??에 나타난 바와 같이 시뮬레이션 출력 브라우저에 프로브 폴더가 생성됩니다.
이 예시에서 생성되는 파일은 다음과 같습니다:
Ec_z0_x0_y5.csv
이는 메쉬 포인트에서 추출된 전도대 에너지에 해당합니다.
z=0, x=0, y=5
이 파일을 열면 OghmaNano는 ??에 나타난 바와 같이 시뮬레이션 단계에 따른 모니터링된 물리량의 변화를 자동으로 그래프로 표시합니다.
이와 같은 방식으로 프로브를 활용하면 소자 내 특정 위치에서 전위, 캐리어 밀도, 재결합률, 전기장과 같은 물리량들을 지속적으로 모니터링할 수 있다.
프로브는 시뮬레이션 과정에서 자동으로 데이터셋을 축소시키므로 외부 스크립트를 이용해 다수의 시뮬레이션 스냅샷을 수동으로 처리할 필요가 없다.
내부적으로 프로브 출력값은 다른 모든 시뮬레이션 출력값과 동일한 OghmaNano 출력 형식을 사용하므로 사람이 읽을 수 있는 CSV 형식 또는 압축된 바이너리 형식으로 저장할 수 있습니다.
💡 팁: 프로브는 대규모 과도 상태 시뮬레이션이나 드리프트-확산 시뮬레이션에서 계면, 접촉부 또는 특정 영역 내의 물리량을 모니터링할 때 특히 유용합니다.