물질(Materials)
물성값은 단상유동은 constant/thermophysicalProperties 파일에서, 다상유동은 constant/transportProperties 파일에서 설정한다. 비뉴턴유체의 점성 모델은 constant/turbulenceProperties 파일에서 설정한다.
thermophysicalProperties
thermoType 딕셔너리
thermoType 은 mixture, transport, thermo, equationOfState, specie, energy 등의 6가지를 설정한다.
유체일 때
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}
고체일 때
thermoType
{
type heSolidThermo;
mixture pureMixture;
transport constIso;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}
- type : 유체일 때는 항상 heRhoThermo 를 사용하고, 고체일 때는 heSolidThermo 를 사용한다.
- mixture : 화학종 혼합을 계산하지 않을 때는 항상 pureMixture 를 사용한다. 화학종 혼합을 계산할 때는 multiComponentMixture 를 사용한다. 고체일 때는 항상 pureMixture 를 사용한다.
- transport : 유체인 경우 점성계수와 열전도도가 상수일 때는 const 를 사용하고, 다항식일 때는 polynomial 을 사용한다. 고체인 경우 열전도도가 상수일 때는 constIso 를 사용한다.
- thermo : 정압비열이 상수일 때 hConst 를 사용하고, 다항식일 때 hPolynomial 을 사용한다.
- equationOfState : 밀도가 상수일 때 rhoConst 를 사용하고, 완전기체일 때는 perfectGas 를, 비압축성 완전기체일 때는 incompressiblePerfectGas 를 사용한다. 다항식일 때는 icoPolynomial 를 사용한다.
- specie : 항상 specie 를 사용한다.
- energy : 항상 sensibleEnthalpy 를 사용한다.
mixture 딕셔너리
화학종 혼합을 계산하지 않을 때 유체의 물성값은 mixture 딕셔너리에서 설정한다. mixture 딕셔너리에는 thermodynamics, transport, specie, equationOfState 등의 딕셔너리가 있다. 사용 예는 다음과 같다.
...
mixture
{
thermodynamics
{
Cp 1006.0;
Hf 0;
}
transport
{
mu 1.79e-05;
Pr 0.7349959183673469;
}
specie
{
nMoles 1;
molWeight 28.966;
}
equationOfState
{
rho 1.225;
}
}
...
thermodynamics
Cp 와 Hf 를 설정한다. Cp 는 정압비열이며 Hf 는 생성열이다. BaramFlow에는 아직 화학반응이 포함되어 있지 않기 때문에 Hf 는 사용되지 않으며 항상 0으로 설정된다.
정압비열이 상수일 때 다음과 같다.
thermodynamics
{
Cp <value>;
Hf 0;
}
정압비열이 다항식일 때는 다음과 같다.
thermodynamics
{
Hf 0;
Sf 0;
CpCoeffs<8> (<a0> <a1> <a2> ... <a7>)
}
Sf 는 표준 엔트로피(standard entropy)이며 BaramFlow에는 아직 화학반응이 포함되어 있지 않기 때문에 Sf 는 사용되지 않으며 항상 0으로 설정된다.
다항식은 아래의 식과 같이 7차식으로 표현하기 때문에 8개의 계수가 필요하다.
$Cp = a_0 + a_1 T + a_2 T^2 + a_3 T^3 + a_4 T^4 + a_5 T^5 + a_6 T^6 + a_7 T^7$
transport
_mu_와 _Pr_을 설정한다. mu 는 점성계수이며 Pr 은 프란트 수(Prandtl Number)이다.
Viscosity와 Thermal Conductivity가 상수일 때 다음과 같다.
transport
{
mu <value>;
Pr <value>;
}
점성계수와 열전도도가 다항식일 때는 다음과 같다.
transport
{
muCoeffs<8> (<a0> <a1> <a2> ... <a7>)
kappaCoeffs<8> (<a0> <a1> <a2> ... <a7>)
}
점성계수가 Sutherland일 때는 다음과 같다.
transport
{
As <value>;
Ts <value>;
}
As 는 Sutherland 계수, Ts 는 Sutherland 온도
specie
_specie_에는 물질의 분자량을 설정한다.
specie
{
nMoles 1;
molWeight <value>;
}
equationOfState
밀도가 상수일 때 다음과 같다.
equationOfState
{
rho <value>;
}
밀도가 다항식일 때는 다음과 같다.
equationOfState
{
rhoCoeffs<8> (<a0> <a1> <a2> ... <a7>)
}
밀도가 이상기체일 때는 equationOfState 딕셔너리가 필요 없다.
밀도가 비압축성 이상기체일 때는 다음과 같다.
equationOfState
{
pRef <value>;
}
[기준값]의 압력을 사용한다.
transportProperties
다상유동 문제에서 각 상의 물성을 설정한다. phases 라는 딕셔너리와 각 상에 대한 딕셔너리가 필요하며, 표면장력, 캐비테이션 등을 설정한다.
phases
상이 2개일 때 다음과 같다.
phases (<phase1> <phase2>);
상이 3개 이상일 때는 다음과 같다.
phases
(
<phase1>
{
transportModel Newtonian;
nu <value>;
rho <value>;
}
<phase2>
{
transportModel Newtonian;
nu <value>;
rho <value>;
}
...
);
각 상의 물성값
상이 2개일 때는 다음과 같다.
<phase1>
{
transportModel Newtonian;
nu <value>;
rho <value>;
}
<phase2>
{
transportModel Newtonian;
nu <value>;
rho <value>;
}
상이 3개 이상일 때는 phases 딕셔너리에 설정하기 때문에 필요없다.
표면장력
상이 2개일 때 다음과 같다.
sigma <value>;
상이 3개 이상일 때는 각 상간의 값을 다음과 같이 설정한다.
sigmas
(
(<phase1> <phase2>) <value>
(<phase1> <phase3>) <value>
(<phase2> <phase3>) <value>
...
);
캐비테이션
캐비테이션 문제에서는 증기압을 pSat 에 설정하고, 캐비테이션 모델을 phaseChangeTwoPhaseMixture 에 설정한다.
pSat <value>;
phaseChangeTwoPhaseMixture SchnerrSauer; //Kunz, Merkle, Zwart
각 모델의 계수는 별도의 딕셔너리로 다음과 같이 설정한다.
Schnerr-Sauer 모델
SchnerrSauerCoeffs
{
n <value>;
dNuc <value>;
Cc <value>;
Cv <value>;
}
Kunz, Merkle 모델
KunzCoeffs // MerkleCoeffs
{
UInf <value>;
tInf <value>;
Cc <value>;
Cv <value>;
}
Zwart-Gerber-Belamri 모델
ZwartCoeffs
{
aNuc <value>;
dNuc <value>;
Cc <value>;
Cv <value>;
}