마이크로급 이상 스케일 에서의 시뮬레이션


#1

외부 광추출층 시뮬레이션을 위한 수십~수백 마이크로급 시뮬레이션을 하려고 하는데, 3D 시뮬레이션까지 진행 하려고 보니, 메모리와 시간이 너무 많이 필요합니다. 수십~수백마이크로급 시뮬레이션에서 메쉬크기를 줄이게 되면 실제 값 차이가 많이 나는지 궁금합니다.


#2

안녕하세요, @kukhjo

FDTD 영역에서 mesh 크기 혹은 mesh accuracy는 입사파장(planewave or Gaussian source) 에 따라서 결정이 됩니다. Background 물질이 공기이고 scatter같은 물체가 없는 free space의 경우, 입사파장이 500 nm인 단파장을 고려해 보면, mesh accuracy가 2로 설정한 경우(default) 기본적인 mesh의 크기는 500 nm / 10 = 50 nm로 결정이 됩니다. (자세한 내용은 관련 KX 포스트를 참고하세요.) 이 보다 더 작은 mesh를 부여하기 위해서는 override mesh (일종의 fine mesh)를 해당 영역에 적용을 하셔야 합니다.

만약, scatter나 구조체의 크기가 50 nm인 구형 금속 입자라면, mesh의 크기는 적어도 5 nm 이하여야 구조체의 형상을 유사하게 모델링할 수 있습니다. 구조체가 직육면체 형태라면 (구형 일때보다는) 더 큰 mesh 크기로 구조체에 override mesh를 부여할 수 있겠습니다.

이번에는 구조체의 크기가 입사 파장 보다 더 큰 5000 nm 의 구형이라면, override mesh를 부여하지 않아도 충분히 기본 mesh 크기로 구조체를 모델링 할 수 있습니다.

일반적으로 구조체의 크기가 입사파장 대비 매우 작은 경우는 override mesh를 적용시켜 하고, 이 반대의 경우는 override mesh를 적용시키 않고 mesh accuracy를 통해서 FDTD 영역 내의 mesh 크기를 조절하면 됩니다.

일반적으로는 mesh 혹은 override mesh의 크기가 작을 수록 시뮬레이션의 정확도는 높아지나, 임계 크기보다 작아질 때는 결과값이 수렴을 하게 됩니다. 따라서, mesh 크기에 따른 시뮬레이션의 정확도는 직접 테스트를 수행하셔서 확인해 보셔야 합니다.

시뮬레이션에 필요한 메모리를 확인하는 방법은 아래 KX 포스트를 참고하세요.