물질(Materials)

물성값은 단상유동은 constant/thermophysicalProperties 파일에서, 다상유동은 constant/transportProperties 파일에서 설정한다. 비뉴턴유체의 점성 모델은 constant/turbulenceProperties 파일에서 설정한다.

thermophysicalProperties

thermoType 딕셔너리

thermoTypemixture, 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

CpHf 를 설정한다. 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>;
}