캐비테이션(Cavitation) 현상은 유체의 속도 변화에 의한 압력의 변화로 인해 유체 내부에서 상변화가 발생하는 현상이다. 비압축성 유동에서 액체의 속도가 높아지면 압력이 낮아지는데 이 때 압력이 포화증기압 이하가 되면 액체 내에 증기 기포가 발생한다. 캐비테이션 현상은 관내 유동에서 노즐이나 밸브 등과 같이 유속이 크게 변하는 영역이나, 펌프, 프로펠러 등과 같이 운동하는 물체 주위에서 많이 나타난다. 발생된 기포가 소멸할 때 소음이나 진동이 발생하고 벽에 부딪히면 침식의 원인이 되기 때문에 공동현상의 수치적 모사는 여러 분야에서 많은 관심을 갖고 있다.
전산유체역학으로 캐비테이션 현상을 해석할 때 단상유동 해석과 동일한 지배방정식과 수치해석 알고리즘을 사용한다. 여기에 상변화의 영향을 고려하기 위해 질량분율에 대한 방정식을 추가하고 질량과 물성값의 변화, 중력의 영향, 기액 계면을 처리해 주어야 한다.
넥스트폼은 단상 비압축성유동 및 열전달 해석에서 OpenFOAM 성능 개선을 위해 NextFOAM을 개발하여 공개하였다. NextFOAM의 알고리즘 및 라이브러리들을 바탕으로 정상상태 및 비정상상태의 캐비테이션 현상을 모사할 수 있는 해석자를 개발하였다. OpenFOAM은 상변화 모델로 Kunz, Merkle, SchnerrSauer 모델을 제공하고 있는데 여기에 Zwart 모델을 추가하였다. 캐비테이션 해석자는 상변화와 그로인한 압력의 급격한 변화로 단상유동에 비해 안정성이 떨어진다. 이 문제를 보완하기 위해 유동이 안정화될 때까지 상변화가 발생하지 않도록 하여 공동이 계산초기에 점진적으로 발생하도록 하였다.
넥스트폼에서 수행한 몇 가지 캐비테이션 해석 사례를 소개한다.
NACA66 Hydrofoil
넥스트폼의 캐비테이션 해석자의 검증을 위해 NACA66 수중익형에 대한 해석을 수행하였다. Shen and Dimotakis(The influence of surface cavitation on hydrodynamic forces, 1989)의 실험결과와 비교하여 해석자를 검증하였다.
Phase, velocity, pressure of NACA66 hydrofoil
위 그림은 캐비테이션, 속도, 압력의 결과이다. H-type의 2차원 정렬격자 형식의 격자이며 격자수는 27,000개이다. 받음각은 4도이며 유속은 2.01m/s 조건으로 캐비테이션 수는 0.84이다. 상변화 모델은 Schnerr-Sauer 모델을 사용했다. 아래 그림은 k-epsilon, k-omega, Spalar-Allmaras 난류 모델의 결과를 에 나타내었다. Standard k-epsilon 모델을 사용했을 때 실험과 가장 근접한 결과를 보여주고 있다.
이 문제는 BARAM 튜토리얼로 홈페이지에 게시되어 있다. https://nextfoam.co.kr/pd-Baram-view.php?seq=785
축류 펌프
아래 그림은 임펠러와 스테이터로 구성된 1단 축류형 펌프 해석 사례를 나타내었다. 임펠러의 회전은 정상상태 MRF 방법과 비정상상태 Sliding mesh 기법을 사용하였다.
펌프에서는 캐비테이션 시뮬레이션을 통해 공동 발생을 억제할 수 있는 형상 설계에 활용하거나, 입구 압력 변화에 따른 공동 발생에 의한 양정 변화를 분석하여 NPSH를 예측할 수 있다.
펌프와 같은 터보 기계의 후처리는 turboPost를 사용할 수 있다. turboPost는 vtk와 ParaView를 이용하여 터보기계의 효율적인 후처리를 위해 Oliver Borm이 공개한 파이썬 스크립트들이다.(https://sourceforge.net/projects/turbopost/) 이를 이용하면 임펠러의 spanwise 방향의 특정 meridian 면의 flow fields값과 picthwise 방향의 flow fields의 평균값을 확인할 수 있다.
turboPost 후처리 예 : spanwise plane 밀도(좌), pitchwise 평균 온도(우)
터보 펌프
액체 연료를 사용하는 로켓에서는 연소기에 연료와 산화제를 공급하기 위해 터보펌프를 사용한다. 일반적으로 로켓에 사용되는 연료와 산화제의 탱크 압력은 상대적으로 낮게 유지된다. 반면 터보펌프 임펠러의 회전수는 매우 높기 때문에 터보펌프는 캐비테이션이 발생하기 좋은 조건이 된다. 터보펌프 임펠러에서 발생하는 캐비테이션에 의한 시스템의 오작동을 막기 위해 임펠러 입구에 인듀서를 장착해서 유입되는 유체의 압력을 높여준다. 아래 그림은 우주발사체의 터보 펌프 인듀서의 해석 사례이다.
플런저 펌프
플런저(Plunger) 펌프는 플런저의 왕복운동에 의해 생기는 압력차로 액체를 흡입-배출하는 펌프로 고압액체의 이송에 많이 사용된다. 플런저의 왕복운동에 따라 토출부가 열리고 닫힐 때 토출부의 면적이 매우 좁아지면서 속도가 증가하고 캐비테이션이 발생한다. 그뿐아니라 실린더와 플런저 사이의 간극에 의해 토출부가 닫혀 있을 때도 공동이 발생한다.
아래 그림들은 플런저 펌프의 해석 사례이다. 실린더와 플런저의 10 $sim$ 30 마이크론의 간극을 모델링하였고 Layering 기법을 사용하여 플러저의 운동을 모사하였다. 플런저의 운동속도 및 입출구의 압력은 시스템 해석 결과 데이터 파일을 입력받아 사용하였다. 토출부가 완전히 닫힌 상태에서 새로운 캐비테이션이 발생하는 것을 확인할 수 있다.
초공동(super cavitation) 수중운동체
초공동 상태의 수중운동체의 제어판 전개를 시뮬레이션 하였다. 비응축가스(배기가스)가 포함된 캐비테이션 모델과 동적격자를 사용하는 솔버를 개발하였다. 동적격자는 제어판의 회전을 layering 기법으로 구현하였다.
선박용 프로펠러 캐비테이션
선체, 프로펠러, 러더가 있는 문제에 대해 캐비테이션 해석을 수행하였다. steady MRF 계산을 통해 선체주위 유동을 발달시킨 후 sliding mesh를 이용하여 프로펠러 주위 비정상 캐비테이션을 계산하였다.
격자는 snappyHexMesh를 이용하여 만들었다. 캐비테이션 모델은 Schnerr-Sauer 모델을, 난류 모델은 realizable k-e을 사용하였다. 공동의 형상은 실험 및 상용코드의 결과와 유사하게 나타났다. 시간에 따른 프로펠러의 표면 압력을 BEM 소음 해석 코드에 입력할 수 있도록 하였다.