Yee 격자 활용 개선을 통한 반암시적 PIC 코드의 자기 발산 억제

Yee 격자 활용 개선을 통한 반암시적 PIC 코드의 자기 발산 억제

초록

본 논문은 Petrov와 Davis가 제안한 반암시적 입자‑격자(Particle‑in‑Cell) 알고리즘에 Yee 격자를 적용한 변형을 제시한다. 기존 격자 배치는 자기장 발산(∇·B)이 완전히 소멸되지 않아 비물리적 결과를 초래할 수 있었다. 저자는 전기·자기장을 격자점에 교차 배치하는 Yee 스태거드 메시(staggered mesh)를 도입함으로써 ∇·B를 수 차례 감소시켰으며, 수치 실험을 통해 발산 감소 효과와 전반적인 시뮬레이션 정확도가 크게 향상됨을 입증한다.

상세 분석

Petrov‑Davis(2011) 알고리즘은 전자와 이온을 동시에 추적하면서 전자기장을 반암시적으로 업데이트하는 방식으로, 시간적 안정성을 확보하면서도 비교적 큰 시간 단계(dt)를 사용할 수 있다는 장점이 있다. 그러나 원 논문에서 채택한 격자 배치는 전기장(E)과 자기장(B)을 동일한 격자점에 정의했으며, 이는 연속 방정식인 ∇·B=0를 수치적으로 보존하지 못한다는 근본적인 한계를 가지고 있다. 실제 PIC 시뮬레이션에서는 입자 이동에 의해 발생하는 전류 밀도 J가 격자에 삽입되면서 B의 발산이 누적되기 쉽고, 이는 특히 고에너지 플라즈마나 강자성 현상에서 비물리적 자기 단자를 생성한다.

Yee 격자는 1966년 전자기 파동 해석을 위해 고안된 스태거드 격자 구조로, E와 B를 서로 다른 위치에 배치함으로써 맥스웰 방정식의 회전 연산자를 정확히 차분한다. 구체적으로 E는 전기장 성분이 면 중심에, B는 자기장 성분이 선 중심에 정의된다. 이러한 배치는 ∇·B와 ∇·E를 각각 격자 차분 연산으로 정확히 0으로 유지하도록 설계되어 있다. 저자는 이 구조를 기존 반암시적 PIC 코드에 통합하기 위해, 전류 밀도 J와 전하 밀도 ρ를 각각 E와 B가 정의된 위치에 맞추어 보간하고, 업데이트 식을 Yee 격자에 맞는 형태로 재정의하였다.

핵심적인 수치적 개선은 두 가지로 요약된다. 첫째, ∇·B의 절대값이 기존 구현에 비해 평균 10⁻⁶ 수준에서 10⁻¹² 수준으로 감소하였다. 이는 시뮬레이션 전반에 걸쳐 자기 발산이 거의 사라졌음을 의미한다. 둘째, 전자와 이온의 궤적이 보다 정확히 재현되었으며, 특히 고속 입자 빔이 전자기 파동과 상호작용할 때 발생하던 비정상적인 에너지 손실이 크게 줄어들었다. 이러한 결과는 스태거드 격자가 전자기장 연산의 수치적 일관성을 보장함으로써, 반암시적 시간 적분 스킴과 결합될 때 전체적인 물리적 정확성을 크게 향상시킨다.

또한 저자는 구현상의 몇 가지 실용적 고려사항을 제시한다. 첫째, 기존 코드에서 사용하던 선형 보간법을 Yee 격자에 맞는 2차 보간법으로 교체해야 하며, 이는 메모리 사용량을 약 20 % 증가시킨다. 둘째, 경계 조건 처리에 있어서는 전기장과 자기장의 스태거드 특성을 반영한 특수한 펄스 흡수 경계(PML)를 적용해야 한다. 셋째, 병렬화 측면에서는 각 프로세스가 담당하는 격자 블록에 대한 E와 B의 겹침 영역(overlap region)을 적절히 관리함으로써 통신 오버헤드를 최소화할 수 있다.

결론적으로, Yee 격자를 반암시적 PIC 알고리즘에 도입함으로써 자기장 발산 문제를 근본적으로 해결하고, 시뮬레이션 정확도와 안정성을 동시에 확보할 수 있음을 입증하였다. 이는 고에너지 플라즈마, 레이저‑플라즈마 상호작용, 그리고 우주 물리학 시뮬레이션 등 다양한 분야에서 보다 신뢰성 있는 수치 실험을 가능하게 할 것이다.