잡다구리 너구리

[경계 조건] Dirichlet, Neumann, Periodic Boundary Condition 본문

인공지능/Deep Learning

[경계 조건] Dirichlet, Neumann, Periodic Boundary Condition

너굴뽀이 2023. 9. 11. 16:32

 수치 해석의 영역에서 초기 조건과 경계 조건을 어떻게 설정하느냐는 매우 중요한 문제이다. 어떠한 경계 조건을 사용하느냐에 따라 결과가 천차만별로 달라질 수 있기 때문이다. 예를 들자면 Spectral Method 중 하나인 Legendre-Galerkin Method의 경우 $\alpha$와 $\beta$라는 계수가 경계조건에 따라 결정되는데, Dirichlet 경계 조건일 경우 $a_{\pm}=1, b_{\pm}=0$이 되고, Neumann 경계 조건의 경우 $a_{\pm}=0, b_{\pm}=1$이 된다. 이렇듯 문제에 대해 경계 조건은 매우 중요하며, 이는 인공 지능을 이용한 PDE Solver의 영역으로 넘어와도 동일하다. Dirichlet, Neumann, Periodic 등 어떤 경계조건을 사용하느냐에 따라 문제의 성질이 바뀌기 때문이다. 그렇기 때문에 매번 각각의 경계 조건의 의미가 헷갈려 다시 찾아보는 것을 방지하기 위해 아예 적어두려고 한다.

 

Dirichlet Boundary Condition

 열전달 과목에서 각 경계조건에서 제1종 경계조건, 제2종 경계 조건이라고 설명하며 가볍게 넘어갔던 기억이 있다. 하지만 그동안 경계 조건을 접해오며 이런 용어보다는 Dirichlet, Neumann 등의 명칭을 바로 사용하는 경우 밖에 못 봤기 때문에 해당 내용으로 적을 예정이다. 예전에 열역학적 관점에서 경계 조건에 대해 공부하며 가볍게 필기해 둔 내용을 보니 Dirichlet BC의 경우 "양 끝 점 온도 유지를 위해 외부에서 열을 가함으로써 온도 유지"라고 적혀있다. 

 

 말 그대로 Dirichlet BC는 함수가 도메인의 경계값을 고정적으로 사용할 때의 경계 조건이다. 이를 수식적으로 아래와 같이 표현할 수가 있다. 아래 식을 보면 알 수 있듯이 시계열에 대해 고정적인 값을 가지고 있기 때문에 일반적으로 Dirichlet BC는 경곗값이 변하지 않는다고 가정한다.

 

$$u(a, t)=T_a   ,   u(b, t)=T_b$$

 

Neumann Boundary Condition

 Neumann BC의 경우는 "충분히 단열이 되어 양 끝 점 거리 간 온도 변화가 없을 때" 사용하는 경계 조건이라고 필기가 되어있다. 즉 함숫값을 경계 조건으로 사용하는 Dirichlet과는 달리 Neumann BC는 함수의 미분 값을 통해 경계 조건을 정의 내린다. 식 구성은 아래와 같다.

 

$$u_x(a, t)=u_x(b, t)=0$$

 

Periodic Boundary Condition

 Periodic BC는 직역하면 주기적 경계 조건인데, 말 그대로 한 영역이 반복되게 위치해 있을 때 경계 조건이 반복되는 것을 말한다. 많은 상황에서 한 영역을 작은 영역으로 쪼갤 때 Periodic BC로 가정하곤 한다. 글로만 보면 무슨 소리인가 잘 이해가 안 갈 수 있는데, 1차원 영역을 가정할 경우 Periodic BC에 관한 식은 아래와 같다.

 

$$u(x+L) = u(x)$$

 

 얼핏 식을 보면 Dirichlet와 똑같아 보일 수 있지만, Periodic BC는 해당 경계 조건이 반복되는 것이기 때문에 함숫값만이 아닌 미분값 또한 동일한 형태를 취한다. Periodic BC를 사용함으로써 영역 내에서 변수 값이 주기적으로 반복되는 형상을 표현할 수 있기 때문에 실제 문제를 풀 때 많이 사용하는 경계 조건 중 하나이다.

 

글을 마치며

 경계 조건을 어떻게 설정하느냐는 문제 분석에 큰 영향을 끼친다. PINN의 관점에서 보면 PINN은 Dirichlet 경계 조건의 문제를 잘 예측하지 못하는 등 각 프레임워크 당 예측이 잘 되는 경계 조건이 있다. 때문에 편미분 방정식을 풀 때 어떤 경계조건을 가졌는지는 가장 먼저 생각할 부분이라고 생각한다.