본문 바로가기
OpenFOAM basic

OpenFOAM 내 압축성 정상상태 (rhoSimpleFoam) 해석방법 (2/2)

by 택이5 2024. 6. 4.

 

   오늘은 지난 포스팅에 이어 OpenFOAM의 압축성 정상상태 해석 방법에 대해 포스팅 하려해요.

   해석방법은 초기조건, 경계조건, 해석 시간 및 수렴성 판단, 후처리(postProcessing) 까지 진행돼요

0폴더 파일 설정

 

   0폴더의 파일들은 속도, 온도, 압력, 난류 변수 등의 초기 조건 및 경계조건을 설정하는 파일이에요.

   (1) U 파일

 

   속도의 초기조건 및 경계조건을 설정해 주는 파일이에요.

   제일 처음 줄은 속도의 단위를 뜻해요.

 

   OpenFOAM의 단위를 표현하는 표는 위와 같아요.

   첫번째 숫자가 질량, 두번째가 길이, 세번째가 시간, 네번째는 온도 이렇게 차례로 7가지가 조합되어 변수의 단위를 형성해요. 속도는 m/s 이기 때문에 두번째 길이의 오더가 1, 시간의 오더는 -1로 표현돼요.

   internalField는 전체 격자에 적용되는 초기조건을 뜻해요.

   internalField uniform (0 0 0)는 모든 격자의 값이 속도 0으로 초기조건을 가지게 돼요.

   noSlip 조건은 벽에서 모든 방향에서 속도가 0인 경계조건이에요.

 

 

   inlet 조건은 Derived type 조건으로 질량 유량으로 설정하였고 rhoInlet은 밀도를 뜻해요.

   profile의 turbulenctBL은 turbulent boundary layer function으로 속도가 일정하게 들어가는게 아니라 난류유동 일때 발달된 파라볼릭한 profile로 설정해주는 옵션이에요. > pow(yHar,exponent)

   outlet조건은 pressureInletOutletVelocity Derived type 조건으로 출구 방향으로 흐르는 조건은 zeroGradient condition 안으로 들어오는 조건은 tangential component로 지정된 값을 가지게 돼요.

   기본적은 설정은 tangentialVelocity (0 0 0)로 설정되어 있어요.

   (2) p 파일

 

   압력의 초기조건 및 경계조건을 설정해 주는 파일이에요.

   제일 처음 줄은 압력의 단위로 pa의 단위를 써요.

   입구를 속도로 고정했으므로 출구는 일정 압력으로 고정해서 가장 이상적인 경계조건을 설정해 줘요.

(3) T 파일

 

   온도의 초기조건 및 경계조건을 설정해 주는 파일이에요.

   제일 처음 줄은 온도의 단위로 K 단위를 써요.

   wall 조건은 zeroGradient 단열 조건으로 주고 inlet조건은 1000 K, outlet 조건은 zeroGradient 단열 조건으로 설정했어요.

   (4) k, epsilon, nut, alphat 파일

    난류 모델 설정에 대한 변수로 기본 설정되어 있는 파일을 사용하면 돼요.

    벽에 대한 난류 wall function이 적용되어 있어요.

 

constant 폴더 파일 설정

 

   constant 폴더는 polyMesh폴더, momentumTransport 파일, physicalProperties 파일로 이루어져 있어요.

   (1) momentumTransport

    momentumTransport 파일은 난류모델을 설정해 주는 파일이구요.

    이전과 같이 kEpsilon 모델을 설정해 주었어요.

 

 

   (2) physicalProperties

    physicalProperties 파일은 작동 유체의 물성을 설정해줘요.

    비압축성 해석은 온도를 고려하지 않기 때문에 kinematic viscosity를 설정해요.

    압축성 해석은 작동유체의 molWeight, viscosity, specific heat, equationofState, energy 방정식을 해석하는 방법까지 설정해 주어야 해요.

 

 

   type hePsiThermo 은 열물성에 대한 기본 type을 뜻해요.

   mixture pureMixture는 여러 화학종이 혼합되어 있지 않고 단일 물성으로 이루어졌을 때 설정해요.

   transport const 는 viscosity를 일정하게 설정하는 옵션이구요.

   thermo hConst는 specific heat을 일정하게 설정하는 옵션이에요.

   equationOfState perfectGas는 이상기체 방정식으로 밀도를 구하는 거구요.

   specie specie 작동 유체의 molWeight 설정해야해요.

   energy sensibleEnthalpy는 sensibleEnthalpy로 에너지 방정식을 해석 설정이에요.

   현재 tutorial은 가장 간단한 해석이므로 공기의 물성을 설정했어요.

 

system 폴더 파일 설정

 

   system 폴더는 해석시간 및 결과저장, function Objects, 지배방정식의 이산화방법, 이산화된 방정식의 행렬 계산 방법을 설정하는 파일들이 모여 있어요.

   (1) controlDict 파일

    해석시간 및 결과 저장, function Object 설정하는 파일이에요.

 

   파일 내용을 보면 solver는 rhoSimpleFoam을 사용하였고 해석시간은 500 iteration, 저장 간격은 timeStep 100번 마다 저장돼요. 간단하게 해석을 했네요.

   (2) divSchemes는 파일 설정

    지배장정식의 각 항에 따른 이산화 방법을 설정하는 파일이에요.

 

   파일 내용을 보면 ddtSchemes을 steadyState로 설정해 주었으므로 정상상태 해석으로 진행돼요.

   divSchemes는 convection 항을 해석하는 곳으로 1st order를 사용했어요.

   비압축성 솔버와 다른점은 h 에너지방정식을 설정해 주는 거예요.

 

   (3) fvSolution 파일 설정

    격자에 따른 이산화된 방정식을 계산할 matrix를 설정하는 파일이에요.

 

   파일 내용을 보면 p,U,k,epsion 등의 변수들의 matrix 솔버를 지정하구요.

   비압축성 솔버와 다른점은 h 에너지방정식을 설정해 주는 거예요.

   transonic yes 는 아음속과 초음속의 중간인 천음속 영역을 해석하는 설정이에요.

   transonic 영역에서는 압력을 해석하는 방법이 다르기 때문에 압축성 해석에는 아음속, 천음속, 초음속 영역의 해석 조건을 면밀하게 검토하는 것이 중요해요.

   residualControl을 통해 intial residual이 p 1e-3, U 1e-4, 나머지도 1e-3이 될 때 해석이 수렴되었다 판단되어 해석을 멈추고 저장해요.

   rexationFactors는 간단한 형상이므로 0.9~1로 높게 설정했어요.

 

해석결과

 

 

276~421까지 inlet profile 조건이 turbulent boundary layer function으로 속도 표현된 것을 확인할 수 있었어요.

 

결론

   오늘은 지난 포스팅에 이어 OpenFOAM의 압축성 정상상태 해석 방법에 대해 포스팅 하려해요.

   해석방법은 초기조건, 경계조건, 해석 시간 및 수렴성 판단, 후처리(postProcessing) 까지 진행돼요

   rhoSimpleFoam은 압축성 솔버에 온도 변화를 해석할 수 있는 tutorial이에요.

   좀 더 정확한 해석을 위해서 온도에 따른 공기의 물성과 fvSchemes의 divSchemes의 차수를 2nd로 높여서 해석하는 것을 추천해요.

   질문은 댓글로 달아주시고 오늘도 끝까지 읽어 주셔서 감사해요.

 


이미지 무단 도용을 금합니다.

copyright ⓒ 택이5 All rights reserved

728x90
반응형

댓글