전산물리학:유한요소법

This is an old revision of the document!


개요

라플라스 방정식 혹은 푸아송 방정식과 같은 편미분방정식을 풀기 위해 전체 공간을 작은 요소들로 쪼개고 각각의 요소 안에서는 선형적으로 해가 변화한다고 가정한 후 전체적으로 변분법을 적용하여 해를 찾는 방법.

푸아송 방정식 $\nabla^2 V = -\rho / \epsilon$이라면 우리가 최소화해야 하는 양은 다음과 같다: $$W = \frac{1}{2} \int \left[ \epsilon \left| \nabla V \right|^2 - 2\rho V \right] dS.$$ 라플라스 방정식에서는 $\rho=0$으로 놓는다.

라플라스 방정식

그림과 같은 삼각형을 생각하자. 이 안에서는 해가 $V^{(e)}(x,y) = a + bx +cy$처럼 선형적으로 변화한다고 가정한다. 세 꼭지점에서의 값 $V_1^{(e)}$, $V_2^{(e)}$, $V_3^{(e)}$가 주어져 있다면 계수 $a$, $b$, $c$를 다음처럼 찾을 수 있다. $$\begin{pmatrix} a\\ b\\ c \end{pmatrix} = \begin{pmatrix} 1 & x_1 & y_1\\ 1 & x_2 & y_2\\ 1 & x_3 & y_3 \end{pmatrix}^{-1} \begin{pmatrix} V_1^{(e)}\\ V_2^{(e)}\\ V_3^{(e)} \end{pmatrix}. $$ 따라서 삼각형 요소 내부의 한 점 $(x,y)$에서는 다음처럼 기술되며 $$V^{(e)}(x,y) = \begin{pmatrix} 1 & x & y \end{pmatrix} \begin{pmatrix} 1 & x_1 & y_1\\ 1 & x_2 & y_2\\ 1 & x_3 & y_3 \end{pmatrix}^{-1} \begin{pmatrix} V_1^{(e)}\\ V_2^{(e)}\\ V_3^{(e)} \end{pmatrix} = \sum_{i=1}^3 V_i^{(e)} \alpha_i (x,y), $$ $\alpha_i(x,y)$의 구체적인 형태는 다음과 같다. \begin{eqnarray*} \alpha_1 (x,y) &=& \frac{1}{2A} \left[ (x_2 y_3 - x_3 y_2) + (y_2 - y_3)x + (x_3-x_2) y \right]\\ \alpha_2 (x,y) &=& \frac{1}{2A} \left[ (x_3 y_1 - x_1 y_3) + (y_3 - y_1)x + (x_1-x_3) y \right]\\ \alpha_3 (x,y) &=& \frac{1}{2A} \left[ (x_1 y_2 - x_2 y_1) + (y_1 - y_2)x + (x_2-x_1) y \right]. \end{eqnarray*} 이때 분모의 $A$는 삼각형 요소의 면적으로서 다음의 식에 의해 표현된다. $$2A = \begin{vmatrix} 0 & 0 & 1\\ x_2-x_1 & y_2-y_1 & 0\\ x_3-x_1 & y_3-y_1 & 0 \end{vmatrix} = (x_2-x_1)(y_3-y_1) - (x_3-x_1)(y_2-y_1). $$

라플라스 방정식 $\nabla^2 V = 0$를 풀고자 변분법을 적용하게 위해 삼각형 요소 하나의 기여분을 계산해보면 다음과 같다. \begin{eqnarray*} W^{(e)} &=& \frac{1}{2} \int \epsilon_0 \left| \nabla V^{(e)} \right|^2 dS\\ &=& \frac{1}{2} \sum_{i=1}^3 \sum_{j=1}^3 \epsilon_0 V_i^{(e)} \left[ \int \nabla \alpha_i \cdot \nabla \alpha_j dS \right]\\ &=& \frac{1}{2} \epsilon_0 \left[ V^{(e)} \right]^\intercal \left[ C^{(e)} \right] \left[ V^{(e)} \right]. \end{eqnarray*} 이때 $$\left[ V^{(e)} \right] \equiv \begin{pmatrix} V_1^{(e)}\\ V_2^{(e)}\\ V_3^{(e)} \end{pmatrix}$$ 이고, $C_{ij}^{(e)} \equiv \int \nabla \alpha_i \cdot \nabla \alpha_j dS = C_{ji}^{(e)}$일 때 다음처럼 정의한다. $$\left[ C^{(e)} \right] \equiv \begin{pmatrix} C_{11}^{(e)} & C_{12}^{(e)} & C_{13}^{(e)}\\ C_{21}^{(e)} & C_{22}^{(e)} & C_{23}^{(e)}\\ C_{31}^{(e)} & C_{32}^{(e)} & C_{33}^{(e)} \end{pmatrix}$$ 만일 $P_1 \equiv y_2-y_3$, $P_2 \equiv y_3-y_1$, $P_3 \equiv y_1-y_2$, $Q_1 \equiv x_3-x_2$, $Q_2 \equiv x_1-x_3$, 그리고 $Q_3 \equiv x_2-x_1$이라 한다면 다음처럼 쓸 수도 있다. \begin{eqnarray*} C_{ij}^{(e)} &=& \frac{1}{4A} \left( P_i P_j + Q_i Q_j \right)\\ A &=& \frac{1}{2} \left( P_2 Q_3 - P_3 Q_2 \right). \end{eqnarray*} 이때 삼각형의 꼭지점을 반시계방향으로 돌도록 해야 $A$가 양수로 얻어짐에 주의한다.

전체 목적함수는 개개의 요소에 대한 값들을 더함으로써 얻어진다. 즉 전체 요소 수를 $N$개라고 하면 다음과 같다. $$W = \sum_{e=1}^N W^{(e)}$$ 세 개의 요소로 이루어진 간단한 예를 생각해보자.

여기에서 (1), (2), (3)은 요소를 가리키는 숫자이고, 각 삼각형 안의 1,2,3은 요소 안에서 꼭지점을 가리킬 때, 바깥쪽의 1,2,3,4,5는 전체 시스템 상에서 각 점을 가리킬 때 사용한다. 그래서 다음과 같은 관계가 성립한다. \begin{eqnarray*} && V_1^{(1)} = V_1^{(2)} = V_1\\ && V_2^{(1)} = V_3^{(2)} = V_3^{(3)} = V_4\\ && V_3^{(1)} = V_2\\ && V_2^{(2)} = V_1^{(3)} = V_3\\ && V_2^{(3)} = V_5 \end{eqnarray*}

따라서 전체 목적함수는 다음처럼 계산된다. \begin{eqnarray*} W &=& \frac{1}{2} \epsilon_0 \begin{pmatrix} V_1^{(1)} & V_2^{(1)} & V_3^{(1)} \end{pmatrix} \begin{pmatrix} C_{11}^{(1)} & C_{12}^{(1)} & C_{13}^{(1)}\\ C_{21}^{(1)} & C_{22}^{(1)} & C_{23}^{(1)}\\ C_{31}^{(1)} & C_{32}^{(1)} & C_{33}^{(1)} \end{pmatrix} \begin{pmatrix} V_1^{(1)} \\ V_2^{(1)} \\ V_3^{(1)} \end{pmatrix}\\ &+& \frac{1}{2} \epsilon_0 \begin{pmatrix} V_1^{(2)} & V_2^{(2)} & V_3^{(2)} \end{pmatrix} \begin{pmatrix} C_{11}^{(2)} & C_{12}^{(2)} & C_{13}^{(2)}\\ C_{21}^{(2)} & C_{22}^{(2)} & C_{23}^{(2)}\\ C_{31}^{(2)} & C_{32}^{(2)} & C_{33}^{(2)} \end{pmatrix} \begin{pmatrix} V_1^{(2)} \\ V_2^{(2)} \\ V_3^{(2)} \end{pmatrix}\\ &+& \frac{1}{2} \epsilon_0 \begin{pmatrix} V_1^{(3)} & V_2^{(3)} & V_3^{(3)} \end{pmatrix} \begin{pmatrix} C_{11}^{(3)} & C_{12}^{(3)} & C_{13}^{(3)}\\ C_{21}^{(3)} & C_{22}^{(3)} & C_{23}^{(3)}\\ C_{31}^{(3)} & C_{32}^{(3)} & C_{33}^{(3)} \end{pmatrix} \begin{pmatrix} V_1^{(3)} \\ V_2^{(3)} \\ V_3^{(3)} \end{pmatrix}\\ &=& \left[ V_1^{(1)} C_{11}^{(1)} V_1^{(1)} + V_1^{(1)} C_{12}^{(1)} V_2^{(1)} + V_1^{(1)} C_{13}^{(1)} V_3^{(1)} \right]\\ &+& \left[ V_2^{(1)} C_{21}^{(1)} V_1^{(1)} + V_2^{(1)} C_{22}^{(1)} V_2^{(1)} + V_2^{(1)} C_{23}^{(1)} V_3^{(1)} \right]\\ &+& \left[ V_3^{(1)} C_{31}^{(1)} V_1^{(1)} + V_3^{(1)} C_{32}^{(1)} V_2^{(1)} + V_3^{(1)} C_{33}^{(1)} V_3^{(1)} \right]\\ &+& \left[ V_1^{(2)} C_{11}^{(2)} V_1^{(2)} + V_1^{(2)} C_{12}^{(2)} V_2^{(2)} + V_1^{(2)} C_{13}^{(2)} V_3^{(2)} \right]\\ &+& \left[ V_2^{(2)} C_{21}^{(2)} V_1^{(2)} + V_2^{(2)} C_{22}^{(2)} V_2^{(2)} + V_2^{(2)} C_{23}^{(2)} V_3^{(2)} \right]\\ &+& \left[ V_3^{(2)} C_{31}^{(2)} V_1^{(2)} + V_3^{(2)} C_{32}^{(2)} V_2^{(2)} + V_3^{(2)} C_{33}^{(2)} V_3^{(2)} \right]\\ &+& \left[ V_1^{(3)} C_{11}^{(3)} V_1^{(3)} + V_1^{(3)} C_{12}^{(3)} V_2^{(3)} + V_1^{(3)} C_{13}^{(3)} V_3^{(3)} \right]\\ &+& \left[ V_2^{(3)} C_{21}^{(3)} V_1^{(3)} + V_2^{(3)} C_{22}^{(3)} V_2^{(3)} + V_2^{(3)} C_{23}^{(3)} V_3^{(3)} \right]\\ &+& \left[ V_3^{(3)} C_{31}^{(3)} V_1^{(3)} + V_3^{(3)} C_{32}^{(3)} V_2^{(3)} + V_3^{(3)} C_{33}^{(3)} V_3^{(3)} \right]\\ &=& \left[ V_1 C_{11}^{(1)} V_1 + V_1 C_{12}^{(1)} V_4 + V_1 C_{13}^{(1)} V_2 \right]\\ &+& \left[ V_4 C_{21}^{(1)} V_1 + V_4 C_{22}^{(1)} V_4 + V_4 C_{23}^{(1)} V_2 \right]\\ &+& \left[ V_2 C_{31}^{(1)} V_1 + V_2 C_{32}^{(1)} V_4 + V_2 C_{33}^{(1)} V_2 \right]\\ &+& \left[ V_1 C_{11}^{(2)} V_1 + V_1 C_{12}^{(2)} V_3 + V_1 C_{13}^{(2)} V_4 \right]\\ &+& \left[ V_3 C_{21}^{(2)} V_1 + V_3 C_{22}^{(2)} V_3 + V_3 C_{23}^{(2)} V_4 \right]\\ &+& \left[ V_4 C_{31}^{(2)} V_1 + V_4 C_{32}^{(2)} V_3 + V_4 C_{33}^{(2)} V_4 \right]\\ &+& \left[ V_3 C_{11}^{(3)} V_3 + V_3 C_{12}^{(3)} V_5 + V_3 C_{13}^{(3)} V_4 \right]\\ &+& \left[ V_5 C_{21}^{(3)} V_3 + V_5 C_{22}^{(3)} V_5 + V_5 C_{23}^{(3)} V_4 \right]\\ &+& \left[ V_4 C_{31}^{(3)} V_3 + V_4 C_{32}^{(3)} V_5 + V_4 C_{33}^{(3)} V_4 \right]\\ &=& \begin{pmatrix} V_1 & V_2 & V_3 & V_4 & V_5 \end{pmatrix} \begin{pmatrix} C_{11}^{(1)} + C_{11}^{(2)} & C_{13}^{(1)} & C_{12}^{(2)} & C_{12}^{(1)}+C_{13}^{(2)} & 0\\ C_{31}^{(1)} & C_{33}^{(1)} & 0 & C_{32}^{(1)} & 0\\ C_{21}^{(2)} & 0 & C_{22}^{(2)}+C_{11}^{(3)} & C_{23}^{(2)}+C_{13}^{(3)} & C_{12}^{(3)}\\ C_{21}^{(1)}+C_{31}^{(2)} & C_{23}^{(1)} & C_{32}^{(2)}+C_{31}^{(3)} & C_{22}^{(1)}+C_{33}^{(2)}+C_{33}^{(3)} & C_{32}^{(3)}\\ 0 & 0 & C_{21}^{(3)} & C_{23}^{(3)} & C_{22}^{(3)} \end{pmatrix} \begin{pmatrix} V_1 \\ V_2 \\ V_3 \\ V_4 \\ V_5 \end{pmatrix}\\ &=& \left[ V \right]^\intercal \left[ C \right] \left[ V \right]. \end{eqnarray*}

$k=1,\ldots,N$에 대해 다음을 요구하자: $$\frac{\partial W}{\partial V_k} = 0.$$ 예를 들어 $k=1$이라면, \begin{eqnarray*} 0 = \frac{\partial W}{\partial V_1} = 2V_1 C_{11} + V_2 C_{12} + V_3 C_{13} + V_4 C_{14} + V_5 C_{15} + V_2 C_{21} + V_3 C_{31} + V_4 C_{41} + V_5 C_{51} \end{eqnarray*} 이며 $C_{ij} = C_{ji}$임을 이용하면 $$V_1 C_{11} + V_2 C_{12} + V_3 C_{13} + V_4 C_{14} + V_5 C_{15} = 0$$ 으로 간략하게 적을 수 있다. 일반적인 $k$에 대해서는 $$ 0 = \sum_{i=1}^N V_i C_{ik}$$ 이므로 다음 식이 만족된다. $$V_k = - \frac{1}{C_{kk}^{-1}} \sum_{i=1, i\neq k}^N V_i C_{ki}$$ 이 방정식들을 연립하여 한번에 풀거나, 혹은 적절한 초기조건에서 시작해 반복을 통해 수렴시킴으로써 문제를 푼다.

푸아송 방정식

함께 보기

참고문헌

  • 전산물리학/유한요소법.1759120809.txt.gz
  • Last modified: 2025/09/29 13:40
  • by admin