Skip to content
cfd-lab:~/ko/posts/fdm-fem-fvm● online
NOTE #006DAY MON CFD기법DATE 2026.03.09UPDATED 2026.10.19READ 7 min read#CFD#FDM#FEM#FVM#Numerical-Methods

FDM vs FEM vs FVM: 세 가지 이산화 기법의 본질적 차이

미분, 약형식, 플럭스 중 어디를 자르느냐가 보존과 비정렬 격자를 가른다.

같은 PDE, 세 가지 길#

편미분방정식을 컴퓨터에 올리면, 연속 공간을 어디서 자를지가 먼저다. 식이 같아도 미지수를 어디에 앉히느냐에 따라 기법이 갈린다.

예시로 1D 이류-확산 하나를 둔다.

∂u∂t+a∂u∂x=ν∂2u∂x2\frac{\partial u}{\partial t} + a\frac{\partial u}{\partial x} = \nu\frac{\partial^2 u}{\partial x^2}

드롭다운에서 FDM, FEM, FVM을 바꾸면 같은 격자 위 자유도가 점, 기저 계수, 셀 중심으로 옮겨 앉는다.

같은 격자 위에 세 방법이 어떤 자유도(노드/셀/요소)를 가지는지 비교 — 보존성과 정확도 차이의 출발점.

FDM은 점이 줄을 서고, FVM은 칸 한가운데에 값을 하나 둔다. FEM은 절점의 계수와 요소를 가로지르는 기저라, 자리만 봐도 출발점이 다르다.


1. 유한차분법 (Finite Difference Method, FDM)#

핵심 아이디어#

미분을 **차분(difference)**으로 직접 근사한다.

가장 직관적인 접근입니다. 격자점(node)에서의 함수값을 Taylor 전개하여 도함수를 근사합니다.

수학적 출발: Taylor 전개#

점 xix_i에서의 Taylor 전개:

u(xi+Δx)=u(xi)+Δx∂u∂x∣i+Δx22∂2u∂x2∣i+⋯u(x_i + \Delta x) = u(x_i) + \Delta x \frac{\partial u}{\partial x}\bigg|_i + \frac{\Delta x^2}{2}\frac{\partial^2 u}{\partial x^2}\bigg|_i + \cdots

이로부터 차분 근사를 유도합니다:

전방 차분 (Forward):

∂u∂x∣i≈ui+1−uiΔx+O(Δx)\frac{\partial u}{\partial x}\bigg|_i \approx \frac{u_{i+1} - u_i}{\Delta x} + O(\Delta x)

중앙 차분 (Central):

∂u∂x∣i≈ui+1−ui−12Δx+O(Δx2)\frac{\partial u}{\partial x}\bigg|_i \approx \frac{u_{i+1} - u_{i-1}}{2\Delta x} + O(\Delta x^2)

2차 도함수:

∂2u∂x2∣i≈ui+1−2ui+ui−1Δx2+O(Δx2)\frac{\partial^2 u}{\partial x^2}\bigg|_i \approx \frac{u_{i+1} - 2u_i + u_{i-1}}{\Delta x^2} + O(\Delta x^2)

이류-확산 방정식에 적용#

중앙 차분을 사용하면:

duidt+aui+1−ui−12Δx=νui+1−2ui+ui−1Δx2\frac{du_i}{dt} + a\frac{u_{i+1} - u_{i-1}}{2\Delta x} = \nu\frac{u_{i+1} - 2u_i + u_{i-1}}{\Delta x^2}

격자점의 미지수 uiu_i에 대한 연립 ODE 시스템이 됩니다.

장단점#

장점:

  • 개념이 단순하고 구현이 쉬움
  • 구조 격자(structured grid)에서 매우 효율적
  • 고차 정확도 달성이 용이 (compact scheme, spectral-like scheme)
  • 직교 격자에서 행렬 구조가 깔끔 (band matrix)

단점:

  • 비정렬 격자(unstructured grid) 적용이 어려움 - 이것이 치명적
  • 복잡한 형상에 대한 격자 생성이 까다로움
  • 보존 법칙을 자동으로 만족시키지 않음

대표 적용 분야#

  • DNS/LES (직교 격자 기반 난류 시뮬레이션)
  • 기상/해양 모델 (구조 격자)
  • 지진파 전파 시뮬레이션
  • Compact scheme 기반 고정밀 계산

2. 유한요소법 (Finite Element Method, FEM)#

핵심 아이디어#

해를 기저함수(basis function)의 선형결합으로 근사하고, **가중 잔차(weighted residual)**를 최소화한다.

FEM은 미분 방정식을 풀지 않습니다. 대신 **약형식(weak formulation)**이라 불리는 적분 형태로 변환합니다.

수학적 출발: 약형식 (Weak Form)#

원래 PDE(강형식, strong form)에 시험함수(test function) ww를 곱하고 적분합니다:

∫Ωw(∂u∂t+a∂u∂x−ν∂2u∂x2)dx=0\int_\Omega w \left(\frac{\partial u}{\partial t} + a\frac{\partial u}{\partial x} - \nu\frac{\partial^2 u}{\partial x^2}\right) dx = 0

확산항에 부분 적분(integration by parts)을 적용하면:

∫Ωw∂u∂t dx+∫Ωw a∂u∂x dx+∫Ων∂w∂x∂u∂x dx=[νw∂u∂x]Γ\int_\Omega w \frac{\partial u}{\partial t}\,dx + \int_\Omega w\, a\frac{\partial u}{\partial x}\,dx + \int_\Omega \nu\frac{\partial w}{\partial x}\frac{\partial u}{\partial x}\,dx = \left[\nu w \frac{\partial u}{\partial x}\right]_\Gamma

이것이 약형식입니다. 핵심 변화를 주목하세요:

  • 원래 2차 도함수가 필요했지만, 부분 적분 후 1차 도함수만 필요
  • 해의 연속성 요구사항이 완화됨 (C1→C0C^1 \to C^0)
  • 경계 조건이 자연스럽게 포함됨 (Neumann BC = 우변)

Galerkin 근사#

해를 기저함수 ϕj\phi_j의 선형결합으로 표현합니다:

uh(x,t)=∑j=1NUj(t) ϕj(x)u^h(x, t) = \sum_{j=1}^{N} U_j(t)\,\phi_j(x)

Galerkin 방법에서는 시험함수와 기저함수를 같은 공간에서 택합니다 (w=ϕiw = \phi_i):

∑j(∫Ωϕiϕj dx)dUjdt+∑j(∫Ωϕi a ϕj′ dx+∫Ων ϕi′ ϕj′ dx)Uj=0\sum_j \left(\int_\Omega \phi_i \phi_j\,dx\right) \frac{dU_j}{dt} + \sum_j \left(\int_\Omega \phi_i\, a\, \phi_j'\,dx + \int_\Omega \nu\, \phi_i'\, \phi_j'\,dx\right) U_j = 0

행렬 형태로:

MdUdt+KU=f\mathbf{M}\frac{d\mathbf{U}}{dt} + \mathbf{K}\mathbf{U} = \mathbf{f}
  • M\mathbf{M}: 질량 행렬 (mass matrix)
  • K\mathbf{K}: 강성 행렬 (stiffness matrix)
  • f\mathbf{f}: 경계/소스 벡터

기저함수의 선택#

가장 많이 쓰이는 것은 라그랑주 다항식(Lagrange polynomial) 기반 요소입니다:

요소차수절점 수 (2D 삼각형)특징
P1 (Linear)1차3가장 기본, 저비용
P2 (Quadratic)2차6곡면 형상 표현 가능
P3 (Cubic)3차10고정밀, 비용 증가

장단점#

장점:

  • 비정렬 격자에 자연스러움 - 삼각형/사면체 메시로 복잡한 형상 처리
  • 수학적으로 엄밀한 오차 추정(a priori / a posteriori error estimate) 가능
  • 적응 격자(adaptive mesh refinement)와 궁합이 좋음
  • p-refinement (다항식 차수 높이기)와 h-refinement (격자 세분화) 유연하게 선택

단점:

  • 보존 법칙을 직접 만족시키지 않음 (표준 Galerkin)
  • 대류 지배 문제에서 불안정 (oscillation) - SUPG, GLS 등의 안정화 필요
  • 질량 행렬 역행렬 필요 (또는 mass lumping)
  • FDM/FVM 대비 구현 복잡도 높음

대표 적용 분야#

  • 고체 역학 / 구조 해석 (FEM의 원래 고향)
  • 전자기장 해석
  • 열전달
  • 생체역학
  • 지반/지질 역학

3. 유한체적법 (Finite Volume Method, FVM)#

핵심 아이디어#

보존 법칙을 **제어 체적(control volume)**에 대해 적분하고, 체적 경계를 통과하는 **플럭스(flux)**의 균형을 맞춘다.

FVM은 물리적 보존 법칙을 가장 직접적으로 반영합니다.

수학적 출발: 적분형 보존 법칙#

이류-확산 방정식을 적분형으로 씁니다:

ddt∫Viu dx+∮∂Vi(au−ν∂u∂x)⋅n dS=0\frac{d}{dt}\int_{V_i} u\,dx + \oint_{\partial V_i} \left(au - \nu\frac{\partial u}{\partial x}\right) \cdot n\, dS = 0

제어 체적 Vi=[xi−1/2, xi+1/2]V_i = [x_{i-1/2},\, x_{i+1/2}]에 대해:

duˉidt=−1Δx(F^i+1/2−F^i−1/2)\frac{d\bar{u}_i}{dt} = -\frac{1}{\Delta x}\left(\hat{F}_{i+1/2} - \hat{F}_{i-1/2}\right)

여기서 uˉi\bar{u}_i는 셀 평균값이고, F^i+1/2\hat{F}_{i+1/2}는 셀 경계에서의 수치 플럭스입니다.

수치 플럭스의 결정#

FVM은 셀 경계 플럭스를 어떻게 계산하느냐에서 갈린다.

이류항 - Riemann solver 또는 upwind 기반:

F^i+1/2adv=RiemannSolver(uˉi, uˉi+1)\hat{F}^{adv}_{i+1/2} = \text{RiemannSolver}(\bar{u}_i,\, \bar{u}_{i+1})

확산항 - 중앙 차분:

F^i+1/2diff=−νuˉi+1−uˉiΔx\hat{F}^{diff}_{i+1/2} = -\nu\frac{\bar{u}_{i+1} - \bar{u}_i}{\Delta x}

재구성 (Reconstruction)#

셀 평균값만으로는 1차 정확도입니다. 고차 정확도를 위해서는 셀 내부의 분포를 **재구성(reconstruction)**해야 합니다:

MUSCL (2nd order):

ui+1/2L=uˉi+12ψ(ri) (uˉi−uˉi−1)u_{i+1/2}^L = \bar{u}_i + \frac{1}{2}\psi(r_i)\,(\bar{u}_i - \bar{u}_{i-1})

여기서 ψ\psi는 slope limiter, rir_i는 연속된 기울기의 비율입니다.

WENO (5th order):

세 개의 2차 다항식 후보를 비선형 가중 평균하여 5차 정확도를 달성합니다:

ui+1/2L=∑k=02ωk qk(xi+1/2)u_{i+1/2}^L = \sum_{k=0}^{2} \omega_k\, q_k(x_{i+1/2})

smoothness indicator βk\beta_k에 따라 가중치 ωk\omega_k가 결정되어, 불연속 근처에서는 자동으로 매끈한 스텐실에 가중치를 줍니다.

면 확산은 직교 간격으로 나눈 −ν(uˉi+1−uˉi)/Δx-\nu(\bar{u}_{i+1}-\bar{u}_i)/\Delta x다. 법선이 격자선과 나란할 때만 그 차가 법선 기울기가 된다. 면이 비뚤면 이웃 평균의 차만으로 방향이 안 맞는다. 그 구멍은 비직교 확산 보정이 메운다. 보정을 빼면 보존형으로 써도 확산이 빗나간다.

앞의 전방 차분은 O(Δx)O(\Delta x), 중앙 차분과 2차 도함수 스텐실은 O(Δx2)O(\Delta x^2)였다. 전방은 테일러의 Δx2/2\Delta x^2/2 항을 남긴다. 중앙은 ui+1u_{i+1}과 ui−1u_{i-1}을 빼 그 항을 지운다. 간격을 반으로 줄이면 전방 오차는 대략 반, O(Δx2)O(\Delta x^2) 쪽은 대략 1/4이다. 셀 평균만 쓰면 재구성 없이 1차에 머문다. 고차는 면으로 올리면서 붙는다.

MUSCL의 1/21/2는 평균에서 면까지 선형으로 올리는 계수다. ψ(ri)=1\psi(r_i)=1이면 기울기를 다 쓰고, 00이면 면 값이 uˉi\bar{u}_i로 돌아가 다시 1차다. WENO는 후보를 k=0,1,2k=0,1,2 세 개만 더한다. 각 qkq_k는 2차 다항이고, ωk\omega_k는 βk\beta_k가 큰 스텐실의 무게를 깎는다. 매끈한 구간에서 그 셋이 5차로 합쳐진다는 말은 가중합의 차수다. ψ\psi가 0으로 떨어지면 5차 식은 있어도 그 면은 1차로 내려앉는다. 삼각형 P1의 절점은 3, P2는 6, P3는 10이다. 차수를 1에서 3으로 올리면 원소 미지수가 3을 넘어 10이 된다. 약형식의 M\mathbf{M}은 ∫ϕiϕj dx\int \phi_i \phi_j\,dx이고, K\mathbf{K}는 ϕiϕj′\phi_i \phi_j'과 ν ϕi′ϕj′\nu\,\phi_i'\phi_j'를 묶는다. ν\nu가 양이면 확산 블록은 대칭에 가깝다. 이류의 aa는 비대칭을 남긴다.

장단점#

장점:

  • 보존 법칙이 이산 수준에서 정확히 만족 - CFD에서 결정적 장점
  • 충격파, 불연속면 포착에 강함
  • 비정렬 격자 적용 가능
  • 물리적 직관과 직결되는 플럭스 기반 사고

단점:

  • 고차 정확도 달성이 FEM보다 어려움 (재구성이 복잡해짐)
  • 확산 방정식에서는 FEM보다 비효율적일 수 있음
  • 비정렬 격자에서 고차 재구성의 구현이 까다로움

대표 적용 분야#

  • CFD 전반 (OpenFOAM, ANSYS Fluent, SU2)
  • 압축성/비압축성 유동
  • 다상유동, 연소, 반응 유동
  • 기상/기후 모델의 역학 코어 일부

핵심 비교#

수학적 출발점#

기법출발점핵심 도구
FDM강형식 (Strong form) PDETaylor 전개
FEM약형식 (Weak form)기저함수 + 가중 잔차
FVM적분형 보존 법칙제어 체적 + 수치 플럭스

"무엇을" 이산화하는가#

이것이 가장 본질적인 차이입니다:

  • FDM: 미분 연산자(∂/∂x\partial/\partial x)를 이산화
  • FEM: 해 공간(solution space)을 이산화
  • FVM: 적분형 방정식의 플럭스를 이산화

미지수의 위치#

  • FDM: 격자점(node)에서의 점값(point value)
  • FEM: 절점(node)에서의 점값 (기저함수의 계수)
  • FVM: 셀(cell)의 평균값(cell average)

종합 비교#

항목FDMFEMFVM
구현 난이도낮음높음중간
비정렬 격자어려움자연스러움가능
보존성XX (표준)O
복잡 형상어려움우수가능
고차 정확도용이용이 (p-ref)가능 (WENO)
충격파 포착가능어려움우수
수학적 이론보통우수보통
대류 지배 문제보통안정화 필요우수

경계가 흐려지는 현대 기법들#

최근에는 세 기법의 장점을 결합한 하이브리드 방법들이 활발히 연구되고 있습니다:

Discontinuous Galerkin (DG)#

FEM의 기저함수 + FVM의 플럭스 개념을 결합합니다. 각 셀 내부에서는 다항식으로 해를 근사(FEM)하고, 셀 경계에서는 Riemann solver로 플럭스를 계산(FVM)합니다.

∫Viw∂uh∂t dx−∫Vi∂w∂xF(uh) dx+F^i+1/2wi+1/2−−F^i−1/2wi−1/2+=0\int_{V_i} w \frac{\partial u^h}{\partial t}\,dx - \int_{V_i} \frac{\partial w}{\partial x} F(u^h)\,dx + \hat{F}_{i+1/2} w_{i+1/2}^- - \hat{F}_{i-1/2} w_{i-1/2}^+ = 0

보존성 + 고차 정확도 + 비정렬 격자 모두를 만족합니다. 다만 계산 비용이 높고, 충격파 근처에서 limiter가 필요합니다.

Spectral Difference / Flux Reconstruction#

DG와 유사하지만 적분 없이 미분 형태로 풀어 효율성을 높인 기법입니다. GPU 가속과 궁합이 매우 좋아 차세대 CFD 솔버에서 주목받고 있습니다.

Meshless Methods (SPH 등)#

격자 자체를 없애는 접근. 입자(particle) 기반으로 근사합니다. 자유표면 유동, 대변형 문제에 강점이 있지만 정확도/일관성 이슈가 있습니다.


보존이 필요하면 차분 스텐실을 접는다#

상자 안의 DNS이고 격자도 직교면, 중앙 차분의 O(Δx2)O(\Delta x^2)로 충분하다. 점 세 개가 2차 도함수를 만들고, 행렬은 띠로 남는다. 형상이 꺾이고 비정렬이면 그 스텐실은 이웃을 정의하지 못한다. 그때 FEM의 약형식이 기하를 삼킨다. 다만 표준 Galerkin의 M\mathbf{M}과 K\mathbf{K}는 셀마다 플럭스가 상쇄된다고 약속하지 않는다.

충격파가 지나가며 적분이 숫자 그대로 남아야 하면 FVM이다. 면 플럭스 F^i+1/2\hat{F}_{i+1/2}가 왼쪽 셀의 손실이자 오른쪽 셀의 이득이라, 내부 면은 더하면 사라진다. 고차와 보존을 한 자리에 두려면 불연속 갈레르킨 이산화처럼 셀 안은 다항, 셀 면은 리만 플럭스로 간다. 제한자를 빼면 그 혼합도 충격 앞에서 진동한다.

도움이 됐다면 공유해주세요.