FDTD법

[섬네일|250px|유한차분 시간영역법에서 "이 격자"는 [맥스웰 방정식을 공간에서 이산화하는 데 사용된다. 이 방법은 전기장과 자기장을 지그재그식 격자에 배치하는 것을 포함한다.]]
**FDTD법**, 풀어서 **유한차분 시간영역법**(Finite-difference time-domain method) 또는 **이 방법**(Yee lattice, 케인 S. 이, 1934년생 중국계 미국인 응용 수학자의 이름을 따서 명명됨)은 전산 전자기학을 모델링하는 데 사용되는 수치해석학 기술이다.

## 역사
시간 의존적 편미분 방정식에 대한 유한차분 기법은 전산 유체 역학 문제에서 수년 동안 사용되어 왔으며, 2차 정확도를 달성하기 위해 공간 및 시간에서 엇갈린 격자에 중심 유한차분 연산자를 사용하는 아이디어를 포함한다.
1966년 그의 중요한 논문에서 제시된 이의 FDTD 기법의 참신함은 맥스웰의 회전 방정식에서 각 전기장 및 자기장 벡터 성분에 대해 공간 및 시간에서 엇갈린 격자에 중심 유한차분 연산자를 적용하는 것이었다.
"유한차분 시간영역"이라는 명칭과 그에 해당하는 "FDTD" 약어는 1980년 앨런 태플로브에 의해 시작되었다.
1990년경부터 FDTD 기법은 재료 구조와 전자기파 상호작용을 다루는 많은 과학 및 공학 문제를 전산적으로 모델링하는 주요 수단으로 부상했다. 현재 FDTD 모델링 응용 분야는 거의 직류 (지구-전리층 도파관 전체를 포함하는 초저주파 지구물리학)부터 마이크로파 (레이더 신호 기술, 안테나, 무선 통신 장치, 디지털 상호 연결, 생체 의학 영상/치료)를 거쳐 가시광선 (광결정, 나노플라스몬, 솔리톤 및 생체 광학)에 이른다. 2006년에는 과학 및 공학 문헌에 약 2,000건의 FDTD 관련 출판물이 등장했다 (참고: 인기). 2013년 기준으로, 최소 25개의 상용/독점 FDTD 소프트웨어 공급업체, 13개의 자유 소프트웨어/오픈 소스 소프트웨어 FDTD 프로젝트, 그리고 2개의 프리웨어/클로즈드 소스 FDTD 프로젝트가 있으며, 일부는 상업적 용도로 사용되지 않는다 (참고: 외부 링크).

### FDTD 및 맥스웰 방정식의 개발
맥스웰 방정식에 대한 FDTD 수치 기법의 기초, 기술 개발 및 가능한 미래에 대한 이해는 먼저 그 역사를 고려함으로써 개발될 수 있다. 다음은 이 분야의 주요 출판물 중 일부를 나열한다.

## FDTD 모델 및 방법
맥스웰 미분 방정식을 살펴보면, 시간 내 E-장 변화(시간 미분)가 공간 내 H-장 변화(회전)에 의존한다는 것을 알 수 있다. 이로 인해 FDTD 시간 스텝 관계가 기본적으로 성립하는데, 이는 공간의 어느 지점에서든 시간에 따른 E-장의 업데이트된 값이 E-장의 저장된 값과 공간 내 H-장의 국부 분포에 대한 수치적 회전에 의존한다는 것이다.

H-장도 유사한 방식으로 시간 스텝을 밟는다. 공간의 어느 지점에서든 시간에 따른 H-장의 업데이트된 값은 H-장의 저장된 값과 공간 내 E-장의 국부 분포에 대한 수치적 회전에 의존한다. E-장 및 H-장 업데이트를 반복하면 컴퓨터 메모리에 저장된 수치 격자에서 고려 중인 연속적인 전자기파의 샘플링 데이터 아날로그가 전파되는 시간 진행 과정이 발생한다.

[섬네일|right|450px|FDTD에 사용되는 표준 직교 이 셀의 그림으로, 전기장 및 자기장 벡터 성분이 분포되어 있다. 입방형 [복셀로 시각화하면, 전기장 성분은 입방체의 모서리를 형성하고 자기장 성분은 입방체의 면에 대한 법선을 형성한다. 3차원 공간 격자는 이러한 이 셀의 다중으로 구성된다. 전자기파 상호작용 구조는 각 전기장 성분에는 적절한 유전율 값을 할당하고 각 자기장 성분에는 투자율을 할당하여 공간 격자로 매핑된다.]]
이 설명은 1차원, 2차원 및 3차원 FDTD 기법에 모두 해당된다. 여러 차원을 고려할 때 수치적 회전을 계산하는 것은 복잡해질 수 있다. 케인 이의 1966년 선구적인 논문은 직교 좌표 계산 격자의 직사각형 단위 셀 주위에 E-장 및 H-장 벡터 성분을 공간적으로 엇갈리게 배치하여 각 E-장 벡터 성분이 한 쌍의 H-장 벡터 성분 사이에 중간에 위치하도록 제안했다. 현재 **이 격자**로 알려진 이 방법은 매우 견고한 것으로 입증되었으며, 많은 현재 FDTD 소프트웨어 구성의 핵심으로 남아 있다.

또한 이(Yee)는 E-장과 H-장의 업데이트가 엇갈리게 진행되는 도약 방식을 제안했다. 즉, E-장 업데이트는 연속적인 H-장 업데이트 사이의 각 시간 단계 중간에 수행되고, 그 반대도 마찬가지이다. 장점으로는 이 명시적 시간 진행 방식은 동시 방정식을 풀 필요를 피하며, 또한 소산 없는 수치적 파동 전파를 제공한다. 단점으로는 이 방식은 수치적 안정성을 보장하기 위해 시간 단계에 상한선을 요구한다. 결과적으로 특정 유형의 시뮬레이션은 완료하는 데 수천 번의 시간 단계가 필요할 수 있다.

### FDTD 방법 사용
맥스웰 방정식의 FDTD 해를 구현하려면 먼저 계산 영역을 설정해야 한다. 계산 영역은 시뮬레이션이 수행될 물리적 영역을 의미한다. E-장과 H-장은 해당 계산 영역 내 공간의 모든 지점에서 결정된다. 계산 영역 내 각 셀의 재료를 지정해야 한다. 일반적으로 재료는 자유 공간(공기), 금속 또는 유전체이다. 투자율, 유전율 및 도전율이 지정되는 한 어떤 재료도 사용할 수 있다.

테이블 형식의 분산 재료의 유전율은 FDTD 방식에 직접 대입할 수 없다.
대신, 여러 데바이, 드루데, 로렌츠 또는 임계점 항을 사용하여 근사할 수 있다.
이 근사는 개방형 피팅 프로그램을 사용하여 얻을 수 있으며 반드시 물리적 의미를 가질 필요는 없다.

계산 영역과 격자 재료가 설정되면 소스가 지정된다. 소스는 전선 위의 전류, 인가된 전기장 또는 입사 평면파가 될 수 있다.
후자의 경우 FDTD는 임의 모양의 물체, 다양한 입사각에서의 평면 주기 구조, 및 무한 주기 구조의 광자 밴드 구조로부터의 빛 산란을 시뮬레이션하는 데 사용될 수 있다.

E-장과 H-장이 직접 결정되므로 시뮬레이션의 출력은 일반적으로 계산 영역 내의 한 점 또는 일련의 점에서의 E-장 또는 H-장이다. 시뮬레이션은 E-장과 H-장을 시간적으로 앞으로 진행시킨다.

시뮬레이션에서 반환된 E-장과 H-장에 대한 처리가 수행될 수 있다. 데이터 처리는 시뮬레이션이 진행되는 동안에도 발생할 수 있다.

FDTD 기술은 압축된 공간 영역 내에서 전자기장을 계산하지만, 산란 및 방사된 원거리장은 근거리-원거리장 변환을 통해 얻을 수 있다.

#### 안정성
FDTD 방법의 선형성 때문에 FDTD 방법의 안정성 영역은 폰 노이만 안정성 분석에 의해 결정될 수 있다. 이 방법은 전기장과 자기장이 단색 복소수 지수에 비례한다고 가정한다. 단일 시간 단계 후에 안정적인 장의 진폭 크기는 같거나 작게 유지되어야 한다. 이는 FDTD 매개변수 간의 관계를 설명하여 안정성을 보장하는 코란트-프리드리히-레비 조건으로 이어진다.

### FDTD 모델링의 장점
모든 모델링 기법에는 장점과 단점이 있으며, FDTD 방법도 다르지 않다.

* FDTD는 맥스웰 방정식을 푸는 데 사용되는 다목적 모델링 기법이다. 직관적이기 때문에 사용자가 쉽게 사용 방법을 이해하고 주어진 모델에서 무엇을 기대해야 하는지 알 수 있다.
* FDTD는 시간 영역 기법이며, 광대역 펄스(예: 가우스 펄스)를 소스로 사용하면 단일 시뮬레이션으로 넓은 주파수 범위에 걸쳐 시스템의 응답을 얻을 수 있다. 이는 공진 주파수가 정확히 알려지지 않았거나 광대역 결과가 필요한 모든 응용 분야에서 유용하다.
* FDTD는 계산 영역의 모든 지점에서 시간에 따라 E 및 H 필드를 계산하므로, 모델을 통해 전자기장 이동의 애니메이션 표시를 제공하는 데 적합하다. 이러한 유형의 표시는 모델에서 무슨 일이 일어나고 있는지 이해하고 모델이 올바르게 작동하는지 확인하는 데 유용하다.
* FDTD 기술을 통해 사용자는 계산 영역 내의 모든 지점에서 재료를 지정할 수 있다. 다양한 선형 및 비선형 유전체 및 자기 재료를 자연스럽고 쉽게 모델링할 수 있다.
* FDTD는 조리개의 효과를 직접 결정할 수 있다. 차폐 효과를 찾을 수 있으며, 구조 내부 및 외부의 필드를 직접 또는 간접적으로 찾을 수 있다.
* FDTD는 E-장과 H-장을 직접 사용한다. 대부분의 EMI/EMC 모델링 응용 프로그램이 E-장과 H-장에 관심이 있으므로 시뮬레이션이 실행된 후 이러한 값을 얻기 위해 변환을 할 필요가 없다는 점이 편리하다.

### FDTD 모델링의 단점
[섬네일|right|290px|간단한 1차원 FDTD 방식에서 사각 펄스 신호의 [수치적 분산. 펄스 가장자리 주변의 링잉 아티팩트가 심하게 강조되고 (깁스 현상) 신호는 분산 매체가 없는 경우에도 전파되면서 왜곡된다. 이 아티팩트는 이산화 방식의 직접적인 결과이다.]]
* FDTD는 전체 계산 영역이 격자로 분할되어야 하고, 격자 공간 이산화가 모델에서 가장 작은 전자기 파장과 가장 작은 기하학적 특징을 모두 해결할 수 있을 만큼 충분히 미세해야 하므로, 매우 큰 계산 영역이 개발될 수 있으며, 이는 매우 긴 해결 시간으로 이어진다. 길고 가는 특징(예: 전선)을 가진 모델은 과도하게 큰 계산 영역이 필요하기 때문에 FDTD에서 모델링하기 어렵다. 고유모드 확장과 같은 방법은 Z 방향을 따라 미세한 격자가 필요하지 않으므로 더 효율적인 대안을 제공할 수 있다.
* 재료 인터페이스에서 유전율과 투자율에 대한 고유한 값을 결정할 방법이 없다.
* 공간 및 시간 단계는 CFL 조건을 충족해야 하며, 그렇지 않으면 편미분 방정식을 푸는 데 사용되는 도약적분이 불안정해질 가능성이 있다.
* FDTD는 계산 영역의 모든 곳에서 E/H 필드를 직접 찾는다. 일부 거리에서 필드 값이 필요한 경우, 이 거리는 계산 영역을 지나치게 크게 만들 수 있다. FDTD에 대한 원거리장 확장이 가능하지만, 약간의 후처리가 필요하다.
* FDTD 시뮬레이션은 계산 영역 내의 모든 지점에서 E 및 H 필드를 계산하므로, 컴퓨터 메모리에 상주할 수 있도록 계산 영역은 유한해야 한다. 많은 경우 이는 시뮬레이션 공간에 인공 경계를 삽입함으로써 달성된다. 이러한 경계에 의해 발생하는 오류를 최소화하기 위해 주의를 기울여야 한다. 무한한 무경계 계산 영역을 시뮬레이션하기 위한 여러 가지 매우 효과적인 흡수 경계 조건(ABC)이 있다. 대부분의 현대 FDTD 구현은 대신 흡수 경계를 구현하기 위해 완전 일치층 (PML)이라는 특수 흡수 "재료"를 사용한다.
* FDTD는 시간 영역에서 필드를 앞으로 전파함으로써 해결되므로, 매질의 전자기 시간 응답을 명시적으로 모델링해야 한다. 임의의 응답의 경우, 이는 계산적으로 비용이 많이 드는 시간 컨볼루션을 포함하지만, 대부분의 경우 매질의 시간 응답(또는 분산 (광학))은 재귀 컨볼루션(RC) 기술, 보조 미분 방정식(ADE) 기술 또는 Z-변환 기술을 사용하여 적절하고 간단하게 모델링할 수 있다. 임의의 분산을 쉽게 처리할 수 있는 유사 스펙트럼 공간 영역 (PSSD)은 대신 필드를 공간적으로 앞으로 전파한다.

### 격자 절단 기술
개방 영역 FDTD 모델링 문제에 가장 일반적으로 사용되는 격자 절단 기술은 Mur 흡수 경계 조건(ABC), Liao ABC, 및 다양한 완전 일치층 (PML) 공식이다. Mur 및 Liao 기술은 PML보다 간단하다. 그러나 PML(엄밀히 말하면 경계 조건이라기보다는 흡수 영역)은 몇 배 더 낮은 반사를 제공할 수 있다. PML 개념은 J.-P. Berenger가 1994년 Journal of Computational Physics에 실린 선구적인 논문에서 소개했다. 1994년 이후 Berenger의 원래 분리 필드 구현은 단축 PML(UPML), 컨볼루션 PML(CPML) 및 고차 PML로 수정 및 확장되었다. 후자의 두 PML 공식은 소멸파를 흡수하는 능력이 향상되었으므로, 원칙적으로 Berenger의 원래 공식보다 시뮬레이션된 산란 또는 복사 구조에 더 가깝게 배치될 수 있다.

PML로부터의 원치 않는 수치 반사를 줄이기 위해 추가적인 후방 흡수층 기술을 사용할 수 있다.

## 인기
동일 기간 동안 학술 출판 처리량의 일반적인 증가와 모든 수치 전자기학 (CEM) 기술에 대한 전반적인 관심 확대에도 불구하고, 맥스웰 방정식에 대한 FDTD 전산 해법 접근 방식에 대한 엄청난 관심 확대에는 일곱 가지 주요 이유가 있다.

# FDTD는 행렬 역변환을 요구하지 않는다. 완전히 명시적인 계산이므로, FDTD는 주파수 영역 적분 방정식 및 유한요소 전자기학 모델의 크기를 일반적으로 109개 미만의 전자기장 미지수로 제한하는 행렬 역변환의 어려움을 피한다. 109개만큼 많은 필드 미지수를 가진 FDTD 모델이 실행되었으며, 이 수치에는 본질적인 상한이 없다.
# FDTD는 정확하고 견고하다. FDTD 계산의 오류 원인은 잘 이해되어 있으며, 매우 다양한 전자기파 상호작용 문제에 대한 정확한 모델을 허용하도록 제한될 수 있다.
# FDTD는 충격적인 동작을 자연스럽게 처리한다. 시간 영역 기술이므로, FDTD는 전자기 시스템의 충격 응답을 직접 계산한다. 따라서 단일 FDTD 시뮬레이션은 여기 스펙트럼 내의 모든 주파수에서 초광대역 시간 파형 또는 정현파 정상 상태 응답을 제공할 수 있다.
# FDTD는 비선형 동작을 자연스럽게 처리한다. 시간 영역 기술이므로, FDTD는 전자기 시스템의 비선형 응답을 직접 계산한다. 이를 통해 FDTD와 고전적 또는 반고전적 관점에서 비선형성을 설명하는 보조 미분 방정식 세트를 자연스럽게 결합할 수 있다. 한 가지 연구 분야는 FDTD 고전 전자기학 모델과 양자 전자기학에서 발생하는 현상, 특히 카시미르 효과와 같은 진공 요동을 결합하는 하이브리드 알고리즘의 개발이다.
# FDTD는 체계적인 접근 방식이다. FDTD를 사용하면 모델링할 새로운 구조를 지정하는 것이 적분 방정식의 잠재적으로 복잡한 재구성보다는 메시 생성 문제로 축소된다. 예를 들어, FDTD는 구조 의존적 그린 함수의 계산을 요구하지 않는다.
# 병렬 처리 컴퓨터 아키텍처가 슈퍼컴퓨팅을 지배하게 되었다. FDTD는 병렬 처리 CPU 기반 컴퓨터에서 높은 효율성으로 확장되며, 최근 개발된 GPU 기반 가속기 기술에서 매우 잘 작동한다.
# 컴퓨터 시각화 기능이 빠르게 증가하고 있다. 이러한 추세는 모든 수치 기법에 긍정적인 영향을 미치지만, 필드 동역학을 설명하는 데 적합한 시간 진행 필드 양의 배열을 생성하는 FDTD 방법에는 특히 유리하다.
# 이방성은 FDTD 방법으로 자연스럽게 처리된다. 각 직교 방향에 성분을 갖는 이(Yee) 셀은 이방성 특성으로 쉽게 구성될 수 있다.

태플로브는 이러한 요소들이 결합하여 FDTD가 지배적인 전산 전자기학 기술 중 하나로 남을 것임을 시사한다고 주장했다 (다른 다중 물리 문제에서도 마찬가지이다).

## 같이 보기
* 수치 전자기학
* 고유모드 확장
* 빔 전파법
* 유한차분 주파수 영역법
* 유한요소법
* 산란 행렬법
* 이산 쌍극자 근사

## 각주

## 더 읽어보기

Nature Milestones: Photons의 다음 기사는 맥스웰 방정식과 관련된 FDTD 방법의 역사적 중요성을 보여준다:
*

앨런 태플로브의 인터뷰, "Numerical Solution", 2015년 1월 네이처 포토닉스 특집호에 실린 맥스웰 방정식 출판 150주년 기념. 이 인터뷰는 FDTD 개발이 맥스웰 전자기학 이론의 150년 역사와 어떻게 연결되는지 다루고 있다:
* Nature Photonics 인터뷰

다음 대학 수준 교과서들은 FDTD 방법에 대한 좋은 일반적인 소개를 제공한다:

*

*

*

*

*

## 외부 링크

자유 소프트웨어/오픈 소스 소프트웨어 FDTD 프로젝트:
* FDTD++: 정교한 재료 모델과 사전 정의된 적합, 토론/지원 포럼 및 이메일 지원을 포함한 고급의 모든 기능을 갖춘 FDTD 소프트웨어
* openEMS (C++로 작성되었으며 Matlab/GNU 옥타브 인터페이스를 사용하는 완전 3D 직교 및 원통형 등급 메쉬 EC-FDTD 솔버)
* pFDTD (Se-Heon Kim이 개발한 3D C++ FDTD 코드)
* JFDTD (Jeffrey M. McMahon이 나노광학을 위해 개발한 2D/3D C++ FDTD 코드)
* WOLFSIM  (NCSU) (2-D)
* Meep (MIT, 2D/3D/원통형 병렬 FDTD)
* (지리-) 레이더 FDTD
* bigboy (유지보수되지 않음, 릴리스 파일 없음. cvs에서 소스를 가져와야 함)
* C++의 병렬 (MPI 및 OpenMP) FDTD 코드 (Zs. Szabó가 개발)
* Fortran 90의 FDTD 코드
* 2D EM 파동 시뮬레이션을 위한 C 언어 FDTD 코드
*  (Ilker R. Capoglu가 유지보수하는 3D 병렬 FDTD 소프트웨어 패키지)
* GSvit (그래픽 카드 컴퓨팅을 지원하는 3D FDTD 솔버, C로 작성되었으며 그래픽 사용자 인터페이스 XSvit 사용 가능)
* gprMax (GPLv3 오픈 소스, GPR용으로 개발되었으나 일반 EM 모델링에 사용 가능한 Python/Cython의 3D/2D FDTD 모델링 코드.)
프리웨어/클로즈드 소스 FDTD 프로젝트 (일부는 상업적 용도로 사용할 수 없음):
* EMTL (Electromagnetic Template Library) (전자기 시뮬레이션을 위한 무료 C++ 라이브러리. 현재 버전은 주로 FDTD를 구현한다.)

분류:전자기학
분류:동전기학
분류:전자기파
분류:계산과학
분류:수치 해석 소프트웨어
분류:시뮬레이션 소프트웨어
분류:수치미분방정식