작성일 : 2015년 10월 17일
번역일 : 2016년 4월 11일
크롬 브라우저로 보시는 것을 권장해 드립니다.
------------------------------------------------------------
----- OpenFOAM 소스코드를 다루는 문법 기본 -----
------------------------------------------------------------
3. 유한체적법에 의한 이산화 |
그림. 1
여기서 rho 는 밀도, u 는 속도벡터, k 는 확산계수, S 는 소스항에 해당한다. 이것을 유한체적법으로 이산화 한다. 먼저 방정식을 셀에 대해 적분한다.
이것은 다음과 같이 적을 수 있다.
이때, V_p 는 주목하는 셀의 체적이다. 시간미분은 차분법으로 이산화한다고 생각하면 되고, 공간미분의 이산화에 대해 생각해보자.
발산(divergence)는 가우스의 발산정리에 의해 다음과 같이 표현된다.
여기서, n 은 영역표면의 법선벡터를 나타낸다. S_f 는 셀을 구성하는 각각의 면에 대해 수직인 각각의 면의 면적을 크기로 가지는 벡터(면적벡터)를 나타낸다.
라플라시안에 대해서도 동일하다.
구배에 대해서도 같은 방법으로,
자, 여기서 미지수는 ϕ_f 나 (∇ϕ)_f 의 면중심의 값이다. 이것들을 표현하는 방법에 따라 이산화의 오류가 영향을 주게 된다. 이것들을 보간법하거나 이산화하는 방법을 보간스킴(interpolation scheme) 이라던지 이산화 스킴(discretization scheme) 등으로 부른다. ϕ_f 는 다음의 식으로 표현한다.
여기서 w 는 비율을 나타내며, 선형보간일때 w 는 Nf 간의 거리와 PN 간의 거리의 비를 나타낸다.
선형보간은 차분법에서 말하는 중심차분(central differencing)에 해당하며, 대류항에 사용하기에 부적절하다. 대류항에 대해서는 다음과 같은 Upwind스킴 등을 사용한다.
면중심의 구배 (∇ϕ)_f 에 대해서는, (∇ϕ)_f . Sf 의 형태로 면의 법선방향의 구배를 이산화한다.
이같은 방법으로 방정식 (30) 을 이산화하면, 일반적으로 다음과 같은 형태로 표현된다.
여기서, A_P, A_N 은 대수방정식의 계수행렬에 해당하는 것으로, b 는 대수방정식의 우변에 해당한다. 이것을 전체 셀에 대해 합성하면 편미분방정식의 대응하는 대수방정식이 완성된다.
'OpenFOAM > 배경이론 간단정리' 카테고리의 다른 글
[OpenFOAM 배경이론 간단정리] 경계조건 (0) | 2016.05.11 |
---|---|
[OpenFOAM 배경이론 간단정리] 압력-속도 연성 (0) | 2016.04.12 |
[OpenFOAM 배경이론 간단정리] 열유체의 구배방정식 (0) | 2016.04.08 |
[OpenFOAM 배경이론 간단정리] 시리즈 목차 (4) | 2016.04.05 |