Engineer's Background

음해법 Implicit method vs. 양해법 Explicit method

행복지구 2019. 12. 14. 22:59

--

Implicit method (음해법) vs Explicit method (양해법)



시간에 따른 미분방정식을 푸는 수치해석을 할 때 등장하는 음해법과 양해법에 대해 알아보자. 


음해법과 양해법은 미분방정식의 형태에 따라 이름이 붙여진 것이다. 





1. Explicit method (해법, 陽解法)


접두어 'Ex'는 밖으로 라는 뜻으로 많이 사용된다. 

양해법이라 이름을 살펴보면, '양'이라는 것을 보통 남성(밖으로 돌출된 그것)을 뜻하는 경우가 많다. 


용어의 어원을 살펴보면, 뭔가 밖으로 돌출되거나 나와있는 것을 활용한 방법임을 유추할 수 있다. 


양해법에서는 k+1번째의 y값은 k번째에서 계산되는 값들로 표현이 가능하다.  



즉, 양해법은 k+1번째 값을 구하기 위해 우항에는 k번째 값들로 다 계산이 가능하므로, 계산 시간이 빠르고 직관적이다. 

하지만 발산할 가능성도 높아 안정성이 떨어진다.  

 


2. Implicit method (해법, 陰解法) 


접두어 'Im'은 안으로 라는 뜻으로 

음해법은 뭔가 안으로 품어 있는 것을 활용하는 방법으로 생각해볼 수 있다.   


음해법은 k+1번째의 상태가 우항에 포함이 되어 있어, k+1번째 y 값을 구하기 위해서, k+1의 상태의 다른 값들을 알아야 한다. 



음해법은 적당한 초기값들이 주어지면, 안정적으로 수렴하지만 매 step마다 iteration을 하고 방정식들을 풀어야 하므로 계산시간이 오래걸린다. 










3. 적용



이런 개념으로 양해법과 음해법이 수치해석에서 어떻게 사용되는지 알아보자. 


설명을 쉽게 하기 위해, 한쪽을 뜨겁고 한쪽은 차가운 기다란 막대기가 시간에 따라 온도가 어찌 변화하는지 수치적으로 살펴본다고 해보자. 


그럼, 먼저 해야할 것이 막대기를 control volume으로 설정하고, n개의 격자로 나눈다. 여기서는 8개로 해보자 


  


막대기의 질량중심을 각 격자의 중간에 있다고 가정하고,  

 


각 격자의 위치마다 상첨자로 표시하고, t초일 때를 나타내면 다음과 같이 표시할 수 있다. 



t초일 때 막대의 온도분포가 다음과 같다고 하자.  



그리고 t+1초일 때, 막대의 온도분포를 색으로 나타내면 다음과 같이 온도분포가 균일하게 변화할 것이다. 




제일 온도가 높던 1번째 격자의 온도는 점차 줄어드는데 이를 다음과 같다면 아래와 같다




이를 수치 모델링을 하면 다음과 같이 표현 가능하다. 



3.1. 유한 시간 간격과 시간 단계


여기서 k는 시간 단계(time level)을 뜻하며, 는 시간 간격(time interval)이다.  



3.2. 해법 시간 계산




여기서 k=0은 초기온도를 뜻한다. 


여기서 온도가 낮아지는 정도는 에 따라 달라지는데, 이 값은 1을 넘을 수 없다. 왜냐하면 값이 음수가 되면,  온도값이 음수가 되는데, 주어진 표에서는 온도가 음수를 가지지 않기 때문이다.  


즉, 이 된다. 

이처럼, 주어진 조건에 따라, 시간간격()의 한계를 결정할 수 있는데, 이를 수치 안정도 조건(condition of numerical stability)라고 한다.   



3.3. 해법 시간 계산


우변의 온도는 k+1 시간 단계의 값으로 주어진다. 이를 다시 미지수와 기지수를 나눠 다시 써보면 다음과 같다.


양해법에 비해 이 음해법 전방 시간 계산(implicit time-forward iteration)의 장점은 어떤 시간간격()에 대해서도 수치적으로 안정하다는 점이다. 




--

__

2019. 12. 14 작성