주기적 경계 조건

thumb|2D에서의 주기적 경계 조건
thumb|흐르는 물을 시뮬레이션하는 데 사용되는 물 분자가 있는 단위 셀
**주기적 경계 조건**(, **PBC**)은 단위 셀이라는 작은 부분을 사용하여 큰(무한한) 시스템을 근사화하기 위해 종종 선택되는 경계 조건의 집합이다. PBC는 컴퓨터 시뮬레이션 및 수학적 모델에서 자주 사용된다. 2차원 PBC의 위상수학은 일부 비디오 게임의 세계 지도와 같고, 단위 셀의 기하는 완전한 2차원 테셀레이션을 만족하며, 객체가 단위 셀의 한 면을 통과하면 동일한 속도로 반대편에 다시 나타난다. 위상수학적 용어로, 2차원 PBC에 의해 생성된 공간은 원환면으로 매핑되는 것으로 생각할 수 있다 (콤팩트화). PBC로 근사화된 대형 시스템은 무한한 수의 단위 셀로 구성된다. 컴퓨터 시뮬레이션에서 이들 중 하나는 원본 시뮬레이션 상자이고 다른 것들은 이미지라고 불리는 복사본이다. 시뮬레이션 동안 원본 시뮬레이션 상자의 속성만 기록하고 전파하면 된다. 최소 이미지 관례는 PBC 입자 회계의 일반적인 형태로, 시뮬레이션의 각 개별 입자가 시스템의 나머지 입자 중 가장 가까운 이미지와 상호 작용한다.

주기적 경계 조건의 한 예는 매끄러운 실수 함수 \phi: \mathbb{R}^n \to \mathbb{R}에 따라 다음과 같이 정의할 수 있다.
: \frac{\partial^m }{\partial x_1^m} \phi(a_1,x_2,...,x_n) = \frac{\partial^m }{\partial x_1^m} \phi(b_1,x_2,...,x_n), 
: \frac{\partial^m }{\partial x_2^m} \phi(x_1,a_2,...,x_n) = \frac{\partial^m }{\partial x_2^m} \phi(x_1,b_2,...,x_n), 
: ... , 
: \frac{\partial^m }{\partial x_n^m} \phi(x_1,x_2,...,a_n) = \frac{\partial^m }{\partial x_n^m} \phi(x_1,x_2,...,b_n) 
여기서 m = 0, 1, 2, ...이고 a_i와 b_i는 상수이다.

분자동역학 시뮬레이션 및 몬테카를로 분자 모델링에서 PBC는 일반적으로 벌크 기체, 액체, 결정 또는 혼합물의 속성을 계산하는 데 적용된다. 일반적인 응용 분야에서는 PBC를 사용하여 명시적 용매 욕조에서 용매화된 고분자를 시뮬레이션한다. 보른-폰 카르만 경계 조건은 특수 시스템에 대한 주기적 경계 조건이다.

전자기학에서 PBC는 주기적 구조의 전자기적 속성을 분석하기 위해 다른 메시 유형에 적용될 수 있다.

## 요구 사항 및 인공물
3차원 PBC는 기체, 액체, 고체의 거시적 시스템의 동작을 근사화하는 데 유용하다. 3차원 PBC는 평면 표면을 시뮬레이션하는 데도 사용할 수 있으며, 이 경우 2차원 PBC가 더 적합한 경우가 많다. 평면 표면에 대한 2차원 PBC는 슬랩 경계 조건이라고도 한다. 이 경우 PBC는 두 직교 좌표(예: x 및 y)에 사용되며 세 번째 좌표(z)는 무한대로 확장된다.

PBC는 에발트 합 방법(예: 입자 메시 에발트 방법)과 함께 사용하여 시스템의 정전기력을 계산할 수 있다. 그러나 PBC는 또한 시스템의 병진 불변성을 존중하지 않는 상관 아티팩트를 도입하며, 시뮬레이션 상자의 구성 및 크기에 대한 제약이 필요하다.

고체 시스템 시뮬레이션에서 시스템의 모든 불균일성에서 발생하는 변형률 필드는 주기적 경계에 의해 인위적으로 잘리고 수정될 것이다. 유사하게, 시스템의 음파 또는 충격파 및 포논의 파장은 상자 크기에 의해 제한된다.

이온(쿨롱) 상호작용을 포함하는 시뮬레이션에서, PBC가 적용될 때 무한한 전하로 합산되는 것을 피하기 위해 시스템의 순 전하는 0이어야 한다. 일부 응용 분야에서는 관심 분자가 전하를 띠는 경우 적절한 수의 나트륨 또는 염화 이온과 같은 짝이온을 추가하여 중성을 얻는 것이 적절하다. 때때로 관심 분자가 중성인 시스템에도 이온을 추가하여 분자가 자연적으로 나타나는 용액의 이온 강도를 근사화하기도 한다. 최소 이미지 관례의 유지는 또한 일반적으로 비결합력에 대한 구형 차단 반경이 정육면체 상자 한 변 길이의 절반 이하가 되도록 요구한다. 정전기적으로 중성인 시스템에서도 단위 셀의 순 쌍극자 모멘트는 극성 결정의 초전기와 동일한 가짜 벌크-표면 에너지를 유발할 수 있다. 액체나 고체와 같은 시뮬레이션된 시스템에 PBC를 적용한 또 다른 결과는 이 가상의 시스템이 모든 방향으로 무한하기 때문에 "주변"과 접촉하지 않는다는 것이다. 따라서 정전기 퍼텐셜과 같은 장거리 에너지 기여와 확장하여 전자와 같은 전하를 띤 입자의 에너지는 실험적 에너지 스케일에 자동으로 정렬되지 않는다. 수학적으로, 이 에너지 준위 모호성은 정전기 에너지의 합이 방법 사용자가 설정해야 하는 표면 항에 의존한다는 것에 해당한다.

시뮬레이션 상자의 크기는 또한 시뮬레이션의 비물리적인 위상수학으로 인해 주기적 아티팩트가 발생하는 것을 방지할 만큼 충분히 커야 한다. 너무 작은 상자에서는 고분자가 이웃 상자에 있는 자체 이미지와 상호 작용할 수 있는데, 이는 분자의 "머리"가 자신의 "꼬리"와 상호 작용하는 것과 기능적으로 동일하다. 이는 대부분의 고분자에서 매우 비물리적인 동역학을 생성하지만, 결과의 크기와 따라서 고분자 크기에 대한 적절한 상자 크기는 시뮬레이션의 의도된 길이, 원하는 정확성 및 예상되는 동역학에 따라 달라진다. 예를 들어, 단백질 접힘 시뮬레이션은 천연 상태에서 시작하면 더 작은 변동을 겪을 수 있으므로 무작위 코일 형태에서 시작하는 시뮬레이션만큼 큰 상자가 필요하지 않을 수 있다. 그러나 용매화 껍질이 관찰된 동역학(시뮬레이션 또는 실험에서)에 미치는 영향은 잘 이해되지 않고 있다. DNA 시뮬레이션을 기반으로 한 일반적인 권장 사항은 모든 차원에서 관심 분자 주변에 최소 1nm의 용매를 요구하는 것이다.

## 실제 구현: 연속성과 최소 이미지 관례
시뮬레이션 상자의 한 면을 통과한 객체는 반대편 면을 통해 다시 들어가야 한다. 또는 그 이미지가 그렇게 해야 한다. 분명히 전략적 결정이 필요하다. (A) 입자가 상자를 떠날 때 다시 시뮬레이션 상자로 "접어 넣을" 것인가, 아니면 (B) 계속 가게 할 것인가(그러나 가장 가까운 이미지와의 상호 작용을 계산할 것인가)? 이 결정은 시뮬레이션 과정에 영향을 미치지 않지만, 사용자가 평균 변위, 확산 길이 등에 관심이 있다면 두 번째 옵션이 선호된다.

### (A) 입자 좌표를 시뮬레이션 상자로 제한
PBC 알고리즘을 구현하려면 최소 두 단계가 필요하다.

좌표를 제한하는 것은 다음과 같은 코드로 설명할 수 있는 간단한 작업이다. 여기서 x_size는 한 방향의 상자 길이(원점을 중심으로 하는 직교 단위 셀 가정)이고 x는 같은 방향의 입자 위치이다.


```fortran
if (periodic_x) then
  if (x <  -x_size * 0.5) x = x + x_size
  if (x >=  x_size * 0.5) x = x - x_size
end if
```


객체 사이의 거리와 벡터는 최소 이미지 기준을 따라야 한다.
이는 다음 코드에 따라 구현할 수 있다(dx가 객체 i에서 객체 j로의 거리 방향 벡터인 1차원 시스템의 경우).


```fortran
if (periodic_x) then
  dx = x(j) - x(i)
  if (dx >   x_size * 0.5) dx = dx - x_size
  if (dx <= -x_size * 0.5) dx = dx + x_size
end if
```


3차원 PBC의 경우, 두 작업 모두 3차원 모두에서 반복되어야 한다.

이러한 작업은 원점을 상자의 한 모서리로 이동하면 직교사각형 셀에 대해 훨씬 더 간결한 형태로 작성할 수 있다. 그러면 1차원에서 위치 및 거리에 대해 각각 다음과 같다.


```fortran
! After x(i) update without regard to PBC:
x(i) = x(i) - floor(x(i) / x_size) * x_size  ! For a box with the origin at the lower left vertex
! Works for x's lying in any image.
dx = x(j) - x(i)
dx = dx - nint(dx / x_size) * x_size
```


### (B) 입자 좌표를 제한하지 않음
원점을 왼쪽 아래 앞 모서리에 두는 직교 시뮬레이션 상자를 가정하면, 유효 입자 거리 계산을 위한 최소 이미지 관례는 위에서 보듯이 "가장 가까운 정수" 함수를 사용하여 계산할 수 있으며, 여기서는 C/C++ 코드이다.

```c++
x_rsize = 1.0 / x_size; // compute only when box size is set or changed

dx = x[j] - x[i];
dx -= x_size * nearbyint(dx * x_rsize);
```


이 작업을 수행하는 가장 빠른 방법은 프로세서 아키텍처에 따라 달라진다. dx의 부호가 중요하지 않은 경우 다음 방법이

```c++
dx = fabs(dx);
dx -= static_cast<int>(dx * x_rsize +  0.5) * x_size;
```

2013년에 x86-64 프로세서에서 가장 빠른 것으로 나타났다.

직교 셀이 아닌 경우 상황은 더 복잡하다.

이온 시스템 시뮬레이션에서는 에발트 합과 같이 여러 상자 이미지를 가로지르는 장거리 쿨롱 상호 작용을 처리하기 위해 더 복잡한 작업이 필요할 수 있다.

## 단위 셀 기하학
PBC는 단위 셀이 3차원 결정으로 완벽하게 테셀레이션될 수 있는 모양이어야 한다. 따라서 구형 또는 타원형의 액적은 사용할 수 없다. 정육면체 또는 직육면체가 가장 직관적이고 일반적인 선택이지만, 중앙 고분자에서 멀리 떨어진 모서리에 불필요한 양의 용매 분자가 존재하여 계산 비용이 많이 들 수 있다. 더 적은 부피를 필요로 하는 일반적인 대안은 깎은 정팔면체이다.

### 일반적인 차원
2D 및 3D 공간 시뮬레이션의 경우, 큐빅 주기적 경계 조건이 코딩이 가장 간단하므로 가장 일반적으로 사용된다. 그러나 고차원 시스템의 컴퓨터 시뮬레이션에서는 초입방체 주기적 경계 조건이 모서리가 공간의 대부분을 차지하기 때문에 효율성이 떨어질 수 있다. 일반적인 차원에서는 단위 셀을 특정 격자 채우기의 비그너-자이츠 셀로 볼 수 있다. 예를 들어, 초입방체 주기적 경계 조건은 초입방체 격자 채우기에 해당한다. 따라서 해당 차원의 밀집 채우기에 해당하는 단위 셀을 선택하는 것이 선호된다. 4D에서는 D4 격자이고, 8D에서는 E8 격자이다. 이러한 고차원 주기적 경계 조건의 구현은 정보 이론의 오류 정정 부호 접근 방식과 동일하다.

## 보존되는 속성
주기적 경계 조건에서 시스템의 선형 운동량은 보존되지만, 각운동량은 보존되지 않는다. 이 사실에 대한 일반적인 설명은 뇌터 정리에 기반을 두고 있으며, 각운동량 보존은 라그랑주 함수의 회전 불변성에서 비롯된다고 한다. 그러나 이 접근 방식은 일관성이 없는 것으로 나타났다. 즉, 주기적 셀에서 움직이는 단일 입자의 각운동량 보존이 없는 이유를 설명하지 못한다. 입자의 라그랑주 함수는 상수이며 회전 불변이지만, 입자의 각운동량은 보존되지 않는다. 이 모순은 뇌터 정리가 일반적으로 닫힌 시스템에 대해 정식화되기 때문에 발생한다. 주기적 셀은 인접 셀과 질량 운동량, 각운동량 및 에너지를 교환한다.

작은 바른틀 앙상블(입자 수, 부피, 에너지가 일정한 NVE로 약칭됨)에 적용할 때, 반사벽 대신 PBC를 사용하면 총 선형 운동량과 질량 중심의 위치 보존으로 인해 시뮬레이션 샘플링이 약간 변경된다. 이 앙상블은 "분자동역학 앙상블" 또는 NVEPG 앙상블이라고 불린다. 이러한 추가 보존량은 온도의 통계역학적 정의, 볼츠만 분포에서 벗어나는 속도 분포, 이종 질량을 가진 입자를 포함하는 시스템에 대한 등분배 원리 위반과 관련된 사소한 인공물을 도입한다. 이러한 효과 중 가장 간단한 것은 N개의 입자 시스템이 분자 동역학 앙상블에서 N-1개의 입자 시스템처럼 행동한다는 것이다. 이러한 인공물은 완벽하게 단단한 입자만 포함하는 작은 모형 시스템에 대해 정량화할 수 있는 결과를 가져오지만, 표준 생체 분자 시뮬레이션에서는 심층적으로 연구되지 않았으며, 그러한 시스템의 크기를 고려할 때 그 효과는 대체로 무시할 수 있다.

## 같이 보기

* 나선형 경계 조건
* 분자 모델링
* 분자 역학 모델링 소프트웨어 목록

## 내용주


## 각주
* 특히 15–20쪽을 참조.
* 특히 272–6쪽을 참조.

분류:경계 조건