[수치해석] Partial Differential Equation (1) semi-discretization

2025. 7. 20. 13:57·수치해석 Numerical Analysis

 

PDE는 물리적 관점 또는 수학적 관점에서 분류할 수 있다.

 

1. Classification of PDEs

 

첫 번째로 물리적 관점에서 봤을 때 Equilibrium 

 

1) Equilibrium problem

 

다음과 같은 steady state를 푸는 문제. 이를 Elliptic PDEs라고 한다.

Laplace equation : $\nabla^2 u = 0$

Poisson equation : $\nabla^2 u = \rho$

 

2) Propagation (marching) problem

 

Initial value problem 또는 Boundary value problem

transient process를 다룬다.

 

parabolic, hyperbolic PDEs가 다음에 해당한다.

 

 

수학적 관점에서는 hyperbolic, parabolic, elliptic PDEs로 분류할 수 있다.

$$au_{xx}+bu_{xy}+cu_{yy}=f$$

 

$a,b,c,f$에 따라 달라진다.

 

$b^2-4ac > 0$이면 hyperbolic PDE

$b^2-4ac = 0$이면 parabolic PDE

$b^2-4ac<0$이면 elliptic PDE

 

$$\frac{\partial u}{\partial t^2}-a^2\frac{\partial^2 u}{\partial x^2}=f$$

$$au_{xx}+bu_{xy}+cu_{yy}=f$$

관점에서 봤을 때 $b^2-4ac=0+4a^2>0$ : hyperbolic eqn.

 

$$\frac{\partial u}{\partial t}=\alpha \frac{\partial^2 u}{\partial x^2}$$

$b^2-4ac = 0 - 4\alpha \cdot 0 =0$ parabolic eqn.

 

$$\frac{\partial^2 u}{\partial x^2}+\frac{\partial^2 u}{\partial y^2}=0$$

$b^2-4ac = 0-4\cdot 1\cdot 1=-4 < 0$ elliptic eqn.

 

 

2. Semi-discretization

.

PDE를 풀기 위해서 PDE를 a set of ODEs로 바꿔주는 과정을 거쳐야 한다.

 

다음과 같은 parabolic equation이 있다고 하자.

$$\frac{\partial \phi}{\partial t } = \alpha \frac{\partial^2 \phi}{\partial x^2}$$

I.C. : $\phi (x,0)=f$

B.C. : $\phi (0,t)=0, \; \phi (L,t)=0$

 

공간에 대해서 discretization을 한다.

 

$$
\frac{\partial \phi_j}{\partial t} = \alpha \left[ \frac{\phi_{j+1} - 2\phi_j + \phi_{j-1}}{\Delta x^2} \right] + \theta(\Delta x^2)
$$

 

* $j = 1$:

$$
\frac{\partial \phi_1}{\partial t} = \frac{\alpha}{\Delta x^2} \phi_0 - \frac{2\alpha}{\Delta x^2} \phi_1 + \frac{\alpha}{\Delta x^2} \phi_2
$$

* $j = 2$:

$$
\frac{\partial \phi_2}{\partial t} = \frac{\alpha}{\Delta x^2} \phi_1 - \frac{2\alpha}{\Delta x^2} \phi_2 + \frac{\alpha}{\Delta x^2} \phi_3
$$

* $j = N-1$:

$$
\frac{\partial \phi_{N-1}}{\partial t} = \frac{\alpha}{\Delta x^2} \phi_{N-2} - \frac{2\alpha}{\Delta x^2} \phi_{N-1} + \frac{\alpha}{\Delta x^2} \phi_N
$$

 

이를 행렬형태로 바꾸면 다음과 같다.

 


$$
\frac{\partial}{\partial t}
\begin{bmatrix}
\phi_1 \\
\phi_2 \\
\vdots \\
\phi_{N-1}
\end{bmatrix}
=
\begin{bmatrix}
\frac{-2\alpha}{\Delta x^2} & \frac{\alpha}{\Delta x^2} & 0 & \cdots & 0 \\
\frac{\alpha}{\Delta x^2} & \frac{-2\alpha}{\Delta x^2} & \frac{\alpha}{\Delta x^2} & \cdots & 0 \\
0 & \ddots & \ddots & \ddots & 0 \\
0 & \cdots & \frac{\alpha}{\Delta x^2} & \frac{-2\alpha}{\Delta x^2}
\end{bmatrix}
\begin{bmatrix}
\phi_1 \\
\phi_2 \\
\vdots \\
\phi_{N-1}
\end{bmatrix}
$$

 

matrix는 $(N-1)\times (N-1)$ Tri-Dialgonal matrix이므로 빠르게 계산할 수 있다.

 

$$\frac{d}{dt}\Phi = A\Phi $$

$A = \frac{\alpha}{\Delta x^2 }B[1, -2, 1]$로 표현할 수 있다.

여기서 표기한 $B$는 Bandwidth가 $[1, -2, 1]$로 표현되는 것을 말한다. 위의 matrix에서 다 diagonal term이 $\frac{\alpha}{\Delta x^2}, \frac{-2\alpha}{\Delta x^2}, \frac{\alpha}{\Delta x^2} $이기 때문이다.

 

$A=B[a,b,c]^{n\times n}$일 때

$\lambda_j=b+2\sqrt{ac}\cdot \cos\alpha_j \text{  where  }\alpha_j =\frac{j\pi }{n+1},\; j=1,2,\ldots,n$

로 이미 알려진 바 있다. (Ref. W-C Wueh Applied Mathematics E-Notes (2005))

 

$\frac{d}{dt}\underline{z} = \Lambda \underline{z}$에서

$$\lambda_j = (-2+2\sqrt{1}\cos{\frac{j\pi}{N}})\frac{\alpha}{\Delta x^2}$$

 

$$
\cos \frac{\pi}{N} = 1 - \frac{1}{2} \left( \frac{\pi}{N} \right)^2 + \cdots
$$

$$
\lambda_1 = \left( -2 + 2\left(1 - \frac{1}{2} \left( \frac{\pi}{N} \right)^2 \right) \right) \frac{\alpha}{\Delta x^2}
= - \frac{\pi^2 \alpha}{N^2 \Delta x^2}
$$

$$
\lambda_{N-1} = \left( -2 + 2\cos \left( \frac{N-1}{N} \pi \right) \right) \frac{\alpha}{\Delta x^2}
\approx \left( -2 + 2\cos \pi \right) \frac{\alpha}{\Delta x^2}
= -\frac{4\alpha}{\Delta x^2}
$$

 

 

$\lambda_{i}$를 알고 있기 때문에 대략적으로 condition number를 계산하면 

 

$$
\kappa(A) \approx \frac{4N^2}{\pi^2} \quad \text{for large } N \Rightarrow A \text{ becomes stiff.}
$$

 

explicit scheme을 쓰면 timestep이 작아야 한다. 공간에 대한 grid N개를 늘릴 수록 A matrix가 stiff해지기 때문에 explicit scheme의 stability를 확인해봐야 한다.

 

 

다음 글에서는 stability를 어떻게 분석하는지에 대해 다룬다.

저작자표시 비영리 변경금지 (새창열림)

'수치해석 Numerical Analysis' 카테고리의 다른 글

[수치해석] Partial Differential Equation (3) Von Neumann Stability Analysis  (0) 2025.07.20
[수치해석] Partial Differential Equation (2) Matrix stability analysis  (0) 2025.07.20
[수치해석] System of ODEs - Boundary value problem  (0) 2025.07.20
[수치해석] System of ODEs - Initial value problem  (0) 2025.07.20
[수치해석] 미분방정식을 시간이 작아지는 방향으로(역으로) 풀 때  (0) 2023.09.17
'수치해석 Numerical Analysis' 카테고리의 다른 글
  • [수치해석] Partial Differential Equation (3) Von Neumann Stability Analysis
  • [수치해석] Partial Differential Equation (2) Matrix stability analysis
  • [수치해석] System of ODEs - Boundary value problem
  • [수치해석] System of ODEs - Initial value problem
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (468)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability &amp; Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (27)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 실험 Experiment (1)
      • 유학 생활 Daily (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    고체역학
    텝스
    MATLAB
    Linear algebra
    obsidian
    서버
    수치해석
    ChatGPT
    옵시디언
    LaTeX
    teps
    JAX
    matplotlib
    텝스공부
    Python
    Julia
    Dear abby
    논문작성법
    Statics
    딥러닝
    생산성
    우분투
    Zotero
    WOX
    에러기록
    논문작성
    Numerical Analysis
    pytorch
    IEEE
    인공지능
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[수치해석] Partial Differential Equation (1) semi-discretization
상단으로

티스토리툴바