작성일 : 2015년 10월 17일
번역일 : 2016년 5월 11일
크롬 브라우저로 보시는 것을 권장해 드립니다.
------------------------------------------------------------
----- OpenFOAM 소스코드를 다루는 문법 기본 -----
------------------------------------------------------------
4. 경계조건 |
4.1 기본경계조건
여기서, X_p는 셀의 중심값이다. (각각의 계수는 fixedVlueFvPatchField 등의 함수 valueInternalCoeffs, valueBoundaryCoeffs, gradientInternalCoeffs, gradientBoundaryCoeefs의 반환값에 각각 대응한다.)
값지정 경계조건의 경우, 지정된 값을 X_b_bar라고 하면
여기에서, d 는 셀의 중심에서 경계까지의 거리를 나타낸다, 각 계수는
구배지정 경계조건의 경우, 지정된 구배를 (nabla*X_b)_bar 라고 하면
각 계수는
제로구배경계조건의 경우
각 계수는
OpenFOAM 에서는 값지정경계조건과 구배지정경계조건의 혼합경계조건도 있다 (mixedFvPatch). X_b 는 다음과 같이 표현된다.
여기서 omega 는 값지정조건과 구배지정조건의 비율을 결정하는 계수이다. omega = 1 이라면 값지정조건이되며, omega = 0 이면 구배지정조건이 된다. (X_bar_b 는 refValue, (Nabula*X_b)_bar 는 refGrad, omega는 valueFraction에 대응한다.)
4.2 유입조건
질량유량 m_dot 이 지정되어 있으면,
으로 계산된다.
압력을 지정하는 경우, 압력은 값지정조건, 속도는 압력으로부터 계산하는 조건을 사용한다. 압력으로 속도를 계산하는 조건으로 OpenFOAM에서는 pressureInletOutletVelocity와 pressureDirectInlutOutletVelocity가 있다. 이것들은 유입, 유출 모두에 대응한다. 유입의 경우, 전자의 경우 근처 셀의 속도의 법선방향성분을 얻어내고, 후자의 경우 지정한 방향의 성분을 얻어낸다. 혼합조건으로 표현되어있으며, pressureInletOutletVelocity의 경우 다음과 같이 표현된다.
n 을 면의 법선벡터라고하면, omega 는 phi 가 음이면 유입으로 omega = I - nn 로 하며, phi 가 양이면 유출로 omega = 0 이다. omega가 텐서이므로 이해하기 쉽지 않지만, 유입속도는 다음과 같다.
pressureDirectedInletOutletVelocity의 경우, 다음과 같이 표현된다.
여기서, phi 는 유체flux, v 는 지정한방향멕터이다. omega는 phi 가 음이라면 유입으로 omega = 1을 취하며, phi 가 양이라면 유출로 omega = 0 을 취한다.
4.3 유출조건
이 사용되기도 한다. 여기서 u_n 은 경계면방향의 속도, n은 경계면방향의 좌표에 해당한다.
압력에 대해서는 값지정조건을 사용한다. 압력방정식을 풀기위해 어딘가에서 압력값을 지정할 필요가 있으나, 유출경계조건에 지정하는 경우가 많다. 출구가 없는 영역에 대해서 풀 경우, 영역내의 어딘가에 적절한 압력값을 설정할 필요가 있다. OpenFOAM 에서는 pRefCell, pRefValue를 설정하는것에 해당한다.
온도등의 스칼라값은 제로구배조건 또는 대류유출경계조선으로 한다.
대류유출경계조건은 이산화하면 다음과 같이 표현된다.
여기서 u_b_0 는 이전스텝의 u_b에 해당한다. OpenFOAM에서는, 이것을 혼합경계조건으로 각각의 값은 다음과 같다.
4.4 역류를 고려한 유출조건
w 는 phi 가 음이면 유입을 의미하며 w = 1 이고, phi 가 양이면 유출을 의미하고 w = 0 으로 한다.
4.5 벽의 경계조건
OpenFOAM에서는 다음과 같은 식으로 계산한다.
압력에 대해서는 속도로부터 압력구배를 구하는 방법을 사용한다. 식 (45) 로부터, 벽의 압력구배 nabula(p_b)는 다음과 같은 식으로 표현할 수 있다.
OpenFOAM에서는 fixedFluxPressure가 이 조건에 해당하며, 다음과 같은 식으로 계산을 수행한다.
여기서 D_p = 1/A 라는 변수가 사용되고 있으며, 이 경계조건을 사용하려면 D_p 가 정의되는 솔버를 전제로 한다. D_p 의 정의를 보면 (bouyantSimpleFoam 의 pEqn.H 등) D_p = 1/(rho*A) 로 되어 있으므로, 이 조건은 밀도분포를 다루는 것과 관련이 있다.
온도에 대해서는 먼저 값지정조건과 구배지정조건이 있다. 값지정조건은 말그대로 온도를 지정하는 것이다. 구배지정조건은 열유속을 지정하는 것에 해당한다. 열유속은 푸리에 법칙으로부터
따라서, 온도구배는 다음과 같은 식으로 표현된다.
단열조건의 경우, 제로구배조건을 사용하면 된다. 또한, 열전달경계조건은 다음과 같은 식으로 표현된다.
여기서 h 는 열전달률, T_exp 는 외부온도에 해당한다. 이 조건은 미지수를 포함하고 있으므로, 구배지정조건으로는 사용할 수 없고 별도의 전용 조건을 구성하여야 한다.
OpenFOAM의 경우, 열유속을 지정하는 조건으로 turbulentHeatFluxTemperature, compressible:turbulentHeatFluxTemprature가 있다. 전자는 비압축성유체솔버 (Boussinesq근사를 사용한 솔버(의 것이다. 열전달률을 열확산률으로부터 구하므로, 열물성을 가지지 않는 비압축성유체 솔버의 경우에는 rho*c_p 의 값을 별도로 지정해 주어야 한다. 열전달경계조건으로는 wallHeatTransfer가 있다.
4.6 영역간 열전달조건
같은방법으로, 벽면에서부터 근접셀의 중심으로 흐르는 열유속 q_n 은 다음과 같이 표현된다.
열유속 q_p 와 q_n 은 같으므로, 경계면 온도는 다음과 같다.
이것은 다음과 같이 바꾸어 적을 수 있다.
OpenFOAM 에서는 compressible:turbulentTemperatureCoupledBaffleMixed 에서 위 식을 혼합경계조건으로 사용한다. 식 (66) 을 통해 다음과 같이 설정한다.
'OpenFOAM > 배경이론 간단정리' 카테고리의 다른 글
[OpenFOAM 배경이론 간단정리] 압력-속도 연성 (0) | 2016.04.12 |
---|---|
[OpenFOAM 배경이론 간단정리] 유한체적법에 의한 이산화 (0) | 2016.04.11 |
[OpenFOAM 배경이론 간단정리] 열유체의 구배방정식 (0) | 2016.04.08 |
[OpenFOAM 배경이론 간단정리] 시리즈 목차 (4) | 2016.04.05 |