여러 수치해석 방법론에 대해서 알아보도록 하겠다. 먼저, 대표적으로 FDM, FEM, FVM, BEM에 대해서 알아보도록 하자.
1. FDM (Finite Difference Method)
a. 미분(Derivatives)를 Talyor expansion한 후, 주위의 값들을 이용하여 근사하는 방법.
- FEM 또는 BEM에 비해서, 편미분 방정식에서 1차 연립 방정식으로의 변환이 직접적
b. Domain approximation
- 기하학적인 영역 내에서 유한 개의 점들을 생성하고 이를 Grid라 부른다.
- Grid 간의 간격이 조밀 할 수록, 근사해의 정확도는 올라간다.
- 이웃한 Grid 간의 관계를 통해 미분방정식을 행렬 방정식으로 변환한다.
c. Exact boundary condition
d. array of grid points
2.FEM (Finite Element Method)
a. Domain approximation
- 영역을 Element라 불리는 요소들로 나눔
- 이 element 내에서 함수를 선형적인 해를 가지는 단순 함수로 근사시킨 후, 해당 함수가 미분방정식과 경계조건에 만족하도록 하는 방정식을 유도함
b. exact boundary condition
c. element-wise approximation
d. assembly of element
e. variational methods
- FEM에서는 주어진 해에 대한 변분법(variational method)를 사용하여 관련된 Error function이 Minimizing 되도록 한다.
구조해석, 유체 해석, 열 해석, 자정 해석 등에서 가장 널리 보급된 수치해석방법론
3. FVM (Finite Volume Method)
a. infinitesimal volume (혹은 element volume)에 대한 conservation law를 적용
- FEM 및 FDM과 마찬가지로 discrete approximation을 통해 주어진 PDE를 선형적인 대수방정식으로 변환함
- FVM은 많은 물리법직이 보존법칙인 점에 기반함
b. Grren-Gauss 체적법을 이용하여 미분방정식을 적분방정식으로 변환하며, 이 변환 중 보존법칙을 확실하게 만족함
c. 유체역학에서 대류항을 처리하기 용이하므로 유체유동 해석에 많이 사용됨
- 보통 CFD (Computational Fluid Dynamics)에서 주로 사용함
4. BEM (Boundary Element Method)
a. Inverse problem을 사용하여 미분방정식을 해결
b. 미분방정식보단 적분방정식을 주로 사용
c. boundary approximation
장점 | 단점 | |
FDM | a. Not need formulate matrix b. less computation time c. can interprete large displacement |
1. 임의의 Geometry를 다루기 어려움 |
FEM | a. 다양한 공학적, 물리적 문제들을 해결가능 b. 임의의 Geometry에 대해서 해결가능 |
1. FDM과 비교하면 computation time 증가 2. 프로그래밍을 하는데 상대적으로 더 어려움 |
FVM | a. Easily formulate for unstructured meshed b. only need to do flux evaluation for the cell boundary - extra powerful for robust handling of nonlinear conservation laws appearing in transport problems |
a. difficulty in complex state b. difficult to make higher order, compared to FDM, FEM |
BEM | a. Less computation time b. easy to input and output c. can interpret 3d problem to 2d problem |
a. difficulty in time-dependent characteristics b. difficulty in complex state |
[1] https://www.comsol.com/blogs/fem-vs-fvm/
[2] https://www.machinedesign.com/3d-printing-cad/fea-and-simulation/article/21832072/whats-the-difference-between-fem-fdm-and-fvm
[3] https://resources.pcb.cadence.com/blog/2020-finite-element-method-fem-vs-finite-volume-method-fvm-in-field-solvers-for-electronics
'소프트웨어 (계산용 프로그램) > Finite Element Method(FreeFem++)' 카테고리의 다른 글
[FreeFEM++] Vim 내에서 syntax 하이라이트 하는 방법 (0) | 2023.11.07 |
---|---|
[FreeFem++] Time dependent problem (0) | 2022.05.25 |
댓글