FDTD 시뮬레이션에서 mesh accuracy(1~8)에 따른 mesh size는 어떻게 결정되나요?

fdtd
non-uniformmesh
meshaccuracy

#1

FDTD 시뮬레이션 모델의 background에 생성되는 mesh(grid 혹은 Yee cell)의 크기는 다음과 같은 과정으로 설정할 수 있습니다. 아래 그림과 같이, model 하위 구조에 있는 FDTD를 선택하여 오른쪽 마우스 클릭 후 Edit object를 누르시면, Edit FDTD simulation 창이 등장합니다. Mesh settings 탭에서 mesh accuracy 옆의 side bar를 좌우로 조절하며 그 크기를 1부터 8까지 선택할 수 있습니다. 여기서는 mesh type이 auto non-uniform으로 설정되어 있는 경우를 설명드리겠습니다.

Mesh의 크기는 mesh accuracy의 order, 입사 파장(λ0), 매질(medium)의 굴절률(n) 등에 의해서 결정됩니다(아래 도표 [1] 참고). 매질 내부에서의 파장은 λ = λ0/n 입니다. mesh 크기 = (λ0/n)/(2 + 4mesh accuracy order) = λ/(2 + 4mesh accuracy order), 라는 관계식이 성립합니다 (background 매질이 균질한(homogeneous) 경우).

다음으로는 mesh order(2, 8)에 따른 free space(background 매질이 air)와 Ag NPs이 있는 경우를 나눠서 설명드리겠습니다.

(1) Planewave 입사광의 파장이 600 nm 이고, mesh accuracy가 “2”(기본설정)이고 매질은 공기(n=1)라고 가정한다면, 생성되는 mesh 크기는 위의 도표에서 알수 있듯 이 60 nm가 됩니다. 아래 그림과 같이 60 nm 크기를 갖는 mesh가 균일하게 FDTD 공간에 형성된 것을 확인할 수 있습니다.

(2) Mesh accuracy가 커질 수록 더 작은 크기의 mesh가 생성됩니다. 이번에는 Mesh accuracy를 최대치인 "8"로 설정하면, 생성되는 mesh의 크기도 17.6 nm로 작아지게 됩니다. 만약, 매질이 공기가 아니라 유리(n=1.5)라면, 굴절률이 더 커진 만큼 mesh의 크기도 1.5배 만큼 줄어들게 됩니다.

(3) 이번에는 mesh order가 2이고 공기 중에 Ag NP 존재하는 경우에 대해서 생각해 보겠습니다. Mesh type이 auto non-uniform으로 선택된 경우, 금속인 Ag과 같이 유전율(electrical permittivity)의 실수 값의 절대값이 큰 물질 (high index material)은 더 작은 메쉬가 생성됩니다. 3차원 해석의 경우는 Ag 주변 부에 더 촘촘하게 형성된 mesh가 x, y, z 방향으로 뻗어나가게 됩니다. 결국 free space 대비 더 많은 mesh가 형성되므로 계산시간이 증가하게 됩니다. 공기 중에서 mesh 크기는 (2)을 통해서 60 nm 일 것이라 예상되지만, Ag NPs로 인해서 non-uniform한 mesh가 형성되었기 때문에 예상치 보다는 약간 작은 크기의 mesh가 생성됨을 알 수 있습니다. index값에 따라 차이가 있지만 금속의 mesh 크기는 대략 공기 중의 mesh 크기 보다 3~4배 정도 작아집니다.

(4) mesh order가 8이고 공기 중에 Ag NP 존재하는 경우에 대해서 생각해 보겠습니다. 역시 non-uniform한 mesh가 형성되었으며, Ag NP에 형성되는 mesh의 크기는 4.5 nm 입니다. (3)번과 같이 Ag NPs 주변에 촘촘하게 생성된 mesh가 x,z 방향으로 (3차원의 경우는 x,y,z 방향으로) 연결되어 형성되었음을 확인할 수 있습니다. 만약 20 nm 크기의 Ag NP을 해석할 경우, 한 변에 4개의 mesh 가 형성되어 정확하게 그 형상을 모사하기 힘듧니다. 금속의 경우는 입사광과 반응하여 그 주변 부에 전자기장의 분포가 평평하지 않고 복잡하게 형성될 수 있고, 금속의 모양에 따라서 생성되는 전자기장의 분포가 매우 달라질 수 있으므로, 일반적으로 override mesh를 부여해서 좀 더 세밀한(fine) mesh를 부여하게 됩니다. Override mesh를 부여하여 좀 더 세밀한 mesh를 나누면 당연히 계산시간과 메모리가 몇 배 이상 증가할 수 있으므로 solver의 성능을 고려하여 mesh 크기를 설정해 주셔야 합니다.

References
[1] https://www.lumerical.com/resources/fdtd_numerical_methods.pdf (14page)


마이크로급 이상 스케일 에서의 시뮬레이션
Broadband source 사용시 적정 대역폭 및 mesh 설정
#2

@isawjsy 님의 위의 게시물에서는 단일파장으로 시뮬레이션을 할 때, 즉 (start wavelength = stop wavelength = center wavelength) 으로 source 가 설정이 되어있을 때의 mesh accuracy 에 따른 mesh size 의 변화를 잘 설명해 주고 있습니다. 하지만 broadband source 로 시뮬레이션을 할 경우에는 어떤 파장을 기준으로 mesh 가 설정이 되는 지 궁금할 수 있을 것 같습니다. 이에 대한 설명은 아래의 게시물에서 ‘1. Source 의 파장에 따른 mesh accuracy’ 부분을 살펴보시기 바랍니다.