경계조건(Boundary Conditions)

경계조건은 0 폴더 아래의 파일들에 설정된다.

입구속도(Velocity Inlet)

U

속도지정방법(Velocity Specification Method)이 경계면에 수직한 속도(Magnitude, Normal to Boundary)일 때

<boundayr name> 
{
    type     surfaceNormalFixedValue;
    refValue uniform -<value>;
}

속도지정방법(Velocity Specification Method)이 x, y, z 성분(Component)일 때

<boundayr name>
{
    type    fixedValue;
    value   uniform (<Ux> <Uy> <Uz>);
}

시간에 따른 속도분포를 사용할 때, 속도지정방법이 경계면에 수직한 속도이면

<boundayr name> 
{
    type            uniformNormalFixedValue;
    uniformValue    table;
    uniformValueCoeffs
    {
        values
        (
            (<time0>    -<velocityMagnitude0>)
            (<time1>    -<velocityMagnitude1>)
            (<time2>    -<velocityMagnitude2>)
            ...
        );
    }
}

시간에 따른 속도분포를 사용할 때, 속도지정방법이 x, y, z 성분이면

<boundayr name>
{
    type            uniformFixedValue;
    uniformValue    table;
    uniformValueCoeffs
    {
        values
        (
            (<time0>  (<Ux0> <Uy0> <Uz0>))
            (<time1>  (<Ux1> <Uy1> <Uz1>))
            (<time2>  (<Ux2> <Uy2> <Uz2>))
            ...
        );
    }
}

속도의 공간분포를 사용할 때, x, y, z 좌표 파일은 constant/boundaryData//points_U 이고, Ux, Uy, Uz 파일은 constant/boundaryData//0/U 이다.

<boundayr name> 
{
    type    timeVaryingMappedFixedValue;
    points  points_U;
}

constant/boundaryData//points_U

<number of points>
(
    (<x-coordinate0> <y-coordinate0> <z-coordinate0>)
    (<x-coordinate1> <y-coordinate1> <z-coordinate1>)
    ...    
)

constant/boundaryData//0/U

<number of points>
(
    (<Ux0> <Uy0> <Uz0>)
    (<Ux1> <Uy1> <Uz1>)
    ...    
)

p_rgh

<boundayr name>
{
    type     zeroGradient;
}

T

상수일 때

<boundayr name>
{
    type    fixedValue;
    value   uniform <value>;
}

시간에 따른 변화에 조각별 선형함수(piecewise linear)를 사용할 때

<boundayr name> 
{
    type            uniformFixedValue;
    uniformValue    table;
    uniformValueCoeffs
    {
        values
        (
            (<time0>    <T0>)
            (<time1>    <T1>)
            (<time2>    <T2>)
            ...
        );
    }
}

시간에 따른 변화에 다항식(polynomial)을 사용할 때

<boundayr name> 
{
    type            uniformFixedValue;
    uniformValue    polynomial
    (
        (a0  0)
        (a1  1)
        (a2  2)
        ...
    );
}

k

지정방법이 K와 Epsilon일 때

<boundayr name>
{
    type        inletOutlet;
    inletValue  uniform <inlet value>;
    value       uniform <value>;
}

지정방법이 난류강도와 점도비율(Intensity and Viscosity Ratio)일 때

<boundayr name>
{
    type            turbulentIntensityInletOutletTKE;
    turbIntensity   uniform <value>;
    value           uniform <value>;
}

epsilon, omega

지정방법이 K와 Epsilon일 때

<boundayr name>
{
    type        inletOutlet;
    inletValue  uniform <inlet value>;
    value       uniform <value>;
}

지정방법이 난류강도와 점도비율(Intensity and Viscosity Ratio)일 때

<boundayr name>
{
    type            viscosityRatioInletOutletTDR;
    viscosityRatio  uniform <value>;
    value           uniform <value>;
}

nuTilda

지정방법이 보정 난류 점상계수(Modifed Turbulent Viscosity)일 때

<boundayr name>
{
    type    fixedValue;
    value   uniform <value>;
}

지정방법이 난류 점도비율(Turbulent Viscosity Ratio)일 때

<boundayr name>
{
    type            viscosityRatioInletOutletNuTilda;
    viscosityRatio  <value>;
    value           uniform <value>;
}

nut, alphat

<boundayr name>
{
    type    calculated;
    value   uniform <value>;
}

체적분율, 화학종, 사용자 정의 스칼라

<boundayr name>
{
    type    fixedValue;
    value   uniform <value>;
}

입구 유량(Flow Rate Inlet)

U

유량 정의 방법이 체적 유량(Volume Flow Rate)일 때

<boundayr name>
{
    type                flowRateInletVelocity;
    volumetricFlowRate  <value>;
}

유량 정의 방법이 질량 유량(Mass Flow Rate)일 때

<boundayr name>
{
    type            flowRateInletVelocity;
    massFlowRate    <value>;
    rhoInlet        <value>;
}

압력, 온도, 난류의 설정은 입구 속도 조건일 때와 같다.

입구 전압력(Pressure Inlet)

U

<boundayr name>
{
    type    pressureInletOutletVelocity;
    value   uniform <value>;
}

p_rgh

<boundayr name>
{
    type    totalPressure;
    p0      uniform <value>;
}

온도, 난류의 설정은 입구 속도 조건일 때와 같다.

대기경계층 입구(ABL Inlet)

U

<boundayr name>
{
    type    atmBoundaryLayerInletVelocity;
    flowDir (<x-dir> <y-dir> <z-dir>);
    zDir    (<x-dir> <y-dir> <z-dir>);
    Uref    <value>;
    Zref    <value>;
    z0      <value>;
    d       <value>;
}

p_rgh

<boundayr name>
{
    type    zeroGradient;
}

k

<boundayr name>
{
    type    atmBoundaryLayerInletK;
    flowDir (<x-dir> <y-dir> <z-dir>);
    zDir    (<x-dir> <y-dir> <z-dir>);
    Uref    <value>;
    Zref    <value>;
    z0      <value>;
    d       <value>;
}

epsilon

<boundayr name>
{
    type    atmBoundaryLayerInletEpsilon;
    flowDir (<x-dir> <y-dir> <z-dir>);
    zDir    (<x-dir> <y-dir> <z-dir>);
    Uref    <value>;
    Zref    <value>;
    z0      <value>;
    d       <value>;
}

omega

<boundayr name>
{
    type    atmBoundaryLayerInletOmega;
    flowDir (<x-dir> <y-dir> <z-dir>);
    zDir    (<x-dir> <y-dir> <z-dir>);
    Uref    <value>;
    Zref    <value>;
    z0      <value>;
    d       <value>;
}

nut

<boundayr name>
{
    type    calculated;
    value   uniform <value>;
}

비압축성 자유류(Free Stream)

U

<boundayr name>
{
    type            freestreamVelocity;
    freestreamValue uniform <value>;
}

p_rgh

<boundayr name>
{
    type            freestreamPressure;
    freestreamValue uniform <value>;
}

T

<boundayr name>
{
    type            freestream;
    freestreamValue uniform <value>;
}

k

지정방법이 K와 Epsilon일 때

<boundayr name>
{
    type            freestream;
    freestreamValue uniform <value>;
}

지정방법이 난류강도와 점도비율(Intensity and Viscosity Ratio)일 때

<boundayr name>
{
    type            turbulentIntensityInletOutletTKE;
    turbIntensity   uniform <value>;
    value           uniform <value>;
}

epsilon, omega

지정방법이 K와 Epsilon일 때

<boundayr name>
{
    type            freestream;
    freestreamValue uniform <inlet value>;
}

지정방법이 난류강도와 점도비율(Intensity and Viscosity Ratio)일 때

<boundayr name>
{
    type            viscosityRatioInletOutletTDR;
    viscosityRatio  uniform <value>;
    value uniform   <value>;
}

nuTilda

지정방법이 보정 난류 점상계수(Modifed Turbulent Viscosity)일 때

<boundayr name>
{
    type            freestream;
    freestreamValue uniform <inlet value>;
}

지정방법이 난류 점도비율(Turbulent Viscosity Ratio)일 때

<boundayr name>
{
    type            viscosityRatioInletOutletNuTilda;
    viscosityRatio  <value>;
    value           uniform <value>;
}

nut, alphat

<boundayr name>
{
    type    calculated;
    value   uniform <value>;
}

species, user defined scalar

<boundayr name>
{
    type    fixedValue;
    value   uniform <value>;
}

개수로 입구(Open Channel Inlet)

U

<boundayr name>
{
    type        variableHeightFlowRateInletVelocity;
    alpha       alpha.<secondary material name>;
    flowRate    <value>;
    value       uniform <value>;
}

p_rgh

<boundayr name>
{
    type    zeroGradient;
}

alpha.*

<boundayr name>
{
    type        variableHeightFlowRate;
    lowerBound  0.0;
    upperBound  1.0;
    value       uniform <value>;
}

난류의 설정은 입구 속도 조건일 때와 같다.

압축성 리만(Far-field Riemann)

U

<boundayr name>
{
    type    farfieldRiemann;
    flowDir (<x-dir> <y-dir> <z-dir>);
    MInf    <value>;
    pInf    <value>;
    TInf    <value>;
    value   uniform (<Ux> <Ux> <Ux>);
}

p, T

<boundayr name>
{
    type    farfieldRiemann;
    flowDir (<x-dir> <y-dir> <z-dir>);
    MInf    <value>;
    pInf    <value>;
    TInf    <value>;
    value   uniform <value>;
}

난류의 설정은 입구 속도 조건일 때와 같다.

아음속 입구(Subsonic Inlet)

U

<boundayr name>
{
    type    subsonicInlet;
    flowDir (<x-dir> <y-dir> <z-dir>);
    p0      <value>;
    T0      <value>;
    value   uniform (<Ux> <Ux> <Ux>);
}

p, T

<boundayr name>
{
    type    subsonicInlet;
    flowDir (<x-dir> <y-dir> <z-dir>);
    p0      <value>;
    T0      <value>;
    value   uniform <value>;
}

난류의 설정은 입구 속도 조건일 때와 같다.

초음속 입구(Supersonic Inflow)

U

<boundayr name>
{
    type    fixedValue;
    value   uniform (<Ux> <Ux> <Ux>);
}

p, T

<boundayr name>
{
    type    fixedValue;
    value   uniform <value>;
}

난류의 설정은 입구 속도 조건일 때와 같다.

출구 압력(Pressure Outlet)

U

Non-reflecging Boundary 옵션을 사용하지 않을 때

<boundayr name>
{
    type    pressureInletOutletVelocity;
    value   uniform (<Ux> <Ux> <Ux>);
}

Non-reflecging Boundary 옵션을 사용할 때

<boundayr name>
{
    type    waveTransmissive;
    gamma   <value>;
}

p_rgh

Non-reflecging Boundary 옵션을 사용하지 않을 때

<boundayr name>
{
    type    totalPressure;
    p0      uniform <value>; # value is static pressure
}

Non-reflecging Boundary 옵션을 사용할 때

<boundayr name>
{
    type    waveTransmissive;
    gamma   <value>;
}

T

유입류 조건(Specify Backflow Properties) 옵션을 사용하지 않을 때

<boundayr name>
{
    type    zeroGradient;
}

유입류 조건(Specify Backflow Properties) 옵션을 사용할 때

<boundayr name>
{
    type        inletOutletTotalTemperature;
    gamma       <value>;
    inletValue  uniform <value>;
    T0          uniform <value>;
}

k

유입류 조건(Specify Backflow Properties) 옵션을 사용하지 않을 때

<boundayr name>
{
    type    zeroGradient;
}

유입류 조건(Specify Backflow Properties) 옵션을 사용하고, 지정방법이 K와 Epsilon일 때

<boundayr name>
{
    type        inletOutlet;
    inletValue  uniform <value>;
    value       uniform <value>;
}

유입류 조건(Specify Backflow Properties) 옵션을 사용하고, 지정방법이 난류강도와 점도비율(Intensity and Viscosity Ratio)일 때

<boundayr name>
{
    type            turbulentIntensityInletOutletTKE;
    turbIntensity   uniform <value>;
    value           uniform <value>;
}

epsilon, omega

유입류 조건(Specify Backflow Properties) 옵션을 사용하지 않을 때

<boundayr name>
{
    type    zeroGradient;
}

유입류 조건(Specify Backflow Properties) 옵션을 사용하고, 지정방법이 K와 Epsilon일 때

<boundayr name>
{
    type        inletOutlet;
    inletValue  uniform <value>;
    value       uniform <value>;
}

유입류 조건(Specify Backflow Properties) 옵션을 사용하고, 지정방법이 난류강도와 점도비율(Intensity and Viscosity Ratio)일 때

<boundayr name>
{
    type        viscosityRatioInletOutletTDR;
    inletValue  uniform <value>;
    value       uniform <value>;
}

nuTilda

유입류 조건(Specify Backflow Properties) 옵션을 사용하지 않을 때

<boundayr name>
{
    type    zeroGradient;
}

유입류 조건(Specify Backflow Properties) 옵션을 사용하고, 지정방법이 보정 난류 점상계수(Modifed Turbulent Viscosity)일 때

<boundayr name>
{
    type        inletOutlet;
    inletValue  uniform <value>;
    value       uniform <value>;
}

유입류 조건(Specify Backflow Properties) 옵션을 사용하고, 지정방법이 난류 점도비율(Turbulent Viscosity Ratio)일 때

<boundayr name>
{
    type        viscosityRatioInletOutletNuTilda;
    inletValue  uniform <value>;
    value       uniform <value>;
}

nut, alphat

Without Specify Backflow Properties

<boundayr name>
{
    type    zeroGradient;
}

With Specify Backflow Properties, Intensity and Viscosity Ratio

<boundayr name>
{
    type    calculated;
    value   uniform <value>;
}

개수로 출구(Open Channel Outlet)

U

<boundayr name>
{
    type    outletPhaseMeanVelocity;
    Umean   <value>;
    alpha   alpha.<sescondary phase name>;
    value   uniform <value>;
}

p_rgh

<boundayr name>
{
    type    zeroGradient;
}

k

지정방법이 K와 Epsilon일 때

<boundayr name>
{
    type        inletOutlet;
    inletValue  uniform <value>;
    value       uniform <value>;
}

지정방법이 난류강도와 점도비율(Intensity and Viscosity Ratio)일 때

<boundayr name>
{
    type            turbulentIntensityInletOutletTKE;
    turbIntensity   uniform <value>;
    value           uniform <value>;
}

epsilon, omega

지정방법이 K와 Epsilon일 때

<boundayr name>
{
    type        inletOutlet;
    inletValue  uniform <value>;
    value       uniform <value>;
}

지정방법이 난류강도와 점도비율(Intensity and Viscosity Ratio)일 때

<boundayr name>
{
    type            viscosityRatioInletOutletTDR;
    viscosityRatio  uniform <value>;
    value           uniform <value>;
}

nuTilda

지정방법이 보정 난류 점상계수(Modifed Turbulent Viscosity)일 때

<boundayr name>
{
    type        inletOutlet;
    inletValue  uniform <value>;
    value       uniform <value>;
}

지정방법이 난류 점도비율(Turbulent Viscosity Ratio)일 때

<boundayr name>
{
    type        viscosityRatioInletOutletNuTilda;
    inletValue  uniform <inlet value>;
    value       uniform <value>;
}

nut

<boundayr name>
{
    type    calculated;
    value   uniform <value>;
}

유출(Outflow)

U, p_rgh, T, k, epsilon, omega, nuTilda

<boundayr name>
{
    type    zeroGradient;
}

아음속 출구(Subsonic Outflow)

U, p, T

<boundayr name>
{
    type    subsonicOutflow;
    pExit   <value>;
    value   uniform <value>;
}

k, epsilon, omega, nuTilda

<boundayr name>
{
    type    zeroGradient;
}

nut, alphat

<boundayr name>
{
    type    calculated;
    value   uniform <value>;
}

초음속 출구(Supersonic Outflow)

U, p_rgh, T, k, epsilon, omega, nuTilda

<boundayr name>
{
    type    zeroGradient;
}

벽면(Wall)

U

정지(No Slip)

<boundayr name>
{
    type    fixedValue;
    value   uniform (0 0 0)
}

미끄럼 벽(Slip)

<boundayr name>
{
    type    slip;
}

움직이는 벽(Moving Wall)

<boundayr name>
{
    type    movingWallVelocity;
    value   uniform (0 0 0)
}

대기경계층 지표면(Atmospheric Wall)

<boundayr name>
{
    type    fixedValue;
    value   uniform (0 0 0)
}

직선 속도(Translational Moving Wall)

<boundayr name>
{
    type    fixedValue;
    value   uniform (<Ux> <Uy> <Uz>)
}

회전 속도(Rotational Moving Wall)

<boundayr name>
{
    type    rotatingWallVelocity;
    origin  (<x> <y> <z>);
    axis    (<x> <y> <z>);
    omega   <value>;
}

p_rgh

<boundayr name>
{
    type    fixedFluxPressure;
}

p of density based solver

<boundayr name>
{
    type    zeroGradient;
}

T

단열(Adiabatic)

<boundayr name>
{
    type    zeroGradient;
}

일정 온도(Constant Temperature)

<boundayr name>
{
    type    fixedValue;
    value   uniform <value>;
}

일정 열유속(Constant Heat Flux)

<boundayr name>
{
    type        externalWallHeatFluxTemperature;
    mode        flux;
    q           uniform <value>;
    kappaMethod fluidThermo;
    value       uniform <value>;
}

외부로 대류열전달(Convection)

<boundayr name>
{
    type            externalWallHeatFluxTemperature;
    mode            coefficient;
    h               uniform <value>;
    Ta              uniform <value>;
    kappaMethod     fluidThermo;
    value           uniform <value>;
    thicknessLayers (<value0> <value1> <...>);
    kappaLayers     (<value0> <value1> <...>);
}

k

<boundayr name>
{
    type    kqRWallFunction;
    value   uniform <value>;
}

epsilon

표준벽함수(Standard Wall Function)

<boundayr name>
{
    type    epsilonWallFunction;
    value   uniform <value>;
}

Two layer 벽함수

<boundayr name>
{
    type    epsilonBlendedWallFunction;
    value   uniform <value>;
}

대기경계층 지표면(Atmospheric Wall)

<boundayr name>
{
    type    atmEpsilonWallFunction;
    z0      <value>;
    d       <value>;
    value   uniform <value>;
}

omega

<boundayr name>
{
    type        omegaBlendedWallFunction;
    blending    tanh;
    value       uniform <value>;
}

nuTilda

<boundayr name>
{
    type    zeroGradient;
}

nut

표준벽함수(Standard Wall Function)

<boundayr name>
{
    type    nutkWallFunction;
    value   uniform <value>;
}

Two layer 벽함수, SST k-omega 모델, Spalart-Allmaras 모델

<boundayr name>
{
    type    nutSpaldingWallFunction;
    value   uniform <value>;
}

대기경계층 지표면(Atmospheric Wall)

<boundayr name>
{
    type    atmNutkWallFunction;
    z0      <value>;
    value   uniform <value>;
}

alphat

단열(Adiabatic) 조건일 때

<boundayr name>
{
    type    compressible::alphatWallFunction;
    Prt     <value>;
    value   uniform <value>;
}

일정 온도, 일정 열유속, 외부로 대류열전달 조건일 때

<boundayr name>
{
    type    compressible::alphatJayatillekeWallFunction;
    Prt     <value>;
    value   uniform <value>;
}

연결 벽면(Thermo-Coupled Wall)

U

<boundayr name>
{
    type    fixedValue;
    value   uniform (0 0 0);
}

p_rgh

<boundayr name>
{
    type    fixedFluxPressure;
}

T

<boundayr name>
{
    type        compressible::turbulentTemperatureRadCoupledMixed;
    Tnbr        T;
    kappaMethod fluidThermo;
    value       uniform <value>;
}

k

<boundayr name>
{
    type    kqRWallFunction;
    value   uniform <value>;
}

epsilon

표준벽함수(Standard Wall Function)

<boundayr name>
{
    type    epsilonWallFunction;
    value   uniform <value>;
}

Two layer 벽함수

<boundayr name>
{
    type    epsilonBlendedWallFunction;
    value   uniform <value>;
}

omega

<boundayr name>
{
    type        omegaBlendedWallFunction;
    blending    tanh;
    value       uniform <value>;
}

nuTilda

<boundayr name>
{
    type        zeroGradient;
}

nut

k-epsilon, 표준벽함수(Standard Wall Function)

<boundayr name>
{
    type    nutkWallFunction;
    value   uniform <value>;
}

k-omega, Two-layer 벽함수, Spalart-Allmaras

<boundayr name>
{
    type    nutSpaldingWallFunction;
    value   uniform <value>;
}

alphat

<boundayr name>
{
    type    compressible::alphatJayatillekeWallFunction;
    value   uniform <value>;
}

영역간 인터페이스(Region Interface)

U

<boundayr name>
{
    type    fixedValue;
    value   uniform (0 0 0);
}

p_rgh

<boundayr name>
{
    type    fixedFluxPressure;    
}

T

<boundayr name>
{
    type    compressible::turbulentTemperatureCoupledBaffleMixed;    
}

k

<boundayr name>
{
    type    kqRWallFunction;    
}

epsilon

standard wall function

<boundayr name>
{
    type    epsilonWallFunction;    
}

two layer wall function

<boundayr name>
{
    type    epsilonBlendedWallFunction;    
}

omega

<boundayr name>
{
    type    omegaBlendedWallFunction;    
}

nuTilda

<boundayr name>
{
    type    zeroGradient;    
}

nut

k-epsilon, standard wall function

<boundayr name>
{
    type    nutkWallFunction;    
}

two layer wall function, SST k-omega, Spalart-Allmaras

<boundayr name>
{
    type    nutSpaldingWallFunction;    
}

alphat

<boundayr name>
{
    type    compressible::alphatJayatillekeWallFunction;    
}

2차원 경계(Empty)

<boundayr name>
{
    type    empty;
}

축대칭 경계(Wedge)

<boundayr name>
{
    type    wedge;
}

대칭(Symmetry)

<boundayr name>
{
    type    symmetry;
}

인터페이스(Interface)

<boundayr name>
{
    type    cyclicAMI;    
}

Cyclic

<boundayr name>
{
    type    cyclic;
}

다공성 압력 점프(Porous Jump)

All fields except p_rgh

<boundayr name>
{
    type    cyclic;
}

p_rgh

<boundayr name>
{
    type        porousBafflePressure;
    patchType   cyclic;
    D           <value>;
    I           <value>;
    length      <value>;
    value       uniform <value>;
}

팬(Fan)

All fields except p_rgh

<boundayr name>
{
    type    cyclic;
}

p_rgh

<boundayr name>
{
    type        fan;
    patchType   cyclic;
    jumpTable   csvFile;
    jumpTableCoeffs
    {
      nHeaderLine       0;
      refColumn         0;
      componentColumns  (1);
      separator         ",";
      mergeSeparators   no;
      file              "<path and file name>";
    }
}