아음속 공동(Cavity) 유동

격자 파일 다운로드
계산 파일 다운로드

개요

아음속 2차원 공동(cavity) 유동을 계산하는 예제이다.

형상과 유동 조건은 다음과 같다.

  • L/D = 2 (Cavity의 길이와 높이의 비율)
  • 마하수 = 0.6
  • 레이놀즈 수 = 2.75e+5
  • 프란틀 수 = 0.7

격자는 matlab으로 만든 plot3d 형식의 격자를 변환하였다.

솔버는 넥스트폼이 개발한 압력기반 열유동 해석 솔버인 buoyantPimpleNFoam을 사용한다.

출구와 상면의 경계조건은 압력파의 반사가 없는 waveTransmissive(non-reflecting) 조건을 사용한다.

계산 조건은 다음과 같다.

  • 솔버 : buoyantPimpleNFoam
  • 난류 모델 : SST k-$\omega$ 모델
  • 밀도 : Perfect Gas
  • 입구 온도 : 300 K
  • 입구 압력 : 101325 Pa

프로그램의 구동 및 격자

프로그램 실행 후 [새 작업(New Case)]를 선택한다. 시작 창에서 [솔버 유형(Solver Type)]은 [압력기반(Pressure-based)]를, [다상유동 모델(Multiphase Model)]은 [None]을 선택한다.

격자는 주어진 polyMesh 폴더를 활용한다. 상단 탭에서 [파일(File)]-[격자 불러오기(Load Mesh)]-[OpenFOAM]을 순서대로 클릭하고 polyMesh 폴더를 선택한다.

기본조건(General)

본 예제에서는 비정상상태(Transient) 조건을 사용한다. 중력은 고려하지 않고 작동압력은 101325를 사용한다.

모델(Models)

난류 모델은

모델을 사용한다.

[에너지(Energy)]를 [포함(include)]한다.

물질(Materials)

물성치는 다음과 같이 설정한다.

  • 밀도(Density) : 완전기체(Perfect Gas)
  • 정압비열(Specific heat) : 1006
  • 점성계수(Viscosity) : 0.00178 (레이놀즈 수를 맞추기 위한 값)
  • 열전도도(Thermal Conductivity) : 2.562 (프란틀 수를 맞추기 위한 값)
  • 분자량(Molecular Weight) : 28.966

경계조건(Boundary Conditions)

아래와 같이 경계면 타입과 경계값을 설정한다.

  • inlet : 입구 속도(Velocity Inlet)
    • 속도 크기(Velocity Magnitude) : 208.31
    • 난류 강도(Turbulent Intensity) : 1
    • 난류 점도 비율(Turbulent Viscosity ratio) : 10
    • 온도(Temperature) : 300
  • outlet, top : 출구 압력(Pressure Outlet)
    • 압력(Pressure) : 0
    • Non-Reflecting Boundary 옵션 사용
  • cavityFront, cavityBottom, cavityRear, frontBottom, rearBottom : 벽면(Wall)
    • 속도 조건(Velocity Condition) : 정지(No Slip)
  • frontPlane, backPlane : 2차원 경계(Empty)

수치해석 기법(Numerical Conditions)

다음과 같이 설정한다.

  • [압력-속도 연성기법(Pressure-Velocity coupling)] : SIMPLE
  • [이산화 기법(Discretization)]
    • 시간 : 2차 음해법(Second Order Implicit)
    • 압력 : Momentum Weighted Reconstruct
    • 운동량, 에너지, 난류 : 2차 상류기법(Second Order Wpwind)
  • 시간당 반복계산 회수(Max iterations per Time Step) : 20
  • 압력보정 회수(Number of Correctors) : 2
  • [완화계수(Relaxation factors)]
    • 압력 : 0.3 / 1
    • 운동량, 난류 : 0.7 / 1
    • 에너지, 밀도 : 1 / 1

모니터(Monitor)

본 예제에서는 공동(cavity) 중앙의 점에서 압력을 모니터링한다. [추가(Add)]-[점(Point)]를 선택한다.

좌표는 (0 -0.5 0.25)를 입력한다.

초기화(Initialization)

초기조건은 다음과 같이 설정한다.

  • 속도 : (208.31 0 0)
  • 압력 : 0
  • 온도 : 300
  • 속도 크기(Scale of velocity) : 208.31
  • 난류 강도(Turbulent Intensity) : 1
  • 난류 점도 비율(Turbulent Viscosity ratio) : 10

공동 내부의 속도를 0으로 초기화한다. [추가설정(Advanced)]-[영역(Sections)]에서 [만들기(Create)]-[육면체(Hex)]를 선택하고 최소/최대 좌표에 (-1 -1 -1), (1 0 1)을 입력한다. [속도(Velcity)]를 선택하고 값은 (0 0 0)을 준다.

하단의 [초기화(Initialize)] 버튼을 클릭한다. 그 후, 메뉴의 [파일(File)]-[저장(Save)] 버튼을 클릭하여 저장한다.

계산

메뉴의 [병렬연산(Parallel)]-[환경설정(Environment)]를 클릭하고 원하는 코어수를 입력한다.

[계산 조건(Run Conditions)]은 다음과 같이 설정하고 [계산시작(Start Calculation)] 버튼을 누르면 계산이 시작된다.

  • 시간 전진 기법(Time Stepping Method) : 일정(Fixed)
  • 시간 전진 간격(Time Step Size) : 1e-5
  • 종료 시간(End Time) : 0.5
  • 자동 저장 간격(Save Interval) : 0.002 sec

후처리

메뉴에서 [외부 프로그램(External tools)]-[ParaView] 버튼을 눌러 ParaView를 실행한다.

병렬연산이면 [Case Type]을 [Decomposed Case]로 변경한다.

[Coloring]을 [U]로 선택하면 다음과 같은 그림을 확인할 수 있다.